From 0398b31d1d49a4f9f369052b4ce3c0cf8fce176b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alejandro=20Pi=C3=B1eiro?= Date: Wed, 6 Dec 2017 09:57:18 +0100 Subject: [PATCH] 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 --- 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 43ec19d..113bd71 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 b478f61..7da05aa 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 -- 2.7.4