diff --git a/src/gallium/drivers/zink/zink_shader_keys.h b/src/gallium/drivers/zink/zink_shader_keys.h index 924467b6eda..ccc160f0d2d 100644 --- a/src/gallium/drivers/zink/zink_shader_keys.h +++ b/src/gallium/drivers/zink/zink_shader_keys.h @@ -150,6 +150,16 @@ union zink_shader_key_optimal { /* the default key has only last_vertex_stage set*/ #define ZINK_SHADER_KEY_OPTIMAL_DEFAULT (1<<0) +/* Ignore patch_vertices bits that would only be used if we had to generate the missing TCS */ +static inline uint32_t +zink_shader_key_optimal_no_tcs(uint32_t key) +{ + union zink_shader_key_optimal k; + k.val = key; + k.tcs_bits = 0; + return k.val; +} +#define ZINK_SHADER_KEY_OPTIMAL_IS_DEFAULT(key) (zink_shader_key_optimal_no_tcs(key) == ZINK_SHADER_KEY_OPTIMAL_DEFAULT) static inline const struct zink_fs_key_base * zink_fs_key_base(const struct zink_shader_key *key)