From: Marek Olšák Date: Mon, 16 Sep 2019 23:37:36 +0000 (-0400) Subject: radeonsi: fix GLSL imageSamples() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a0def7317571d94d68a6b515ffe7ea8a37f6f1c;p=mesa.git radeonsi: fix GLSL imageSamples() We haven't supported MSAA images, so it doesn't matter much. Acked-by: Pierre-Eric Pelloux-Prayer --- diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c index 709ada50ea0..a0f66d38c7c 100644 --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c @@ -1015,6 +1015,19 @@ static void resq_emit( emit_data->output[emit_data->chan] = fix_resinfo(ctx, target, ac_build_image_opcode(&ctx->ac, &args)); + + if (inst->Instruction.Opcode == TGSI_OPCODE_RESQ && + (target == TGSI_TEXTURE_2D_MSAA || + target == TGSI_TEXTURE_2D_ARRAY_MSAA)) { + LLVMValueRef samples = + ac_build_image_get_sample_count(&ctx->ac, args.resource); + + emit_data->output[emit_data->chan] = + LLVMBuildInsertElement(ctx->ac.builder, + emit_data->output[emit_data->chan], + samples, + LLVMConstInt(ctx->i32, 3, 0), ""); + } } /**