Revert "Simplify shader uniform buffer access codegen"

This reverts commit 2fe9ebaf118d690be8d0cb302529dd359d7c402b.
This commit is contained in:
gdk 2019-11-24 19:49:19 -03:00 committed by Thog
parent 1df78e7ad6
commit 73e68edd09
3 changed files with 25 additions and 18 deletions

View file

@ -116,12 +116,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
offsetExpr = Enclose(offsetExpr, src2, Instruction.ShiftRightS32, isLhs: true);
// TODO: For now this is assumed to be constant
// (we only use constant slots right now), but we should also
// support non-constant values, necessary for full LDC implementation.
int slot = ((AstOperand)src1).Value;
return OperandManager.GetUniformBufferAccessor(slot, offsetExpr, context.Config.Stage);
return OperandManager.GetConstantBufferName(src1, offsetExpr, context.Config.Stage);
}
public static string LoadGlobal(CodeGenContext context, AstOperation operation)
@ -508,7 +503,7 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Glsl.Instructions
// restrictions.
int ubOffset = GlobalToStorage.GetStorageCbOffset(stage, slot);
string ubName = OperandManager.GetUniformBufferAccessor(0, ubOffset, stage);
string ubName = OperandManager.GetConstantBufferName(0, ubOffset, stage);
offsetExpr = $"{offsetExpr} - int((floatBitsToUint({ubName}) & {mask}) >> 2)";