diff options
author | Dave Airlie <[email protected]> | 2014-11-18 14:06:36 +1000 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-11-19 00:53:23 +0000 |
commit | be24d54195147491c6a0f6185ccedb063050561b (patch) | |
tree | d884712bd52d63630a00a455d6d275d38247b55d /src/gallium | |
parent | 8751abf7523438b641d975205aee794ff33831b0 (diff) |
r600g: geom shaders: always load texture src regs from inputs
Otherwise we seem to lose the split_gs_inputs and try and
pull from an uninitialised register.
fixes 9 texelFetch geom shader tests.
Reviewed-by: Glenn Kennard <[email protected]>
Cc: "10.3 10.4" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit d4c342f67e128dd9c17e8ae48a44677baf546295)
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 91df2071a88..ed3d30be106 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -4919,7 +4919,8 @@ static inline boolean tgsi_tex_src_requires_loading(struct r600_shader_ctx *ctx, return (inst->Src[index].Register.File != TGSI_FILE_TEMPORARY && inst->Src[index].Register.File != TGSI_FILE_INPUT && inst->Src[index].Register.File != TGSI_FILE_OUTPUT) || - ctx->src[index].neg || ctx->src[index].abs; + ctx->src[index].neg || ctx->src[index].abs || + (inst->Src[index].Register.File == TGSI_FILE_INPUT && ctx->type == TGSI_PROCESSOR_GEOMETRY); } static inline unsigned tgsi_tex_get_src_gpr(struct r600_shader_ctx *ctx, |