preparing for source blending with GL_RGBA16F and GL_RGBA32F.

Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
 .../draw-buffers-common.cpp                          | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp 
b/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp
index 9f92abdd1..8f0088c97 100644
--- a/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp
+++ b/tests/spec/ext_framebuffer_multisample/draw-buffers-common.cpp
@@ -443,8 +443,14 @@ compute_blend_color(float *frag_color, int rect_count,
                bg_color[j] *
                dst_blend_factor;
 
-               frag_color[rect_count * num_components + j] =
-                       (blend_color > 1) ? 1.0 : blend_color;
+               /* Clamp to [0, 1.0] for UNORM */
+               if (resolve_fbo.config.color_internalformat == GL_RGBA) {
+                       frag_color[rect_count * num_components + j] =
+                               (blend_color > 1) ? 1.0 : blend_color;
+               } else {
+                       frag_color[rect_count * num_components + j] =
+                               blend_color;
+               }
        }
 }
 
@@ -573,7 +579,15 @@ compute_expected(bool sample_alpha_to_coverage,
                         * the fragment alpha values of draw buffer zero
                         */
                        float frag_alpha = color[i * num_components + 3];
-                       coverage[i] = (frag_alpha < 1.0) ? frag_alpha : 1.0;
+
+                       /* Clamp to [0, 1.0] for UNORM */
+                       if (resolve_fbo.config.color_internalformat ==
+                           GL_RGBA) {
+                               coverage[i] = (frag_alpha < 1.0) ?
+                                             frag_alpha : 1.0;
+                       } else {
+                               coverage[i] = frag_alpha;
+                       }
                }
        }
        else {
-- 
2.11.0

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to