Mesa (master): mesa: define nir_spirv_supported_capabilities

Alejandro Pinheiro apinheiro at kemper.freedesktop.org
Wed Dec 6 21:26:37 UTC 2017


Module: Mesa
Branch: master
Commit: 0398b31d1d49a4f9f369052b4ce3c0cf8fce176b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0398b31d1d49a4f9f369052b4ce3c0cf8fce176b

Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date:   Wed Dec  6 09:57:18 2017 +0100

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 <ian.d.romanick at intel.com>

---

 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 43ec19d5a5..113bd710a0 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 b478f6158e..7da05aa3ee 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-commit mailing list