summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_setup.c
AgeCommit message (Collapse)Author
2011-03-11gallium: remove flags from the flush functionMarek Olšák
The drivers have been changed so that they behave as if all of the flags were set. This is already implicit in most hardware drivers and required for multiple contexts. Some state trackers were also abusing the PIPE_FLUSH_RENDER_CACHE flag to decide whether flush_frontbuffer should be called. New flag ST_FLUSH_FRONT has been added to st_api.h as a replacement.
2011-03-11gallium: kill is_resource_referencedMarek Olšák
Only st/xorg used it and even incorrectly with regards to pipelined transfers.
2011-01-18llvmpipe: make sure binning is active when we begin/end a queryBrian Paul
This fixes a potential failure when a begin/end_query is the first thing to happen after flushing the scene. NOTE: This is a candidate for the 7.10 and 7.9 branches.
2010-12-09llvmpipe: Plug fence leaks.José Fonseca
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-11-30llvmpipe: shortcircuit some calls to set_scene_stateKeith Whitwell
2010-11-30llvmpipe: remove misleading debug stringKeith Whitwell
2010-10-17Merge remote branch 'origin/master' into lp-setup-llvmKeith Whitwell
Conflicts: src/gallium/drivers/llvmpipe/lp_setup_coef.c src/gallium/drivers/llvmpipe/lp_setup_coef.h src/gallium/drivers/llvmpipe/lp_setup_coef_intrin.c src/gallium/drivers/llvmpipe/lp_setup_point.c src/gallium/drivers/llvmpipe/lp_setup_tri.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.h
2010-10-08llvmpipe: fail gracefully on oom in scene creationKeith Whitwell
2010-10-06llvmpipe: Cleanup depth-stencil clears.José Fonseca
Only cosmetic changes. No actual practical difference.
2010-09-29llvmpipe: Decouple sampler view and sampler state updates.José Fonseca
Fixes glean pbo crash. It would be possible to avoid crashing without decoupling, but given that state trackers give no guarantee that number of views is consistent, that would likely cause too many state updates (or miss some).
2010-09-24llvmpipe: make texture border_color dynamic stateBrian Paul
2010-09-24llvmpipe: make min/max lod and lod bias dynamic stateBrian Paul
Before, changing any of these sampler values triggered generation of new JIT code. Added a new flag for the special case of min_lod == max_lod which is hit during auto mipmap generation.
2010-09-20llvmpipe: rename sprite field, add sprite_coord_originBrian Paul
2010-09-18llvmpipe: use llvm for attribute interpolant calculationKeith Whitwell
Basically no change relative to hard-coded version, but this will be useful for other changes later.
2010-09-16llvmpipe: add LP_PERF flag to disable various aspects of rasterizationKeith Whitwell
Allows disabling various operations (mainly texture-related, but will grow) to try & identify bottlenecks. Unlike LP_DEBUG, this is active even in release builds - which is necessary for performance investigation.
2010-09-11llvmpipe: move some debug to DEBUG_SCENEKeith Whitwell
2010-09-07llvmpipe: rasterization debugging helpersKeith Whitwell
2010-09-07llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell
Also, move some state from rasterizer struct to the scene.
2010-09-07llvmpipe: rearrange queriesKeith Whitwell
2010-09-07llvmpipe: enforce fixed memory limit on scenesKeith Whitwell
2010-09-07llvmpipe: clean up deferred zstencil clearsKeith Whitwell
2010-09-07llvmpipe: rework fences and queriesKeith Whitwell
2010-08-27llvmpipe: point sprites rasterizationHui Qi Tay
Point sprites now done in the rasterizer setup code instead of going through the draw module.
2010-08-27llvmpipe: native point rasterizationHui Qi Tay
Conflicts: src/gallium/drivers/llvmpipe/lp_setup_context.h src/gallium/drivers/llvmpipe/lp_setup_line.c src/gallium/drivers/llvmpipe/lp_setup_tri.c
2010-08-27llvmpipe: native rasterization for linesHui Qi Tay
Rasterize lines directly by treating them as 4-sided polygons. Still need to check the exact pixel rasteration.
2010-08-25llvmpipe: fix bad patch applicationKeith Whitwell
2010-08-25llvmpipe: track drawing region as a single u_rectKeith Whitwell
2010-08-25llvmpipe: move some fence functions into lp_screen.cKeith Whitwell
2010-08-25llvmpipe: fence debugging, add llvmpipe_finishKeith Whitwell
2010-07-16llvmpipe: use single swizzled tileKeith Whitwell
Use a single swizzled tile per colorbuf (and per thread) to avoid accumulating large amounts of cached swizzled data. Now that the SSE3 code has been merged to master, the performance delta of this change is minimal, the main benefit is reduced memory usage due to no longer keeping swizzled copies of render targets. It's clear from the performance of the in-place version of this code that there is still quite a bit of time being spent swizzling & unswizzling, but it's not clear exactly how to reduce that.
2010-07-13llvmpipe: move rasterizer to screen instead of setup contextRoland Scheidegger
there's no point of having this per context, so move to screen (and protect with a mutex).
2010-07-13llvmpipe: eliminate the set_state rasterizer commandKeith Whitwell
Just put a pointer to the state in the tri->inputs struct. Remove some complex logic for eliminating unused statechanges in bins at the expense of a slightly larger triangle struct.
2010-07-13llvmpipe: pass mask into fragment shaderKeith Whitwell
Move this code back out to C for now, will generate separately. Shader now takes a mask parameter instead of C0/C1/C2/etc. Shader does not currently use that parameter and rasterizes whole pixel stamps always.
2010-07-13llvmpipe: move fences from per-bin to per-threadKeith Whitwell
Rather than inserting an lp_rast_fence command at the end of each bin, have each rasterizer thread call this function directly once it has run out of work to do on a particular scene. This results in fewer calls to the mutex & related functions, but more importantly makes it easier to recognize empty bins.
2010-07-06llvmpipe: disconnect vertex texture sampling from the setupZack Rusin
it was wrong to put this in the fs paths, but it was easier to just stuff it along the fragment texture sampling paths. the patch disconnects vertex texture sampling and just maps the textures before the draw itself and unmaps them after.
2010-07-06draw: implement vertex texture sampling using llvmZack Rusin
2010-06-30llvmpipe: use dummy tile when out of memoryBrian Paul
2010-06-30llvmpipe: Add a new scene state to describe scenes which only have state ↵José Fonseca
changes. It's a rare condition, but it may happen if all primitives are clipped/culled. For now we just do a no-op rasterization, but we could bypass it.
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-06-09llvmpipe: fix copy & paste bug in clear logicRoland Scheidegger
fixes bug 28450.
2010-06-03llvmpipe: Fix uninitialized variable on non-debug builds.Vinson Lee
2010-06-03Merge branch 'gallium-newclear'Roland Scheidegger
Conflicts: src/gallium/state_trackers/python/p_context.i
2010-05-30llvmpipe: Pass the fs variant to the rasterizer.José Fonseca
2010-05-29llvmpipe: adapt to clear interface changesRoland Scheidegger
with some newfangled code, should support separate depth/stencil clears. Needs some testing.
2010-05-13llvmpipe: silence casting warningsBrian Paul
2010-05-08llvmpipe: Remove unnecessary header.Vinson Lee
2010-05-06llvmpipe: implement occlusion queryQicheng Christopher Li
OpenGL occlusion queries work now. The Mesa demos, glean test and piglit tests all pass. A few enhancements are possible in the future. -Brian Signed-off-by: Brian Paul <brianp@vmware.com>
2010-05-04llvmpipe: Remove unnecessary headers.Vinson Lee
2010-05-04llvmpipe: do some null pointer checkingBrian Paul