Józef Kucia : wined3d: Avoid multiple layout qualifiers for uniform blocks.
Module: wine Branch: master Commit: 74773a160375bfc059525bb71495a4e63924ee46 URL: http://source.winehq.org/git/wine.git/?a=commit;h=74773a160375bfc059525bb714... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Thu Apr 20 11:04:11 2017 +0200 wined3d: Avoid multiple layout qualifiers for uniform blocks. Nvidia Legacy GPU driver (340.xx series) doesn't allow multiple layout qualifiers. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/glsl_shader.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index dffbf18..856a5b5 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -2318,9 +2318,10 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont { if (reg_maps->cb_sizes[i]) { + shader_addline(buffer, "layout(std140"); if (shader_glsl_use_layout_binding_qualifier(gl_info)) - shader_addline(buffer, "layout(binding = %u)\n", uniform_block_base + i); - shader_addline(buffer, "layout(std140) uniform block_%s_cb%u { vec4 %s_cb%u[%u]; };\n", + shader_addline(buffer, ", binding = %u", uniform_block_base + i); + shader_addline(buffer, ") uniform block_%s_cb%u { vec4 %s_cb%u[%u]; };\n", prefix, i, prefix, i, reg_maps->cb_sizes[i]); } }
participants (1)
-
Alexandre Julliard