radv: fix hashing pipeline keys if RADV_PERFTEST=ngg_streamout is used

On GFX10-10.3, RADV_PERFTEST=ngg_streamout can be used to replace the
legacy path but it should be in the pipeline key. Otherwise, it's
possible to load legacy shaders from the cache instead of NGG.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20668>
This commit is contained in:
Samuel Pitoiset
2023-01-12 11:21:51 +01:00
committed by Marge Bot
parent aab08fc250
commit ebec42d799
2 changed files with 3 additions and 0 deletions

View File

@@ -248,6 +248,8 @@ radv_get_hash_flags(const struct radv_device *device, bool stats)
hash_flags |= RADV_HASH_SHADER_SPLIT_FMA;
if (device->instance->debug_flags & RADV_DEBUG_NO_FMASK)
hash_flags |= RADV_HASH_SHADER_NO_FMASK;
if (device->physical_device->use_ngg_streamout)
hash_flags |= RADV_HASH_SHADER_NGG_STREAMOUT;
return hash_flags;
}

View File

@@ -1900,6 +1900,7 @@ struct radv_event {
#define RADV_HASH_SHADER_SPLIT_FMA (1 << 17)
#define RADV_HASH_SHADER_RT_WAVE64 (1 << 18)
#define RADV_HASH_SHADER_NO_FMASK (1 << 19)
#define RADV_HASH_SHADER_NGG_STREAMOUT (1 << 20)
struct radv_pipeline_key;