diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-01-13 13:40:09 +0000 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-01-13 13:40:09 +0000 |
commit | 1b333453e4998d5db76952aed6caa34d98dfdc7c (patch) | |
tree | edb63277532e8d1ef21783ac51695532ce99d3a1 | |
parent | 831764fa75b9a2ea5b42c2df35c6dcfcedcd9611 (diff) |
svga: Fix compile_vs error code.
It could erroneously return PIPE_OK in some circumstances.
Make compile_fs code identical.
-rw-r--r-- | src/gallium/drivers/svga/svga_state_fs.c | 4 | ||||
-rw-r--r-- | 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 44bb58c900..4fe9141677 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 db30f2735f..5e33c127d9 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, |