On 6 April 2015 at 00:28, Stefan Dösinger stefan@codeweavers.com wrote:
+#define WINED3D_CKEY_REMOVE 0x80000000
It seems unfortunate to define part of the flags in include/wine/wined3d.h and part of the flags in dlls/wined3d/cs.c. You'd probably also want to mask out private flags in wined3d_cs_emit_set_color_key().
Ultimately though, why do you need this? Most of the CS ops operate on a wined3d_state structure, which is mirrored between the CS and the device, and (in theory) functions get passed the appropriate one depending on whether they're running from the CS or not. This one is different in that it operates on a texture, and anything that would need to read the color key would then need to either wait for the texture to become idle, or run from the CS itself. Perhaps that's ok, but it's more of a fundamental design decision than this commit makes it seem.