On Thu, Dec 7, 2017 at 12:38 AM, Alejandro Piñeiro <apinhe...@igalia.com> wrote:
> To avoid any vulkan driver to include the GL mtypes.h. Renamed as > eventually this could be used by drivers not using nir. > > v2: remove compiler/spirv/spirv.h from mtypes (Alejandro) > --- > > The include on v1 was a leftover, when I tested if adding the > SpirVCapabilities on gl_constant was working fine, but it is not > needed on this patch, but on a following one. > > Sorry for the noise. > > src/compiler/spirv/nir_spirv.h | 4 ++-- > src/compiler/spirv/spirv.h | 15 +++++++++++++++ > src/mesa/main/mtypes.h | 13 ------------- > 3 files changed, 17 insertions(+), 15 deletions(-) > > diff --git a/src/compiler/spirv/nir_spirv.h b/src/compiler/spirv/nir_ > spirv.h > index 113bd710a00..71f44e07dba 100644 > --- a/src/compiler/spirv/nir_spirv.h > +++ b/src/compiler/spirv/nir_spirv.h > @@ -29,7 +29,7 @@ > #define _NIR_SPIRV_H_ > > #include "compiler/nir/nir.h" > -#include "main/mtypes.h" > +#include "compiler/spirv/spirv.h" > > #ifdef __cplusplus > extern "C" { > @@ -58,7 +58,7 @@ struct spirv_to_nir_options { > */ > bool lower_workgroup_access_to_offsets; > > - struct nir_spirv_supported_capabilities caps; > + struct spirv_supported_capabilities caps; > > struct { > void (*func)(void *private_data, > diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h > index 61559a1c9ca..ce2dcf7657f 100644 > --- a/src/compiler/spirv/spirv.h > +++ b/src/compiler/spirv/spirv.h > @@ -48,6 +48,8 @@ > #ifndef spirv_H > #define spirv_H > > +#include <stdbool.h> > + > typedef unsigned int SpvId; > > #define SPV_VERSION 0x10200 > @@ -994,5 +996,18 @@ typedef enum SpvOp_ { > SpvOpMax = 0x7fffffff, > } SpvOp; > > +struct 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; > +}; > + > We shouldn't add things to spirv/spirv.h. That's a header we pull in from Khronos so we really shouldn't be touching it. Other possibly reasonable options include: 1) compiler/shader_info.h 2) A new spirv/spirv_capabilities.h header 3) Add a couple of predeclarations to spirv/nir_spirv.h, drop the nir.h include, and put it there. I think option 1 is probably the most sane. It's not really shader_info but it's kind-of like that. > #endif // #ifndef spirv_H > > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index 7b7137624c7..397b113dfbc 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -3578,19 +3578,6 @@ 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 > * but are never changed after that. > -- > 2.11.0 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev