From: Chip Davis Subject: [PATCH 2/4] wined3d: Get max GLSL varyings from GL_MAX_VARYING_VECTORS if supported. Message-Id: <20200409062135.33872-2-cdavis@codeweavers.com> Date: Thu, 9 Apr 2020 01:21:33 -0500 In-Reply-To: <20200409062135.33872-1-cdavis@codeweavers.com> References: <20200409062135.33872-1-cdavis@codeweavers.com> Signed-off-by: Chip Davis --- dlls/wined3d/adapter_gl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c index dfe598acf1b..a38033fd98c 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c @@ -3183,7 +3183,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) gl_info->gl_ops.gl.p_glGetIntegerv(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB, &gl_max); gl_info->limits.glsl_ps_float_constants = gl_max / 4; TRACE("Max ARB_FRAGMENT_SHADER float constants: %u.\n", gl_info->limits.glsl_ps_float_constants); - if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) + if (gl_info->supported[ARB_ES2_COMPATIBILITY]) + { + gl_info->gl_ops.gl.p_glGetIntegerv(GL_MAX_VARYING_VECTORS, &gl_max); + gl_info->limits.glsl_varyings = gl_max * 4; + } + else if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT]) { gl_info->gl_ops.gl.p_glGetIntegerv(GL_MAX_VARYING_FLOATS_ARB, &gl_max); gl_info->limits.glsl_varyings = gl_max; -- 2.24.0