Mesa (10.2): meta/blit: Use gl_FragColor also in the msaa blit shader

Ian Romanick idr at kemper.freedesktop.org
Thu May 29 23:02:05 UTC 2014


Module: Mesa
Branch: 10.2
Commit: e8e48889e6fd10c64ce8319c2c765e66c446294b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8e48889e6fd10c64ce8319c2c765e66c446294b

Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Tue May 27 15:39:06 2014 +0300

meta/blit: Use gl_FragColor also in the msaa blit shader

Fixes framebuffer_blit_functionality_multisampled_to_singlesampled_blit
es3 cts test on bdw. Also fixes this on ivb when ivb is forced to use
the meta path.

No piglit regressions on IVB.

Further input from Ken:

 "Unfortunately, this doesn't fix MRT for integer data.

  In the single-sampled case, since we're directly copying data, we were
  read/copy/write data as "float" values, which actually contained the
  integer bits.  Here, we can't do that since we need to process the
  actual integer data.

  I do wonder if we could use intBitsToFloat/uintBitsToFloat to stuff the
  integer bits in the float gl_FragColor output.  Just a crazy idea.

  In the long term (post 10.2), I think we should draft an extension that
  allows you to do "layout(location = all)" on user-defined fragment
  shader outputs.  (Or some similar syntax.)"

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Cc: "10.2" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
(cherry picked from commit a6022e5405a11ef24e3870ca86ffbbb52929ad4f)

---

 src/mesa/drivers/common/meta_blit.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/common/meta_blit.c b/src/mesa/drivers/common/meta_blit.c
index a352a49..7f0c384 100644
--- a/src/mesa/drivers/common/meta_blit.c
+++ b/src/mesa/drivers/common/meta_blit.c
@@ -273,7 +273,7 @@ setup_glsl_msaa_blit_shader(struct gl_context *ctx,
                                    samples);
          } else {
             ralloc_asprintf_append(&sample_resolve,
-                                   "   out_color = sample_%d_0 / %f;\n",
+                                   "   gl_FragColor = sample_%d_0 / %f;\n",
                                    samples, (float)samples);
          }
       }




More information about the mesa-commit mailing list