Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | llvmpipe: clean-up, fixing up frame dump/debug code | Brian Paul | 2010-01-14 | 1 | -7/+12 |
| | |||||
* | gallium/util: added debug_dump_texture() and ppm output | Brian Paul | 2010-01-14 | 2 | -0/+79 |
| | | | | Now we can get dump debug images on Linux too. | ||||
* | llvmpipe: remove redundant code in llvmpipe_set_blend_color() | Brian Paul | 2010-01-14 | 1 | -3/+0 |
| | |||||
* | llvmpipe: assorted clean-ups in texture code | Brian Paul | 2010-01-14 | 3 | -33/+29 |
| | |||||
* | llvmpipe: use one loop in lp_rast_clear_zstencil() | Brian Paul | 2010-01-13 | 1 | -4/+3 |
| | | | | This is just a tiny bit faster. | ||||
* | llvmpipe: optimize lp_rast_clear_color() for non-gray colors | Brian Paul | 2010-01-13 | 1 | -6/+22 |
| | | | | | This makes a big difference in progs that clear to a non-gray color. Some demos are 30-50% faster. | ||||
* | llvmpipe: minor assorted clean-ups | Brian Paul | 2010-01-13 | 1 | -10/+12 |
| | |||||
* | llvmpipe: check render targets before other textures | Brian Paul | 2010-01-13 | 1 | -6/+9 |
| | |||||
* | llvmpipe: also check render target textures in lp_setup_is_texture_referenced() | Brian Paul | 2010-01-13 | 1 | -0/+9 |
| | |||||
* | llvmpipe: indentation fixes | Brian Paul | 2010-01-13 | 1 | -4/+4 |
| | |||||
* | llvmpipe: re-get scene pointer after flushing | Brian Paul | 2010-01-13 | 1 | -0/+3 |
| | |||||
* | llvmpipe: check for texture usage in all scenes | Brian Paul | 2010-01-13 | 2 | -10/+16 |
| | |||||
* | llvmpipe: add scene texture referencing code | Brian Paul | 2010-01-13 | 2 | -9/+22 |
| | |||||
* | llvmpipe: added scene functions for texture reference counting | Brian Paul | 2010-01-13 | 2 | -0/+64 |
| | | | | | | When a texture is used in the scene we add it to a list of texture references. The lp_scene_is_textured_referenced() function tells us if a texture is referenced by the scene. | ||||
* | llvmpipe: comments | Brian Paul | 2010-01-13 | 1 | -0/+4 |
| | |||||
* | llvmpipe: comments | Brian Paul | 2010-01-13 | 1 | -3/+5 |
| | |||||
* | llvmpipe: added llvmpipe_texture_const() | Brian Paul | 2010-01-13 | 1 | -0/+7 |
| | |||||
* | llvmpipe: minor comment upgrades | Brian Paul | 2010-01-13 | 1 | -2/+2 |
| | |||||
* | llvmpipe: Opaque shader implies complete colormask too. | José Fonseca | 2010-01-13 | 1 | -0/+2 |
| | |||||
* | llvmpipe: Reset the bin when shading a whole tile with an opaque shader. | José Fonseca | 2010-01-13 | 7 | -16/+48 |
| | |||||
* | llvmpipe: add bin debugger | Keith Whitwell | 2010-01-13 | 1 | -5/+52 |
| | | | | | | | Adjust definition of empty_bin according to what's actually in empty bins. We often have a state packet before/after load commands. Still need to do something about the fence packets. | ||||
* | llvmpipe: implement lp_rast_load_zstencil | Keith Whitwell | 2010-01-13 | 1 | -2/+34 |
| | | | | | Load zbuffer contents for binned scenes that don't start with a clear and which have a bound zbuffer. | ||||
* | llvmpipe: added debug warning | Brian Paul | 2010-01-13 | 1 | -0/+1 |
| | |||||
* | llvmpipe: comments and LLVMValueRef naming | Brian Paul | 2010-01-13 | 1 | -0/+7 |
| | |||||
* | llvmpipe: tweak subpixel_snap() arithmetic | Brian Paul | 2010-01-13 | 1 | -1/+1 |
| | | | | | This adjustment fixes some rasterization differences between llvmpipe and softpipe (and other renderers). | ||||
* | llvmpipe: improve empty-bin test further | Keith Whitwell | 2010-01-13 | 1 | -3/+13 |
| | | | | Remove unused param, add comments. Thanks to Brian for review. | ||||
* | llvmpipe: improve empty-bin test | Keith Whitwell | 2010-01-13 | 1 | -1/+1 |
| | | | | We emit at most two clear packets (color and z respectively). | ||||
* | llvmpipe: quick hack to short-circuit empty bins | Keith Whitwell | 2010-01-13 | 2 | -2/+25 |
| | |||||
* | llvmpipe: fix indentation, comment typo | Brian Paul | 2010-01-12 | 1 | -4/+4 |
| | |||||
* | llvmpipe: debug checks: make sure scene is empty at key points | Brian Paul | 2010-01-12 | 1 | -0/+4 |
| | |||||
* | llvmpipe: assert that we're putting data into a valid bin | Brian Paul | 2010-01-12 | 1 | -0/+3 |
| | |||||
* | llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles) | Brian Paul | 2010-01-12 | 1 | -0/+5 |
| | | | | | | | | | | | In some corner cases the right-most / bottom-most vertex can be right on the edge of the framebuffer. Because the maxx, maxy vals are computed with a series of float/int, pixel/tile transformations we can end up with maxx >= scene->x_tiles or maxy >= scene->y_tiles. This leads to putting data into bins that never get processed, or reset. This becomes stale data that can lead to segfaults. Clamping fixes this. | ||||
* | llvmpipe: added lp_scene_is_empty() | Brian Paul | 2010-01-12 | 2 | -0/+24 |
| | |||||
* | llvmpipe: silence unused var warnings | Brian Paul | 2010-01-12 | 1 | -3/+5 |
| | |||||
* | llvmpipe: remove unused #define | Brian Paul | 2010-01-12 | 1 | -3/+0 |
| | |||||
* | llvmpipe: disable the all in/out test code for now | Brian Paul | 2010-01-11 | 1 | -1/+1 |
| | | | | | It's still faster not to try to special case the "all pixels are known to be inside the triangle" case. | ||||
* | llvmpipe: move, update comments | Brian Paul | 2010-01-11 | 1 | -17/+10 |
| | |||||
* | llvmpipe: refactor generate_fragment() code | Brian Paul | 2010-01-11 | 1 | -62/+76 |
| | | | | | This will make it easier to generate multiple versions of the fragment code per variant. | ||||
* | llvmpipe: do the all-in test on the scalar c0 instead of vector c0 | Brian Paul | 2010-01-11 | 1 | -24/+21 |
| | | | | This still isn't faster, but committing it for posterity. | ||||
* | llvmpipe: force constant interpolation of flatshade colors | Keith Whitwell | 2010-01-11 | 5 | -5/+21 |
| | | | | Nice speedup for gears. | ||||
* | st/mesa: early exit on error path | Keith Whitwell | 2010-01-11 | 1 | -0/+1 |
| | | | | | Can't rely on asserts having any effect on flowcontrol for release builds. | ||||
* | llvmpipe: remove opencoded constant | Keith Whitwell | 2010-01-11 | 1 | -4/+4 |
| | |||||
* | llvmpipe: remove scissor cliprect derived state | Keith Whitwell | 2010-01-11 | 2 | -41/+0 |
| | | | | | | | Was previously calculating the intersection of the scissor rectangle and the framebuffer dimensions. Rendering is already restricted to framebuffer dimensions by other means, so scissor testing (when implemented) can just use the scissor state directly. | ||||
* | llvmpipe: initial mrt support | Keith Whitwell | 2010-01-10 | 7 | -143/+225 |
| | | | | | Non-mrt apps work, and the code looks correct, but not many mrt test apps handy atm... | ||||
* | llvmpipe: optimize case when all four pixels are inside the triangle | Brian Paul | 2010-01-08 | 1 | -29/+77 |
| | | | | | | | | | | When the incoming c0,c1,c2 values are equal to INT_MIN it means that all pixels are inside the triangle. Thus we can skip the detailed pixel inside/outside triangle tests. Use the new lp_build_if()/endif() functions to generate the branching code. The code is disabled ATM however because it's actually a little slower than the original code. A little more tuning may fix that though... | ||||
* | llvmpipe: fix more if/else/endif design bugs | Brian Paul | 2010-01-08 | 1 | -7/+9 |
| | |||||
* | llvmpipe: move some fields to the private lp_build_flow_if struct | Brian Paul | 2010-01-08 | 2 | -31/+32 |
| | |||||
* | llvmpipe: free the phi array | Brian Paul | 2010-01-08 | 1 | -0/+2 |
| | |||||
* | llvmpipe: checkpoint if/else/endif contructs work | Brian Paul | 2010-01-08 | 2 | -129/+96 |
| | | | | | The LLVM IR looks correct now. Basic blocks are where they're supposed to be and the Phi functions have the right (var,block) information. | ||||
* | Merge remote branch 'origin/master' into lp-binning | José Fonseca | 2010-01-08 | 1619 | -74826/+144419 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/util/u_surface.c src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/llvmpipe/SConscript src/gallium/drivers/llvmpipe/lp_bld_arit.c src/gallium/drivers/llvmpipe/lp_bld_flow.c src/gallium/drivers/llvmpipe/lp_bld_interp.c src/gallium/drivers/llvmpipe/lp_clear.c src/gallium/drivers/llvmpipe/lp_context.c src/gallium/drivers/llvmpipe/lp_context.h src/gallium/drivers/llvmpipe/lp_draw_arrays.c src/gallium/drivers/llvmpipe/lp_jit.c src/gallium/drivers/llvmpipe/lp_jit.h src/gallium/drivers/llvmpipe/lp_prim_vbuf.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_setup_point.c src/gallium/drivers/llvmpipe/lp_state.h src/gallium/drivers/llvmpipe/lp_state_blend.c src/gallium/drivers/llvmpipe/lp_state_derived.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/gallium/drivers/llvmpipe/lp_state_sampler.c src/gallium/drivers/llvmpipe/lp_state_surface.c src/gallium/drivers/llvmpipe/lp_tex_cache.c src/gallium/drivers/llvmpipe/lp_tex_cache.h src/gallium/drivers/llvmpipe/lp_tex_sample.h src/gallium/drivers/llvmpipe/lp_tile_cache.c |