Module: wine Branch: master Commit: 74773a160375bfc059525bb71495a4e63924ee46 URL: http://source.winehq.org/git/wine.git/?a=commit;h=74773a160375bfc059525bb714...
Author: Józef Kucia jkucia@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@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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]); } }