[Mesa-dev] [PATCH 06/11] glsl: add SYSTEM_VALUE_VERTEX_CNT
Rob Clark
robdclark at gmail.com
Wed Sep 16 16:46:14 PDT 2015
On Wed, Sep 16, 2015 at 7:34 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Wed, Sep 16, 2015 at 7:30 PM, Rob Clark <robdclark at gmail.com> wrote:
>> On Sun, Sep 13, 2015 at 11:51 AM, Rob Clark <robdclark at gmail.com> wrote:
>>> From: Rob Clark <robclark at freedesktop.org>
>>>
>>> Used internally in freedreno/ir3 to calc stream-out position. Seems
>>> like a generic enough way to implement stream-out (using str instrs),
>>> plus it avoids compiler warnings by sneaking in a non-enum value in
>>> switch statements.
>>>
>>> Signed-off-by: Rob Clark <robclark at freedesktop.org>
>>
>> Anyone got any strong opinions about this? At least a Meh'd-by? I'd
>> like to push the freedreno/ir3 conversion to
>> varying_slot_/frag_result_/etc, but need a way to handle my internal
>> vtxcnt sysval, but don't want to step on any toes..
>>
>> I could alternatively do something like SYSTEM_VALUE_DRIVERn which
>> gets re-#defined in freedreno/ir3?
>
> It's definitely a bit weird to define these driver-specific things
> that generic things know nothing about. I think it made a lot more
> sense when it was completely driver-private with a TGSI semantic. Any
> reason you can't just do that here? Start defining private ones
> starting at SYSTEM_VALUE_MAX?
mostly because gcc gives a warning about non enum values in an enum
switch statement..
it wasn't an issue w/ tgsi semantic's since everything was #define
BR,
-R
>>
>> BR,
>> -R
>>
>>> ---
>>> src/glsl/shader_enums.h | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/src/glsl/shader_enums.h b/src/glsl/shader_enums.h
>>> index d054b87..fb4bcd0 100644
>>> --- a/src/glsl/shader_enums.h
>>> +++ b/src/glsl/shader_enums.h
>>> @@ -402,6 +402,12 @@ typedef enum
>>> SYSTEM_VALUE_TESS_LEVEL_INNER, /**< TES input */
>>> /*@}*/
>>>
>>> + /**
>>> + * Driver internal vertex-count, used (for example) for drivers to
>>> + * calculate stride for stream-out outputs. Not externally visible.
>>> + */
>>> + SYSTEM_VALUE_VERTEX_CNT,
>>> +
>>> SYSTEM_VALUE_MAX /**< Number of values */
>>> } gl_system_value;
>>>
>>> --
>>> 2.4.3
>>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list