[PATCH 12/12] wined3d: Use ARB_fragment_coord_conventions for vpos fixups when supported.

Henri Verbeet hverbeet at gmail.com
Sun May 22 11:23:57 CDT 2016

On 20 May 2016 at 19:56, Matteo Bruni <mbruni at codeweavers.com> wrote:
>      if (reg_maps->vpos)
>      {
> -        if (shader->device->wined3d->flags & WINED3D_PIXEL_CENTER_INTEGER)
> +        if (gl_info->supported[ARB_FRAGMENT_COORD_CONVENTIONS])
> +            shader_addline(buffer, "vpos = gl_FragCoord;\n");
> +        else if (shader->device->wined3d->flags & WINED3D_PIXEL_CENTER_INTEGER)
Isn't it harder than that? You're dropping the y-flip completely now.
I think we can actually do that regardless of
ARB_fragment_coord_conventions if we have always_offscreen, but not in

It does look like the benefits of ARB_fragment_coord_conventions are
somewhat limited. I probably mixed it up with ARB_clip_control when I
initially suggested it. I think that would allow us to get rid of the
position fixup, but we'd have to make it a requirement for shader
model 4 if we wanted to avoid patch 6/12.

More information about the wine-devel mailing list