Small optimizations on texture and sampler pool invalidation
This commit is contained in:
parent
3ac023bb60
commit
b2b2e04669
4 changed files with 68 additions and 22 deletions
|
@ -114,18 +114,6 @@ namespace Ryujinx.Graphics.Gpu.State
|
|||
_registers[(int)offset].Callback = callback;
|
||||
}
|
||||
|
||||
public bool QueryModified(params MethodOffset[] offsets)
|
||||
{
|
||||
bool modified = false;
|
||||
|
||||
for (int index = 0; index < offsets.Length; index++)
|
||||
{
|
||||
modified |= QueryModified(offsets[index]);
|
||||
}
|
||||
|
||||
return modified;
|
||||
}
|
||||
|
||||
public bool QueryModified(MethodOffset offset)
|
||||
{
|
||||
bool modified = _registers[(int)offset].Modified;
|
||||
|
@ -135,6 +123,45 @@ namespace Ryujinx.Graphics.Gpu.State
|
|||
return modified;
|
||||
}
|
||||
|
||||
public bool QueryModified(MethodOffset m1, MethodOffset m2)
|
||||
{
|
||||
bool modified = _registers[(int)m1].Modified ||
|
||||
_registers[(int)m2].Modified;
|
||||
|
||||
_registers[(int)m1].Modified = false;
|
||||
_registers[(int)m2].Modified = false;
|
||||
|
||||
return modified;
|
||||
}
|
||||
|
||||
public bool QueryModified(MethodOffset m1, MethodOffset m2, MethodOffset m3)
|
||||
{
|
||||
bool modified = _registers[(int)m1].Modified ||
|
||||
_registers[(int)m2].Modified ||
|
||||
_registers[(int)m3].Modified;
|
||||
|
||||
_registers[(int)m1].Modified = false;
|
||||
_registers[(int)m2].Modified = false;
|
||||
_registers[(int)m3].Modified = false;
|
||||
|
||||
return modified;
|
||||
}
|
||||
|
||||
public bool QueryModified(MethodOffset m1, MethodOffset m2, MethodOffset m3, MethodOffset m4)
|
||||
{
|
||||
bool modified = _registers[(int)m1].Modified ||
|
||||
_registers[(int)m2].Modified ||
|
||||
_registers[(int)m3].Modified ||
|
||||
_registers[(int)m4].Modified;
|
||||
|
||||
_registers[(int)m1].Modified = false;
|
||||
_registers[(int)m2].Modified = false;
|
||||
_registers[(int)m3].Modified = false;
|
||||
_registers[(int)m4].Modified = false;
|
||||
|
||||
return modified;
|
||||
}
|
||||
|
||||
public T Get<T>(MethodOffset offset, int index) where T : struct
|
||||
{
|
||||
Register register = _registers[(int)offset];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue