summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe/lp_rast_priv.h
diff options
context:
space:
mode:
authorZack Rusin <zackr@vmware.com>2013-08-13 01:42:37 -0400
committerZack Rusin <zackr@vmware.com>2013-08-14 18:23:36 -0400
commit27cedd8aecccea808a35ef297477cac5fe87e476 (patch)
treeab37abf3b418f4125e8773826f69056c22db9f99 /src/gallium/drivers/llvmpipe/lp_rast_priv.h
parenta3ae5dc7dd5c2f8893f86a920247e690e550ebd4 (diff)
downloadexternal_mesa3d-27cedd8aecccea808a35ef297477cac5fe87e476.zip
external_mesa3d-27cedd8aecccea808a35ef297477cac5fe87e476.tar.gz
external_mesa3d-27cedd8aecccea808a35ef297477cac5fe87e476.tar.bz2
llvmpipe: fix pipeline statistics with a null ps
If the fragment shader is null then pixel shader invocations have to be equal to zero. And if we're running a null ps then clipper invocations and primitives should be equal to zero but only if both stancil and depth testing are disabled. Signed-off-by: Zack Rusin <zackr@vmware.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_rast_priv.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_rast_priv.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast_priv.h b/src/gallium/drivers/llvmpipe/lp_rast_priv.h
index b8bc99c..41fe097 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast_priv.h
+++ b/src/gallium/drivers/llvmpipe/lp_rast_priv.h
@@ -100,6 +100,7 @@ struct lp_rasterizer_task
/* occlude counter for visible pixels */
struct lp_jit_thread_data thread_data;
uint64_t ps_invocations;
+ uint8_t ps_inv_multiplier;
pipe_semaphore work_ready;
pipe_semaphore work_done;
@@ -308,7 +309,7 @@ lp_rast_shade_quads_all( struct lp_rasterizer_task *task,
if ((x % TILE_SIZE) < task->width && (y % TILE_SIZE) < task->height) {
/* not very accurate would need a popcount on the mask */
/* always count this not worth bothering? */
- task->ps_invocations++;
+ task->ps_invocations += 1 * variant->ps_inv_multiplier;
/* run shader on 4x4 block */
BEGIN_JIT_CALL(state, task);