summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_pt_fetch.c
AgeCommit message (Collapse)Author
2010-06-25draw: initialize vertex headerZack Rusin
2010-06-15draw: Remove unnecessary headers.Vinson Lee
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-01-22Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-21draw: Remove unnecessary headers.Vinson Lee
2010-01-05gallium: Handle InstanceID as a true 32-bit uint.Michal Krol
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-30Implement instanced indexed draw.Michal Krol
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-12-14gallium: more work for edgeflags changesRoland Scheidegger
fixes, cleanups, etc. not working yet
2009-12-09gallium: first steps to treat edgeflags as regular vertex elementKeith Whitwell
The idea here is to eliminate the set_edgeflags() call in pipe_context by treating edgeflags as a regular vertex element. Edgeflags provoke special treatment in hardware, which means we need to label them in some way, in this case we'll be passing them through the vertex shader and labelling the vertex shader output with a new TGSI semantic (TGSI_SEMANTIC_EDGEFLAG).
2009-05-05gallium/draw: cope with unused vertex_elementsKeith Whitwell
2009-04-10draw: Fix vertex_header initialisation.Michal Krol
2009-01-27gallium: standardize on stride instead of pitch in the interfaceZack Rusin
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-10Revert "draw: no need to rearrange most primitives in vcache for ↵Keith Whitwell
flatshade-first" This reverts commit ad44e68706877ab06929747e7a82c718c1c27e02.
2008-06-10draw: no need to rearrange most primitives in vcache for flatshade-firstKeith Whitwell
The driver/pipeline will still be applying flatshade-first state to the triangles emitted from vcache, so there's no need to rotate the vertices of most primitives. The only exception is POLYGON, as explained in the code.
2008-05-12draw: mimize cost of translate key compares, use cache universallyKeith Whitwell
2008-05-09draw: fix translate double-free, minor cleanupsKeith 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-08implement linear emition and fetching and plug it in the varray pathsZack Rusin
2008-04-24draw: default edgeflag should be oneKeith Whitwell
2008-04-24draw: handle edgeflags and reset-line-stipple againKeith Whitwell
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-23gallium: fix broken hashing for vertex translationBrian Paul
It seems we get hash collisions fairly easily and the code as it was didn't deal with that properly. I think we need a simpler hashing interface...
2008-04-22Cache translate's structs for emits and fetches.Zack Rusin
Results in a fair speed improvement.
2008-04-21draw: squash a couple of memory leaksKeith Whitwell
2008-04-19draw: move incoming vertex state into draw->ptKeith Whitwell
This state is effectively private to the vertex processing part of the draw module.
2008-04-19draw: always emit header in draw_pt_fetch.cKeith 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.