diff options
author | Chia-I Wu <olv@lunarg.com> | 2010-08-14 00:05:28 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2010-08-16 20:46:29 +0800 |
commit | a072f0e186522f9de2848989422ad0244f65c961 (patch) | |
tree | d1bafb12f45a1b8c4167ac9c02d4446b7bc9f990 /src/gallium/auxiliary/draw/draw_split_tmp.h | |
parent | 7b3beb22405ee2de0cf02951b6547964a2989ee5 (diff) |
drwa: Add PRIMITIVE macro to vsplit.
PRIMITIVE is used by the indexed path to flush the entire primitive with
custom vertex count checks. It replaces the existing fast path.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_split_tmp.h')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_split_tmp.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_split_tmp.h b/src/gallium/auxiliary/draw/draw_split_tmp.h index 40ab0b71f1..47defc62b9 100644 --- a/src/gallium/auxiliary/draw/draw_split_tmp.h +++ b/src/gallium/auxiliary/draw/draw_split_tmp.h @@ -47,6 +47,10 @@ FUNC(FUNC_VARS) if (count < first) return; + /* try flushing the entire primitive */ + if (PRIMITIVE(start, count)) + return; + /* must be able to at least flush two complete primitives */ assert(max_count_simple >= first + incr && max_count_loop >= first + incr && @@ -166,6 +170,7 @@ FUNC(FUNC_VARS) #undef FUNC_VARS #undef LOCAL_VARS +#undef PRIMITIVE #undef SEGMENT_SIMPLE #undef SEGMENT_LOOP #undef SEGMENT_FAN |