Mesa (mesa_7_7_branch): svga: Fix compile_vs error code.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Jan 13 13:40:19 UTC 2010


Module: Mesa
Branch: mesa_7_7_branch
Commit: 1b333453e4998d5db76952aed6caa34d98dfdc7c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b333453e4998d5db76952aed6caa34d98dfdc7c

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Jan 13 13:40:09 2010 +0000

svga: Fix compile_vs error code.

It could erroneously return PIPE_OK in some circumstances.

Make compile_fs code identical.

---

 src/gallium/drivers/svga/svga_state_fs.c |    4 +++-
 src/gallium/drivers/svga/svga_state_vs.c |    6 ++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_state_fs.c b/src/gallium/drivers/svga/svga_state_fs.c
index 44bb58c..4fe9141 100644
--- a/src/gallium/drivers/svga/svga_state_fs.c
+++ b/src/gallium/drivers/svga/svga_state_fs.c
@@ -76,8 +76,10 @@ static enum pipe_error compile_fs( struct svga_context *svga,
    }
 
    result->id = util_bitmask_add(svga->fs_bm);
-   if(result->id == UTIL_BITMASK_INVALID_INDEX)
+   if(result->id == UTIL_BITMASK_INVALID_INDEX) {
+      ret = PIPE_ERROR_OUT_OF_MEMORY;
       goto fail;
+   }
 
    ret = SVGA3D_DefineShader(svga->swc, 
                              result->id,
diff --git a/src/gallium/drivers/svga/svga_state_vs.c b/src/gallium/drivers/svga/svga_state_vs.c
index db30f27..5e33c12 100644
--- a/src/gallium/drivers/svga/svga_state_vs.c
+++ b/src/gallium/drivers/svga/svga_state_vs.c
@@ -70,7 +70,7 @@ static enum pipe_error compile_vs( struct svga_context *svga,
                                    struct svga_shader_result **out_result )
 {
    struct svga_shader_result *result;
-   enum pipe_error ret = PIPE_OK;
+   enum pipe_error ret = PIPE_ERROR;
 
    result = svga_translate_vertex_program( vs, key );
    if (result == NULL) {
@@ -79,8 +79,10 @@ static enum pipe_error compile_vs( struct svga_context *svga,
    }
 
    result->id = util_bitmask_add(svga->vs_bm);
-   if(result->id == UTIL_BITMASK_INVALID_INDEX)
+   if(result->id == UTIL_BITMASK_INVALID_INDEX) {
+      ret = PIPE_ERROR_OUT_OF_MEMORY;
       goto fail;
+   }
 
    ret = SVGA3D_DefineShader(svga->swc, 
                              result->id,




More information about the mesa-commit mailing list