=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Add ARB_gpu_shader5 extension.

Alexandre Julliard julliard at winehq.org
Mon Jan 30 15:39:17 CST 2017


Module: wine
Branch: master
Commit: 8ef73e88c13f076f86a5c375b08b5d626185111b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8ef73e88c13f076f86a5c375b08b5d626185111b

Author: Józef Kucia <jkucia at 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 at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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,




More information about the wine-cvs mailing list