From 0ee1ee5fbb93e76dd96c4ccbd45c82ba8382682c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Tue, 10 Jan 2017 14:54:22 +0100 Subject: [PATCH] radeonsi: only touch first three coordinates in si_prepare_cube_coords MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Sourcing coords_arg[4] is actually never correct, since bias is handled differently in tex_fetch_args anyway. Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Marek Olšák --- src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c index c410a8b540a..11bd45d1b83 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_alu.c @@ -1027,7 +1027,7 @@ void si_prepare_cube_coords(struct lp_build_tgsi_context *bld_base, LLVMBuilderRef builder = gallivm->builder; LLVMTypeRef type = bld_base->base.elem_type; struct cube_selection_coords selcoords; - LLVMValueRef coords[4]; + LLVMValueRef coords[3]; LLVMValueRef invma; build_cube_intrinsic(gallivm, coords_arg, &selcoords); @@ -1100,16 +1100,5 @@ void si_prepare_cube_coords(struct lp_build_tgsi_context *bld_base, coords_arg[3], lp_build_const_float(gallivm, 8.0), coords[2]); } - /* Preserve compare/lod/bias. Put it in coords.w. */ - if (opcode == TGSI_OPCODE_TEX2 || - opcode == TGSI_OPCODE_TXB2 || - opcode == TGSI_OPCODE_TXL2) { - coords[3] = coords_arg[4]; - } else if (opcode == TGSI_OPCODE_TXB || - opcode == TGSI_OPCODE_TXL || - target == TGSI_TEXTURE_SHADOWCUBE) { - coords[3] = coords_arg[3]; - } - memcpy(coords_arg, coords, sizeof(coords)); } -- 2.30.2