From be0488a1736d1f45d473d4f0c16243897a1d8491 Mon Sep 17 00:00:00 2001 From: Nicolai Hähnle Date: Fri, 9 Jun 2017 17:50:18 +0200 Subject: ac/nir: move setting shader_info->fs.writes_memory to radv-specific code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák --- src/amd/common/ac_nir_to_llvm.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index ad6881000a..ec8006889d 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -3431,9 +3431,6 @@ static void visit_image_store(struct ac_nir_context *ctx, if (force_glc) glc = i1true; - if (ctx->stage == MESA_SHADER_FRAGMENT) - ctx->nctx->shader_info->fs.writes_memory = true; - if (glsl_get_sampler_dim(type) == GLSL_SAMPLER_DIM_BUF) { params[0] = to_float(&ctx->ac, get_src(ctx, instr->src[2])); /* data */ params[1] = get_sampler_desc(ctx, instr->variables[0], AC_DESC_BUFFER, true, true); @@ -3493,9 +3490,6 @@ static LLVMValueRef visit_image_atomic(struct ac_nir_context *ctx, LLVMValueRef i1true = LLVMConstInt(ctx->ac.i1, 1, false); MAYBE_UNUSED int length; - if (ctx->stage == MESA_SHADER_FRAGMENT) - ctx->nctx->shader_info->fs.writes_memory = true; - switch (instr->intrinsic) { case nir_intrinsic_image_atomic_add: atomic_name = "add"; @@ -4168,6 +4162,9 @@ static LLVMValueRef radv_get_sampler_desc(struct ac_shader_abi *abi, assert(base_index < layout->binding_count); + if (write && ctx->stage == MESA_SHADER_FRAGMENT) + ctx->shader_info->fs.writes_memory = true; + switch (desc_type) { case AC_DESC_IMAGE: type = ctx->v8i32; -- cgit v1.2.3