diff options
author | Dave Airlie <airlied@redhat.com> | 2013-04-11 05:51:35 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-04-11 12:15:57 +0100 |
commit | 91993d2463d2450c86d4f824d8cf10e2b63c1f75 (patch) | |
tree | 0a71e352778e1dce649762e3f62a0a69a1c06659 | |
parent | 1a1415b09ca729912352182788316c94e484cd82 (diff) |
r600g: fix two issues in compressed msaa reading codegallium-texture-multisample
I've no idea when sample_chan would ever be 4 here, but 4 is most
definitely wrong, array textures have it as 3 as well.
Also the cayman code though unused is obviously wrong.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index f8017072228..6dbca505cbe 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -4504,7 +4504,7 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) * Then fetch the texel with src. */ if (read_compressed_msaa) { - unsigned sample_chan = inst->Texture.Texture == TGSI_TEXTURE_2D_MSAA ? 3 : 4; + unsigned sample_chan = 3; unsigned temp = r600_get_temp(ctx); assert(src_loaded); @@ -4535,7 +4535,7 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) if (ctx->bc->chip_class == CAYMAN) { for (i = 0 ; i < 4; i++) { memset(&alu, 0, sizeof(struct r600_bytecode_alu)); - alu.op = ctx->inst_info->op; + alu.op = ALU_OP2_MULLO_INT; alu.src[0].sel = src_gpr; alu.src[0].chan = sample_chan; alu.src[1].sel = V_SQ_ALU_SRC_LITERAL; |