mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 18:20:10 +01:00
st/nine: Use materials if source is not given.
Deduced by test on windows. Signed-off-by: Axel Davy <axel.davy@ens.fr>
This commit is contained in:
parent
ab068a78d3
commit
aa69bb6848
1 changed files with 5 additions and 4 deletions
|
|
@ -1585,10 +1585,11 @@ nine_ff_get_vs(struct NineDevice9 *device)
|
|||
key.lighting = 0;
|
||||
}
|
||||
if ((key.lighting | key.darkness) && state->rs[D3DRS_COLORVERTEX]) {
|
||||
key.mtl_diffuse = state->rs[D3DRS_DIFFUSEMATERIALSOURCE];
|
||||
key.mtl_ambient = state->rs[D3DRS_AMBIENTMATERIALSOURCE];
|
||||
key.mtl_specular = state->rs[D3DRS_SPECULARMATERIALSOURCE];
|
||||
key.mtl_emissive = state->rs[D3DRS_EMISSIVEMATERIALSOURCE];
|
||||
uint32_t mask = (key.color0in_one ? 0 : 1) | (key.color1in_zero ? 0 : 2);
|
||||
key.mtl_diffuse = state->rs[D3DRS_DIFFUSEMATERIALSOURCE] & mask;
|
||||
key.mtl_ambient = state->rs[D3DRS_AMBIENTMATERIALSOURCE] & mask;
|
||||
key.mtl_specular = state->rs[D3DRS_SPECULARMATERIALSOURCE] & mask;
|
||||
key.mtl_emissive = state->rs[D3DRS_EMISSIVEMATERIALSOURCE] & mask;
|
||||
}
|
||||
key.fog = !!state->rs[D3DRS_FOGENABLE];
|
||||
key.fog_mode = (!key.position_t && state->rs[D3DRS_FOGENABLE]) ? state->rs[D3DRS_FOGVERTEXMODE] : 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue