diff options
author | Jason Ekstrand <[email protected]> | 2018-08-16 15:11:12 -0500 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-08-29 14:04:02 -0500 |
commit | 3942943819a87ad423df56e3138223fc37f5db21 (patch) | |
tree | b99ea979073e479a25136d32d96846ee646ac24c /src/amd | |
parent | 48e4fa7dd8c4b777989c4a731d6ac54cfe6c24eb (diff) |
nir: Use a bitfield for image access qualifiers
This commit expands the current memory access enum to contain the extra
two bits provided for images. We choose to follow the SPIR-V convention
of NonReadable and NonWriteable because readonly implies that you *can*
read so readonly + writeonly doesn't make as much sense as NonReadable +
NonWriteable.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 3845a721a77..61e79ec9138 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -2342,7 +2342,7 @@ static LLVMValueRef visit_image_load(struct ac_nir_context *ctx, glsl_sampler_type_is_array(type)); args.dmask = 15; args.attributes = AC_FUNC_ATTR_READONLY; - if (var->data.image._volatile || var->data.image.coherent) + if (var->data.image.access & (ACCESS_VOLATILE | ACCESS_COHERENT)) args.cache_policy |= ac_glc; res = ac_build_image_opcode(&ctx->ac, &args); @@ -2383,7 +2383,7 @@ static void visit_image_store(struct ac_nir_context *ctx, args.dim = get_ac_image_dim(&ctx->ac, glsl_get_sampler_dim(type), glsl_sampler_type_is_array(type)); args.dmask = 15; - if (force_glc || var->data.image._volatile || var->data.image.coherent) + if (force_glc || (var->data.image.access & (ACCESS_VOLATILE | ACCESS_COHERENT))) args.cache_policy |= ac_glc; ac_build_image_opcode(&ctx->ac, &args); |