zink: add a define for testing that an optimal key is the default

tcs values here are ignored since they only matter for generated tcs

Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21169>
This commit is contained in:
Mike Blumenkrantz 2023-02-06 17:35:51 -05:00 committed by Marge Bot
parent 1f08a6dcdb
commit 7c021cc5f0

View file

@ -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)