[Mesa-dev] [PATCH] mesa: fix texture updates for ATI_fragment_shader

Kenneth Graunke kenneth at whitecape.org
Thu Sep 28 03:37:25 UTC 2017


On Wednesday, September 27, 2017 8:39:27 AM PDT Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> ---
>  src/mesa/main/texstate.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
> index 269e291..edd2253 100644
> --- a/src/mesa/main/texstate.c
> +++ b/src/mesa/main/texstate.c
> @@ -833,23 +833,25 @@ update_ff_texture_state(struct gl_context *ctx,
>  void
>  _mesa_update_texture_state(struct gl_context *ctx)
>  {
>     struct gl_program *prog[MESA_SHADER_STAGES];
>     int i;
>     int old_max_unit = ctx->Texture._MaxEnabledTexImageUnit;
>     BITSET_DECLARE(enabled_texture_units, MAX_COMBINED_TEXTURE_IMAGE_UNITS);
>  
>     memcpy(prog, ctx->_Shader->CurrentProgram, sizeof(prog));
>  
> -   if (prog[MESA_SHADER_FRAGMENT] == NULL &&
> -       _mesa_arb_fragment_program_enabled(ctx)) {
> -      prog[MESA_SHADER_FRAGMENT] = ctx->FragmentProgram.Current;
> +   if (prog[MESA_SHADER_FRAGMENT] == NULL) {
> +      if (_mesa_arb_fragment_program_enabled(ctx))
> +         prog[MESA_SHADER_FRAGMENT] = ctx->FragmentProgram.Current;
> +      else if (_mesa_ati_fragment_shader_enabled(ctx))
> +         prog[MESA_SHADER_FRAGMENT] = ctx->ATIFragmentShader.Current->Program;
>     }
>  
>     /* TODO: only set this if there are actual changes */
>     ctx->NewState |= _NEW_TEXTURE_OBJECT | _NEW_TEXTURE_STATE;
>  
>     ctx->Texture._GenFlags = 0x0;
>     ctx->Texture._TexMatEnabled = 0x0;
>     ctx->Texture._TexGenEnabled = 0x0;
>     ctx->Texture._MaxEnabledTexImageUnit = -1;
>     ctx->Texture._EnabledCoordUnits = 0x0;
> 

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170927/00ed3ec3/attachment.sig>


More information about the mesa-dev mailing list