diff options
author | Michel Dänzer <[email protected]> | 2012-12-03 12:46:30 +0100 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2012-12-06 20:35:18 +0100 |
commit | e0f2ffc3d9dfa1c0492370d4d86a310c56a99e90 (patch) | |
tree | af89e1aa1018d9d71e12e0c74b9b58f7a9099180 /src | |
parent | aac21547292cf0540e14679fc9bef260eb5092a3 (diff) |
radeonsi: Fix cube texture coordinates.
8 more piglits.
Reviewed-by: Tom Stellard <[email protected]>
Signed-off-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_shader.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index d5d56c46a84..a452d4bbe9b 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c @@ -813,6 +813,13 @@ static void tex_fetch_args( emit_data->args[1] = lp_build_emit_fetch(bld_base, emit_data->inst, 0, LP_CHAN_ALL); + if ((inst->Texture.Texture == TGSI_TEXTURE_CUBE || + inst->Texture.Texture == TGSI_TEXTURE_SHADOWCUBE) && + inst->Instruction.Opcode != TGSI_OPCODE_TXQ) { + radeon_llvm_emit_prepare_cube_coords(bld_base, &emit_data->args[1], + inst->Texture.Texture); + } + /* Resource */ ptr = use_sgpr(bld_base->base.gallivm, SGPR_CONST_PTR_V8I32, SI_SGPR_RESOURCE); offset = lp_build_const_int32(bld_base->base.gallivm, |