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