[4/19] WineD3D: Move WINED3DTSS_COLOROP to the state table
Stefan Dösinger
stefan at codeweavers.com
Tue Dec 19 16:00:58 CST 2006
This is the core patch of the 19 patches sent today. It moves colorop handling
to the state table.
The stages depend on each other, all stages above the lowest one with a
colorop of disable are disabled. Therefore SetTextureStageState keeps track
of the lowest disabled stage and dirtifies other stages affected by enabling
or disabling a stage. Handling this lowest_disabled_stage in Stateblocks will
be improved once stateblocks work with a display list and are integrated into
the state manager.
When a NULL texture is bound the meaning of the color operation and its source
argument differs. Because of that SetTexture dirtifies the color op(and later
the alpha op) when a NULL texture is bound, or was bound before and a != NULL
texture is bound.
SetPixelShader temporarily dirtifies all color ops when pshaders are disabled.
This will be removed later, when pixel shaders are handled by the state
manager too(patch 16). When pixel shaders are used color ops aren't set
because the glEnable/glDisable(GL_TEXTURE_xD) conflicts with pixel shaders.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-WineD3D-Move-WINED3DTSS_COLOROP-to-the-state-table.txt.bz2
Type: application/x-bzip2
Size: 5667 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20061219/6238222a/0004-WineD3D-Move-WINED3DTSS_COLOROP-to-the-state-table.txt.bin
More information about the wine-patches
mailing list