Age | Commit message (Collapse) | Author |
|
|
|
gcc allows pre-fix variable attributes.
Suggested by Ian Romanick.
|
|
|
|
Save some code, improve FPS, and fix piglit tests. Everybody wins.
|
|
From 07ea7e6c80. This is the only questionable part of that commit,
AFAICT...
|
|
This probably should disable stencil, too, if the kernel cares enough.
Note: When atomized, framebuffer setup should go towards the end anyway,
but it *must* follow these test setups anyway.
|
|
|
|
It's still faster not to try to special case the "all pixels are
known to be inside the triangle" case.
|
|
|
|
This will make it easier to generate multiple versions of the fragment
code per variant.
|
|
This still isn't faster, but committing it for posterity.
|
|
|
|
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.
|
|
If somebody goes through that much effort, they probably intended it.
So humor them. :3
|
|
Argfl. Some of this code is so questionable.
|
|
|
|
Goddammit, some of these hax are really annoying.
|
|
According to the docs, this decreases stalls, and indeed we get a tiny
bit more glxgears from it.
|
|
Simplify the code. Added a comment to keep me from doing it again.
|
|
I want to stab things now.
|
|
Also do state-change checks. ZTOP's too important to not check.
|
|
Also a bit of ztop.
|
|
Meh.
|
|
|
|
No benefits yet.
|
|
Explain how to build for windows. Both MSVC 9 and cross MinGW supported.
Stop documenting LLVM 2.5 as supported. It still supported at the moment
but it will soon stop being.
|
|
Non-mrt apps work, and the code looks correct, but not many mrt test apps
handy atm...
|
|
debug builds.
|
|
When the incoming c0,c1,c2 values are equal to INT_MIN it means that
all pixels are inside the triangle. Thus we can skip the detailed
pixel inside/outside triangle tests. Use the new lp_build_if()/endif()
functions to generate the branching code.
The code is disabled ATM however because it's actually a little slower
than the original code. A little more tuning may fix that though...
|
|
|
|
|
|
|
|
The LLVM IR looks correct now. Basic blocks are where they're supposed
to be and the Phi functions have the right (var,block) information.
|
|
|
|
|
|
|
|
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
|
|
Conflicts:
src/mesa/drivers/dri/i965/brw_wm_emit.c
|
|
|
|
Fixes assertion failure with fp-incomplete-tex (fdo 24298).
|
|
Otherwise we risk overwriting them with temporary GPRs if
they're not used immediately after the CALL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|