On 06/12/17 10:47, Timothy Arceri wrote: > > > On 06/12/17 20:33, Alejandro Piñeiro wrote: >> On 06/12/17 10:23, Timothy Arceri wrote: >>> Can we get away with forward declaring this? >>> >>> There is a section at the top of mtypes you can add it to: >>> >>> * \name Some forward type declarations >> >> Yes, I realized that, and tried, but I still got several build errors. >> So that would not be enough. > > Doesn't that just mean you need to include compiler/spirv/nir_spirv.h > in more places?
Sorry, didn't realize this question. No. The problem is that with the next patch, we are adding a variable with that type, not a pointer. If we were just adding a pointer to nir_spirv_supported_capabilities, then the forward definition would be enough. If not we are getting "incomplete type" errors. Also adding an include to compiler/spirv/nir_spirv.h on mtypes.h creates tons of problems, as that one includes nir.h and so on. > >> >> In any case, after all the recent changes on spirv/spirv_to_nir >> codebase, this commit and the following one are obsolete. We are >> preparing a v3 series, but meanwhile we send this path alone to >> mesa-dev: >> https://lists.freedesktop.org/archives/mesa-dev/2017-December/179438.html >> > > I'm confused. If it's obsolete why are you trying to get it committed? > > >>> >>> >>> On 01/12/17 04:28, Eduardo Lima Mitev wrote: >>>> From: Alejandro Piñeiro <apinhe...@igalia.com> >>>> >>>> Due gl_spirv we will use it on more places, specifically on >>>> gl_constants, where we would like to use it without a pointer. >>>> --- >>>> src/compiler/spirv/nir_spirv.h | 15 ++------------- >>>> src/mesa/main/mtypes.h | 11 +++++++++++ >>>> 2 files changed, 13 insertions(+), 13 deletions(-) >>>> >>>> diff --git a/src/compiler/spirv/nir_spirv.h >>>> b/src/compiler/spirv/nir_spirv.h >>>> index 0204e81d091..a14b55cdd4b 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" { >>>> @@ -42,18 +43,6 @@ struct nir_spirv_specialization { >>>> }; >>>> }; >>>> -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; >>>> -}; >>>> - >>>> nir_function *spirv_to_nir(const uint32_t *words, size_t >>>> word_count, >>>> struct nir_spirv_specialization >>>> *specializations, >>>> unsigned num_specializations, >>>> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h >>>> index 50a47e0a65d..c8177c9a99a 100644 >>>> --- a/src/mesa/main/mtypes.h >>>> +++ b/src/mesa/main/mtypes.h >>>> @@ -3583,6 +3583,17 @@ 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; >>>> +}; >>>> /** >>>> * Constants which may be overridden by device driver during >>>> context creation >>>> >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev >> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev