Preserve image types for shader bindless surface instructions (.D variants) (#2779)
* Preserve image types for SULD/SUST .D variants * Make format unknown for surface atomic if bindless and not sized
This commit is contained in:
parent
51fa1b2cb0
commit
04dfb86fde
2 changed files with 13 additions and 10 deletions
|
@ -128,13 +128,16 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
|||
int cbufOffset = src0.GetCbufOffset();
|
||||
int cbufSlot = src0.GetCbufSlot();
|
||||
|
||||
if (texOp.Inst == Instruction.ImageAtomic)
|
||||
if (texOp.Format == TextureFormat.Unknown)
|
||||
{
|
||||
texOp.Format = config.GetTextureFormatAtomic(cbufOffset, cbufSlot);
|
||||
}
|
||||
else
|
||||
{
|
||||
texOp.Format = config.GetTextureFormat(cbufOffset, cbufSlot);
|
||||
if (texOp.Inst == Instruction.ImageAtomic)
|
||||
{
|
||||
texOp.Format = config.GetTextureFormatAtomic(cbufOffset, cbufSlot);
|
||||
}
|
||||
else
|
||||
{
|
||||
texOp.Format = config.GetTextureFormat(cbufOffset, cbufSlot);
|
||||
}
|
||||
}
|
||||
|
||||
SetHandle(config, texOp, cbufOffset, cbufSlot, false);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue