diff options
author | Christoph Bumiller <[email protected]> | 2012-12-07 22:43:10 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2012-12-07 22:48:54 +0100 |
commit | cfa752cd332ff1cfac403001f3833476ba6d978d (patch) | |
tree | 6f084a5e8889168328d4feab19c2536ea494c7e3 /src/gallium/drivers/nv50/nv50_program.c | |
parent | f7599b2c32185535b4c215de0ba0454129fa523f (diff) |
nv50,nvc0: fix shader eviction
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_program.c')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_program.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c index 0d292f7ab89..10810bf3e07 100644 --- a/src/gallium/drivers/nv50/nv50_program.c +++ b/src/gallium/drivers/nv50/nv50_program.c @@ -396,6 +396,11 @@ nv50_program_upload_code(struct nv50_context *nv50, struct nv50_program *prog) nouveau_heap_free(&evict->mem); } debug_printf("WARNING: out of code space, evicting all shaders.\n"); + ret = nouveau_heap_alloc(heap, size, prog, &prog->mem); + if (ret) { + NOUVEAU_ERR("shader too large (0x%x) to fit in code space ?\n", size); + return FALSE; + } } prog->code_base = prog->mem->start; |