[Mesa-dev] [PATCH] r600g: Fix flush issue with llvm on r700
Vincent Lejeune
vljn at ovi.com
Tue Nov 20 14:26:21 PST 2012
---
src/gallium/drivers/r600/r600_llvm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c
index b3d4e6b..170dac7 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/drivers/r600/r600_llvm.c
@@ -11,6 +11,7 @@
#include "r600_asm.h"
#include "r600_opcodes.h"
#include "r600_shader.h"
+#include "r600_pipe.h"
#include "radeon_llvm.h"
#include "radeon_llvm_emit.h"
@@ -324,8 +325,10 @@ static void llvm_emit_tex(
sampler_src = emit_data->inst->Instruction.NumSrcRegs-1;
+ // XXX: Resource ID offset is R600_MAX_CONST_BUFFERS but LLVM already adds 2
+ // to the generated machine resource id
args[c++] = lp_build_const_int32(gallivm,
- emit_data->inst->Src[sampler_src].Register.Index);
+ emit_data->inst->Src[sampler_src].Register.Index + R600_MAX_CONST_BUFFERS - 2);
args[c++] = lp_build_const_int32(gallivm,
emit_data->inst->Texture.Texture);
--
1.7.11.7
More information about the mesa-dev
mailing list