From: Vinson Lee Date: Thu, 24 May 2012 05:36:47 +0000 (-0700) Subject: i915g: Check for geometry shader earlier in i915_set_constant_buffer. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35f302d97e5b6f5fc4964e70f7adae706c5b7162;p=mesa.git i915g: Check for geometry shader earlier in i915_set_constant_buffer. Fix resource leak defect reported by Coverity. Signed-off-by: Vinson Lee Reviewed-by: Brian Paul --- diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index bd9e8bac0ae..1ff53884ada 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -672,16 +672,16 @@ static void i915_set_constant_buffer(struct pipe_context *pipe, unsigned new_num = 0; boolean diff = TRUE; + /* XXX don't support geom shaders now */ + if (shader == PIPE_SHADER_GEOMETRY) + return; + if (cb && cb->user_buffer) { buf = i915_user_buffer_create(pipe->screen, cb->user_buffer, cb->buffer_size, PIPE_BIND_CONSTANT_BUFFER); } - /* XXX don't support geom shaders now */ - if (shader == PIPE_SHADER_GEOMETRY) - return; - /* if we have a new buffer compare it with the old one */ if (buf) { struct i915_buffer *ibuf = i915_buffer(buf);