Commit Graph

25624 Commits

Author SHA1 Message Date
José Fonseca d4806c64a2 llvmpipe: Better structure dereference naming. 2009-08-29 09:21:42 +01:00
José Fonseca 8aa62cead7 llvmpipe: Fix shader variant key construction.
Fixes the blank screen on non-64bit mode.
2009-08-29 09:21:42 +01:00
José Fonseca 1e6cc1cf37 llvmpipe: Fix build. 2009-08-29 09:21:42 +01:00
José Fonseca f311bacebd llvmpipe: Merge all pixel format related files. 2009-08-29 09:21:42 +01:00
José Fonseca f85c5f8621 llvmpipe: Factor out and optimize the input interpolation.
Special attention is given to the interpolation of side by side quads.
Multiplications are made only for the first quad. Interpolation of
inputs for posterior quads are done exclusively with additions, and
perspective divide if necessary.
2009-08-29 09:21:41 +01:00
José Fonseca 03180dca7a llvmpipe: Pre-declare fetch_texel. 2009-08-29 09:21:41 +01:00
José Fonseca 635c37e118 llvmpipe: Pass the alpha ref value and blend color in the jit context. 2009-08-29 09:21:41 +01:00
José Fonseca c022e15d1e llvmpipe: Pass fragment context to generated function in a single structure. 2009-08-29 09:21:41 +01:00
José Fonseca 8c7c108d71 llvmpipe: Structure manipulation helpers. 2009-08-29 09:21:41 +01:00
José Fonseca 08dd41fd68 llvmpipe: Centralize the C <-> JIT interfaces in one place. 2009-08-29 09:21:41 +01:00
José Fonseca 97b4681d7e llvmpipe: Drop blend derived state.
Already included in the fragment shader.
2009-08-29 09:21:41 +01:00
Keith Whitwell 04de13b9cd llvmpipe: keep texture stride 16byte aligned
Fixes crash when resizing gears window.
2009-08-29 09:21:41 +01:00
José Fonseca 4d2b0eb19e llvmpipe: Squash the quad pipeline.
It had been reduced to one fixed stage.
2009-08-29 09:21:41 +01:00
José Fonseca 77b35dc179 llvmpipe: s/uni/scalar/.
More obvious name.
2009-08-29 09:21:40 +01:00
José Fonseca 5811ed87d7 llvmpipe: Add a bunch of comments.
Description/rationale/to-do items, while I still remember them...
2009-08-29 09:21:40 +01:00
José Fonseca 3f36f4b051 llvmpipe: Split off vs stuff from lp_state_fs.c.
lp_state_fs.c is already too big without it.
2009-08-29 09:21:40 +01:00
José Fonseca c3b7406667 llvmpipe: Avoid duplicate clamping when converting between types. 2009-08-29 09:21:40 +01:00
José Fonseca 9897180279 llvmpipe: Generate the fragment pipeline into a single function.
Still hackish. Will document and optimize later.
2009-08-29 09:21:40 +01:00
José Fonseca 64cc71167f llvmpipe: Get conversions working correctly for all integer types. 2009-08-29 09:21:39 +01:00
José Fonseca 53f9a1180e llvmpipe: Delete the quad polygon stipple stage.
Not used now -- stipple done by the draw module. May code generate later.
2009-08-29 09:21:39 +01:00
José Fonseca 3d7a88674f llvmpipe: Early depth testing. 2009-08-29 09:21:39 +01:00
José Fonseca 90b5df8d1b llvmpipe: Disassemble beyond referred code beyond the RET instruction. 2009-08-29 09:21:39 +01:00
José Fonseca c5531f575b llvmpipe: Split control flow function declarations and notes. 2009-08-29 09:21:39 +01:00
José Fonseca 1e4376a68f llvmpipe: Back port recent softpipe-opt improvements from Keith. 2009-08-29 09:21:39 +01:00
José Fonseca f10ee9a0a1 llvmpipe: Don't limit the number of tiles in the cache. 2009-08-29 09:21:39 +01:00
José Fonseca 87c383a2e5 llvmpipe: Clean dead tile cache code. 2009-08-29 09:21:39 +01:00
José Fonseca e3baeb3f14 llvmpipe: Simplify tile clears. Use pipe_fill_rect instead of scratch tile. 2009-08-29 09:21:38 +01:00
José Fonseca d94fbb4a48 llvmpipe: Start hiding llvmpipe_cached_tile. 2009-08-29 09:21:38 +01:00
José Fonseca 1cb9ce0d27 llvmpipe: Drop depth/stencil support from tile cache. 2009-08-29 09:21:38 +01:00
José Fonseca e3b38e5ec1 llvmpipe: Code generate the depth test, and include in the shader.
Only 32bit depth/stencil surfaces supported for now. Stencil ops not
implemented yet.
2009-08-29 09:21:38 +01:00
José Fonseca db35ac36d9 llvmpipe: Update texture block from format. 2009-08-29 09:21:38 +01:00
José Fonseca 343ccc8dd0 llvmpipe: Depth test to LLVM IR translation. 2009-08-29 09:21:38 +01:00
José Fonseca c0472f9c34 llvmpipe: Centralize mask update logic. 2009-08-29 09:21:37 +01:00
José Fonseca 3dbf00f9ab llvmpipe: Clamped float to unsigned norm via mantissa manipulation. 2009-08-29 09:21:37 +01:00
José Fonseca 33ce51bc0d llvmpipe: Several fixes of the conversion test. 2009-08-29 09:21:37 +01:00
José Fonseca d07b038366 llvmpipe: Generate instrinsics for integer comparisons.
It is a little messy, given the available instrucions form SIMD
integer comparisons is rather limited.
2009-08-29 09:21:37 +01:00
José Fonseca 89146cd48d llvmpipe: Mention the ability to get microbenchmarks from the unit tests.
Even better would be to have a -h/--help option to the tests...
2009-08-29 09:21:37 +01:00
José Fonseca 9ae47069b4 llvmpipe: Code generate alpha testing and append to generated fragment shader. 2009-08-29 09:21:37 +01:00
José Fonseca b5e397c369 util: Dump PIPE_FUNC_x value names. 2009-08-29 09:21:37 +01:00
Brian Paul d6d4f8b66e llvmpipe: use the udis86 lib to print the x86 assembly code 2009-08-29 09:21:36 +01:00
Brian Paul 03b388e1c9 llvmpipe: frag shader comments 2009-08-29 09:21:36 +01:00
Brian Paul 0f6c621aee llvmpipe: blend comments 2009-08-29 09:21:36 +01:00
Brian Paul 8329e59958 llvmpipe: comments about blend generator 2009-08-29 09:21:36 +01:00
Brian Paul f586d9546b llvmpipe: basic comments 2009-08-29 09:21:36 +01:00
José Fonseca b9f2f01315 llvmpipe: Hack to force the line/point rasterization also fit the blend function expectations. 2009-08-29 09:21:35 +01:00
José Fonseca 7643da88a3 llvmpipe: Refer my udis86 branch which decodes more opcodes. 2009-08-29 09:21:35 +01:00
José Fonseca 7c2dc3faa8 llvmpipe: Code generate the position interpolation. 2009-08-29 09:21:35 +01:00
José Fonseca 6f5cd15f80 llvmpipe: Simpler variant of lp_build_broadcast_scalar. 2009-08-29 09:21:35 +01:00
José Fonseca 17baa01bfb llvmpipe: Put the position coefficients together with the inputs.
The automatic search'n'replace leaves lp_setup.c a bit ugly, but this code
will be eventually code generated as well.
2009-08-29 09:21:35 +01:00
José Fonseca 7926b42d41 llvmpipe: Implement saturation. 2009-08-29 09:21:35 +01:00