On 20 May 2016 at 19:56, Matteo Bruni mbruni@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 general.
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.