From 0ecd426490b043aac6a5db0a6e0feaa39f6d9c54 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 31 Jan 2017 05:19:56 +1000 Subject: [PATCH] radv/ac: implement txs for buffer textures. This fixes a bunch of buffer related: dEQP-VK.memory.pipeline_barrier.* tests, that were crashing in LLVM due to this being missing. Reviewed-by: Andres Rodriguez Cc: "17.0" Signed-off-by: Dave Airlie --- src/amd/common/ac_nir_to_llvm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index bfe6a2e725d..f0ac3d364ac 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -3224,6 +3224,11 @@ static void visit_tex(struct nir_to_llvm_context *ctx, nir_tex_instr *instr) } } + if (instr->op == nir_texop_txs && instr->sampler_dim == GLSL_SAMPLER_DIM_BUF) { + result = get_buffer_size(ctx, res_ptr, false); + goto write_result; + } + if (instr->op == nir_texop_texture_samples) { LLVMValueRef res, samples, is_msaa; res = LLVMBuildBitCast(ctx->builder, res_ptr, ctx->v8i32, ""); -- 2.30.2