Module: wine Branch: master Commit: 8ef73e88c13f076f86a5c375b08b5d626185111b URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ef73e88c13f076f86a5c375b0...
Author: Józef Kucia jkucia@codeweavers.com Date: Sat Jan 28 17:14:04 2017 +0100
wined3d: Add ARB_gpu_shader5 extension.
For SM5 bitwise instructions.
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 | 3 +++ dlls/wined3d/glsl_shader.c | 3 +++ dlls/wined3d/wined3d_gl.h | 1 + 3 files changed, 7 insertions(+)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 8ec894d..83d68b5 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -130,6 +130,7 @@ static const struct wined3d_extension_map gl_extension_map[] = {"GL_ARB_framebuffer_object", ARB_FRAMEBUFFER_OBJECT }, {"GL_ARB_framebuffer_sRGB", ARB_FRAMEBUFFER_SRGB }, {"GL_ARB_geometry_shader4", ARB_GEOMETRY_SHADER4 }, + {"GL_ARB_gpu_shader5", ARB_GPU_SHADER5 }, {"GL_ARB_half_float_pixel", ARB_HALF_FLOAT_PIXEL }, {"GL_ARB_half_float_vertex", ARB_HALF_FLOAT_VERTEX }, {"GL_ARB_instanced_arrays", ARB_INSTANCED_ARRAYS }, @@ -3651,6 +3652,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, DWORD {ARB_TIMER_QUERY, MAKEDWORD_VERSION(3, 3)}, {ARB_VERTEX_TYPE_2_10_10_10_REV, MAKEDWORD_VERSION(3, 3)},
+ {ARB_GPU_SHADER5, MAKEDWORD_VERSION(4, 0)}, + {ARB_ES2_COMPATIBILITY, MAKEDWORD_VERSION(4, 1)}, {ARB_VIEWPORT_ARRAY, MAKEDWORD_VERSION(4, 1)},
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 93af07a..56935ae 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -6150,6 +6150,8 @@ static void shader_glsl_generate_alpha_test(struct wined3d_string_buffer *buffer static void shader_glsl_enable_extensions(struct wined3d_string_buffer *buffer, const struct wined3d_gl_info *gl_info) { + if (gl_info->supported[ARB_GPU_SHADER5]) + shader_addline(buffer, "#extension GL_ARB_gpu_shader5 : enable\n"); if (gl_info->supported[ARB_SHADER_BIT_ENCODING]) shader_addline(buffer, "#extension GL_ARB_shader_bit_encoding : enable\n"); if (gl_info->supported[ARB_SHADER_IMAGE_LOAD_STORE]) @@ -8755,6 +8757,7 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, struct s * accordingly. */ if (gl_info->glsl_version >= MAKEDWORD_VERSION(4, 30) && gl_info->supported[WINED3D_GL_VERSION_4_3] && gl_info->supported[ARB_DERIVATIVE_CONTROL] + && gl_info->supported[ARB_GPU_SHADER5] && gl_info->supported[ARB_SHADER_IMAGE_LOAD_STORE] && gl_info->supported[ARB_SHADER_IMAGE_SIZE] && gl_info->supported[ARB_SHADING_LANGUAGE_PACKING]) diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h index f600d0a..88da05a 100644 --- a/dlls/wined3d/wined3d_gl.h +++ b/dlls/wined3d/wined3d_gl.h @@ -63,6 +63,7 @@ enum wined3d_gl_extension ARB_FRAMEBUFFER_OBJECT, ARB_FRAMEBUFFER_SRGB, ARB_GEOMETRY_SHADER4, + ARB_GPU_SHADER5, ARB_HALF_FLOAT_PIXEL, ARB_HALF_FLOAT_VERTEX, ARB_INSTANCED_ARRAYS,