summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe
AgeCommit message (Collapse)Author
2010-01-13llvmpipe: implement lp_rast_load_zstencilKeith Whitwell
Load zbuffer contents for binned scenes that don't start with a clear and which have a bound zbuffer.
2010-01-13llvmpipe: added debug warningBrian Paul
2010-01-13llvmpipe: comments and LLVMValueRef namingBrian Paul
2010-01-13llvmpipe: tweak subpixel_snap() arithmeticBrian Paul
This adjustment fixes some rasterization differences between llvmpipe and softpipe (and other renderers).
2010-01-13llvmpipe: improve empty-bin test furtherKeith Whitwell
Remove unused param, add comments. Thanks to Brian for review.
2010-01-13llvmpipe: improve empty-bin testKeith Whitwell
We emit at most two clear packets (color and z respectively).
2010-01-13llvmpipe: quick hack to short-circuit empty binsKeith Whitwell
2010-01-12llvmpipe: fix indentation, comment typoBrian Paul
2010-01-12llvmpipe: debug checks: make sure scene is empty at key pointsBrian Paul
2010-01-12llvmpipe: assert that we're putting data into a valid binBrian Paul
2010-01-12llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)Brian Paul
In some corner cases the right-most / bottom-most vertex can be right on the edge of the framebuffer. Because the maxx, maxy vals are computed with a series of float/int, pixel/tile transformations we can end up with maxx >= scene->x_tiles or maxy >= scene->y_tiles. This leads to putting data into bins that never get processed, or reset. This becomes stale data that can lead to segfaults. Clamping fixes this.
2010-01-12llvmpipe: added lp_scene_is_empty()Brian Paul
2010-01-12llvmpipe: silence unused var warningsBrian Paul
2010-01-12llvmpipe: remove unused #defineBrian Paul
2010-01-12gallium: Rename ALIGN_STACK -> PIPE_ALIGN_STACK for consistency.José Fonseca
2010-01-12gallium: Simplify PIPE_ALIGN_VAR.José Fonseca
gcc allows pre-fix variable attributes. Suggested by Ian Romanick.
2010-01-12gallium: Generalize the alignment macros to other compilers and any alignment.José Fonseca
2010-01-11llvmpipe: disable the all in/out test code for nowBrian Paul
It's still faster not to try to special case the "all pixels are known to be inside the triangle" case.
2010-01-11llvmpipe: move, update commentsBrian Paul
2010-01-11llvmpipe: refactor generate_fragment() codeBrian Paul
This will make it easier to generate multiple versions of the fragment code per variant.
2010-01-11llvmpipe: do the all-in test on the scalar c0 instead of vector c0Brian Paul
This still isn't faster, but committing it for posterity.
2010-01-11gallium: remove const qualifier from pipe_buffer argument in set_constant_bufferRoland Scheidegger
2010-01-11llvmpipe: force constant interpolation of flatshade colorsKeith Whitwell
Nice speedup for gears.
2010-01-11llvmpipe: remove opencoded constantKeith Whitwell
2010-01-11llvmpipe: remove scissor cliprect derived stateKeith Whitwell
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.
2010-01-10llvmpipe: Update instructions.José Fonseca
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.
2010-01-10llvmpipe: initial mrt supportKeith Whitwell
Non-mrt apps work, and the code looks correct, but not many mrt test apps handy atm...
2010-01-10llvmpipe: Yet another hack to get release LLVM static libraries to link in ↵José Fonseca
debug builds.
2010-01-08llvmpipe: optimize case when all four pixels are inside the triangleBrian Paul
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...
2010-01-08llvmpipe: fix more if/else/endif design bugsBrian Paul
2010-01-08llvmpipe: move some fields to the private lp_build_flow_if structBrian Paul
2010-01-08llvmpipe: free the phi arrayBrian Paul
2010-01-08llvmpipe: checkpoint if/else/endif contructs workBrian Paul
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.
2010-01-08Merge remote branch 'origin/master' into lp-binningJosé Fonseca
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
2010-01-08lvmpipe: Initialize all coordinates.José Fonseca
Fixes assertion failure with fp-incomplete-tex (fdo 24298).
2010-01-07llvmpipe: Remove TGSI sampler pointers from JIT context too.José Fonseca
2010-01-07llvmpipe: Remove more loose ends of TGSI exec sampling.José Fonseca
2010-01-07llvmpipe: Axe texture sampling code inherited from softpipe.José Fonseca
Was used only as a reference, since texture sampling is now code generated. Already axed in the lp-binning branch too. This fixes the llvmpipe build after recent sampling changes.
2010-01-06llvmpipe: checkpoint commit of new if/else/endif flow controlBrian Paul
Totally untested at this point. More work to do.
2010-01-06llvmpipe: more comments in flow builder codeBrian Paul
2010-01-06llvmpipe: flow-control commentsBrian Paul
2010-01-06llvmpipe: fix double freeKeith Whitwell
2010-01-06llvmpipe: rename some functionsKeith Whitwell
2010-01-06llvmpipe: remove dead codeKeith Whitwell
2010-01-06llvmpipe: restrict header visibilityKeith Whitwell
2010-01-06llvmpipe: merge setup and draw vbuf submodulesKeith Whitwell
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.
2010-01-06pipe_sampler_state::compare_mode is not a boolean enable flag.Michal Krol
It's a 1-bit enum.
2010-01-06gallium: remove PIPE_TEX_FILTER_ANISOLuca Barbieri
This patch removes PIPE_TEX_FILTER_ANISO. Anisotropic filtering is enabled if and only if max_anisotropy > 1.0. Values between 0.0 and 1.0, inclusive, of max_anisotropy are to be considered equivalent, and meaning to turn off anisotropic filtering. This approach has the small drawback of eliminating the possibility of enabling anisotropic filter on either minification or magnification separately, which Radeon hardware seems to support, is currently support by Gallium but not exposed to OpenGL. If this is actually useful it could be handled by splitting max_anisotropy in two values and adding an appropriate OpenGL extension. NOTE: some fiddling & reformatting by keithw to get this patch to apply. Hopefully nothing broken in the process.
2010-01-05Merge commit 'origin/gallium-draw-retval'Keith Whitwell
Conflicts: src/gallium/drivers/identity/id_context.c
2010-01-05Remove TGSI_OPCODE_SHR, map existing usage to TGSI_OPCODE_ISHR.Michal Krol
This is to differentiate it from its unsigned version, TGSI_OPCODE_USHR.