Module: wine Branch: master Commit: 1a1b3fd3bcd5b2b9cc8ad182204025af21dccba4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1a1b3fd3bcd5b2b9cc8ad18220...
Author: Józef Kucia jkucia@codeweavers.com Date: Thu Mar 23 12:15:47 2017 +0100
wined3d: Generate geometry shader outputs when NULL pixel shader is used.
In preparation for stream output.
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 | 2 +- dlls/wined3d/shader.c | 4 ++-- dlls/wined3d/wined3d_private.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 3385d83..004d490 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -7063,7 +7063,7 @@ static GLuint shader_glsl_generate_geometry_shader(const struct wined3d_context shader_generate_glsl_declarations(context, buffer, shader, reg_maps, &priv_ctx); if (!gl_info->supported[ARB_CLIP_CONTROL]) shader_addline(buffer, "uniform vec4 pos_fixup;\n"); - shader_glsl_generate_sm4_rasterizer_input_setup(priv, shader, args->ps_input_count, gl_info); + shader_glsl_generate_sm4_rasterizer_input_setup(priv, shader, args->output_count, gl_info); shader_addline(buffer, "void main()\n{\n"); if (FAILED(shader_generate_main(shader, buffer, reg_maps, &priv_ctx))) return 0; diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 011aee4..2c9976d 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -3407,8 +3407,8 @@ static HRESULT geometry_shader_init(struct wined3d_shader *shader, struct wined3 void find_gs_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, struct gs_compile_args *args) { - args->ps_input_count = state->shader[WINED3D_SHADER_TYPE_PIXEL] - ? state->shader[WINED3D_SHADER_TYPE_PIXEL]->limits->packed_input : 0; + args->output_count = state->shader[WINED3D_SHADER_TYPE_PIXEL] + ? state->shader[WINED3D_SHADER_TYPE_PIXEL]->limits->packed_input : shader->limits->packed_output; }
void find_ps_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 21c5f1b..b58da36 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1312,7 +1312,7 @@ struct vs_compile_args
struct gs_compile_args { - unsigned int ps_input_count; + unsigned int output_count; };
struct wined3d_context;