[Mesa-dev] [PATCH] mesa: Use GL_RED for DEPTH_TEXTURE_MODE for #version 300 es shaders.

Eric Anholt eric at anholt.net
Mon Jan 21 13:38:34 PST 2013


Kenneth Graunke <kenneth at 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
>     };
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130121/82436574/attachment.pgp>


More information about the mesa-dev mailing list