summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: generate two shader varients, one omits triangle in/out testingBrian Paul2010-01-158-52/+142
| | | | | | | When we know that a 4x4 pixel block is entirely inside of a triangle use the jit function which omits the in/out test code. Results in a few percent speedup in many tests.
* llvmpipe: asst code changes in lp_state_fs.cBrian Paul2010-01-151-27/+32
|
* llvmpipe: put labels on some value refsBrian Paul2010-01-151-1/+5
|
* llvmpipe: add extra flags to DEFINES, no CFLAGSBrian Paul2010-01-151-1/+1
| | | | | Doesn't make any real difference but -D flags are put into DEFINES everywhere else.
* progs/trival: updated tri-scissor-tri.c testBrian Paul2010-01-141-11/+47
| | | | | The scissor left/right/bottom/top bounds can be moved by pressing the l/r/b/t and L/R/B/T keys.
* llvmpipe: implement scissor testingBrian Paul2010-01-148-7/+134
| | | | | | | | | | | The scissor test is implemented as another per-quad operation in the JIT code. The four scissor box params are passed via the lp_jit_context. In the JIT code we compare the quad's x/y coords against the clip bounds and create a new in/out mask that's AND'd with the main quad mask. Note: we should also do scissor testing in the triangle setup code to improve efficiency. That's not done yet.
* llvmpipe: minor comment updateBrian Paul2010-01-141-1/+1
|
* llvmpipe: clean-up, fixing up frame dump/debug codeBrian Paul2010-01-141-7/+12
|
* gallium/util: added debug_dump_texture() and ppm outputBrian Paul2010-01-142-0/+79
| | | | Now we can get dump debug images on Linux too.
* llvmpipe: remove redundant code in llvmpipe_set_blend_color()Brian Paul2010-01-141-3/+0
|
* llvmpipe: assorted clean-ups in texture codeBrian Paul2010-01-143-33/+29
|
* llvmpipe: use one loop in lp_rast_clear_zstencil()Brian Paul2010-01-131-4/+3
| | | | This is just a tiny bit faster.
* llvmpipe: optimize lp_rast_clear_color() for non-gray colorsBrian Paul2010-01-131-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-upsBrian Paul2010-01-131-10/+12
|
* llvmpipe: check render targets before other texturesBrian Paul2010-01-131-6/+9
|
* llvmpipe: also check render target textures in lp_setup_is_texture_referenced()Brian Paul2010-01-131-0/+9
|
* llvmpipe: indentation fixesBrian Paul2010-01-131-4/+4
|
* llvmpipe: re-get scene pointer after flushingBrian Paul2010-01-131-0/+3
|
* llvmpipe: check for texture usage in all scenesBrian Paul2010-01-132-10/+16
|
* llvmpipe: add scene texture referencing codeBrian Paul2010-01-132-9/+22
|
* llvmpipe: added scene functions for texture reference countingBrian Paul2010-01-132-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: commentsBrian Paul2010-01-131-0/+4
|
* llvmpipe: commentsBrian Paul2010-01-131-3/+5
|
* llvmpipe: added llvmpipe_texture_const()Brian Paul2010-01-131-0/+7
|
* llvmpipe: minor comment upgradesBrian Paul2010-01-131-2/+2
|
* llvmpipe: Opaque shader implies complete colormask too.José Fonseca2010-01-131-0/+2
|
* llvmpipe: Reset the bin when shading a whole tile with an opaque shader.José Fonseca2010-01-137-16/+48
|
* llvmpipe: add bin debuggerKeith Whitwell2010-01-131-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_zstencilKeith Whitwell2010-01-131-2/+34
| | | | | Load zbuffer contents for binned scenes that don't start with a clear and which have a bound zbuffer.
* llvmpipe: added debug warningBrian Paul2010-01-131-0/+1
|
* llvmpipe: comments and LLVMValueRef namingBrian Paul2010-01-131-0/+7
|
* llvmpipe: tweak subpixel_snap() arithmeticBrian Paul2010-01-131-1/+1
| | | | | This adjustment fixes some rasterization differences between llvmpipe and softpipe (and other renderers).
* llvmpipe: improve empty-bin test furtherKeith Whitwell2010-01-131-3/+13
| | | | Remove unused param, add comments. Thanks to Brian for review.
* llvmpipe: improve empty-bin testKeith Whitwell2010-01-131-1/+1
| | | | We emit at most two clear packets (color and z respectively).
* llvmpipe: quick hack to short-circuit empty binsKeith Whitwell2010-01-132-2/+25
|
* llvmpipe: fix indentation, comment typoBrian Paul2010-01-121-4/+4
|
* llvmpipe: debug checks: make sure scene is empty at key pointsBrian Paul2010-01-121-0/+4
|
* llvmpipe: assert that we're putting data into a valid binBrian Paul2010-01-121-0/+3
|
* llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)Brian Paul2010-01-121-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 Paul2010-01-122-0/+24
|
* llvmpipe: silence unused var warningsBrian Paul2010-01-121-3/+5
|
* llvmpipe: remove unused #defineBrian Paul2010-01-121-3/+0
|
* llvmpipe: disable the all in/out test code for nowBrian Paul2010-01-111-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 commentsBrian Paul2010-01-111-17/+10
|
* llvmpipe: refactor generate_fragment() codeBrian Paul2010-01-111-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 c0Brian Paul2010-01-111-24/+21
| | | | This still isn't faster, but committing it for posterity.
* llvmpipe: force constant interpolation of flatshade colorsKeith Whitwell2010-01-115-5/+21
| | | | Nice speedup for gears.
* st/mesa: early exit on error pathKeith Whitwell2010-01-111-0/+1
| | | | | Can't rely on asserts having any effect on flowcontrol for release builds.
* llvmpipe: remove opencoded constantKeith Whitwell2010-01-111-4/+4
|
* llvmpipe: remove scissor cliprect derived stateKeith Whitwell2010-01-112-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.