diff options
author | Marek Olšák <[email protected]> | 2016-08-21 01:32:22 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-09-05 18:01:15 +0200 |
commit | 3e756f09d451847e465418a7e10c386fd3c5d16f (patch) | |
tree | 8a677ab324873edeef5750ccf25a6ed45fdbcf18 | |
parent | 03708deed2aa002f78dff0bd9eb6385fe464a44e (diff) |
radeonsi: fix a crash in imageSize for cubemap arrays
Sometimes it was f32, other times it was i32. Now it's always i32.
This fixes:
GL45-CTS.texture_cube_map_array.image_texture_size.texture_size_compute_sh
Reviewed-by: Dave Airlie <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 42fed7dc029..1ef3b7062e6 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -4105,7 +4105,7 @@ static void resq_fetch_args( const struct tgsi_full_instruction *inst = emit_data->inst; const struct tgsi_full_src_register *reg = &inst->Src[0]; - emit_data->dst_type = LLVMVectorType(bld_base->base.elem_type, 4); + emit_data->dst_type = ctx->v4i32; if (reg->Register.File == TGSI_FILE_BUFFER) { emit_data->args[0] = shader_buffer_fetch_rsrc(ctx, reg); @@ -4156,9 +4156,7 @@ static void resq_emit( LLVMValueRef imm6 = lp_build_const_int32(gallivm, 6); LLVMValueRef z = LLVMBuildExtractElement(builder, out, imm2, ""); - z = LLVMBuildBitCast(builder, z, bld_base->uint_bld.elem_type, ""); z = LLVMBuildSDiv(builder, z, imm6, ""); - z = LLVMBuildBitCast(builder, z, bld_base->base.elem_type, ""); out = LLVMBuildInsertElement(builder, out, z, imm2, ""); } } |