st/mesa: don't clamp fragment color with integer colorbuffer
This commit is contained in:
@@ -239,7 +239,8 @@ static void update_raster_state( struct st_context *st )
|
|||||||
|
|
||||||
/* _NEW_FRAG_CLAMP */
|
/* _NEW_FRAG_CLAMP */
|
||||||
raster->clamp_fragment_color = !st->clamp_frag_color_in_shader &&
|
raster->clamp_fragment_color = !st->clamp_frag_color_in_shader &&
|
||||||
ctx->Color._ClampFragmentColor;
|
ctx->Color._ClampFragmentColor &&
|
||||||
|
!ctx->DrawBuffer->_IntegerColor;
|
||||||
raster->gl_rasterization_rules = 1;
|
raster->gl_rasterization_rules = 1;
|
||||||
|
|
||||||
/* _NEW_RASTERIZER_DISCARD */
|
/* _NEW_RASTERIZER_DISCARD */
|
||||||
|
@@ -85,7 +85,8 @@ update_fp( struct st_context *st )
|
|||||||
|
|
||||||
/* _NEW_FRAG_CLAMP */
|
/* _NEW_FRAG_CLAMP */
|
||||||
key.clamp_color = st->clamp_frag_color_in_shader &&
|
key.clamp_color = st->clamp_frag_color_in_shader &&
|
||||||
st->ctx->Color._ClampFragmentColor;
|
st->ctx->Color._ClampFragmentColor &&
|
||||||
|
!st->ctx->DrawBuffer->_IntegerColor;
|
||||||
|
|
||||||
st->fp_variant = st_get_fp_variant(st, stfp, &key);
|
st->fp_variant = st_get_fp_variant(st, stfp, &key);
|
||||||
|
|
||||||
@@ -106,7 +107,7 @@ update_fp( struct st_context *st )
|
|||||||
const struct st_tracked_state st_update_fp = {
|
const struct st_tracked_state st_update_fp = {
|
||||||
"st_update_fp", /* name */
|
"st_update_fp", /* name */
|
||||||
{ /* dirty */
|
{ /* dirty */
|
||||||
0, /* mesa */
|
_NEW_BUFFERS, /* mesa */
|
||||||
ST_NEW_FRAGMENT_PROGRAM /* st */
|
ST_NEW_FRAGMENT_PROGRAM /* st */
|
||||||
},
|
},
|
||||||
update_fp /* update */
|
update_fp /* update */
|
||||||
|
@@ -424,7 +424,8 @@ draw_bitmap_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
|||||||
key.st = st;
|
key.st = st;
|
||||||
key.bitmap = GL_TRUE;
|
key.bitmap = GL_TRUE;
|
||||||
key.clamp_color = st->clamp_frag_color_in_shader &&
|
key.clamp_color = st->clamp_frag_color_in_shader &&
|
||||||
st->ctx->Color._ClampFragmentColor;
|
st->ctx->Color._ClampFragmentColor &&
|
||||||
|
!st->ctx->DrawBuffer->_IntegerColor;
|
||||||
|
|
||||||
fpv = st_get_fp_variant(st, st->fp, &key);
|
fpv = st_get_fp_variant(st, st->fp, &key);
|
||||||
|
|
||||||
|
@@ -697,7 +697,8 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
|||||||
struct pipe_rasterizer_state rasterizer;
|
struct pipe_rasterizer_state rasterizer;
|
||||||
memset(&rasterizer, 0, sizeof(rasterizer));
|
memset(&rasterizer, 0, sizeof(rasterizer));
|
||||||
rasterizer.clamp_fragment_color = !st->clamp_frag_color_in_shader &&
|
rasterizer.clamp_fragment_color = !st->clamp_frag_color_in_shader &&
|
||||||
ctx->Color._ClampFragmentColor;
|
ctx->Color._ClampFragmentColor &&
|
||||||
|
!ctx->DrawBuffer->_IntegerColor;
|
||||||
rasterizer.gl_rasterization_rules = 1;
|
rasterizer.gl_rasterization_rules = 1;
|
||||||
rasterizer.depth_clip = !ctx->Transform.DepthClamp;
|
rasterizer.depth_clip = !ctx->Transform.DepthClamp;
|
||||||
rasterizer.scissor = ctx->Scissor.Enabled;
|
rasterizer.scissor = ctx->Scissor.Enabled;
|
||||||
@@ -1026,7 +1027,8 @@ get_color_fp_variant(struct st_context *st)
|
|||||||
ctx->Pixel.AlphaScale != 1.0);
|
ctx->Pixel.AlphaScale != 1.0);
|
||||||
key.pixelMaps = ctx->Pixel.MapColorFlag;
|
key.pixelMaps = ctx->Pixel.MapColorFlag;
|
||||||
key.clamp_color = st->clamp_frag_color_in_shader &&
|
key.clamp_color = st->clamp_frag_color_in_shader &&
|
||||||
st->ctx->Color._ClampFragmentColor;
|
st->ctx->Color._ClampFragmentColor &&
|
||||||
|
!st->ctx->DrawBuffer->_IntegerColor;
|
||||||
|
|
||||||
fpv = st_get_fp_variant(st, st->fp, &key);
|
fpv = st_get_fp_variant(st, st->fp, &key);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user