On Tue, May 3, 2011 at 9:31 PM, Brian Paul <bri...@vmware.com> wrote: > On 05/03/2011 11:55 AM, Roland Scheidegger wrote: >> >> Am 03.05.2011 15:55, schrieb Marek Olšák: >>> >>> diff --git a/src/mesa/state_tracker/st_atom_rasterizer.c >>> b/src/mesa/state_tracker/st_atom_rasterizer.c >>> index 250cbb2..ac6d76a 100644 >>> --- a/src/mesa/state_tracker/st_atom_rasterizer.c >>> +++ b/src/mesa/state_tracker/st_atom_rasterizer.c >>> @@ -257,6 +257,9 @@ static void update_raster_state( struct st_context >>> *st ) >>> /* _NEW_FRAG_CLAMP */ >>> raster->clamp_fragment_color = ctx->Color._ClampFragmentColor; >>> >>> + /* _NEW_TEXTURE */ >>> + raster->seamless_cube_map = ctx->Texture.CubeMapSeamless != GL_FALSE; >>> + >>> raster->gl_rasterization_rules = 1; >>> >>> cso_set_rasterizer(st->cso_context, raster); >>> @@ -273,7 +276,8 @@ const struct st_tracked_state st_update_rasterizer = >>> { >>> _NEW_POLYGON | >>> _NEW_PROGRAM | >>> _NEW_SCISSOR | >>> - _NEW_FRAG_CLAMP), /* mesa state dependencies*/ >>> + _NEW_FRAG_CLAMP | >>> + _NEW_TEXTURE), /* mesa state dependencies */ >>> ST_NEW_VERTEX_PROGRAM, /* state tracker dependencies */ >>> }, >>> update_raster_state /* update function */ >> >> Hmm seems rather unfortunate that this is _NEW_TEXTURE - looks like all >> the rest of the bits are likely much lower frequency (and of course the >> seamless bit itself probably only ever changes once). I can see now why >> you made that a new bit. I'll defer that to Brian though. > > Marek, are you sure it's too hard to check the currently bound samplers in > the driver to check for global seamless cube map there?
Not so hard, it's just additional work that I wanted to avoid. BTW I don't like the Mesa dirty flags either. They don't map to the gallium state objects very well and we already have 30 or so. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev