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

wined3d: Explicitly bind frag data location for fragment shader outputs.

parent f9f75d25
...@@ -3172,6 +3172,7 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) ...@@ -3172,6 +3172,7 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info)
USE_GL_FUNC(glBeginTransformFeedback) /* OpenGL 3.0 */ USE_GL_FUNC(glBeginTransformFeedback) /* OpenGL 3.0 */
USE_GL_FUNC(glBindAttribLocation) /* OpenGL 2.0 */ USE_GL_FUNC(glBindAttribLocation) /* OpenGL 2.0 */
USE_GL_FUNC(glBindBuffer) /* OpenGL 1.5 */ USE_GL_FUNC(glBindBuffer) /* OpenGL 1.5 */
USE_GL_FUNC(glBindFragDataLocation) /* OpenGL 3.0 */
USE_GL_FUNC(glBindVertexArray) /* OpenGL 3.0 */ USE_GL_FUNC(glBindVertexArray) /* OpenGL 3.0 */
USE_GL_FUNC(glBlendColor) /* OpenGL 1.4 */ USE_GL_FUNC(glBlendColor) /* OpenGL 1.4 */
USE_GL_FUNC(glBlendEquation) /* OpenGL 1.4 */ USE_GL_FUNC(glBlendEquation) /* OpenGL 1.4 */
...@@ -3305,6 +3306,7 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info) ...@@ -3305,6 +3306,7 @@ static void load_gl_funcs(struct wined3d_gl_info *gl_info)
MAP_GL_FUNCTION(glBeginQuery, glBeginQueryARB); MAP_GL_FUNCTION(glBeginQuery, glBeginQueryARB);
MAP_GL_FUNCTION(glBindAttribLocation, glBindAttribLocationARB); MAP_GL_FUNCTION(glBindAttribLocation, glBindAttribLocationARB);
MAP_GL_FUNCTION(glBindBuffer, glBindBufferARB); MAP_GL_FUNCTION(glBindBuffer, glBindBufferARB);
MAP_GL_FUNCTION(glBindFragDataLocation, glBindFragDataLocationEXT);
MAP_GL_FUNCTION(glBlendColor, glBlendColorEXT); MAP_GL_FUNCTION(glBlendColor, glBlendColorEXT);
MAP_GL_FUNCTION(glBlendEquation, glBlendEquationEXT); MAP_GL_FUNCTION(glBlendEquation, glBlendEquationEXT);
MAP_GL_FUNCTION(glBlendEquationSeparate, glBlendEquationSeparateEXT); MAP_GL_FUNCTION(glBlendEquationSeparate, glBlendEquationSeparateEXT);
......
...@@ -9254,7 +9254,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const ...@@ -9254,7 +9254,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
{ {
/* Bind vertex attributes to a corresponding index number to match /* Bind vertex attributes to a corresponding index number to match
* the same index numbers as ARB_vertex_programs (makes loading * the same index numbers as ARB_vertex_programs (makes loading
* vertex attributes simpler). With this method, we can use the * vertex attributes simpler). With this method, we can use the
* exact same code to load the attributes later for both ARB and * exact same code to load the attributes later for both ARB and
* GLSL shaders. * GLSL shaders.
* *
...@@ -9279,6 +9279,12 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const ...@@ -9279,6 +9279,12 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
} }
checkGLcall("glBindAttribLocation"); checkGLcall("glBindAttribLocation");
string_buffer_release(&priv->string_buffers, tmp_name); string_buffer_release(&priv->string_buffers, tmp_name);
if (!needs_legacy_glsl_syntax(gl_info))
{
GL_EXTCALL(glBindFragDataLocation(program_id, 0, "ps_out"));
checkGLcall("glBindFragDataLocation");
}
} }
if (gshader) if (gshader)
......
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