Feature request: Configurable pixel origin
Submitted by Stefan Dösinger
Assigned to mes..@..op.org
In OpenGL and Direct3D 10 a pixel coordinate specifies the center of a pixel on the screen. In Direct3D9 and earlier however, the origin is the top left corner of a pixel.
This causes problems for Wine, because we have to move the geometry by half a pixel to correct this difference. This is relatively painless with fixed function vertex processing, but in vertex shaders we have to insert extra instructions and occupy a shader constant / uniform to load these private constants. This causes problems with apps using all 256 constants on dx9 cards, and / or hitting the instruction limitation.
I have been told that most 3D hardware has a switch to switch between D3D and OpenGL mode. An OpenGL extension that allows Wine to switch between these modes would be very helpful. This switch could work as a glEnable / glDisable flag, or if the hardware needs it, a pixel format flag or flag at context creation would work too.