wined3d: Fix ARG_UNUSED and use it properly.
That bug was uncovered by Henri's change of the bitfield sizes.
This commit is contained in:
parent
fef73782ce
commit
f2f90b6965
|
@ -1957,14 +1957,14 @@ void gen_ffp_frag_op(IWineD3DStateBlockImpl *stateblock, struct ffp_frag_setting
|
||||||
cop = stateblock->textureState[i][WINED3DTSS_COLOROP];
|
cop = stateblock->textureState[i][WINED3DTSS_COLOROP];
|
||||||
aop = stateblock->textureState[i][WINED3DTSS_ALPHAOP];
|
aop = stateblock->textureState[i][WINED3DTSS_ALPHAOP];
|
||||||
|
|
||||||
carg1 = (args[cop] & ARG1) ? stateblock->textureState[i][WINED3DTSS_COLORARG1] : 0xffffffff;
|
carg1 = (args[cop] & ARG1) ? stateblock->textureState[i][WINED3DTSS_COLORARG1] : ARG_UNUSED;
|
||||||
carg2 = (args[cop] & ARG2) ? stateblock->textureState[i][WINED3DTSS_COLORARG2] : 0xffffffff;
|
carg2 = (args[cop] & ARG2) ? stateblock->textureState[i][WINED3DTSS_COLORARG2] : ARG_UNUSED;
|
||||||
carg0 = (args[cop] & ARG0) ? stateblock->textureState[i][WINED3DTSS_COLORARG0] : 0xffffffff;
|
carg0 = (args[cop] & ARG0) ? stateblock->textureState[i][WINED3DTSS_COLORARG0] : ARG_UNUSED;
|
||||||
|
|
||||||
if(is_invalid_op(stateblock->wineD3DDevice, i, cop,
|
if(is_invalid_op(stateblock->wineD3DDevice, i, cop,
|
||||||
carg1, carg2, carg0)) {
|
carg1, carg2, carg0)) {
|
||||||
carg0 = 0xffffffff;
|
carg0 = ARG_UNUSED;
|
||||||
carg2 = 0xffffffff;
|
carg2 = ARG_UNUSED;
|
||||||
carg1 = WINED3DTA_CURRENT;
|
carg1 = WINED3DTA_CURRENT;
|
||||||
cop = WINED3DTOP_SELECTARG1;
|
cop = WINED3DTOP_SELECTARG1;
|
||||||
}
|
}
|
||||||
|
@ -1978,9 +1978,9 @@ void gen_ffp_frag_op(IWineD3DStateBlockImpl *stateblock, struct ffp_frag_setting
|
||||||
aarg2 = carg2;
|
aarg2 = carg2;
|
||||||
aarg0 = carg0;
|
aarg0 = carg0;
|
||||||
} else {
|
} else {
|
||||||
aarg1 = (args[aop] & ARG1) ? stateblock->textureState[i][WINED3DTSS_ALPHAARG1] : 0xffffffff;
|
aarg1 = (args[aop] & ARG1) ? stateblock->textureState[i][WINED3DTSS_ALPHAARG1] : ARG_UNUSED;
|
||||||
aarg2 = (args[aop] & ARG2) ? stateblock->textureState[i][WINED3DTSS_ALPHAARG2] : 0xffffffff;
|
aarg2 = (args[aop] & ARG2) ? stateblock->textureState[i][WINED3DTSS_ALPHAARG2] : ARG_UNUSED;
|
||||||
aarg0 = (args[aop] & ARG0) ? stateblock->textureState[i][WINED3DTSS_ALPHAARG0] : 0xffffffff;
|
aarg0 = (args[aop] & ARG0) ? stateblock->textureState[i][WINED3DTSS_ALPHAARG0] : ARG_UNUSED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(i == 0 && stateblock->textures[0] &&
|
if(i == 0 && stateblock->textures[0] &&
|
||||||
|
@ -2015,8 +2015,8 @@ void gen_ffp_frag_op(IWineD3DStateBlockImpl *stateblock, struct ffp_frag_setting
|
||||||
|
|
||||||
if(is_invalid_op(stateblock->wineD3DDevice, i, aop,
|
if(is_invalid_op(stateblock->wineD3DDevice, i, aop,
|
||||||
aarg1, aarg2, aarg0)) {
|
aarg1, aarg2, aarg0)) {
|
||||||
aarg0 = 0xffffffff;
|
aarg0 = ARG_UNUSED;
|
||||||
aarg2 = 0xffffffff;
|
aarg2 = ARG_UNUSED;
|
||||||
aarg1 = WINED3DTA_CURRENT;
|
aarg1 = WINED3DTA_CURRENT;
|
||||||
aop = WINED3DTOP_SELECTARG1;
|
aop = WINED3DTOP_SELECTARG1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -922,7 +922,7 @@ enum dst_arg
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* Fixed function pipeline replacements
|
* Fixed function pipeline replacements
|
||||||
*/
|
*/
|
||||||
#define ARG_UNUSED 0x3f
|
#define ARG_UNUSED 0xff
|
||||||
struct texture_stage_op
|
struct texture_stage_op
|
||||||
{
|
{
|
||||||
unsigned cop : 8;
|
unsigned cop : 8;
|
||||||
|
|
Loading…
Reference in New Issue