José Fonseca
5940ba26f7
llvmpipe: Don't use llvm.readcyclecounter.
LLVM during optimization reorders the rdtsc instructions next to each
other, which makes it pretty useless.
16 年之前
José Fonseca
64611e086d
llvmpipe: Separate constant building.
16 年之前
José Fonseca
c87fab0008
llvmpipe: Move type support functions into a separate file.
16 年之前
José Fonseca
b94e22e4be
llvmpipe: Measure the number of cycles taken for blending.
16 年之前
José Fonseca
5778970f15
llvmpipe: Minor comments / debug mnemonics.
16 年之前
José Fonseca
02eaa32d83
llvmpipe: Optimize away min/max with equal operands.
16 年之前
José Fonseca
9e92244440
llvmpipe: Improve generated 8bit blending code.
16 年之前
José Fonseca
ede73258a7
llvmpipe: Get blending of normalized 8bit unsigned integers working.
16 年之前
José Fonseca
a6622e6c54
llvmpipe: Specialize arithmetic operations.
16 年之前
José Fonseca
272dadbe4e
llvmpipe: Introduce a custom typing system.
Straightforward representation of floating-point/fixed-point/integer,
normalized/scaled, signed/unsigned SIMD vector types.
16 年之前
José Fonseca
f478b6fe76
llvmpipe: Avoid C99-isms.
16 年之前
José Fonseca
fe90e46dc9
llvmpipe: Factor out intrisic calling code into a reusable function.
16 年之前
José Fonseca
7ace0b1f4a
llvmpipe: Cleanup test programs.
16 年之前
José Fonseca
7d043162c5
llvmpipe: Blending.
The code
16 年之前
José Fonseca
d2cf3e8dfd
llvmpipe: Arithmetic helpers.
16 年之前
Keith Whitwell
fa3514a57e
llvmpipe: fastpath for interpolated z16 less depthtesting
Because this is interpolated (ie. early) depth, we can build in an
assumption about the quads emitted by triangle setup, ie that they
are actually linear spans. Interpolate z over those spans in z16
format to save on math & conversion.
16 年之前
Keith Whitwell
38a1479fe1
llvmpipe: cope with nr_cbufs == 0
Disable blend code when no color buffer
16 年之前
José Fonseca
4639f8aad5
llvmpipe: Translate logicops.
16 年之前
José Fonseca
833323b8d0
llvmpipe: Separate pixel packing/unpacking from loading/storing.
16 年之前
José Fonseca
c4903ee27f
xlib: Integrate with llvmpipe.
Actually, the makefile/sconscript changes were already commit by mistake.
16 年之前
José Fonseca
b060771612
llvmpipe: Adjust for pixel layout changes.
16 年之前
José Fonseca
42b15b26fd
util: Make pixel format layout more meaningful.
Namelly, explicitly distinguish formats coded by arithmetic manipulation,
from formats layed out in array.
16 年之前
José Fonseca
a910c7d820
util: Don't commit u_format_table.c
At least not until stabilizes, to reduce noise.
16 年之前
José Fonseca
9a519ec4d1
llvmpipe: Fix typo in copyright.
16 年之前
José Fonseca
3ef44746fe
llvmpipe: Add test cases for pixels.
Actually some of this test cases need more testing...
16 年之前
José Fonseca
899bee2788
util: Fix r5g6b5 description.
16 年之前
José Fonseca
3ace63c00f
llvmpipe: Update SConscript.
16 年之前
José Fonseca
b023c1dc68
llvmpipe: Simple shell script to aid port softpipe changes to llvmpipe.
16 年之前
Keith Whitwell
05bfd93c3f
llvmpipe: move all depth/stencil/alpha pixel processing into one stage
16 年之前
Keith Whitwell
b8c437f20f
llvmpipe: fix error in scissor state dependencies
16 年之前
Keith Whitwell
c5375da1dc
llvmpipe: cleanup framebuffer state routine slightly
16 年之前
Keith Whitwell
90caf1a3f3
llvmpipe: move all color-combine code into lp_quad_blend.c
Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.
16 年之前
Keith Whitwell
54c6ef144f
llvmpipe: fix typo
16 年之前
Keith Whitwell
3c71a19016
llvmpipe: example fastpaths in blending
16 年之前
Keith Whitwell
80eb276630
llvmpipe: actually pass >1 quad from triangle routine
First attempt
16 年之前
Keith Whitwell
bdbb4beb21
llvmpipe: expand quad pipeline to process >1 quad at a time
This is part one -- we still only pass a single quad down, but
the code can now cope with more. The quads must all be from the same
tile.
16 年之前
Keith Whitwell
4486012245
llvmpipe: rip out old mulithread support
16 年之前
Keith Whitwell
2a7c39a211
llvmpipe: avoid flushing depth buffer cache on swapbuffers
There's no need to push out depth buffer contents on swapbuffers.
Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers. The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.
16 年之前
Keith Whitwell
3adca96114
llvmpipe: also shortcircuit non-texture tile lookups
16 年之前
Keith Whitwell
2301314e7c
llvmpipe: shortcircuit repeated lookups of the same tile
The lp_tile_cache is often called repeatedly to look up the same
tile. Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.
Add a tile_address bitfield struct to make this check easier.
16 年之前
Keith Whitwell
df1823ec5b
llvmpipe: remove unused vars in lp_setup.c
16 年之前
Keith Whitwell
08811032c2
llvmpipe: use bitwise logic to setup quad masks in lp_setup
16 年之前
Keith Whitwell
0aa24fa36f
llvmpipe: simplify flush_spans
No loss of performance, but simpler code.
16 年之前
Keith Whitwell
0f55a95b2f
llvmpipe: make some small steps to flush texture cache less frequently
No performance gain yet, but the code is a bit cleaner.
16 年之前
Keith Whitwell
3121484a8b
llvmpipe: remove backwards dependency from tilecache to llvmpipe
The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie llvmpipe).
Remove llvmpipe parameter to all the tilecache function calls, and
also remove the need to keep a llvmpipe pointer in the sampler structs.
16 年之前
José Fonseca
c9a5930fe4
llvmpipe: Rename preprocessor symbols too.
16 年之前
José Fonseca
8783732c4d
llvmpipe: Pixel packing/unpacking and loop code generators.
Just a small proof of concept plus a standalone test app. Not integrated
with the rest of the driver yet.
16 年之前
José Fonseca
15422b2d99
util: Pixel format database.
There are some inconsistencies in pipe_format, but above all, there
simply aren't enough bits in an enum to conveniently store all
information about a pixel format we need to be able to dynamically
generate pixel packing/unpacking code.
16 年之前
José Fonseca
946f432a08
llvmpipe: Fork softpipe for experimentation with llvm.
16 年之前
Ian Romanick
1814d6b49c
Put 'extern' first on the line to silence GCC warnings.
16 年之前