mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 22:38:05 +02:00
softpipe: enable clamping control
This enables fragment clamping in softpipe, it passes more tests than it did previously with no regressions, There are still a couple of failures in the SNORM types to investigate. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
e809b7a678
commit
0fe2b397bb
2 changed files with 8 additions and 3 deletions
|
|
@ -894,7 +894,7 @@ blend_fallback(struct quad_stage *qs,
|
|||
/* If fixed-point dest color buffer, need to clamp the incoming
|
||||
* fragment colors now.
|
||||
*/
|
||||
if (clamp) {
|
||||
if (clamp || softpipe->rasterizer->clamp_fragment_color) {
|
||||
clamp_colors(quadColor);
|
||||
}
|
||||
|
||||
|
|
@ -982,7 +982,7 @@ blend_single_add_src_alpha_inv_src_alpha(struct quad_stage *qs,
|
|||
/* If fixed-point dest color buffer, need to clamp the incoming
|
||||
* fragment colors now.
|
||||
*/
|
||||
if (bqs->clamp[0]) {
|
||||
if (bqs->clamp[0] || qs->softpipe->rasterizer->clamp_fragment_color) {
|
||||
clamp_colors(quadColor);
|
||||
}
|
||||
|
||||
|
|
@ -1055,7 +1055,7 @@ blend_single_add_one_one(struct quad_stage *qs,
|
|||
/* If fixed-point dest color buffer, need to clamp the incoming
|
||||
* fragment colors now.
|
||||
*/
|
||||
if (bqs->clamp[0]) {
|
||||
if (bqs->clamp[0] || qs->softpipe->rasterizer->clamp_fragment_color) {
|
||||
clamp_colors(quadColor);
|
||||
}
|
||||
|
||||
|
|
@ -1111,6 +1111,9 @@ single_output_color(struct quad_stage *qs,
|
|||
const int itx = (quad->input.x0 & (TILE_SIZE-1));
|
||||
const int ity = (quad->input.y0 & (TILE_SIZE-1));
|
||||
|
||||
if (qs->softpipe->rasterizer->clamp_fragment_color)
|
||||
clamp_colors(quadColor);
|
||||
|
||||
rebase_colors(bqs->base_format[0], quadColor);
|
||||
|
||||
for (j = 0; j < QUAD_SIZE; j++) {
|
||||
|
|
|
|||
|
|
@ -128,6 +128,8 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
return 7;
|
||||
case PIPE_CAP_CONDITIONAL_RENDER:
|
||||
return 1;
|
||||
case PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL:
|
||||
return 1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue