diff options
author | Timothy Arceri <[email protected]> | 2016-11-03 09:18:17 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2016-11-03 10:39:13 +1100 |
commit | cc6aa1d161280f10ded7834d1ec2413bc97589fe (patch) | |
tree | 5b124517f421f6581a8f518bac4b719c93162129 /src/mesa/drivers/dri/i915 | |
parent | 548b5fee6b4a71d1b7b52b2268ef809a2cb90149 (diff) |
st/mesa/r200/i915/i965: use rzalloc() to create gl_program
This allows us to use ralloc_parent() to see which data structure owns
shader_info which allows us to fix a regression in nir_sweep().
This will also allow us to move some fields from gl_linked_shader to
gl_program, which will allow us to do some clean-ups like storing
gl_program directly in the CurrentProgram array in gl_pipeline_object
enabling some small validation optimisations at draw time.
Also it is error prone to depend on the gl_linked_shader for
programs in current use because a failed linking attempt will free
infomation about the current program. In i965 we could be trying
to recompile a shader variant but may have lost some required fields.
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i915')
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_fragprog.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c b/src/mesa/drivers/dri/i915/i915_fragprog.c index a57125412ea..2ad9eb23e75 100644 --- a/src/mesa/drivers/dri/i915/i915_fragprog.c +++ b/src/mesa/drivers/dri/i915/i915_fragprog.c @@ -1148,13 +1148,13 @@ i915NewProgram(struct gl_context * ctx, GLenum target, GLuint id) { switch (target) { case GL_VERTEX_PROGRAM_ARB: { - struct gl_program *prog = CALLOC_STRUCT(gl_program); + struct gl_program *prog = rzalloc(NULL, struct gl_program); return _mesa_init_gl_program(prog, target, id); } case GL_FRAGMENT_PROGRAM_ARB:{ struct i915_fragment_program *prog = - CALLOC_STRUCT(i915_fragment_program); + rzalloc(NULL, struct i915_fragment_program); if (prog) { i915_init_program(I915_CONTEXT(ctx), prog); |