Commit graph

31246 commits

Author SHA1 Message Date
José Fonseca
d023fb3928 llvmpipe: Remove redundant alignments.
The lp_rast_shader_inputs' alignment is irrelevant now that it contains
pointers instead of actual data.

Likewise, lp_rast_triangle's size alignment is meaningless.
2010-07-14 14:53:35 +01:00
Chris Li
bed78862d4 llvmpipe: Addi ssse3 swizzling for B8G8R8A8_UNORM. 2010-07-14 14:38:02 +01:00
José Fonseca
c6c62164c3 gallium: Add a macro for memory barriers. 2010-07-14 14:38:02 +01:00
José Fonseca
5e2437a232 gallium: Add a new PIPE_ARCH_SSSE3 define for SSSE3 compiler support. 2010-07-14 14:38:02 +01:00
Zack Rusin
582132aaef Merge branch 'mesa-2d-registers' 2010-07-13 21:54:14 -04:00
Zack Rusin
1491c6aa2d mesa: add comments and change Index2D to just Index2 2010-07-13 21:49:53 -04:00
Marek Olšák
9fa64ea675 r300/compiler: fix swizzling in the transformation of Abs modifiers 2010-07-14 02:01:03 +02:00
Jakob Bornecrantz
20a3dda726 i965g: Fix scons build of dri driver 2010-07-13 19:32:16 +01:00
Roland Scheidegger
217926f350 llvmpipe: fix comment typo 2010-07-13 19:59:38 +02:00
Roland Scheidegger
edac740095 llvmpipe: move rasterizer to screen instead of setup context
there's no point of having this per context, so move to screen
(and protect with a mutex).
2010-07-13 19:58:58 +02:00
José Fonseca
962da13ba3 llvmpipe: Align texture data to the cache line. 2010-07-13 17:32:44 +01:00
Keith Whitwell
e21e7ab4da llvmpipe: eliminate the set_state rasterizer command
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.
2010-07-13 17:28:54 +01:00
Keith Whitwell
d4b64167b5 llvmpipe: pass mask into fragment shader
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.
2010-07-13 17:23:49 +01:00
Keith Whitwell
3bd9aedbac llvmpipe: move fences from per-bin to per-thread
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.
2010-07-13 17:23:48 +01:00
José Fonseca
6d17f00600 llvmpipe: Always swizzle/unswizzle whole tiles.
This was already the case, but the generated (un)swizzling code was not
benefiting of that knowledge.
2010-07-13 17:23:48 +01:00
Jakob Bornecrantz
654009f7f8 llvmpipe: Ignores! 2010-07-13 07:49:00 -07:00
Jakob Bornecrantz
04453a32b4 targets: Link xorg drivers with LLVM if built 2010-07-13 07:49:00 -07:00
Jakob Bornecrantz
433a08445c targets: Clean up xorg make files a bit 2010-07-13 07:49:00 -07:00
Brian Paul
271af2a874 libgl-xlib: add depend to make clean list 2010-07-13 07:46:22 -06:00
Brian Paul
672f6cdc19 glapi: use _mesa_snprintf()
Note that the enums.c file is generated with this script.
This will preserve the change from commit
c4066b78c0.
2010-07-13 07:44:35 -06:00
Marek Olšák
56da2403fc r300/compiler: implement the Abs source operand modifier for vertex shaders 2010-07-13 15:06:22 +02:00
Marek Olšák
b5fc699b1e r300/compiler: emulate SIN/COS/SCS in r3xx-r4xx vertex shaders
Despite the docs, the corresponding hardware instructions are r5xx-only.
2010-07-13 15:06:22 +02:00
Vinson Lee
c4066b78c0 mesa: s/snprintf/_mesa_snprintf/ 2010-07-13 00:31:37 -07:00
Marek Olšák
2470750b4e r300g: do not advertise half_float_vertex on rv3x0
rv3x0 can't do it.
2010-07-13 06:31:36 +02:00
Marek Olšák
50db6dba65 r300g: extend and clean up debug logging 2010-07-13 01:34:21 +02:00
Marek Olšák
499022c282 r300g/swtcl: do not emit texcoords if they are also stuffed in GA 2010-07-13 01:34:21 +02:00
Marek Olšák
f5804e64b4 r300g: rework the draw_rectangle hook
It is a lot simplier, cleaner, and more stable now.
2010-07-13 01:34:09 +02:00
Maciej Cencora
7facb8f2c8 Merge branch 'master' of git://anongit.freedesktop.org/mesa/mesa 2010-07-12 23:42:06 +02:00
Vinson Lee
c6b7aa96f9 r600: Fix include recursion.
Fix r600_context.h -> r700_oglprog.h -> r600_context.h include
recursion.
2010-07-12 14:23:51 -07:00
Vinson Lee
5ba0ba72d9 r300g: Remove unnecessary header. 2010-07-12 14:12:02 -07:00
Maciej Cencora
ba03a0b5ba radeon: fix some wine d3d9 tests
Need to flush command stream before mapping texture image
that is referenced by current cs.

Candidate for 7.8 branch.

Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2010-07-12 21:48:43 +02:00
José Fonseca
cd629c28d7 llvmpipe: Re-enable threading on windows. 2010-07-12 15:40:33 +01:00
nobled
209009d75f os: remove gratuitous pipe_barrier placeholder code
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.
2010-07-12 15:40:33 +01:00
nobled
7ce9a3adc5 os, rbug: remove PIPE_THREAD_HAVE_CONDVAR
The new default implementation of pipe_condvar makes it
unnecessary.
2010-07-12 15:40:33 +01:00
nobled
f321d5c38a os: Implement pipe_condvar on Windows Vista and later
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.
2010-07-12 15:40:32 +01:00
nobled
9795a60a8f os: Implement pipe_condvar on win32
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.
2010-07-12 15:40:32 +01:00
Marek Olšák
8c836f7f74 r300g: implement fast color clear
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
2010-07-12 13:26:00 +02:00
Marek Olšák
78e8a8765f r300g: clear and copy a resource with a rectangular point sprite
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.
2010-07-12 13:06:45 +02:00
Marek Olšák
0864851e27 r300g: do not use immediate mode if there is a VBO in VRAM
And other minor fixups.
2010-07-12 06:52:06 +02:00
Marek Olšák
9be8f7d226 u_blitter: add draw_rectangle callback which can be overridden by a driver 2010-07-12 06:32:52 +02:00
Marek Olšák
749e24521a u_blitter: clean up the texcoord computations 2010-07-12 05:32:42 +02:00
Marek Olšák
3bd15a9e43 u_blitter: simplify blitter_set_rectangle 2010-07-12 05:16:19 +02:00
Marek Olšák
9b03da9bdd u_blitter: rename blitter->base, add a way to get a pipe context from blitter 2010-07-12 02:06:39 +02:00
Marek Olšák
9cdd481f8e r300g: ugly fix of a hardlock in the cubestorm xscreensaver
FDO bug #28563.
2010-07-12 00:04:52 +02:00
Maciej Cencora
72e6a1e72f radeon: lower texture memory consumption is some cases
When searching for valid miptree check images in range
of [BaseLeve, MaxLevel] not [MinLod, MaxLoad].
Prevents unnecessary miptree allocations in cases when during
every rendering operation different texture image level
was selected using MIN_LOD = MAX_LOD = level (for every level
new miptree for whole texture was allocated).

Candidate for 7.8 branch.

Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2010-07-11 15:39:48 +02:00
Maciej Cencora
ad24ea37bb radeon: fix teximage migration failure in rare case
Always store selected miptree in texObj->mt so get_base_teximage_offset returns correct data.
Found with piglit/mipmap-setup.

Candidate for 7.8 branch.

Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2010-07-11 15:34:17 +02:00
Maciej Cencora
452a7d5a9d r300c: Fix vertex data setup for named buffer objects with unaligned offset
Candidate for 7.8 branch

Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2010-07-11 14:25:35 +02:00
Vinson Lee
932e4e65e3 r600: Remove unnecessary headers. 2010-07-11 00:14:53 -07:00
Zack Rusin
79b643dd02 mesa: make uniform work with geometry shaders 2010-07-10 19:21:42 -04:00
Zack Rusin
748d8d4613 Revert "mesa: temporarily enable printing of Mesa's GPU instructions"
This reverts commit 7b8726a99d.
2010-07-10 18:24:22 -04:00