Mesa (master): swr: flatshading makes color outputs flat, it doesn' t affect others

Ilia Mirkin imirkin at kemper.freedesktop.org
Wed Nov 23 01:29:34 UTC 2016


Module: Mesa
Branch: master
Commit: 2595aebd91956cbe47d2805d8c7beac2d9de7fa8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2595aebd91956cbe47d2805d8c7beac2d9de7fa8

Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Nov 20 19:48:38 2016 -0500

swr: flatshading makes color outputs flat, it doesn't affect others

We were previously not marking the "regular" flat outputs as flat when
flatshading was enabled.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Tim Rowley <timothy.o.rowley at intel.com>

---

 src/gallium/drivers/swr/swr_state.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp
index b0cbc21..4119379 100644
--- a/src/gallium/drivers/swr/swr_state.cpp
+++ b/src/gallium/drivers/swr/swr_state.cpp
@@ -1501,10 +1501,8 @@ swr_update_derived(struct pipe_context *pipe,
       (ctx->rasterizer->sprite_coord_enable ? 1 : 0);
    for (unsigned i = 0; i < backendState.numAttributes; i++)
       backendState.numComponents[i] = 4;
-   backendState.constantInterpolationMask =
-      ctx->rasterizer->flatshade ?
-      ctx->fs->flatConstantMask :
-      ctx->fs->constantMask;
+   backendState.constantInterpolationMask = ctx->fs->constantMask |
+      (ctx->rasterizer->flatshade ? ctx->fs->flatConstantMask : 0);
    backendState.pointSpriteTexCoordMask = ctx->fs->pointSpriteMask;
 
    SwrSetBackendState(ctx->swrContext, &backendState);




More information about the mesa-commit mailing list