vrend,features: Enable tessellation shaders for GLES >= 3.2 or

OES_tessellation_shaders

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
macos/master
Gert Wollny 6 years ago committed by Dave Airlie
parent 4732489525
commit 967c508ec7
  1. 6
      src/vrend_renderer.c

@ -192,7 +192,7 @@ static const struct {
[feat_ssbo_barrier] = { 43, 31, {} }, [feat_ssbo_barrier] = { 43, 31, {} },
[feat_stencil_texturing] = { 43, 31, { "GL_ARB_stencil_texturing" } }, [feat_stencil_texturing] = { 43, 31, { "GL_ARB_stencil_texturing" } },
[feat_storage_multisample] = { 43, 31, { "GL_ARB_texture_storage_multisample" } }, [feat_storage_multisample] = { 43, 31, { "GL_ARB_texture_storage_multisample" } },
[feat_tessellation] = { 40, UNAVAIL, { "GL_ARB_tessellation_shader" } }, [feat_tessellation] = { 40, 32, { "GL_ARB_tessellation_shader", "GL_OES_tessellation_shader", "GL_EXT_tessellation_shader" } },
[feat_texture_array] = { 30, 30, { "GL_EXT_texture_array" } }, [feat_texture_array] = { 30, 30, { "GL_EXT_texture_array" } },
[feat_texture_barrier] = { 45, UNAVAIL, { "GL_ARB_texture_barrier" } }, [feat_texture_barrier] = { 45, UNAVAIL, { "GL_ARB_texture_barrier" } },
[feat_texture_buffer_range] = { 43, UNAVAIL, { "GL_ARB_texture_buffer_range" } }, [feat_texture_buffer_range] = { 43, UNAVAIL, { "GL_ARB_texture_buffer_range" } },
@ -6737,7 +6737,7 @@ void vrend_set_min_samples(struct vrend_context *ctx, unsigned min_samples)
void vrend_set_tess_state(UNUSED struct vrend_context *ctx, const float tess_factors[6]) void vrend_set_tess_state(UNUSED struct vrend_context *ctx, const float tess_factors[6])
{ {
if (has_feature(feat_tessellation)) { if (has_feature(feat_tessellation) && !vrend_state.use_gles) {
glPatchParameterfv(GL_PATCH_DEFAULT_OUTER_LEVEL, tess_factors); glPatchParameterfv(GL_PATCH_DEFAULT_OUTER_LEVEL, tess_factors);
glPatchParameterfv(GL_PATCH_DEFAULT_INNER_LEVEL, &tess_factors[4]); glPatchParameterfv(GL_PATCH_DEFAULT_INNER_LEVEL, &tess_factors[4]);
} }
@ -7881,7 +7881,7 @@ static void vrend_renderer_fill_caps_v1(int gl_ver, int gles_ver, union virgl_ca
(1 << PIPE_PRIM_TRIANGLES_ADJACENCY) | (1 << PIPE_PRIM_TRIANGLES_ADJACENCY) |
(1 << PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY); (1 << PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY);
} }
if (caps->v1.glsl_level >= 400) if (caps->v1.glsl_level >= 400 || has_feature(feat_tessellation))
caps->v1.prim_mask |= (1 << PIPE_PRIM_PATCHES); caps->v1.prim_mask |= (1 << PIPE_PRIM_PATCHES);
if (epoxy_has_gl_extension("GL_ARB_vertex_type_10f_11f_11f_rev")) { if (epoxy_has_gl_extension("GL_ARB_vertex_type_10f_11f_11f_rev")) {

Loading…
Cancel
Save