diff options
author | Topi Pohjolainen <[email protected]> | 2014-05-27 15:39:06 +0300 |
---|---|---|
committer | Topi Pohjolainen <[email protected]> | 2014-05-28 10:32:29 +0300 |
commit | a6022e5405a11ef24e3870ca86ffbbb52929ad4f (patch) | |
tree | 07c6a019cc082e8803771e026cbb0e6e9fdd3f43 /src/mesa/drivers/common/meta_blit.c | |
parent | ecee4c42292f8e38e59d2ee2d3513694ec58406a (diff) |
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 <[email protected]>
Cc: "10.2" <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Diffstat (limited to 'src/mesa/drivers/common/meta_blit.c')
-rw-r--r-- | src/mesa/drivers/common/meta_blit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/common/meta_blit.c b/src/mesa/drivers/common/meta_blit.c index 84594d1d72b..5929619f309 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); } } |