mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 17:10:11 +01:00
nv50,nvc0: zero out program struct on program_destroy
Prevent any state from carrying over to a new translation in cases where we assume that data is still zero from initial calloc (these would require us to do individual zeroing before translation which would be more code).
This commit is contained in:
parent
58dc1b28d1
commit
f6b994b305
2 changed files with 13 additions and 3 deletions
|
|
@ -677,6 +677,9 @@ out:
|
|||
void
|
||||
nv50_program_destroy(struct nv50_context *nv50, struct nv50_program *p)
|
||||
{
|
||||
const struct pipe_shader_state pipe = p->pipe;
|
||||
const ubyte type = p->type;
|
||||
|
||||
if (p->res)
|
||||
nouveau_resource_free(&p->res);
|
||||
|
||||
|
|
@ -686,5 +689,8 @@ nv50_program_destroy(struct nv50_context *nv50, struct nv50_program *p)
|
|||
if (p->fixups)
|
||||
FREE(p->fixups);
|
||||
|
||||
p->translated = FALSE;
|
||||
memset(p, 0, sizeof(*p));
|
||||
|
||||
p->pipe = pipe;
|
||||
p->type = type;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -711,6 +711,9 @@ nvc0_program_library_upload(struct nvc0_context *nvc0)
|
|||
void
|
||||
nvc0_program_destroy(struct nvc0_context *nvc0, struct nvc0_program *prog)
|
||||
{
|
||||
const struct pipe_shader_state pipe = prog->pipe;
|
||||
const ubyte type = prog->type;
|
||||
|
||||
if (prog->res)
|
||||
nouveau_resource_free(&prog->res);
|
||||
|
||||
|
|
@ -726,7 +729,8 @@ nvc0_program_destroy(struct nvc0_context *nvc0, struct nvc0_program *prog)
|
|||
FREE(prog->tfb);
|
||||
}
|
||||
|
||||
memset(prog->hdr, 0, sizeof(prog->hdr));
|
||||
memset(prog, 0, sizeof(*prog));
|
||||
|
||||
prog->translated = FALSE;
|
||||
prog->pipe = pipe;
|
||||
prog->type = type;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue