Module: wine Branch: master Commit: d50745b7aeaa770bdc36fc6057a840defb06db02 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d50745b7aeaa770bdc36fc6057...
Author: Józef Kucia jkucia@codeweavers.com Date: Tue Mar 28 12:00:05 2017 +0200
wined3d: Add ARB_transform_feedback3 extension.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 8e2798f..419eb4d 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 b7c8727..6290032 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,