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

wined3d: Generate geometry shader outputs when NULL pixel shader is used.

In preparation for stream output. Signed-off-by: 's avatarJózef Kucia <jkucia@codeweavers.com> Signed-off-by: 's avatarHenri Verbeet <hverbeet@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 3d459c61
...@@ -7063,7 +7063,7 @@ static GLuint shader_glsl_generate_geometry_shader(const struct wined3d_context ...@@ -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); shader_generate_glsl_declarations(context, buffer, shader, reg_maps, &priv_ctx);
if (!gl_info->supported[ARB_CLIP_CONTROL]) if (!gl_info->supported[ARB_CLIP_CONTROL])
shader_addline(buffer, "uniform vec4 pos_fixup;\n"); 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"); shader_addline(buffer, "void main()\n{\n");
if (FAILED(shader_generate_main(shader, buffer, reg_maps, &priv_ctx))) if (FAILED(shader_generate_main(shader, buffer, reg_maps, &priv_ctx)))
return 0; return 0;
......
...@@ -3407,8 +3407,8 @@ static HRESULT geometry_shader_init(struct wined3d_shader *shader, struct wined3 ...@@ -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, void find_gs_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader,
struct gs_compile_args *args) struct gs_compile_args *args)
{ {
args->ps_input_count = state->shader[WINED3D_SHADER_TYPE_PIXEL] args->output_count = state->shader[WINED3D_SHADER_TYPE_PIXEL]
? state->shader[WINED3D_SHADER_TYPE_PIXEL]->limits->packed_input : 0; ? 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, void find_ps_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader,
......
...@@ -1312,7 +1312,7 @@ struct vs_compile_args ...@@ -1312,7 +1312,7 @@ struct vs_compile_args
struct gs_compile_args struct gs_compile_args
{ {
unsigned int ps_input_count; unsigned int output_count;
}; };
struct wined3d_context; struct wined3d_context;
......
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