Am 11.12.2014 um 00:53 schrieb Brian Paul: > On 12/10/2014 02:22 PM, srol...@vmware.com wrote: >> From: Roland Scheidegger <srol...@vmware.com> >> >> Tested with llvmpipe, seems to work, though no driver requests it for >> now. > > It looks like all drivers (including llvmpipe) return 0 for the > PIPE_CAP_VERTEXID_NOOFFSET query. Yes, I tested lowering by setting this temporarily to 1 for llvmpipe, so the log is a bit misleading.
Roland > > >> --- >> src/mesa/state_tracker/st_extensions.c | 4 ++++ >> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 8 ++++++-- >> 2 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/src/mesa/state_tracker/st_extensions.c >> b/src/mesa/state_tracker/st_extensions.c >> index 20a6845..1a0261b 100644 >> --- a/src/mesa/state_tracker/st_extensions.c >> +++ b/src/mesa/state_tracker/st_extensions.c >> @@ -674,6 +674,10 @@ void st_init_extensions(struct pipe_screen *screen, >> consts->NativeIntegers = GL_TRUE; >> consts->MaxClipPlanes = 8; >> >> + if (screen->get_param(screen, PIPE_CAP_VERTEXID_NOOFFSET)) { >> + consts->VertexID_is_zero_based = GL_TRUE; >> + } >> + >> /* Extensions that either depend on GLSL 1.30 or are a subset >> thereof. */ >> extensions->ARB_conservative_depth = GL_TRUE; >> extensions->ARB_shading_language_packing = GL_TRUE; >> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> index 80dd102..dda3985 100644 >> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp >> @@ -4195,8 +4195,8 @@ const unsigned >> _mesa_sysval_to_semantic[SYSTEM_VALUE_MAX] = { >> */ >> TGSI_SEMANTIC_VERTEXID, >> TGSI_SEMANTIC_INSTANCEID, >> - 0, >> - 0, >> + TGSI_SEMANTIC_VERTEXID_ZEROBASE, >> + TGSI_SEMANTIC_BASEVERTEX, >> >> /* Geometry shader >> */ >> @@ -4907,6 +4907,10 @@ st_translate_program( >> TGSI_SEMANTIC_SAMPLEMASK); >> assert(_mesa_sysval_to_semantic[SYSTEM_VALUE_INVOCATION_ID] == >> TGSI_SEMANTIC_INVOCATIONID); >> + assert(_mesa_sysval_to_semantic[SYSTEM_VALUE_VERTEX_ID_ZERO_BASE] == >> + TGSI_SEMANTIC_VERTEXID_ZEROBASE); >> + assert(_mesa_sysval_to_semantic[SYSTEM_VALUE_BASE_VERTEX] == >> + TGSI_SEMANTIC_BASEVERTEX); >> >> t = CALLOC_STRUCT(st_translate); >> if (!t) { >> > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev