From 7751ba2cffacece5b8b5177cbe514daa3d11032e Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Sun, 5 Aug 2018 16:46:00 +0200 Subject: [PATCH] vrend: Add geometry shaders on the GLES 3.1 host This is needed to make tests/test_virgl_cmd pass Signed-off-by: Gert Wollny Signed-off-by: Dave Airlie --- src/vrend_renderer.c | 2 +- src/vrend_shader.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c index 501222b..1e59d59 100644 --- a/src/vrend_renderer.c +++ b/src/vrend_renderer.c @@ -165,7 +165,7 @@ static const struct { [feat_dual_src_blend] = { 33, UNAVAIL, { "GL_ARB_blend_func_extended" } }, [feat_fb_no_attach] = { 43, 31, { "GL_ARB_framebuffer_no_attachments" } }, [feat_framebuffer_fetch] = { UNAVAIL, UNAVAIL, { "GL_EXT_shader_framebuffer_fetch" } }, - [feat_geometry_shader] = { 32, UNAVAIL, {} }, + [feat_geometry_shader] = { 32, 32, {"GL_EXT_geometry_shader", "GL_OES_geometry_shader"} }, [feat_gl_conditional_render] = { 30, UNAVAIL, {} }, [feat_gl_prim_restart] = { 31, 30, {} }, [feat_gles_khr_robustness] = { UNAVAIL, UNAVAIL, { "GL_KHR_robustness" } }, diff --git a/src/vrend_shader.c b/src/vrend_shader.c index b1dc1b8..dbe8e2a 100644 --- a/src/vrend_shader.c +++ b/src/vrend_shader.c @@ -3945,6 +3945,8 @@ static char *emit_header(struct dump_ctx *ctx, char *glsl_hdr) STRCAT_WITH_RET(glsl_hdr, buf); if (ctx->shader_req_bits & SHADER_REQ_SAMPLER_MS) STRCAT_WITH_RET(glsl_hdr, "#extension GL_OES_texture_storage_multisample_2d_array : require\n"); + if (ctx->prog_type == TGSI_PROCESSOR_GEOMETRY) + STRCAT_WITH_RET(glsl_hdr, "#extension GL_EXT_geometry_shader : require\n"); PAD_GPU_SHADER5(glsl_hdr); STRCAT_WITH_RET(glsl_hdr, "precision highp float;\n"); STRCAT_WITH_RET(glsl_hdr, "precision highp int;\n");