Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-02-24 | llvmpipe: more lp_rasterizer_task parameter passing | Brian Paul | |
2010-02-24 | llvmpipe: pass fewer parameters to rasterization functions | Brian Paul | |
2010-02-24 | llvmpipe: added some assertions | Brian Paul | |
2010-02-17 | llvmpipe: use ffs technique for full tiles also | Keith Whitwell | |
Need to compute two masks here for full and partial 16x16 blocks. Gives a further good improvement for isosurf particularly: isosurf 97 -> 108 gears 597 -> 611 | |||
2010-02-17 | llvmpipe: rework do_block_16 to use bitmasks and ffs | Keith Whitwell | |
Some nice speedups: gears: 547 -> 597 isosurf: 83 -> 98 Others like gloss unchanged. Could do further work in this direction. | |||
2010-01-21 | llvmpipe: use some local vars to index step arrays | Brian Paul | |
Saves a few more cycles. | |||
2010-01-21 | llvmpipe: added simple perf/statistics counting facility | Brian Paul | |
Currently counting number of tris, how many tiles of each size are fully covered, partially covered or empty, etc. Set LP_DEBUG=counters to enable. Results are printed upon context destruction. | |||
2010-01-15 | llvmpipe: skip 4x4 in/out test code | Brian Paul | |
It's a litte faster to just do the in/out testing in the shader jit code. | |||
2010-01-15 | llvmpipe: added comment about lookup-tables vs. computation | Brian Paul | |
2010-01-15 | llvmpipe: generate two shader varients, one omits triangle in/out testing | Brian 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. | |||
2009-12-17 | llvmpipe: replace INT_MIN/2 with INT_MIN | Brian Paul | |
Since changing the in/out test we can just use INT_MIN to be sure the comparison against the step values always passes. | |||
2009-12-17 | llvmpipe: improve the in/out test a little | Brian Paul | |
Instead of: s = c + step m = s > 0 Do: m = step > c (with negated c) | |||
2009-12-16 | llvmpipe: do final the pixel in/out triangle test in the fragment shader | Brian Paul | |
The test to determine which of the pixels in a 2x2 quad is now done in the fragment shader rather than in the calling C code. This is a little faster but there's a few more things to do. Note that the step[] array elements are in a different order now. Rather than being in row-major order for the 4x4 grid, they're in "quad-major" order. The setup of the step arrays is a little more complicated now. So is the course/intermediate tile test code, but some lookup tables help with that. Next steps: - early-cull 2x2 quads which are totally outside the triangle. - skip the in/out test for fully contained quads - make the in/out comparison code tighter/faster. | |||
2009-12-07 | llvmpipe: repartition lp_rasterizer state for threading | Brian Paul | |
Some of the state is per-thread. Put that state in new lp_rasterizer_task struct. | |||
2009-12-04 | llvmpipe: use LP_DBG() macro everywhere | Brian Paul | |
2009-12-01 | llvmpipe: added assertions | Brian Paul | |
And remove unused BLOCKSIZE. | |||
2009-12-01 | llvmpipe: simplify mask computation | Brian Paul | |
Make this a little easier to understand. | |||
2009-12-01 | llvmpipe: replace shifts with multiplies to be clearer | Brian Paul | |
The compiler will still do the multiplies with shifts. It's just a bit easier to follow the logic with multiplies. | |||
2009-12-01 | llvmpipe: make nr_blocks unsigned | Brian Paul | |
2009-12-01 | llvmpipe: comments, reformatting and assertions in tri rast code | Brian Paul | |
2009-10-20 | llvmpipe: move block list into rast struct | Keith Whitwell | |
2009-10-20 | llvmpipe: build list of 4x4 blocks to be shaded | Keith Whitwell | |
2009-10-20 | llvmpipe: recursive rasterization within a tile | Keith Whitwell | |
2009-10-20 | llvmpipe: precalculate some offsets | Keith Whitwell | |
2009-10-19 | llvmpipe: calculate masks in format desired by shader | Keith Whitwell | |
Also remove branches calculating masks for quads. | |||
2009-10-19 | llvmpipe: pre-multiply some constants by fixed_one | Keith Whitwell | |
2009-10-19 | llvmpipe: Reshape the shader input from 8x2 to 4x4. | José Fonseca | |
Incorrect rendering until the interpolation code generation is updated. | |||
2009-10-19 | llvmpipe: fixed-point rasterization | Keith Whitwell | |
2009-10-10 | llvmpipe: Only invoke the shader if necessary. | José Fonseca | |
2009-10-09 | llvmpipe: Fix type in tri bounding box check. | José Fonseca | |
2009-10-09 | llvmpipe: just bin whole tiles for now | Keith Whitwell | |
2009-10-09 | llvmpipe: get lp_setup_tri building | Keith Whitwell | |
2009-10-09 | llvmpipe: use union lp_cmd_rast_arg directly, rather than through a pointer | Keith Whitwell | |
The union itself consists of pointers. We don't need to be passing pointer to pointers. | |||
2009-10-08 | llvmpipe: triangle struct owns its copy of shader inputs | Keith Whitwell | |
2009-10-08 | llvmpipe: Remove quad headers. | José Fonseca | |
2009-10-08 | llvmpipe: Call lp_rast_shade_quads from tri rasterizer. | José Fonseca | |
2009-10-08 | llvmpipe: rast_tri updates | Keith Whitwell | |
2009-10-08 | llvmpipe: More assorted build fixes. | José Fonseca | |
2009-10-08 | llvmpipe: Update includes and copyright headers. | José Fonseca | |
2009-10-08 | llvmpipe: more wipping | Keith Whitwell | |