Age | Commit message (Collapse) | Author |
|
|
|
|
|
Conflicts:
src/gallium/drivers/llvmpipe/lp_quad.h
src/gallium/drivers/llvmpipe/lp_setup.c
|
|
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.
|
|
|
|
Nice speedup for gears.
|
|
Was previously calculating the intersection of the scissor rectangle
and the framebuffer dimensions. Rendering is already restricted to
framebuffer dimensions by other means, so scissor testing (when
implemented) can just use the scissor state directly.
|
|
Conflicts:
src/gallium/auxiliary/util/u_surface.c
src/gallium/drivers/llvmpipe/Makefile
src/gallium/drivers/llvmpipe/SConscript
src/gallium/drivers/llvmpipe/lp_bld_arit.c
src/gallium/drivers/llvmpipe/lp_bld_flow.c
src/gallium/drivers/llvmpipe/lp_bld_interp.c
src/gallium/drivers/llvmpipe/lp_clear.c
src/gallium/drivers/llvmpipe/lp_context.c
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/llvmpipe/lp_draw_arrays.c
src/gallium/drivers/llvmpipe/lp_jit.c
src/gallium/drivers/llvmpipe/lp_jit.h
src/gallium/drivers/llvmpipe/lp_prim_vbuf.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup_point.c
src/gallium/drivers/llvmpipe/lp_state.h
src/gallium/drivers/llvmpipe/lp_state_blend.c
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/gallium/drivers/llvmpipe/lp_state_sampler.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_tex_cache.h
src/gallium/drivers/llvmpipe/lp_tex_sample.h
src/gallium/drivers/llvmpipe/lp_tile_cache.c
|
|
|
|
|
|
The setup tiling engine is now plugged directly into the draw module
as a rendering backend.
Removed a couple of layering violations such that the setup code no
longer reaches out into the surrounding llvmpipe state or context.
|
|
|
|
|
|
Just enough boilerplate code to avoid segfaulting.
|
|
Handle the remaining semantic names and indices.
Respect color interpolator when not flatshading.
Based on Michal's softpipe commit
eb699d64ec7057032139baccedcb0694ca41d706.
|
|
Everything now goes through the draw_vbuf handler, the same as
regular drivers.
Based on Keith's commit 4fe0fc3eba1f79beda890a5016359d549bab6ad4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WIP, does't build or run.
Rasterizer code is based on Nick Capen's devmaster posts and the
larrabee articles, but currently doesn't share either the performance
or correctness of either...
|
|
Cherry-picked from fb2c7b6743ba6e89f24843890fb7fcd6a09c3dbb
|
|
Finally a substantial performance improvement: framerates of apps using
texturing tripled, and furthermore, enabling/disabling texturing only
affects around 15% of the framerate, which means the bottleneck is now
somewhere else.
Generated texture sampling code is not complete though -- we always
sample from the base level -- so final figures will be different.
|
|
|
|
It had been reduced to one fixed stage.
|
|
Still hackish. Will document and optimize later.
|
|
|
|
|
|
|
|
|
|
|
|
No performance gain yet, but the code is a bit cleaner.
|
|
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.
|
|
|
|
|