summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_setup_vbuf.c
AgeCommit message (Collapse)Author
2010-11-30gallivm/llvmpipe: squash merge of the llvm-context branchBrian Paul
This branch defines a gallivm_state structure which contains the LLVMBuilderRef, LLVMContextRef, etc. All data structures built with this object can be periodically freed during a "garbage collection" operation. The gallivm_state object has to be passed to most of the builder functions where LLVMBuilderRef used to be used. Conflicts: src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c src/gallium/drivers/llvmpipe/lp_state_setup.c
2010-10-08llvmpipe: fail gracefully on oom in scene creationKeith Whitwell
2010-09-07llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell
Also, move some state from rasterizer struct to the scene.
2010-06-29llvmpipe: restore call to lp_setup_update_state()Brian Paul
This undoes part of commit 8be645d53a0d5d0ca50e4e9597043225e2231b6d and fixes fd.o bug 28822 as well as other regressions. The 'draw' module may issue additional state-change commands while we're inside the draw_arrays/elements() call so it's important to check for updated state at this point.
2010-06-28llvmpipe: Ensure outdated framebuffer state is not reused in ↵José Fonseca
lp_setup_bind_framebuffer(). We were starting a scene whenever lp_setup_get_vertex_info() was called by the draw module. So when when all primitives were culled/clipped, not only did we create a new scene for nothing, but we end up using the old scene with the old framebuffer state instead of a new one. Fix consists in: - don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no longer necessary - always setting the scene state before binning a command -- query commands were bypassing it - assert no old scene is reused in lp_setup_bind_framebuffer()
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-05-05llvmpipe: update driver's provoking vertex codeBrian Paul
Note that the lp_setup_vbuf.c code is very, very similar to the corresponding code in softpipe. It could probably be shared.
2010-04-28llvmpipe: free vertex buffer memory in lp_setup_vbuf_destroy()Brian Paul
2010-04-16llvmpipe: make sure state is up to date before getting vertex layout/infoBrian Paul
Some of the draw pipeline stages emit additional vertex attributes. Without this change, we were getting stale vertex info that didn't include the extra attributes.
2010-03-13llvmpipe: setup_context -> lp_setup_contextJosé Fonseca
Otherwise IDEs and debuggers have trouble distinguishing from softpipe's setup_context.
2010-03-09llvmpipe: quads never provoke the first vertexMarek Olšák
2010-02-07llvmpipe: Remove unnecessary headers.Vinson Lee
2010-01-06llvmpipe: rename some functionsKeith Whitwell
2010-01-06llvmpipe: merge setup and draw vbuf submodulesKeith Whitwell
The setup tiling engine is now plugged directly into the draw module as a rendering backend. Removed a couple of layering violations such that the setup code no longer reaches out into the surrounding llvmpipe state or context.