diff options
author | Samuel Pitoiset <[email protected]> | 2018-11-14 16:24:02 +0100 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-06-19 10:06:39 +0200 |
commit | e91c1ea06c56a45b6040b36e6ef32d0b126eebbc (patch) | |
tree | 93a4169491ea7c74e61dd02c3ddddf54910ac236 /src/amd/vulkan/radv_private.h | |
parent | a7f75377aba6853e08561acb9609c5e262e4d9a6 (diff) |
radv: implement compressed FMASK texture reads with RADV_PERFTEST=tccompatcmask
This allows us to disable the FMASK decompress pass when
transitioning from CB writes to shader reads.
This will likely be improved and enabled by default in the future.
No CTS regressions on GFX8 but a few number of multisample CTS
failures on GFX9 (they look related to the small hint).
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r-- | src/amd/vulkan/radv_private.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 0f20cbe08af..14bf55e9bd3 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1562,6 +1562,7 @@ struct radv_image { uint64_t dcc_offset; uint64_t htile_offset; bool tc_compatible_htile; + bool tc_compatible_cmask; struct radv_fmask_info fmask; struct radv_cmask_info cmask; @@ -1636,6 +1637,15 @@ radv_image_has_dcc(const struct radv_image *image) } /** + * Return whether the image is TC-compatible CMASK. + */ +static inline bool +radv_image_is_tc_compat_cmask(const struct radv_image *image) +{ + return radv_image_has_fmask(image) && image->tc_compatible_cmask; +} + +/** * Return whether DCC metadata is enabled for a level. */ static inline bool |