[17/23] wined3d: Implement return instruction.

Matteo Bruni matteo.mystral at gmail.com
Mon Nov 14 12:45:26 CST 2016


2016-11-13 12:35 GMT-06:00 Andrew Wesie <awesie at gmail.com>:
> @@ -6079,8 +6101,26 @@ static GLuint shader_glsl_generate_vshader(const struct wined3d_context *context
>      /* Base Shader Body */
>      shader_generate_main(shader, buffer, reg_maps, function, &priv_ctx);
>
> +    shader_addline(buffer, "}\n");
> +
> +    TRACE("Compiling shader object %u.\n", shader_id);
> +    shader_glsl_compile(gl_info, shader_id, buffer->buffer);
> +
> +    return shader_id;
> +}

This breaks < SM4 shaders, those don't have an explicit return
instruction at the end.

In general, each patch should pass the wine tests. Please run the d3d
tests and make sure that none are broken by your patchset.
Specifically, this patch breaks the d3d9 visual test pretty badly. It
looks like there are more failures introduced by other patches in the
series but I haven't tracked them down.

> +static void shader_glsl_prologue_vs(const struct wined3d_shader_context *ctx)

I think this should actually be "epilogue".



More information about the wine-devel mailing list