[Mesa-dev] [PATCH 5/9] mesa: fix not having secondary color in ATI_fs in swrast

Miklós Máté mtmkls at gmail.com
Sat Dec 2 22:35:21 UTC 2017


ATI_fs in swrast only had secondary color if GL_COLOR_SUM was enabled.
This patch probably fixes the same issue in r200.

Piglit: spec/ati_fragment_shader/render-sources and render-precedence

Signed-off-by: Miklós Máté <mtmkls at gmail.com>
---
 src/mesa/main/state.h | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/mesa/main/state.h b/src/mesa/main/state.h
index 9d4591790a..5814c659a3 100644
--- a/src/mesa/main/state.h
+++ b/src/mesa/main/state.h
@@ -46,6 +46,13 @@ extern void
 _mesa_set_vp_override(struct gl_context *ctx, GLboolean flag);
 
 
+static inline bool
+_mesa_ati_fragment_shader_enabled(const struct gl_context *ctx)
+{
+   return ctx->ATIFragmentShader.Enabled &&
+          ctx->ATIFragmentShader.Current->Instructions[0];
+}
+
 /**
  * Is the secondary color needed?
  */
@@ -69,6 +76,9 @@ _mesa_need_secondary_color(const struct gl_context *ctx)
        (ctx->FragmentProgram._Current->info.inputs_read & VARYING_BIT_COL1))
       return GL_TRUE;
 
+   if (_mesa_ati_fragment_shader_enabled(ctx))
+      return GL_TRUE;
+
    return GL_FALSE;
 }
 
@@ -107,11 +117,4 @@ _mesa_arb_fragment_program_enabled(const struct gl_context *ctx)
           ctx->FragmentProgram.Current->arb.Instructions;
 }
 
-static inline bool
-_mesa_ati_fragment_shader_enabled(const struct gl_context *ctx)
-{
-   return ctx->ATIFragmentShader.Enabled &&
-          ctx->ATIFragmentShader.Current->Instructions[0];
-}
-
 #endif
-- 
2.15.0.rc0



More information about the mesa-dev mailing list