diff options
author | Dave Airlie <airlied@redhat.com> | 2020-01-09 14:50:17 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2020-02-25 10:31:54 +1000 |
commit | 75a0f132db8db51da400fe0472802e09c03d16eb (patch) | |
tree | a1f585b2d20be8fab0ef30f4270e65bde90385e0 | |
parent | cda14be88b5a9c393ac08c14a052119bb44febb1 (diff) |
start writing proper spirv caps
-rw-r--r-- | src/gallium/state_trackers/vallium/val_pipeline.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/vallium/val_pipeline.c b/src/gallium/state_trackers/vallium/val_pipeline.c index 90ae4d3cb49..3c9e571627e 100644 --- a/src/gallium/state_trackers/vallium/val_pipeline.c +++ b/src/gallium/state_trackers/vallium/val_pipeline.c @@ -475,10 +475,15 @@ val_shader_compile_to_ir(struct val_pipeline *pipeline, spec_entries[i].data32 = *(const uint32_t *)data; } } - + struct val_device *pdevice = pipeline->device; const struct spirv_to_nir_options spirv_options = { + .environment = NIR_SPIRV_VULKAN, .lower_ubo_ssbo_access_to_offsets = true, - .caps = {}, + .caps = { + .float64 = (pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_DOUBLES) == 1), + .int16 = true, + .int64 = (pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_INT64) == 1), + }, .ubo_addr_format = nir_address_format_32bit_index_offset, .ssbo_addr_format = nir_address_format_32bit_index_offset, .phys_ssbo_addr_format = nir_address_format_64bit_global, |