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
|
@ -142,7 +142,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||
|
||||
bool hasInvalidOffset = (hasOffset || hasOffsets) && !config.GpuAccessor.QuerySupportsNonConstantTextureOffset();
|
||||
|
||||
bool isRect = config.GpuAccessor.QueryIsTextureRectangle(texOp.Handle);
|
||||
bool isRect = config.GpuAccessor.QueryIsTextureRectangle(texOp.Handle, texOp.CbufSlot);
|
||||
|
||||
if (!(hasInvalidOffset || isRect))
|
||||
{
|
||||
|
@ -433,7 +433,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
|||
{
|
||||
TextureOperation texOp = (TextureOperation)node.Value;
|
||||
|
||||
TextureFormat format = config.GpuAccessor.QueryTextureFormat(texOp.Handle);
|
||||
TextureFormat format = config.GpuAccessor.QueryTextureFormat(texOp.Handle, texOp.CbufSlot);
|
||||
|
||||
int maxPositive = format switch
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue