summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_rast.c
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2012-12-05 06:50:07 +1000
committerDave Airlie <[email protected]>2012-12-06 14:48:10 +1000
commit77b26564c3f0395bf3e744abbf6d0e7aa9d2c8da (patch)
treeb592e6ecfdfad109ee33e1de801f144033175ea1 /src/gallium/drivers/llvmpipe/lp_rast.c
parent71f06344a0d72a6bd27750ceca571fc016b8de85 (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.c8
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
{