summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: Reset the bin when shading a whole tile with an opaque shader.José Fonseca2010-01-137-16/+48
|
* llvmpipe: add bin debuggerKeith Whitwell2010-01-131-5/+52
| | | | | | | Adjust definition of empty_bin according to what's actually in empty bins. We often have a state packet before/after load commands. Still need to do something about the fence packets.
* llvmpipe: implement lp_rast_load_zstencilKeith Whitwell2010-01-131-2/+34
| | | | | Load zbuffer contents for binned scenes that don't start with a clear and which have a bound zbuffer.
* llvmpipe: added debug warningBrian Paul2010-01-131-0/+1
|
* llvmpipe: comments and LLVMValueRef namingBrian Paul2010-01-131-0/+7
|
* llvmpipe: tweak subpixel_snap() arithmeticBrian Paul2010-01-131-1/+1
| | | | | This adjustment fixes some rasterization differences between llvmpipe and softpipe (and other renderers).
* llvmpipe: improve empty-bin test furtherKeith Whitwell2010-01-131-3/+13
| | | | Remove unused param, add comments. Thanks to Brian for review.
* llvmpipe: improve empty-bin testKeith Whitwell2010-01-131-1/+1
| | | | We emit at most two clear packets (color and z respectively).
* llvmpipe: quick hack to short-circuit empty binsKeith Whitwell2010-01-132-2/+25
|
* llvmpipe: fix indentation, comment typoBrian Paul2010-01-121-4/+4
|
* llvmpipe: debug checks: make sure scene is empty at key pointsBrian Paul2010-01-121-0/+4
|
* llvmpipe: assert that we're putting data into a valid binBrian Paul2010-01-121-0/+3
|
* llvmpipe: clamp maxx,maxy to framebuffer size (in terms of tiles)Brian Paul2010-01-121-0/+5
| | | | | | | | | | | 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.
* llvmpipe: added lp_scene_is_empty()Brian Paul2010-01-122-0/+24
|
* llvmpipe: silence unused var warningsBrian Paul2010-01-121-3/+5
|
* llvmpipe: remove unused #defineBrian Paul2010-01-121-3/+0
|
* llvmpipe: disable the all in/out test code for nowBrian Paul2010-01-111-1/+1
| | | | | It's still faster not to try to special case the "all pixels are known to be inside the triangle" case.
* llvmpipe: move, update commentsBrian Paul2010-01-111-17/+10
|
* llvmpipe: refactor generate_fragment() codeBrian Paul2010-01-111-62/+76
| | | | | This will make it easier to generate multiple versions of the fragment code per variant.
* llvmpipe: do the all-in test on the scalar c0 instead of vector c0Brian Paul2010-01-111-24/+21
| | | | This still isn't faster, but committing it for posterity.
* llvmpipe: force constant interpolation of flatshade colorsKeith Whitwell2010-01-115-5/+21
| | | | Nice speedup for gears.
* st/mesa: early exit on error pathKeith Whitwell2010-01-111-0/+1
| | | | | Can't rely on asserts having any effect on flowcontrol for release builds.
* llvmpipe: remove opencoded constantKeith Whitwell2010-01-111-4/+4
|
* llvmpipe: remove scissor cliprect derived stateKeith Whitwell2010-01-112-41/+0
| | | | | | | 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.
* llvmpipe: initial mrt supportKeith Whitwell2010-01-107-143/+225
| | | | | Non-mrt apps work, and the code looks correct, but not many mrt test apps handy atm...
* llvmpipe: optimize case when all four pixels are inside the triangleBrian Paul2010-01-081-29/+77
| | | | | | | | | | 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...
* llvmpipe: fix more if/else/endif design bugsBrian Paul2010-01-081-7/+9
|
* llvmpipe: move some fields to the private lp_build_flow_if structBrian Paul2010-01-082-31/+32
|
* llvmpipe: free the phi arrayBrian Paul2010-01-081-0/+2
|
* llvmpipe: checkpoint if/else/endif contructs workBrian Paul2010-01-082-129/+96
| | | | | 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.
* Merge remote branch 'origin/master' into lp-binningJosé Fonseca2010-01-082018-77927/+150198
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * mklib: Extract archives into temporary directoriesDan Nicholson2010-01-081-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When static libraries are created from other archives, objects are extracted and then deleted when the static library is done. This can race when there are multiple static libraries being created from the same archives as with libmesa.a and libmesagallium.a. Should fix this issue with parallel jobs: make[5]: *** No rule to make target > `../../../../../../src/mesa/libmesagallium.a', needed by > `radeon_dri.so'. Stop Signed-off-by: Dan Nicholson <[email protected]> Reported-and-Tested-by: Sedat Dilek <[email protected]>
| * tgsi: Cleanup dot-product opcodes in interpreter.Michal Krol2010-01-081-97/+130
| |
| * nv20: Fix build for the latest nouveau_class.h changes.Francisco Jerez2010-01-081-2/+2
| |
| * scons: Don't build xlib when dri is enabled.José Fonseca2010-01-081-0/+4
| | | | | | | | Hopefully adddresses fdo 25828.
| * lvmpipe: Initialize all coordinates.José Fonseca2010-01-081-0/+3
| | | | | | | | Fixes assertion failure with fp-incomplete-tex (fdo 24298).
| * scons: Output a meaningful message when xlib libGL.so can't be built.José Fonseca2010-01-081-45/+57
| |
| * scons: Use static glew library on Unices to avoid binary compatability issuesJosé Fonseca2010-01-081-9/+9
| | | | | | | | Fixes bug 25926.
| * st/xorg: remove unused xorg_exa_get_pixmap_handle functionKeith Whitwell2010-01-072-30/+0
| |
| * nv50: preallocate TEMPs written first time in a subroutineChristoph Bumiller2010-01-071-2/+10
| | | | | | | | | | Otherwise we risk overwriting them with temporary GPRs if they're not used immediately after the CALL.
| * nv50: handle TGSI_OPCODE_SAD,UADDChristoph Bumiller2010-01-071-0/+96
| |
| * nv50: handle TGSI_OPCODE_IMAX,IMIN,UMAX,UMINChristoph Bumiller2010-01-071-10/+49
| |
| * nv50: handle integer SET operationsChristoph Bumiller2010-01-071-21/+34
| |
| * nv50: handle TGSI_OPCODE_SHL,ISHR,USHRChristoph Bumiller2010-01-071-0/+42
| |
| * nv50: handle TGSI_OPCODE_F2I,F2U,I2F,U2F plus src modsChristoph Bumiller2010-01-071-87/+131
| |
| * intel: Remove leftover symlinks from DRI1 removal.Eric Anholt2010-01-072-2/+0
| |
| * tgsi: add assertion to verify legal register fileBrian Paul2010-01-071-0/+1
| | | | | | | | | | | | This assertion fails with piglit glsl-vs-mov-after-deref test because we're double freeing the memory. It seems there's some confusion between what's placed in the hash table and what isn't.
| * tgsi: fix incorrectly placed braces, add more braces to be clearBrian Paul2010-01-071-2/+4
| |
| * tgsi: move register checking code before check_register_usage()Brian Paul2010-01-071-4/+4
| | | | | | | | | | | | check_register_usage() frees the scan_register *reg data so we were reading from freed memory. This fixes a valgrind error found with piglit's glsl-vs-mov-after-deref test.
| * swrast: fix color masking for glAccum(GL_RETURN)Brian Paul2010-01-071-4/+4
| | | | | | | | Should fix fdo bug 25837.