Commit e9011a01 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

wined3d: Add ARB_shader_image_load_store extension.

parent f1ea3fd5
...@@ -145,6 +145,7 @@ static const struct wined3d_extension_map gl_extension_map[] = ...@@ -145,6 +145,7 @@ static const struct wined3d_extension_map gl_extension_map[] =
{"GL_ARB_provoking_vertex", ARB_PROVOKING_VERTEX }, {"GL_ARB_provoking_vertex", ARB_PROVOKING_VERTEX },
{"GL_ARB_sampler_objects", ARB_SAMPLER_OBJECTS }, {"GL_ARB_sampler_objects", ARB_SAMPLER_OBJECTS },
{"GL_ARB_shader_bit_encoding", ARB_SHADER_BIT_ENCODING }, {"GL_ARB_shader_bit_encoding", ARB_SHADER_BIT_ENCODING },
{"GL_ARB_shader_image_load_store", ARB_SHADER_IMAGE_LOAD_STORE },
{"GL_ARB_shader_texture_lod", ARB_SHADER_TEXTURE_LOD }, {"GL_ARB_shader_texture_lod", ARB_SHADER_TEXTURE_LOD },
{"GL_ARB_shading_language_100", ARB_SHADING_LANGUAGE_100 }, {"GL_ARB_shading_language_100", ARB_SHADING_LANGUAGE_100 },
{"GL_ARB_shadow", ARB_SHADOW }, {"GL_ARB_shadow", ARB_SHADOW },
...@@ -2707,6 +2708,9 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) ...@@ -2707,6 +2708,9 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info)
USE_GL_FUNC(glGetSamplerParameterfv) USE_GL_FUNC(glGetSamplerParameterfv)
USE_GL_FUNC(glGetSamplerParameterIiv) USE_GL_FUNC(glGetSamplerParameterIiv)
USE_GL_FUNC(glGetSamplerParameterIuiv) USE_GL_FUNC(glGetSamplerParameterIuiv)
/* GL_ARB_shader_image_load_store */
USE_GL_FUNC(glBindImageTexture)
USE_GL_FUNC(glMemoryBarrier)
/* GL_ARB_shader_objects */ /* GL_ARB_shader_objects */
USE_GL_FUNC(glAttachObjectARB) USE_GL_FUNC(glAttachObjectARB)
USE_GL_FUNC(glBindAttribLocationARB) USE_GL_FUNC(glBindAttribLocationARB)
...@@ -3622,6 +3626,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, DWORD ...@@ -3622,6 +3626,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, DWORD
{ARB_INTERNALFORMAT_QUERY, MAKEDWORD_VERSION(4, 2)}, {ARB_INTERNALFORMAT_QUERY, MAKEDWORD_VERSION(4, 2)},
{ARB_MAP_BUFFER_ALIGNMENT, MAKEDWORD_VERSION(4, 2)}, {ARB_MAP_BUFFER_ALIGNMENT, MAKEDWORD_VERSION(4, 2)},
{ARB_SHADER_IMAGE_LOAD_STORE, MAKEDWORD_VERSION(4, 2)},
{ARB_TEXTURE_COMPRESSION_BPTC, MAKEDWORD_VERSION(4, 2)}, {ARB_TEXTURE_COMPRESSION_BPTC, MAKEDWORD_VERSION(4, 2)},
{ARB_TEXTURE_STORAGE, MAKEDWORD_VERSION(4, 2)}, {ARB_TEXTURE_STORAGE, MAKEDWORD_VERSION(4, 2)},
......
...@@ -8613,7 +8613,8 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, struct s ...@@ -8613,7 +8613,8 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, struct s
* soon as we introduce them, adjusting the GL / GLSL version checks * soon as we introduce them, adjusting the GL / GLSL version checks
* accordingly. */ * accordingly. */
if (gl_info->glsl_version >= MAKEDWORD_VERSION(4, 30) && gl_info->supported[WINED3D_GL_VERSION_4_3] 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_DERIVATIVE_CONTROL]
&& gl_info->supported[ARB_SHADER_IMAGE_LOAD_STORE])
shader_model = 5; shader_model = 5;
else if (gl_info->glsl_version >= MAKEDWORD_VERSION(1, 50) && gl_info->supported[WINED3D_GL_VERSION_3_2] else if (gl_info->glsl_version >= MAKEDWORD_VERSION(1, 50) && gl_info->supported[WINED3D_GL_VERSION_3_2]
&& gl_info->supported[ARB_SHADER_BIT_ENCODING] && gl_info->supported[ARB_SAMPLER_OBJECTS] && gl_info->supported[ARB_SHADER_BIT_ENCODING] && gl_info->supported[ARB_SAMPLER_OBJECTS]
......
...@@ -78,6 +78,7 @@ enum wined3d_gl_extension ...@@ -78,6 +78,7 @@ enum wined3d_gl_extension
ARB_PROVOKING_VERTEX, ARB_PROVOKING_VERTEX,
ARB_SAMPLER_OBJECTS, ARB_SAMPLER_OBJECTS,
ARB_SHADER_BIT_ENCODING, ARB_SHADER_BIT_ENCODING,
ARB_SHADER_IMAGE_LOAD_STORE,
ARB_SHADER_TEXTURE_LOD, ARB_SHADER_TEXTURE_LOD,
ARB_SHADING_LANGUAGE_100, ARB_SHADING_LANGUAGE_100,
ARB_SHADOW, ARB_SHADOW,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment