[Mesa-dev] [PATCH] i915g: Check for geometry shader earlier in i915_set_constant_buffer.

Vinson Lee vlee at freedesktop.org
Wed May 23 22:44:25 PDT 2012


Fix resource leak defect reported by Coverity.

Signed-off-by: Vinson Lee <vlee at freedesktop.org>
---
 src/gallium/drivers/i915/i915_state.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c
index bd9e8ba..1ff5388 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);
-- 
1.7.10.1



More information about the mesa-dev mailing list