diff options
author | Vinson Lee <vlee@freedesktop.org> | 2012-05-23 22:36:47 -0700 |
---|---|---|
committer | Vinson Lee <vlee@freedesktop.org> | 2012-05-24 18:50:07 -0700 |
commit | 35f302d97e5b6f5fc4964e70f7adae706c5b7162 (patch) | |
tree | d8ccc5035154fa0a473d08fbb058f38dd807b4a0 | |
parent | 5cf693266faebd1fc130709fd7e7b2452bbd156c (diff) |
i915g: Check for geometry shader earlier in i915_set_constant_buffer.
Fix resource leak defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
-rw-r--r-- | src/gallium/drivers/i915/i915_state.c | 8 |
1 files changed, 4 insertions, 4 deletions
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); |