[virglrenderer-devel] [PATCH] vrend: enable multisample on GLE host with GLES >= 3.0 (v2)
Gert Wollny
gert.wollny at collabora.com
Mon May 21 08:32:22 UTC 2018
v2: Do not set GL_SAMPLE_ALPHA_TO_ONE state when on gles, because it is
not supported there. This silences the according warnings on the host.
Multisample fragment operations are part of the OpenGL ES 3.0 spec and
enabling them doesnt't require the extensions to be listed explicitely.
Fixes:
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage_inverted
dEQP-GLES3.functional.multisample.fbo_max_samples.sample_coverage_invert
on an GLE host with GLES >= 3.0.
Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh at chromium.org> (v1)
---
PS: I don't have commit rights.
src/vrend_renderer.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 3610dd8..fb6975f 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -3347,7 +3347,7 @@ static void vrend_hw_emit_blend(struct vrend_context *ctx, struct pipe_blend_sta
else
glDisable(GL_SAMPLE_ALPHA_TO_COVERAGE);
- if (state->alpha_to_one)
+ if (state->alpha_to_one && !vrend_state.use_gles)
glEnable(GL_SAMPLE_ALPHA_TO_ONE);
else
glDisable(GL_SAMPLE_ALPHA_TO_ONE);
@@ -4216,7 +4216,9 @@ int vrend_renderer_init(struct vrend_if_cbs *cbs, uint32_t flags)
if (epoxy_has_gl_extension("GL_ARB_stencil_texturing"))
vrend_state.have_stencil_texturing = true;
- if (epoxy_has_gl_extension("GL_EXT_framebuffer_multisample") && epoxy_has_gl_extension("GL_ARB_texture_multisample")) {
+ if ((gles && gl_ver >= 30) ||
+ (epoxy_has_gl_extension("GL_EXT_framebuffer_multisample") &&
+ epoxy_has_gl_extension("GL_ARB_texture_multisample"))) {
vrend_state.have_multisample = true;
if (epoxy_has_gl_extension("GL_EXT_framebuffer_multisample_blit_scaled"))
vrend_state.have_ms_scaled_blit = true;
--
2.16.1
More information about the virglrenderer-devel
mailing list