summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2010-01-15llvmpipe: added comment about lookup-tables vs. computationBrian Paul
2010-01-15llvmpipe: change 'in' to boolean, add commentsBrian Paul
2010-01-15llvmpipe: generate two shader varients, one omits triangle in/out testingBrian Paul
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.
2010-01-15llvmpipe: asst code changes in lp_state_fs.cBrian Paul
2010-01-15Merge branch 'gallium-noconstbuf'Roland Scheidegger
Conflicts: src/gallium/drivers/softpipe/sp_draw_arrays.c src/mesa/state_tracker/st_draw_feedback.c
2010-01-15llvmpipe: put labels on some value refsBrian Paul
2010-01-15llvmpipe: add extra flags to DEFINES, no CFLAGSBrian Paul
Doesn't make any real difference but -D flags are put into DEFINES everywhere else.
2010-01-14llvmpipe: implement scissor testingBrian Paul
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.
2010-01-14llvmpipe: minor comment updateBrian Paul
2010-01-14llvmpipe: clean-up, fixing up frame dump/debug codeBrian Paul
2010-01-14llvmpipe: remove redundant code in llvmpipe_set_blend_color()Brian Paul
2010-01-14llvmpipe: assorted clean-ups in texture codeBrian Paul
2010-01-13llvmpipe: use one loop in lp_rast_clear_zstencil()Brian Paul
This is just a tiny bit faster.
2010-01-13llvmpipe: optimize lp_rast_clear_color() for non-gray colorsBrian Paul
This makes a big difference in progs that clear to a non-gray color. Some demos are 30-50% faster.
2010-01-13llvmpipe: minor assorted clean-upsBrian Paul
2010-01-13llvmpipe: check render targets before other texturesBrian Paul
2010-01-13llvmpipe: also check render target textures in lp_setup_is_texture_referenced()Brian Paul
2010-01-13llvmpipe: indentation fixesBrian Paul
2010-01-13llvmpipe: re-get scene pointer after flushingBrian Paul
2010-01-13llvmpipe: check for texture usage in all scenesBrian Paul
2010-01-13llvmpipe: add scene texture referencing codeBrian Paul
2010-01-13llvmpipe: added scene functions for texture reference countingBrian Paul
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.
2010-01-13llvmpipe: commentsBrian Paul
2010-01-13llvmpipe: commentsBrian Paul
2010-01-13llvmpipe: added llvmpipe_texture_const()Brian Paul
2010-01-13llvmpipe: minor comment upgradesBrian Paul
2010-01-13llvmpipe: Opaque shader implies complete colormask too.José Fonseca
2010-01-13llvmpipe: Reset the bin when shading a whole tile with an opaque shader.José Fonseca
2010-01-13llvmpipe: add bin debuggerKeith Whitwell
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.
2010-01-13llvmpipe: implement lp_rast_load_zstencilKeith Whitwell
Load zbuffer contents for binned scenes that don't start with a clear and which have a bound zbuffer.
2010-01-13llvmpipe: added debug warningBrian Paul
2010-01-13llvmpipe: comments and LLVMValueRef namingBrian Paul
2010-01-13llvmpipe: tweak subpixel_snap() arithmeticBrian Paul
This adjustment fixes some rasterization differences between llvmpipe and softpipe (and other renderers).
2010-01-13llvmpipe: improve empty-bin test furtherKeith Whitwell
Remove unused param, add comments. Thanks to Brian for review.
2010-01-13llvmpipe: improve empty-bin testKeith Whitwell
We emit at most two clear packets (color and z respectively).
2010-01-13llvmpipe: quick hack to short-circuit empty binsKeith Whitwell
2010-01-12llvmpipe: fix indentation, comment typoBrian Paul
2010-01-12llvmpipe: debug checks: make sure scene is empty at key pointsBrian Paul
2010-01-12llvmpipe: assert that we're putting data into a valid binBrian Paul
2010-01-12llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)Brian Paul
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.
2010-01-12llvmpipe: added lp_scene_is_empty()Brian Paul
2010-01-12llvmpipe: silence unused var warningsBrian Paul
2010-01-12llvmpipe: remove unused #defineBrian Paul
2010-01-12gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency.José Fonseca
2010-01-12gallium: Simplify PIPE_ALIGN_VAR.José Fonseca
gcc allows pre-fix variable attributes. Suggested by Ian Romanick.
2010-01-12gallium: Generalize the alignment macros to other compilers and any alignment.José Fonseca
2010-01-11llvmpipe: disable the all in/out test code for nowBrian Paul
It's still faster not to try to special case the "all pixels are known to be inside the triangle" case.
2010-01-11llvmpipe: move, update commentsBrian Paul
2010-01-11llvmpipe: refactor generate_fragment() codeBrian Paul
This will make it easier to generate multiple versions of the fragment code per variant.
2010-01-11llvmpipe: do the all-in test on the scalar c0 instead of vector c0Brian Paul
This still isn't faster, but committing it for posterity.