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@intel.com>
This commit is contained in:
Alejandro Piñeiro
2017-12-06 09:57:18 +01:00
parent 5e1cb16768
commit 0398b31d1d
2 changed files with 15 additions and 13 deletions

View File

@@ -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,

View File

@@ -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