[Mesa-dev] [PATCH] mesa: define nir_spirv_supported_capabilities
Ian Romanick
idr at freedesktop.org
Wed Dec 6 20:11:56 UTC 2017
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 12/06/2017 03:57 AM, Alejandro PiƱeiro wrote:
> Until now it was part of spirv_to_nir_options. But it will be used on
> the implementation of ARB_gl_spirv and ARB_spirv_extensions, and added
> to the OpenGL context, as a way to save what SPIR-V capabilities the
> current OpenGL implementation supports.
> ---
>
> We are sending this commit in advance of a v3 of the initial gl_spirv
> and spirv_extensions support series. The issue is that lately there
> were a lot of activity on the spirv/spir_to_nir code base, and we are
> being fixing rebase conflicts constantly. Getting this commit on
> master would make things easier.
>
> FWIW, this patch is similar to one that Ian Romanick already granted
> Rb, but that was dropped after all the mentioned changes:
> https://lists.freedesktop.org/archives/mesa-dev/2017-November/178261.html
>
> src/compiler/spirv/nir_spirv.h | 16 +++-------------
> src/mesa/main/mtypes.h | 12 ++++++++++++
> 2 files changed, 15 insertions(+), 13 deletions(-)
>
> diff --git a/src/compiler/spirv/nir_spirv.h b/src/compiler/spirv/nir_spirv.h
> index 43ec19d5a50..113bd710a00 100644
> --- a/src/compiler/spirv/nir_spirv.h
> +++ b/src/compiler/spirv/nir_spirv.h
> @@ -28,7 +28,8 @@
> #ifndef _NIR_SPIRV_H_
> #define _NIR_SPIRV_H_
>
> -#include "nir/nir.h"
> +#include "compiler/nir/nir.h"
> +#include "main/mtypes.h"
>
> #ifdef __cplusplus
> extern "C" {
> @@ -57,18 +58,7 @@ struct spirv_to_nir_options {
> */
> bool lower_workgroup_access_to_offsets;
>
> - struct {
> - bool float64;
> - bool image_ms_array;
> - bool tessellation;
> - bool draw_parameters;
> - bool image_read_without_format;
> - bool image_write_without_format;
> - bool int64;
> - bool multiview;
> - bool variable_pointers;
> - bool storage_16bit;
> - } caps;
> + struct nir_spirv_supported_capabilities caps;
>
> struct {
> void (*func)(void *private_data,
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index b478f6158e2..7da05aa3ee9 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -3579,6 +3579,18 @@ struct gl_program_constants
> GLuint MaxShaderStorageBlocks;
> };
>
> +struct nir_spirv_supported_capabilities {
> + bool float64;
> + bool image_ms_array;
> + bool tessellation;
> + bool draw_parameters;
> + bool image_read_without_format;
> + bool image_write_without_format;
> + bool int64;
> + bool multiview;
> + bool variable_pointers;
> + bool storage_16bit;
> +};
>
> /**
> * Constants which may be overridden by device driver during context creation
>
More information about the mesa-dev
mailing list