mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
st/nine: Allocate the correct size for the user constant buffer
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Axel Davy <axel.davy@ens.fr> Cc: "10.4" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
b9cbea9dbc
commit
e0f75044c8
3 changed files with 8 additions and 7 deletions
|
|
@ -62,7 +62,7 @@ NineDevice9_SetDefaultState( struct NineDevice9 *This, boolean is_reset )
|
|||
|
||||
assert(!This->is_recording);
|
||||
|
||||
nine_state_set_defaults(&This->state, &This->caps, is_reset);
|
||||
nine_state_set_defaults(This, &This->caps, is_reset);
|
||||
|
||||
This->state.viewport.X = 0;
|
||||
This->state.viewport.Y = 0;
|
||||
|
|
@ -265,8 +265,8 @@ NineDevice9_ctor( struct NineDevice9 *This,
|
|||
This->vs_const_size = max_const_vs * sizeof(float[4]);
|
||||
This->ps_const_size = max_const_ps * sizeof(float[4]);
|
||||
/* Include space for I,B constants for user constbuf. */
|
||||
This->state.vs_const_f = CALLOC(NINE_MAX_CONST_ALL, sizeof(float[4]));
|
||||
This->state.ps_const_f = CALLOC(NINE_MAX_CONST_ALL, sizeof(float[4]));
|
||||
This->state.vs_const_f = CALLOC(This->vs_const_size, 1);
|
||||
This->state.ps_const_f = CALLOC(This->ps_const_size, 1);
|
||||
if (!This->state.vs_const_f || !This->state.ps_const_f)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
|
|
|
|||
|
|
@ -999,9 +999,10 @@ static const DWORD nine_samp_state_defaults[NINED3DSAMP_LAST + 1] =
|
|||
[NINED3DSAMP_SHADOW] = 0
|
||||
};
|
||||
void
|
||||
nine_state_set_defaults(struct nine_state *state, const D3DCAPS9 *caps,
|
||||
nine_state_set_defaults(struct NineDevice9 *device, const D3DCAPS9 *caps,
|
||||
boolean is_reset)
|
||||
{
|
||||
struct nine_state *state = &device->state;
|
||||
unsigned s;
|
||||
|
||||
/* Initialize defaults.
|
||||
|
|
@ -1022,9 +1023,9 @@ nine_state_set_defaults(struct nine_state *state, const D3DCAPS9 *caps,
|
|||
}
|
||||
|
||||
if (state->vs_const_f)
|
||||
memset(state->vs_const_f, 0, NINE_MAX_CONST_F * 4 * sizeof(float));
|
||||
memset(state->vs_const_f, 0, device->vs_const_size);
|
||||
if (state->ps_const_f)
|
||||
memset(state->ps_const_f, 0, NINE_MAX_CONST_F * 4 * sizeof(float));
|
||||
memset(state->ps_const_f, 0, device->ps_const_size);
|
||||
|
||||
/* Cap dependent initial state:
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ struct NineDevice9;
|
|||
|
||||
boolean nine_update_state(struct NineDevice9 *, uint32_t group_mask);
|
||||
|
||||
void nine_state_set_defaults(struct nine_state *, const D3DCAPS9 *,
|
||||
void nine_state_set_defaults(struct NineDevice9 *, const D3DCAPS9 *,
|
||||
boolean is_reset);
|
||||
void nine_state_clear(struct nine_state *, const boolean device);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue