aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main/spirv_extensions.h
diff options
context:
space:
mode:
authorAlejandro Piñeiro <[email protected]>2019-06-19 13:58:30 -0500
committerAlejandro Piñeiro <[email protected]>2019-07-17 10:45:32 +0200
commitf6da2a55081daba10a285c2d1a77cd928ebd2854 (patch)
tree679893c8bb66018a94ae6ddcb410134eeba4a8f3 /src/mesa/main/spirv_extensions.h
parent06e5daf5758ffdc06a5a96ab0fe58552732e35d1 (diff)
spirv_extensions: define spirv_extensions_supported
Add a struct to maintain which SPIR-V extensions are supported, and an utility method to initialize it based on nir_spirv_supported_capabilities. v2: * Fixing code style (Ian Romanick) * Adding a prefix (spirv) to fill_supported_spirv_extensions (Ian Romanick) v3: rebase update (nir_spirv_supported_extensions renamed) v4: include AMD_gcn_shader support v5: move spirv_fill_supported_spirv_extensions to src/mesa/main/spirv_extensions.c Signed-off-by: Alejandro Piñeiro <[email protected]> Signed-off-by: Arcady Goldmints-Orlov <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
Diffstat (limited to 'src/mesa/main/spirv_extensions.h')
-rw-r--r--src/mesa/main/spirv_extensions.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mesa/main/spirv_extensions.h b/src/mesa/main/spirv_extensions.h
index 6c8b8275945..9372f505f25 100644
--- a/src/mesa/main/spirv_extensions.h
+++ b/src/mesa/main/spirv_extensions.h
@@ -48,6 +48,14 @@ enum SpvExtension {
SPV_EXTENSIONS_COUNT
};
+struct spirv_supported_extensions {
+ /** Flags the supported extensions. Array to make it easier to iterate. */
+ bool supported[SPV_EXTENSIONS_COUNT];
+
+ /** Number of supported extensions */
+ unsigned int count;
+};
+
extern GLuint
_mesa_get_spirv_extension_count(struct gl_context *ctx);
@@ -57,6 +65,9 @@ _mesa_get_enabled_spirv_extension(struct gl_context *ctx,
const char *_mesa_spirv_extensions_to_string(enum SpvExtension ext);
+void _mesa_fill_supported_spirv_extensions(struct spirv_supported_extensions *ext,
+ const struct spirv_supported_capabilities *cap);
+
#ifdef __cplusplus
}
#endif