summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2023-02-06 17:35:51 -0500
committerEric Engestrom <eric@engestrom.ch>2023-02-08 20:34:46 +0000
commit3d71f973538fe152e2dd071b74e7a14f82fad82d (patch)
tree23b28935b7d5d44c089c4660e2865a3ac7b297b5 /src
parentbf586009b4dcb26159f454600123c3059ec6407b (diff)
downloadmesa-3d71f973538fe152e2dd071b74e7a14f82fad82d.tar.gz
mesa-3d71f973538fe152e2dd071b74e7a14f82fad82d.tar.bz2
mesa-3d71f973538fe152e2dd071b74e7a14f82fad82d.zip
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> (cherry picked from commit 7c021cc5f05d24211f327ea16d686f4bd9986465)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/zink/zink_shader_keys.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/zink/zink_shader_keys.h b/src/gallium/drivers/zink/zink_shader_keys.h
index d49785be89d..b3abad105ea 100644
--- a/src/gallium/drivers/zink/zink_shader_keys.h
+++ b/src/gallium/drivers/zink/zink_shader_keys.h
@@ -109,6 +109,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 *
zink_fs_key(const struct zink_shader_key *key)