summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_pipeline.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-10-18 17:28:19 -0700
committerJason Ekstrand <[email protected]>2017-12-02 08:09:11 -0800
commite19c623128ef07c778f5f587864361c1ff383695 (patch)
treea555c61ff96823ac171d15cab6c7401ab1a07806 /src/intel/vulkan/anv_pipeline.c
parent6bd876dcaa4403b30eedd5ebe66bfadcef1f1a0c (diff)
spirv: Convert the supported_extensions struct to spirv_options
This is a bit more general and lets us pass additional options into the spirv_to_nir pass beyond what capabilities we support. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_pipeline.c')
-rw-r--r--src/intel/vulkan/anv_pipeline.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
index 907b24a758d..827767cb76f 100644
--- a/src/intel/vulkan/anv_pipeline.c
+++ b/src/intel/vulkan/anv_pipeline.c
@@ -132,20 +132,22 @@ anv_shader_compile_to_nir(struct anv_pipeline *pipeline,
}
}
- const struct nir_spirv_supported_extensions supported_ext = {
- .float64 = device->instance->physicalDevice.info.gen >= 8,
- .int64 = device->instance->physicalDevice.info.gen >= 8,
- .tessellation = true,
- .draw_parameters = true,
- .image_write_without_format = true,
- .multiview = true,
- .variable_pointers = true,
+ struct spirv_to_nir_options spirv_options = {
+ .caps = {
+ .float64 = device->instance->physicalDevice.info.gen >= 8,
+ .int64 = device->instance->physicalDevice.info.gen >= 8,
+ .tessellation = true,
+ .draw_parameters = true,
+ .image_write_without_format = true,
+ .multiview = true,
+ .variable_pointers = true,
+ },
};
nir_function *entry_point =
spirv_to_nir(spirv, module->size / 4,
spec_entries, num_spec_entries,
- stage, entrypoint_name, &supported_ext, nir_options);
+ stage, entrypoint_name, &spirv_options, nir_options);
nir_shader *nir = entry_point->shader;
assert(nir->info.stage == stage);
nir_validate_shader(nir);