*M = *pMatrix;
if (unlikely(This->is_recording)) {
state->ff.changed.transform[State / 32] |= 1 << (State % 32);
- state->changed.group |= NINE_STATE_FF;
+ state->changed.group |= NINE_STATE_FF_VSTRANSF;
} else
nine_context_set_transform(This, State, pMatrix);
state->rs_advertised[State] = Value;
/* only need to record changed render states for stateblocks */
state->changed.rs[State / 32] |= 1 << (State % 32);
- state->changed.group |= nine_render_state_group[State];
return D3D_OK;
}
*ppSB = (IDirect3DStateBlock9 *)nsb;
dst = &nsb->state;
- dst->changed.group =
- NINE_STATE_TEXTURE |
- NINE_STATE_SAMPLER;
+ dst->changed.group = NINE_STATE_SAMPLER;
if (Type == D3DSBT_ALL || Type == D3DSBT_VERTEXSTATE) {
dst->changed.group |=
}
if (Type == D3DSBT_ALL || Type == D3DSBT_PIXELSTATE) {
dst->changed.group |=
- NINE_STATE_PS | NINE_STATE_PS_CONST | NINE_STATE_BLEND |
- NINE_STATE_FF_VS_OTHER | NINE_STATE_FF_PS_CONSTS | NINE_STATE_PS_CONST |
- NINE_STATE_FB | NINE_STATE_DSA | NINE_STATE_MULTISAMPLE |
- NINE_STATE_RASTERIZER | NINE_STATE_STENCIL_REF;
+ NINE_STATE_PS | NINE_STATE_PS_CONST | NINE_STATE_FF_PS_CONSTS;
memcpy(dst->changed.rs,
nine_render_states_pixel, sizeof(dst->changed.rs));
nine_ranges_insert(&dst->changed.ps_const_f, 0, This->max_ps_const_f,
dst->changed.group |=
NINE_STATE_VIEWPORT |
NINE_STATE_SCISSOR |
- NINE_STATE_RASTERIZER |
- NINE_STATE_BLEND |
- NINE_STATE_DSA |
NINE_STATE_IDXBUF |
NINE_STATE_FF_MATERIAL |
- NINE_STATE_BLEND_COLOR |
- NINE_STATE_SAMPLE_MASK |
NINE_STATE_FF_VSTRANSF;
memset(dst->changed.rs, ~0, (D3DRS_COUNT / 32) * sizeof(uint32_t));
dst->changed.rs[D3DRS_LAST / 32] |= (1 << (D3DRS_COUNT % 32)) - 1;
DWORD Stage,
IDirect3DBaseTexture9 **ppTexture )
{
- user_assert(Stage < This->caps.MaxSimultaneousTextures ||
+ user_assert(Stage < NINE_MAX_SAMPLERS_PS ||
Stage == D3DDMAPSAMPLER ||
(Stage >= D3DVERTEXTEXTURESAMPLER0 &&
Stage <= D3DVERTEXTEXTURESAMPLER3), D3DERR_INVALIDCALL);
DBG("This=%p Stage=%u pTexture=%p\n", This, Stage, pTexture);
- user_assert(Stage < This->caps.MaxSimultaneousTextures ||
+ user_assert(Stage < NINE_MAX_SAMPLERS_PS ||
Stage == D3DDMAPSAMPLER ||
(Stage >= D3DVERTEXTEXTURESAMPLER0 &&
Stage <= D3DVERTEXTEXTURESAMPLER3), D3DERR_INVALIDCALL);
if (This->is_recording) {
state->changed.texture |= 1 << Stage;
- state->changed.group |= NINE_STATE_TEXTURE;
nine_bind(&state->texture[Stage], pTexture);
return D3D_OK;
}
state->ff.tex_stage[Stage][Type] = Value;
if (unlikely(This->is_recording)) {
- if (Type == D3DTSS_TEXTURETRANSFORMFLAGS)
- state->changed.group |= NINE_STATE_PS_PARAMS_MISC;
state->changed.group |= NINE_STATE_FF_PS_CONSTS;
state->ff.changed.tex_stage[Stage][Type / 32] |= 1 << (Type % 32);
} else
D3DSAMPLERSTATETYPE Type,
DWORD *pValue )
{
- user_assert(Sampler < This->caps.MaxSimultaneousTextures ||
+ user_assert(Sampler < NINE_MAX_SAMPLERS_PS ||
Sampler == D3DDMAPSAMPLER ||
(Sampler >= D3DVERTEXTEXTURESAMPLER0 &&
Sampler <= D3DVERTEXTEXTURESAMPLER3), D3DERR_INVALIDCALL);
DBG("This=%p Sampler=%u Type=%s Value=%08x\n", This,
Sampler, nine_D3DSAMP_to_str(Type), Value);
- user_assert(Sampler < This->caps.MaxSimultaneousTextures ||
+ user_assert(Sampler < NINE_MAX_SAMPLERS_PS ||
Sampler == D3DDMAPSAMPLER ||
(Sampler >= D3DVERTEXTEXTURESAMPLER0 &&
Sampler <= D3DVERTEXTEXTURESAMPLER3), D3DERR_INVALIDCALL);
if (unlikely(This->is_recording)) {
state->stream_freq[StreamNumber] = Setting;
state->changed.stream_freq |= 1 << StreamNumber;
- if (StreamNumber != 0)
- state->changed.group |= NINE_STATE_STREAMFREQ;
return D3D_OK;
}
DBG("This=%p pShader=%p\n", This, pShader);
if (unlikely(This->is_recording)) {
- /* Technically we need NINE_STATE_FB only
- * if the ps mask changes, but put it always
- * to be safe */
nine_bind(&state->ps, pShader);
- state->changed.group |= NINE_STATE_PS | NINE_STATE_FB;
+ state->changed.group |= NINE_STATE_PS;
return D3D_OK;
}