The specific commit that seems to break it is: 46931ecf480e1d231bb6c2236d91b5390f2465ac llvmpipe: Simplify and fix system variables fetch.
On Mon, Jun 25, 2012 at 10:46 AM, Stéphane Marchesin <stephane.marche...@gmail.com> wrote: > Hi Olivier, > > On top of the GL_SELECT regressions reported by Brian, this patch > series is causing regressions on i915g for: > > draw-instanced > draw-instanced-divisor > draw-elements-instanced-base-vertex > draw-elements-instanced-base-vertex-user_varrays > draw-non-instanced > instance-array-dereference > > Stéphane > > > On Thu, Jun 21, 2012 at 10:39 AM, Olivier Galibert <galib...@pobox.com> wrote: >> On Thu, Jun 21, 2012 at 10:28:22AM -0700, Jose Fonseca wrote: >>> This patch series is causing regressions in select/feedback mode. Can you >>> take a look? >> >> Sure. I wouldn't have expected that case to ever happen, but it makes >> sense now that I think of it. >> >> commit edc7b26b03c0393582ff5ec8c963207c7553850a >> Author: Olivier Galibert <galib...@pobox.com> >> Date: Thu Jun 21 19:37:11 2012 +0200 >> >> clip_init_state: Handle the case when there isn't a fragment shader. >> >> Signed-off-by: Olivier Galibert <galib...@pobox.com> >> >> diff --git a/src/gallium/auxiliary/draw/draw_pipe_clip.c >> b/src/gallium/auxiliary/draw/draw_pipe_clip.c >> index 2d36eb3..c02d0ef 100644 >> --- a/src/gallium/auxiliary/draw/draw_pipe_clip.c >> +++ b/src/gallium/auxiliary/draw/draw_pipe_clip.c >> @@ -586,6 +586,9 @@ clip_init_state( struct draw_stage *stage ) >> * two outputs for one input, so we tuck the information in a >> * specific array. Second if they don't have qualifiers, the >> * default value has to be picked from the global shade mode. >> + * >> + * Of course, if we don't have a fragment shader in the first >> + * place, defaults should be used. >> */ >> >> /* First pick up the interpolation mode for >> @@ -595,10 +598,12 @@ clip_init_state( struct draw_stage *stage ) >> indexed_interp[0] = indexed_interp[1] = >> stage->draw->rasterizer->flatshade ? >> TGSI_INTERPOLATE_CONSTANT : TGSI_INTERPOLATE_PERSPECTIVE; >> >> - for (i = 0; i < fs->info.num_inputs; i++) { >> - if (fs->info.input_semantic_name[i] == TGSI_SEMANTIC_COLOR) { >> - if (fs->info.input_interpolate[i] != TGSI_INTERPOLATE_COLOR) >> - indexed_interp[fs->info.input_semantic_index[i]] = >> fs->info.input_interpolate[i]; >> + if (fs) { >> + for (i = 0; i < fs->info.num_inputs; i++) { >> + if (fs->info.input_semantic_name[i] == TGSI_SEMANTIC_COLOR) { >> + if (fs->info.input_interpolate[i] != TGSI_INTERPOLATE_COLOR) >> + indexed_interp[fs->info.input_semantic_index[i]] = >> fs->info.input_interpolate[i]; >> + } >> } >> } >> >> @@ -627,12 +632,14 @@ clip_init_state( struct draw_stage *stage ) >> */ >> uint j; >> interp = TGSI_INTERPOLATE_PERSPECTIVE; >> - for (j = 0; j < fs->info.num_inputs; j++) { >> - if (vs->info.output_semantic_name[i] == >> fs->info.input_semantic_name[j] && >> - vs->info.output_semantic_index[i] == >> fs->info.input_semantic_index[j]) { >> - interp = fs->info.input_interpolate[j]; >> - break; >> - } >> + if (fs) { >> + for (j = 0; j < fs->info.num_inputs; j++) { >> + if (vs->info.output_semantic_name[i] == >> fs->info.input_semantic_name[j] && >> + vs->info.output_semantic_index[i] == >> fs->info.input_semantic_index[j]) { >> + interp = fs->info.input_interpolate[j]; >> + break; >> + } >> + } >> } >> } >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev