Kenneth Graunke <kenn...@whitecape.org> writes: > --- > src/mesa/drivers/dri/i965/brw_state.h | 3 ++- > src/mesa/drivers/dri/i965/brw_wm.c | 2 +- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 8 ++++++-- > src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 4 ++-- > 4 files changed, 11 insertions(+), 6 deletions(-) > > I believe the BRW_NEW_VERTEX_PROGRAM/BRW_NEW_FRAGMENT_PROGRAM dirty bits > on the brw_texture_surfaces atom should cover my new usage of shProg. > Eric, can you confirm? I always get confused by _NEW_PROGRAM vs. > CACHE_NEW_WM/VS_PROG vs. BRW_NEW_VERTEX/FRAGMENT_PROGRAM. Thanks!
CACHE_NEW_*_PROG covers prog_data, BRW_NEW_*_PROGRAM covers the brw_*_program and gl_shader_program structs, so that sounds good. But I see an issue anyway... > diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > index 5e99592..b609b09 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -685,8 +685,10 @@ brw_get_surface_num_multisamples(unsigned num_samples) > * swizzling. > */ > int > -brw_get_texture_swizzle(const struct gl_texture_object *t) > +brw_get_texture_swizzle(struct gl_context *ctx, > + const struct gl_texture_object *t) > { > + const struct gl_shader_program *shProg = > ctx->Shader._CurrentFragmentProgram; You're looking at the FS even if we're trying to set up textures for the VS. I think the caller should pass in the particular program, and then it'll be more obvious to the caller which state flag is right. > const struct gl_texture_image *img = t->Image[0][t->BaseLevel]; > > int swizzles[SWIZZLE_NIL + 1] = { > @@ -699,9 +701,11 @@ brw_get_texture_swizzle(const struct gl_texture_object > *t) > SWIZZLE_NIL > };
pgpx5EP_hqUbq.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev