From: Alejandro PiƱeiro Date: Wed, 6 Dec 2017 08:57:18 +0000 (+0100) Subject: mesa: define nir_spirv_supported_capabilities X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0398b31d1d49a4f9f369052b4ce3c0cf8fce176b;p=mesa.git mesa: define nir_spirv_supported_capabilities 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. Reviewed-by: Ian Romanick --- 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