summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/spirv/nir_spirv.h8
-rw-r--r--src/mesa/main/glspirv.c1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/spirv/nir_spirv.h b/src/compiler/spirv/nir_spirv.h
index d8ccbb48ff8..7a16422b291 100644
--- a/src/compiler/spirv/nir_spirv.h
+++ b/src/compiler/spirv/nir_spirv.h
@@ -50,7 +50,15 @@ enum nir_spirv_debug_level {
NIR_SPIRV_DEBUG_LEVEL_ERROR,
};
+enum nir_spirv_execution_environment {
+ NIR_SPIRV_VULKAN = 0,
+ NIR_SPIRV_OPENCL,
+ NIR_SPIRV_OPENGL,
+};
+
struct spirv_to_nir_options {
+ enum nir_spirv_execution_environment environment;
+
/* Whether or not to lower all workgroup variable access to offsets
* up-front. This means you will _shared intrinsics instead of _var
* for workgroup data access.
diff --git a/src/mesa/main/glspirv.c b/src/mesa/main/glspirv.c
index 227971091e1..84550e96ff6 100644
--- a/src/mesa/main/glspirv.c
+++ b/src/mesa/main/glspirv.c
@@ -211,6 +211,7 @@ _mesa_spirv_to_nir(struct gl_context *ctx,
}
const struct spirv_to_nir_options spirv_options = {
+ .environment = NIR_SPIRV_OPENGL,
.lower_workgroup_access_to_offsets = true,
.lower_ubo_ssbo_access_to_offsets = true,
.caps = ctx->Const.SpirVCapabilities