|
@@ -128,6 +128,11 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
|
|
GetStorageOffset(block, Utils.FindLastOperation(addrLow, block), baseAddressCbOffset) :
|
|
GetStorageOffset(block, Utils.FindLastOperation(addrLow, block), baseAddressCbOffset) :
|
|
|
(null, 0);
|
|
(null, 0);
|
|
|
|
|
|
|
|
|
|
+ if (byteOffset != null)
|
|
|
|
|
+ {
|
|
|
|
|
+ ReplaceAddressAlignment(node.List, addrLow, byteOffset, constantOffset);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (byteOffset == null)
|
|
if (byteOffset == null)
|
|
|
{
|
|
{
|
|
|
Operand baseAddrLow = Cbuf(0, baseAddressCbOffset);
|
|
Operand baseAddrLow = Cbuf(0, baseAddressCbOffset);
|
|
@@ -156,11 +161,6 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
|
|
|
byteOffset = offset;
|
|
byteOffset = offset;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (byteOffset != null)
|
|
|
|
|
- {
|
|
|
|
|
- ReplaceAddressAlignment(node.List, addrLow, byteOffset, constantOffset);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
if (isStg16Or8)
|
|
if (isStg16Or8)
|
|
|
{
|
|
{
|
|
|
return byteOffset;
|
|
return byteOffset;
|