summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Piñeiro <[email protected]>2017-12-06 09:57:18 +0100
committerAlejandro Piñeiro <[email protected]>2017-12-06 22:25:52 +0100
commit0398b31d1d49a4f9f369052b4ce3c0cf8fce176b (patch)
tree4ba20cce12fb524673f0046ee202c5e38a0ad399
parent5e1cb16768d3b97724ab85fbc50119dd8c9281c0 (diff)
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 <[email protected]>
-rw-r--r--src/compiler/spirv/nir_spirv.h16
-rw-r--r--src/mesa/main/mtypes.h12
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