From: Ilia Mirkin Date: Mon, 21 Nov 2016 00:48:38 +0000 (-0500) Subject: swr: flatshading makes color outputs flat, it doesn't affect others X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2595aebd91956cbe47d2805d8c7beac2d9de7fa8;p=mesa.git 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 --- diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp index b0cbc21964e..41193795ce1 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);