From d50745b7aeaa770bdc36fc6057a840defb06db02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Tue, 28 Mar 2017 12:00:05 +0200 Subject: [PATCH] wined3d: Add ARB_transform_feedback3 extension. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/wined3d/directx.c | 12 ++++++++++++ dlls/wined3d/wined3d_gl.h | 1 + 2 files changed, 13 insertions(+) diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 8e2798f7192..419eb4da47d 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -183,6 +183,7 @@ static const struct wined3d_extension_map gl_extension_map[] = {"GL_ARB_texture_view", ARB_TEXTURE_VIEW }, {"GL_ARB_timer_query", ARB_TIMER_QUERY }, {"GL_ARB_transform_feedback2", ARB_TRANSFORM_FEEDBACK2 }, + {"GL_ARB_transform_feedback3", ARB_TRANSFORM_FEEDBACK3 }, {"GL_ARB_uniform_buffer_object", ARB_UNIFORM_BUFFER_OBJECT }, {"GL_ARB_vertex_array_bgra", ARB_VERTEX_ARRAY_BGRA }, {"GL_ARB_vertex_blend", ARB_VERTEX_BLEND }, @@ -2877,6 +2878,11 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) USE_GL_FUNC(glIsTransformFeedback); USE_GL_FUNC(glPauseTransformFeedback); USE_GL_FUNC(glResumeTransformFeedback); + /* GL_ARB_transform_feedback3 */ + USE_GL_FUNC(glBeginQueryIndexed); + USE_GL_FUNC(glDrawTransformFeedbackStream); + USE_GL_FUNC(glEndQueryIndexed); + USE_GL_FUNC(glGetQueryIndexediv); /* GL_ARB_uniform_buffer_object */ USE_GL_FUNC(glBindBufferBase) USE_GL_FUNC(glBindBufferRange) @@ -3696,6 +3702,11 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info) gl_info->supported[ARB_SHADER_ATOMIC_COUNTERS] = FALSE; } } + if (gl_info->supported[ARB_TRANSFORM_FEEDBACK3]) + { + gl_info->gl_ops.gl.p_glGetIntegerv(GL_MAX_VERTEX_STREAMS, &gl_max); + TRACE("Max vertex streams: %d.\n", gl_max); + } if (gl_info->supported[NV_LIGHT_MAX_EXPONENT]) gl_info->gl_ops.gl.p_glGetFloatv(GL_MAX_SHININESS_NV, &gl_info->limits.shininess); @@ -3824,6 +3835,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, {ARB_GPU_SHADER5, MAKEDWORD_VERSION(4, 0)}, {ARB_TEXTURE_CUBE_MAP_ARRAY, MAKEDWORD_VERSION(4, 0)}, {ARB_TRANSFORM_FEEDBACK2, MAKEDWORD_VERSION(4, 0)}, + {ARB_TRANSFORM_FEEDBACK3, MAKEDWORD_VERSION(4, 0)}, {ARB_ES2_COMPATIBILITY, MAKEDWORD_VERSION(4, 1)}, {ARB_VIEWPORT_ARRAY, MAKEDWORD_VERSION(4, 1)}, diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h index b7c87270c17..6290032d083 100644 --- a/dlls/wined3d/wined3d_gl.h +++ b/dlls/wined3d/wined3d_gl.h @@ -116,6 +116,7 @@ enum wined3d_gl_extension ARB_TEXTURE_VIEW, ARB_TIMER_QUERY, ARB_TRANSFORM_FEEDBACK2, + ARB_TRANSFORM_FEEDBACK3, ARB_UNIFORM_BUFFER_OBJECT, ARB_VERTEX_ARRAY_BGRA, ARB_VERTEX_BLEND,