Am 08.08.2014 20:06, schrieb Ian Romanick: > 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.roman...@intel.com> >>> >>> This system value represents the basevertex value passed to >>> glDrawElementsBaseVertex and related functions. >>> >>> Signed-off-by: Ian Romanick <ian.d.roman...@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. >
So, are you saying the spec really meant the "first" parameter of Draw calls does not count as "baseVertex"? That behavior would look very inconsistent (and useless) to me. gl_VertexId has similar language floating around ("gl_VertexID​ will have the base vertex applied to it") and that was resolved to include the first parameter of non-indexed draw too. Roland _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev