aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: implement scissor test in triangle setupBrian Paul2010-01-155-3/+15
|
* llvmpipe: remove lp_rast_triangle::min/max fieldsBrian Paul2010-01-152-16/+10
| | | | These values aren't needed outside the do_triangle_ccw() function.
* llvmpipe: skip 4x4 in/out test codeBrian Paul2010-01-151-14/+4
| | | | | It's a litte faster to just do the in/out testing in the shader jit code.
* llvmpipe: added comment about lookup-tables vs. computationBrian Paul2010-01-151-0/+3
|
* llvmpipe: change 'in' to boolean, add commentsBrian Paul2010-01-151-4/+4
|
* 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.