aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2019-07-31 21:16:12 -0400
committerMarek Olšák <[email protected]>2019-08-12 14:52:17 -0400
commit9fb2fd0b433a47a6460668f3ecfae014cfacc5df (patch)
treef71953461a5728734020851b4b88f3e014d399d0
parent902dd50cf0f31fe1e730ee077c9e23716d06e066 (diff)
compiler: add ACCESS_STREAM_CACHE_POLICY
radeonsi will use this. Reviewed-by: Connor Abbott <[email protected]>
-rw-r--r--src/amd/common/ac_nir_to_llvm.c3
-rw-r--r--src/compiler/shader_enums.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 42ca6a41df8..440d4ec9e5e 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -1549,6 +1549,9 @@ static unsigned get_cache_policy(struct ac_nir_context *ctx,
cache_policy |= ac_glc;
}
+ if (access & ACCESS_STREAM_CACHE_POLICY)
+ cache_policy |= ac_slc;
+
return cache_policy;
}
diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
index 5c6437749b8..d9eb290abf4 100644
--- a/src/compiler/shader_enums.h
+++ b/src/compiler/shader_enums.h
@@ -736,6 +736,9 @@ enum gl_access_qualifier
* a lack of ACCESS_COHERENT and ACCESS_VOLATILE.
*/
ACCESS_CAN_REORDER = (1 << 6),
+
+ /** Use as little cache space as possible. */
+ ACCESS_STREAM_CACHE_POLICY = (1 << 7),
};
/**