Pass CbufSlot when getting info from the texture descriptor (#2291)
* Pass CbufSlot when getting info from the texture descriptor Fixes some issues with bindless textures, when CbufSlot is not equal to the current TextureBufferIndex. Specifically fixes a random chance of full screen colour flickering in Super Mario Party. * Apply suggestions from code review Oops Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com>
This commit is contained in:
parent
c805542b29
commit
0129250c2e
10 changed files with 35 additions and 27 deletions
|
@ -91,7 +91,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||
return count + 1;
|
||||
}
|
||||
|
||||
public TextureFormat GetTextureFormat(int handle)
|
||||
public TextureFormat GetTextureFormat(int handle, int cbufSlot = -1)
|
||||
{
|
||||
// When the formatted load extension is supported, we don't need to
|
||||
// specify a format, we can just declare it without a format and the GPU will handle it.
|
||||
|
@ -100,7 +100,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||
return TextureFormat.Unknown;
|
||||
}
|
||||
|
||||
var format = GpuAccessor.QueryTextureFormat(handle);
|
||||
var format = GpuAccessor.QueryTextureFormat(handle, cbufSlot);
|
||||
|
||||
if (format == TextureFormat.Unknown)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue