Mesa (10.5): radeonsi: increase coords array size for radeon_llvm_emit_prepare_cube_coords

Emil Velikov evelikov at kemper.freedesktop.org
Thu Mar 26 01:44:45 UTC 2015


Module: Mesa
Branch: 10.5
Commit: d33bf8150f96fdb8c6c1ff1acf6870dbe54ca715
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d33bf8150f96fdb8c6c1ff1acf6870dbe54ca715

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Mar 17 17:47:17 2015 +0100

radeonsi: increase coords array size for radeon_llvm_emit_prepare_cube_coords

radeon_llvm_emit_prepare_cube_coords uses coords[4] in some cases (TXB2 etc.)

Discovered by Coverity. Reported by Ilia Mirkin.

Cc: 10.5 10.4 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
(cherry picked from commit a984abdad39df2d8ceb4c46e11f4ce1344c36c86)

---

 src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c |    2 +-
 src/gallium/drivers/radeonsi/si_shader.c            |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index dce5b55..7f52d44 100644
--- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
+++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
@@ -748,7 +748,7 @@ static void txp_fetch_args(
 	const struct tgsi_full_instruction * inst = emit_data->inst;
 	LLVMValueRef src_w;
 	unsigned chan;
-	LLVMValueRef coords[4];
+	LLVMValueRef coords[5];
 
 	emit_data->dst_type = LLVMVectorType(bld_base->base.elem_type, 4);
 	src_w = lp_build_emit_fetch(bld_base, emit_data->inst, 0, TGSI_CHAN_W);
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index e6849ad..81ce3f6 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -1520,7 +1520,7 @@ static void tex_fetch_args(
 	const struct tgsi_full_instruction * inst = emit_data->inst;
 	unsigned opcode = inst->Instruction.Opcode;
 	unsigned target = inst->Texture.Texture;
-	LLVMValueRef coords[4];
+	LLVMValueRef coords[5];
 	LLVMValueRef address[16];
 	int ref_pos;
 	unsigned num_coords = tgsi_util_get_texture_coord_dim(target, &ref_pos);




More information about the mesa-commit mailing list