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");