[Mesa-dev] [PATCH v2 09/25] mesa: move nir_spirv_supported_capabilities definition

Alejandro Piñeiro apinheiro at igalia.com
Wed Dec 6 10:23:41 UTC 2017


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 <apinheiro at 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 at lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>



More information about the mesa-dev mailing list