diff options
author | Dave Airlie <[email protected]> | 2012-12-05 06:50:07 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2012-12-06 14:48:10 +1000 |
commit | 77b26564c3f0395bf3e744abbf6d0e7aa9d2c8da (patch) | |
tree | b592e6ecfdfad109ee33e1de801f144033175ea1 /src/gallium/drivers/llvmpipe/lp_rast.c | |
parent | 71f06344a0d72a6bd27750ceca571fc016b8de85 (diff) |
llvmpipe: EXT_transform_feedback support (v1.1)
I'd written most of this ages ago, but never finished it off.
This passes 115/130 piglit tests so far. I'll look into the
others as time permits.
v1.1: fix calloc return check as suggested by Jose.
Reviewed-by: Jose Fonseca <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_rast.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_rast.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index 40a8591cabe..37be6ad571d 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -440,6 +440,9 @@ lp_rast_begin_query(struct lp_rasterizer_task *task, case PIPE_QUERY_TIME_ELAPSED: task->query_start = os_time_get_nano(); break; + case PIPE_QUERY_PRIMITIVES_GENERATED: + case PIPE_QUERY_PRIMITIVES_EMITTED: + break; default: assert(0); break; @@ -471,6 +474,9 @@ lp_rast_end_query(struct lp_rasterizer_task *task, case PIPE_QUERY_TIMESTAMP: pq->count[task->thread_index] = os_time_get_nano(); break; + case PIPE_QUERY_PRIMITIVES_GENERATED: + case PIPE_QUERY_PRIMITIVES_EMITTED: + break; default: assert(0); break; @@ -606,7 +612,7 @@ rasterize_scene(struct lp_rasterizer_task *task, { task->scene = scene; - if (!task->rast->no_rast) { + if (!task->rast->no_rast && !scene->discard) { /* loop over scene bins, rasterize each */ #if 0 { |