summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pt_emit.c
AgeCommit message (Collapse)Author
2010-08-25draw: Remove UNDEFINED_VERTEX_ID checks in emit pathes.Chia-I Wu
UNDEFINED_VERTEX_ID is used by draw_pipe_vbuf to decide whether a vertex has been emitted or not. The non-pipeline pathes do not use it (they tell the frontend the max vertex count when prepare() is called).
2010-08-16draw: No need to make max_vertices even.Chia-I Wu
Triangle strip alternates the front/back orientation of its triangles. max_vertices was made even so that varray never splitted a triangle strip at the wrong positions. It did not work with triangle strips with adjacencies. And it is no longer relevant with vsplit.
2010-08-03draw: added a commentBrian Paul
2010-06-15draw wipKeith Whitwell
2010-06-08draw: Remove unnecessary headers.Vinson Lee
2010-06-08gallium: a lot more complete implementation of stream outputZack Rusin
interface wise we have everything needed by d3d10 and gl transform feedback. the draw module misses implementation of some corner cases (e.g. when stream output wants different number of components per output than normal rendering paths)
2010-06-08gallium: basic and initial implementation of the stream output interfaceZack Rusin
aka transform feedback
2010-05-05gallium: rename draw() to draw_elements() in vbuf codeBrian Paul
Now we have draw_elements() and draw_arrays() to be consistent with the pipe_context drawing functions.
2010-04-26draw: Pass-through pipe_buffer::max_index to translate.José Fonseca
max_index must be observed to prevent crashes due to bad index data. I've been using this patch for some time without regressions. Some places, where we use internal vertex buffer, it is not entirely clear what max_index should be, so passing just ~0 to avoid regressions for now.
2010-03-26draw: Use translate function instead of switch casesJakob Bornecrantz
2010-03-01draw: Rename pipe formats.José Fonseca
2009-12-30Add lame support for instanceID to draw module.Michal Krol
It's all screaming for integer support -- fake it with float for now.
2009-12-29Implement draw_arrays_instanced() in softpipe.Michal Krol
Modify the translate module to respect instance divisors and accept instance id as a parameter to calculate input vertex offset.
2009-02-17draw: second argument to unmap is max, not countKeith Whitwell
2009-02-17draw: add map/unmap directives for swtnl driver interfaceKeith Whitwell
Previously draw module asked for a pointer into (mapped) vertex data, which it would incrementally fill and emit draw commands against. This was hard for the drivers to deal with, especially in the case where a draw command would force a flush and thus an unmap of the vertex data. With this change, the draw module explicitly maps & then unmaps vertex data prior to emitting draw commands.
2008-12-10gallium: change 65535 to UNDEFINED_VERTEX_IDAlan Hourihane
2008-12-10gallium: more vertex count checksAlan Hourihane
2008-12-10gallium: temporary check for > 65535 verticesAlan Hourihane
2008-10-06make draw's vertex_info struct smaller/quicker to compare with memcmp()Keith Whitwell
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul
Also, rename p_tile.[ch] to u_tile.[ch]
2008-06-18gallium: additional fixes to ensure even number of vertices per bufferBrian Paul
2008-06-04draw: respect driver's max vertex buffer sizeKeith Whitwell
2008-05-27draw: add disabled debug codeKeith Whitwell
2008-05-26draw: defensively flush pipeline backend when setting primitiveKeith Whitwell
2008-05-26draw: defensively reset render primitive some moreKeith Whitwell
2008-05-26draw: defensively reset render primitive, which can get clobbered by clippingKeith Whitwell
2008-05-26draw: add missing breakKeith Whitwell
2008-05-19Merge commit 'origin/gallium-0.1' into gallium-vertex-linearZack Rusin
2008-05-12draw: mimize cost of translate key compares, use cache universallyKeith Whitwell
2008-05-09draw: Fix number of vertices allocated in draw_pt_emit().Michel Dänzer
2008-05-09draw: mimize cost of translate key compares, use cache universallyKeith Whitwell
2008-05-08Merge branch 'gallium-0.1' into gallium-vertex-linearKeith Whitwell
2008-05-08draw: only fill in / compare the part of the translate key we're using.Keith Whitwell
It's quite a big struct & we examine it a lot (too much). Reduce the impact of this by just looking at the active part where possible.
2008-05-08silence debugging outputZack Rusin
2008-05-08implement linear emition and fetching and plug it in the varray pathsZack Rusin
2008-04-29gallium: init hw_key with memset() to silence valgrind warningsBrian Paul
We shouldn't be hashing with keys that have uninitialized memory.
2008-04-23Add translate cache to fetch_emit stage and add out of memoryZack Rusin
checks to code creating the cache.
2008-04-23Create a sharable translate_cache and use it.Zack Rusin
2008-04-23fix the simple hash finding function and use itZack Rusin
2008-04-22Cache translate's structs for emits and fetches.Zack Rusin
Results in a fair speed improvement.
2008-04-18draw: remove draw_vf code, use translate insteadKeith Whitwell
2008-04-18translate: add sse version based on old draw_vf_sse.cKeith Whitwell
2008-04-18draw: split off all the extra functionality in the vertex shaderKeith Whitwell
This will at least allow us to make the initial gains to get decent vertex performance much more quickly & with higher confidence of getting it right. At some later point can look again at code-generating all the fetch/cliptest/viewport extras in the same block as the vertex shader. For now, just need to get some decent baseline performance.
2008-04-17draw: move hw vertex emit to a new moduleKeith Whitwell