summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: eliminate the set_state rasterizer commandKeith Whitwell2010-07-138-92/+22
| | | | | | Just put a pointer to the state in the tri->inputs struct. Remove some complex logic for eliminating unused statechanges in bins at the expense of a slightly larger triangle struct.
* llvmpipe: pass mask into fragment shaderKeith Whitwell2010-07-1314-790/+901
| | | | | | | | | Move this code back out to C for now, will generate separately. Shader now takes a mask parameter instead of C0/C1/C2/etc. Shader does not currently use that parameter and rasterizes whole pixel stamps always.
* llvmpipe: move fences from per-bin to per-threadKeith Whitwell2010-07-138-29/+58
| | | | | | | | | Rather than inserting an lp_rast_fence command at the end of each bin, have each rasterizer thread call this function directly once it has run out of work to do on a particular scene. This results in fewer calls to the mutex & related functions, but more importantly makes it easier to recognize empty bins.
* llvmpipe: Always swizzle/unswizzle whole tiles.José Fonseca2010-07-133-18/+18
| | | | | This was already the case, but the generated (un)swizzling code was not benefiting of that knowledge.
* llvmpipe: Ignores!Jakob Bornecrantz2010-07-131-0/+1
|
* targets: Link xorg drivers with LLVM if builtJakob Bornecrantz2010-07-131-0/+8
|
* targets: Clean up xorg make files a bitJakob Bornecrantz2010-07-136-29/+31
|
* libgl-xlib: add depend to make clean listBrian Paul2010-07-131-1/+1
|
* r300g: do not advertise half_float_vertex on rv3x0Marek Olšák2010-07-131-2/+2
| | | | rv3x0 can't do it.
* r300g: extend and clean up debug loggingMarek Olšák2010-07-135-17/+23
|
* r300g/swtcl: do not emit texcoords if they are also stuffed in GAMarek Olšák2010-07-131-3/+6
|
* r300g: rework the draw_rectangle hookMarek Olšák2010-07-131-89/+23
| | | | It is a lot simplier, cleaner, and more stable now.
* r300g: Remove unnecessary header.Vinson Lee2010-07-121-1/+0
|
* llvmpipe: Re-enable threading on windows.José Fonseca2010-07-121-6/+0
|
* os: remove gratuitous pipe_barrier placeholder codenobled2010-07-121-21/+1
| | | | | | | There's already an implementation of pipe_barrier using the other pipe_* primitives; just use that on Windows, too. Now Windows passes pipe_barrier_test.
* os, rbug: remove PIPE_THREAD_HAVE_CONDVARnobled2010-07-123-15/+0
| | | | | The new default implementation of pipe_condvar makes it unnecessary.
* os: Implement pipe_condvar on Windows Vista and laternobled2010-07-121-0/+30
| | | | | | | | Unfortunately compiling with these defines enabled would mean Gallium can't run on Windows XP/2003 or older. Todo: Need a macro to declare if we don't care about WinXP compatibililty.
* os: Implement pipe_condvar on win32nobled2010-07-121-7/+27
| | | | | | | | Or at least a little of it. This version will sleep for a fixed amount of time instead of just deadlocking, which is a slight improvement. Also do the same thing on any unrecognized platform.
* r300g: implement fast color clearMarek Olšák2010-07-1210-13/+178
| | | | | | | | | | | | | | | An initial implementation made by Dave Airlie. For it to be used, a color-only clear must be invoked and exactly one point-sampled render target must be set. The render target must be macrotiled (for us to overcome alignment issues) and bpp must be either 16 or 32. I can't see a difference in performance. :( Conflicts: src/gallium/drivers/r300/r300_blit.c
* r300g: clear and copy a resource with a rectangular point spriteMarek Olšák2010-07-122-3/+152
| | | | | | With an ordinary quad, the pixels on the main diagonal are computed and stored twice, which is somewhat inefficient and might not work well with specialized clear codepaths.
* r300g: do not use immediate mode if there is a VBO in VRAMMarek Olšák2010-07-122-4/+5
| | | | And other minor fixups.
* u_blitter: add draw_rectangle callback which can be overridden by a driverMarek Olšák2010-07-122-19/+104
|
* u_blitter: clean up the texcoord computationsMarek Olšák2010-07-121-28/+35
|
* u_blitter: simplify blitter_set_rectangleMarek Olšák2010-07-121-19/+32
|
* u_blitter: rename blitter->base, add a way to get a pipe context from blitterMarek Olšák2010-07-122-70/+80
|
* r300g: ugly fix of a hardlock in the cubestorm xscreensaverMarek Olšák2010-07-122-3/+5
| | | | FDO bug #28563.
* r300g: do not print a rejected CS if RADEON_DUMP_CS is not setMarek Olšák2010-07-102-4/+9
| | | | Also print relocation failures on non-debug builds too.
* r300g: allow the GTT domain for samplersMarek Olšák2010-07-092-5/+12
| | | | This fixes sluggishness in vdrift.
* r300g/swtcl: fix out-of-bounds writeMarek Olšák2010-07-091-1/+1
| | | | This is a typo fix, the generated code should be the same.
* draw: Fix off-by-one error in assert.Vinson Lee2010-07-081-1/+1
| | | | textures is an array of size PIPE_MAX_VERTEX_SAMPLERS.
* r300g: fix texturing with negative lod biasMarek Olšák2010-07-091-1/+1
| | | | This should fix FDO bugs #28437 and #28625.
* r300g: store/return the stride for winsys_handle in winsysMarek Olšák2010-07-083-15/+18
|
* r300g: fix transfering compressed texturesMarek Olšák2010-07-081-1/+1
|
* gallium: bump PIPE_MAX_SHADER_INPUTS/OUTPUTS to 32Brian Paul2010-07-081-2/+2
|
* r300g: add a function for marking framebuffer atoms as dirtyMarek Olšák2010-07-083-11/+32
|
* r300g: minor fixupsMarek Olšák2010-07-085-7/+7
|
* gallivm: restore const qualifierBrian Paul2010-07-071-1/+1
|
* gallivm: fix cube map LOD computationBrian Paul2010-07-071-38/+54
| | | | | | | | | | | | | | | First, this undoes commit e503af4baa2c709ae5743bb278b277d3faaba076 so we use iround() in lp_build_nearest_mip_level(). Second, in lp_build_sample_general() we need to check if we're sampling a cube map before anything else. Choose the cube face and then recompute the partial derivatives of (S,T) with respect to the chosen cube face. Before, we were using the directional (S,T,R) derivatives to compute the LOD. Third, work around an apparent bug in LLVM 2.7 where setting the lod variable to a const(0) value results in bad x86 code. See comments in the code.
* llvmpipe: Don't build lp_test_round when using MSVC.Vinson Lee2010-07-061-1/+3
| | | | | | | lp_test_round uses the math functions round and trunc, which aren't available with MSVC. Fixes the MSVC build for now.
* llvmpipe: Add lp_test_round to SCons build.Vinson Lee2010-07-061-0/+1
|
* draw: Remove unnecessary header.Vinson Lee2010-07-061-1/+0
|
* gallivm: Remove unnecessary header.Vinson Lee2010-07-061-1/+0
|
* util: print help for debug options on non-debug buildsMarek Olšák2010-07-071-2/+2
| | | | I'd like to see the help when I request it.
* gallivm: use trunc, not round in lp_build_nearest_mip_level()Brian Paul2010-07-061-1/+1
| | | | Fixes fd.o bug 28036 (piglit fbo-cubemap.c regression)
* llvmpipe: add test program for round(), trunc(), floor(), ceil()Brian Paul2010-07-062-0/+278
|
* gallivm: finish implementation of lp_build_iceil()Brian Paul2010-07-061-19/+67
| | | | | | Plus fix minor error in lp_build_iceil() by tweaking the offset value. And add a bunch of comments for the round(), trunc(), floor(), ceil() functions.
* llvmpipe: disconnect vertex texture sampling from the setupZack Rusin2010-07-068-89/+85
| | | | | | | it was wrong to put this in the fs paths, but it was easier to just stuff it along the fragment texture sampling paths. the patch disconnects vertex texture sampling and just maps the textures before the draw itself and unmaps them after.
* draw: make sure softpipe doesn't crash with vertex tex samplingZack Rusin2010-07-061-7/+16
| | | | | | softpipe doesn't implement the draw's llvm tex sampling interface so make sure draw can handle the cases where the driver doesn't implement the interface
* draw: implement vertex texture sampling using llvmZack Rusin2010-07-0615-32/+516
|
* r300/compiler: Implement KILP opcode.Tom Stellard2010-07-061-1/+1
| | | | Signed-off-by: Marek Olšák <[email protected]>