mesa: don't set _ClampFragmentColor to TRUE if it has no effect
This should reduce shader recompilations with drivers that emulate fragment color clamping, because we want the clamping to be enabled only if there is a signed normalized or floating-point colorbuffer. Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -710,8 +710,7 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
struct pipe_rasterizer_state rasterizer;
|
||||
memset(&rasterizer, 0, sizeof(rasterizer));
|
||||
rasterizer.clamp_fragment_color = !st->clamp_frag_color_in_shader &&
|
||||
ctx->Color._ClampFragmentColor &&
|
||||
!ctx->DrawBuffer->_IntegerColor;
|
||||
ctx->Color._ClampFragmentColor;
|
||||
rasterizer.gl_rasterization_rules = 1;
|
||||
rasterizer.depth_clip = !ctx->Transform.DepthClamp;
|
||||
rasterizer.scissor = ctx->Scissor.Enabled;
|
||||
@@ -1037,8 +1036,7 @@ get_color_fp_variant(struct st_context *st)
|
||||
ctx->Pixel.AlphaScale != 1.0);
|
||||
key.pixelMaps = ctx->Pixel.MapColorFlag;
|
||||
key.clamp_color = st->clamp_frag_color_in_shader &&
|
||||
st->ctx->Color._ClampFragmentColor &&
|
||||
!st->ctx->DrawBuffer->_IntegerColor;
|
||||
st->ctx->Color._ClampFragmentColor;
|
||||
|
||||
fpv = st_get_fp_variant(st, st->fp, &key);
|
||||
|
||||
|
Reference in New Issue
Block a user