mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
st/nine: Ignore MULTISAMPLEMASK when RT is not multisampled
We were ignoring MULTISAMPLEMASK for non-maskable multisample modes, but we were missing the non-multisampled case. Fixes a crash in Halo. Signed-off-by: Axel Davy <axel.davy@ens.fr>
This commit is contained in:
parent
bce9fe8db2
commit
85811d0e87
2 changed files with 3 additions and 3 deletions
|
|
@ -1842,8 +1842,8 @@ NineDevice9_SetRenderTarget( struct NineDevice9 *This,
|
|||
This->state.changed.group |= NINE_STATE_VIEWPORT | NINE_STATE_SCISSOR | NINE_STATE_MULTISAMPLE;
|
||||
|
||||
if (This->state.rt[0] &&
|
||||
(This->state.rt[0]->desc.MultiSampleType == D3DMULTISAMPLE_NONMASKABLE) !=
|
||||
(rt->desc.MultiSampleType == D3DMULTISAMPLE_NONMASKABLE))
|
||||
(This->state.rt[0]->desc.MultiSampleType <= D3DMULTISAMPLE_NONMASKABLE) !=
|
||||
(rt->desc.MultiSampleType <= D3DMULTISAMPLE_NONMASKABLE))
|
||||
This->state.changed.group |= NINE_STATE_SAMPLE_MASK;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1100,7 +1100,7 @@ nine_update_state(struct NineDevice9 *device)
|
|||
pipe->set_blend_color(pipe, &color);
|
||||
}
|
||||
if (group & NINE_STATE_SAMPLE_MASK) {
|
||||
if (state->rt[0]->desc.MultiSampleType == D3DMULTISAMPLE_NONMASKABLE) {
|
||||
if (state->rt[0]->desc.MultiSampleType <= D3DMULTISAMPLE_NONMASKABLE) {
|
||||
pipe->set_sample_mask(pipe, ~0);
|
||||
} else {
|
||||
pipe->set_sample_mask(pipe, state->rs[D3DRS_MULTISAMPLEMASK]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue