radv: fix shader caching with discard->demote workaround

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: bdd7587414 ("radv: use nir_lower_discard_to_demote to work around game bugs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7423>
(cherry picked from commit 36f62494ec)
This commit is contained in:
Rhys Perry 2020-11-03 10:54:59 +00:00 committed by Dylan Baker
parent 5e5060324b
commit f00bce0ee4
3 changed files with 4 additions and 1 deletions

View file

@ -5188,7 +5188,7 @@
"description": "radv: fix shader caching with discard->demote workaround",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "bdd7587414441920743fe476270560722b6beb18"
},

View file

@ -219,6 +219,8 @@ static uint32_t get_hash_flags(struct radv_device *device)
hash_flags |= RADV_HASH_SHADER_GE_WAVE32;
if (device->physical_device->use_llvm)
hash_flags |= RADV_HASH_SHADER_LLVM;
if (device->instance->debug_flags & RADV_DEBUG_DISCARD_TO_DEMOTE)
hash_flags |= RADV_HASH_SHADER_DISCARD_TO_DEMOTE;
return hash_flags;
}

View file

@ -1589,6 +1589,7 @@ struct radv_shader_module;
#define RADV_HASH_SHADER_PS_WAVE32 (1 << 2)
#define RADV_HASH_SHADER_GE_WAVE32 (1 << 3)
#define RADV_HASH_SHADER_LLVM (1 << 4)
#define RADV_HASH_SHADER_DISCARD_TO_DEMOTE (1 << 5)
void
radv_hash_shaders(unsigned char *hash,