diff options
author | Brian Paul <[email protected]> | 2008-05-19 09:34:28 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2008-05-19 09:34:28 -0600 |
commit | 59007a811de2d76ea00164e8f1cacb4a375d1458 (patch) | |
tree | da53224b11dac62a89c67d96f3c71baa12a6f2af /src/gallium/drivers/softpipe | |
parent | 38fb20b2240e826394dbf56dc54f226c5f887631 (diff) |
if x86_get_func() returns NULL, handle it properly instead of aborting
Diffstat (limited to 'src/gallium/drivers/softpipe')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_fs_sse.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_fs_sse.c b/src/gallium/drivers/softpipe/sp_fs_sse.c index 25fdfea4915..55741cc1df8 100644 --- a/src/gallium/drivers/softpipe/sp_fs_sse.c +++ b/src/gallium/drivers/softpipe/sp_fs_sse.c @@ -139,7 +139,11 @@ softpipe_create_fs_sse(struct softpipe_context *softpipe, } shader->func = (codegen_function) x86_get_func( &shader->sse2_program ); - assert(shader->func); + if (!shader->func) { + x86_release_func( &shader->sse2_program ); + FREE(shader); + return NULL; + } shader->base.shader = *templ; shader->base.prepare = fs_sse_prepare; |