[Mesa-dev] [PATCH 03/13] mesa: Add SYSTEM_VALUE_BASE_VERTEX

Ian Romanick idr at freedesktop.org
Fri Aug 8 11:06:02 PDT 2014


On 08/08/2014 12:37 AM, Kenneth Graunke wrote:
> On Friday, August 08, 2014 12:31:07 AM Kenneth Graunke wrote:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> This system value represents the basevertex value passed to
>> glDrawElementsBaseVertex and related functions.
>>
>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>> ---
>>  src/mesa/main/mtypes.h                     | 15 ++++++++++++++-
>>  src/mesa/state_tracker/st_glsl_to_tgsi.cpp |  1 +
>>  2 files changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
>> index c603007..99037c6 100644
>> --- a/src/mesa/main/mtypes.h
>> +++ b/src/mesa/main/mtypes.h
>> @@ -2084,7 +2084,12 @@ typedef enum
>>      * gl_VertexID gets basevertex added in.  This differs from DirectX where
>>      * SV_VertexID does \b not get basevertex added in.
>>      *
>> -    * \sa SYSTEM_VALUE_VERTEX_ID_ZERO_BASE
>> +    * \note
>> +    * If all system values are available, \c SYSTEM_VALUE_VERTEX_ID will be
>> +    * equal to \c SYSTEM_VALUE_VERTEX_ID_ZERO_BASE plus
>> +    * \c SYSTEM_VALUE_BASE_VERTEX.
>> +    *
>> +    * \sa SYSTEM_VALUE_VERTEX_ID_ZERO_BASE, SYSTEM_VALUE_BASE_VERTEX
>>      */
>>     SYSTEM_VALUE_VERTEX_ID,
>>  
>> @@ -2126,6 +2131,14 @@ typedef enum
>>      * \sa SYSTEM_VALUE_VERTEX_ID, SYSTEM_VALUE_BASE_VERTEX
>>      */
>>     SYSTEM_VALUE_VERTEX_ID_ZERO_BASE,
>> +
>> +   /**
>> +    * Value of \c basevertex passed to \c glDrawElementsBaseVertex and similar
>> +    * functions.
>> +    *
>> +    * \sa SYSTEM_VALUE_VERTEX_ID, SYSTEM_VALUE_VERTEX_ID_ZERO_BASE
>> +    */
>> +   SYSTEM_VALUE_BASE_VERTEX,
>>     /*@}*/
> 
> Ian,
> 
> It occurred to me that we're sort of abusing this system value in
> the i965 patches later in this series - we're using it to store
> gl_BaseVertexARB, but also using it to store the "first" parameter
> for glDrawArrays. I think in the glDrawArrays case, gl_BaseVertexARB
> is supposed to be 0.

Yeah, you're right on all counts.  I sent some commentary on patch 7.
Short version... we'll have to do some rework to support
GL_ARB_shader_draw_parameters, but I think it's safe to leave this code
as-is until we implement that other extension.

> I'm not sure what the right thing to do is.
> 
> --Ken
> 
> _______________________________________________
> 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