From 2595aebd91956cbe47d2805d8c7beac2d9de7fa8 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Sun, 20 Nov 2016 19:48:38 -0500 Subject: [PATCH] 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 Reviewed-by: Tim Rowley --- 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); -- 2.7.4