[Mesa-dev] [PATCH 1/2] spirv: Sort supported capabilities
Caio Marcelo de Oliveira Filho
caio.oliveira at intel.com
Mon Jan 7 17:31:04 UTC 2019
This and the other patch are
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
On Mon, Jan 07, 2019 at 10:53:09AM -0600, Jason Ekstrand wrote:
> ---
> src/amd/vulkan/radv_shader.c | 24 ++++++++---------
> src/compiler/shader_info.h | 34 ++++++++++++-------------
> src/intel/vulkan/anv_pipeline.c | 18 ++++++-------
> src/mesa/drivers/dri/i965/brw_context.c | 10 ++++----
> 4 files changed, 43 insertions(+), 43 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
> index 7ad9abe8df8..7220738c7c8 100644
> --- a/src/amd/vulkan/radv_shader.c
> +++ b/src/amd/vulkan/radv_shader.c
> @@ -220,32 +220,32 @@ radv_shader_compile_to_nir(struct radv_device *device,
> }
> const struct spirv_to_nir_options spirv_options = {
> .caps = {
> + .descriptor_array_dynamic_indexing = true,
> .device_group = true,
> .draw_parameters = true,
> .float64 = true,
> + .gcn_shader = true,
> + .geometry_streams = true,
> .image_read_without_format = true,
> .image_write_without_format = true,
> - .tessellation = true,
> - .int64 = true,
> .int16 = true,
> + .int64 = true,
> .multiview = true,
> + .runtime_descriptor_array = true,
> + .shader_viewport_index_layer = true,
> + .stencil_export = true,
> + .storage_16bit = true,
> + .storage_image_ms = true,
> .subgroup_arithmetic = true,
> .subgroup_ballot = true,
> .subgroup_basic = true,
> .subgroup_quad = true,
> .subgroup_shuffle = true,
> .subgroup_vote = true,
> - .variable_pointers = true,
> - .gcn_shader = true,
> - .trinary_minmax = true,
> - .shader_viewport_index_layer = true,
> - .descriptor_array_dynamic_indexing = true,
> - .runtime_descriptor_array = true,
> - .stencil_export = true,
> - .storage_16bit = true,
> - .geometry_streams = true,
> + .tessellation = true,
> .transform_feedback = true,
> - .storage_image_ms = true,
> + .trinary_minmax = true,
> + .variable_pointers = true,
> },
> };
> entry_point = spirv_to_nir(spirv, module->size / 4,
> diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
> index 05f37c8d197..dc47cd7656d 100644
> --- a/src/compiler/shader_info.h
> +++ b/src/compiler/shader_info.h
> @@ -33,38 +33,38 @@ extern "C" {
> #endif
>
> struct spirv_supported_capabilities {
> - bool float64;
> - bool image_ms_array;
> - bool tessellation;
> + bool atomic_storage;
> + bool descriptor_array_dynamic_indexing;
> bool device_group;
> bool draw_parameters;
> + bool float64;
> + bool geometry_streams;
> + bool gcn_shader;
> + bool image_ms_array;
> bool image_read_without_format;
> bool image_write_without_format;
> + bool int16;
> bool int64;
> + bool int64_atomics;
> bool min_lod;
> bool multiview;
> - bool variable_pointers;
> - bool storage_16bit;
> - bool int16;
> + bool post_depth_coverage;
> + bool runtime_descriptor_array;
> bool shader_viewport_index_layer;
> + bool stencil_export;
> + bool storage_8bit;
> + bool storage_16bit;
> + bool storage_image_ms;
> bool subgroup_arithmetic;
> bool subgroup_ballot;
> bool subgroup_basic;
> bool subgroup_quad;
> bool subgroup_shuffle;
> bool subgroup_vote;
> - bool gcn_shader;
> - bool trinary_minmax;
> - bool descriptor_array_dynamic_indexing;
> - bool runtime_descriptor_array;
> - bool stencil_export;
> - bool atomic_storage;
> - bool storage_8bit;
> - bool post_depth_coverage;
> + bool tessellation;
> bool transform_feedback;
> - bool geometry_streams;
> - bool int64_atomics;
> - bool storage_image_ms;
> + bool trinary_minmax;
> + bool variable_pointers;
> };
>
> typedef struct shader_info {
> diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c
> index 6db9945e0d4..a9ae379967b 100644
> --- a/src/intel/vulkan/anv_pipeline.c
> +++ b/src/intel/vulkan/anv_pipeline.c
> @@ -136,27 +136,27 @@ anv_shader_compile_to_nir(struct anv_pipeline *pipeline,
> struct spirv_to_nir_options spirv_options = {
> .lower_workgroup_access_to_offsets = true,
> .caps = {
> - .float64 = device->instance->physicalDevice.info.gen >= 8,
> - .int64 = device->instance->physicalDevice.info.gen >= 8,
> - .tessellation = true,
> .device_group = true,
> .draw_parameters = true,
> + .float64 = device->instance->physicalDevice.info.gen >= 8,
> .image_write_without_format = true,
> + .int16 = device->instance->physicalDevice.info.gen >= 8,
> + .int64 = device->instance->physicalDevice.info.gen >= 8,
> .min_lod = true,
> .multiview = true,
> - .variable_pointers = true,
> - .storage_16bit = device->instance->physicalDevice.info.gen >= 8,
> - .int16 = device->instance->physicalDevice.info.gen >= 8,
> + .post_depth_coverage = device->instance->physicalDevice.info.gen >= 9,
> .shader_viewport_index_layer = true,
> + .stencil_export = device->instance->physicalDevice.info.gen >= 9,
> + .storage_8bit = device->instance->physicalDevice.info.gen >= 8,
> + .storage_16bit = device->instance->physicalDevice.info.gen >= 8,
> .subgroup_arithmetic = true,
> .subgroup_basic = true,
> .subgroup_ballot = true,
> .subgroup_quad = true,
> .subgroup_shuffle = true,
> .subgroup_vote = true,
> - .stencil_export = device->instance->physicalDevice.info.gen >= 9,
> - .storage_8bit = device->instance->physicalDevice.info.gen >= 8,
> - .post_depth_coverage = device->instance->physicalDevice.info.gen >= 9,
> + .tessellation = true,
> + .variable_pointers = true,
> },
> };
>
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> index 6ba64e4e06d..505da9896b3 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -390,15 +390,15 @@ brw_initialize_spirv_supported_capabilities(struct brw_context *brw)
> */
> assert(devinfo->gen >= 7);
>
> + ctx->Const.SpirVCapabilities.atomic_storage = devinfo->gen >= 7;
> + ctx->Const.SpirVCapabilities.draw_parameters = true;
> ctx->Const.SpirVCapabilities.float64 = devinfo->gen >= 8;
> + ctx->Const.SpirVCapabilities.geometry_streams = devinfo->gen >= 7;
> + ctx->Const.SpirVCapabilities.image_write_without_format = true;
> ctx->Const.SpirVCapabilities.int64 = devinfo->gen >= 8;
> ctx->Const.SpirVCapabilities.tessellation = true;
> - ctx->Const.SpirVCapabilities.draw_parameters = true;
> - ctx->Const.SpirVCapabilities.image_write_without_format = true;
> - ctx->Const.SpirVCapabilities.variable_pointers = true;
> - ctx->Const.SpirVCapabilities.atomic_storage = devinfo->gen >= 7;
> ctx->Const.SpirVCapabilities.transform_feedback = devinfo->gen >= 7;
> - ctx->Const.SpirVCapabilities.geometry_streams = devinfo->gen >= 7;
> + ctx->Const.SpirVCapabilities.variable_pointers = true;
> }
>
> static void
> --
> 2.20.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list