Commit graph

5151 commits

Author SHA1 Message Date
Dave Airlie
f2804e7062 r600g: fix memory leaks running gears.
I noticed gears memory usage was heading skywards, some r600 "states"
aren't properly refcounted, and the ctx->state is never freed.
2010-08-13 10:22:46 +10:00
Marek Olšák
f668ea11bd Revert "u_blitter: unify clear_depth_stencil and flush_depth_stencil"
This reverts commit de4784e365.
2010-08-12 13:35:16 +02:00
Dave Airlie
582129ced6 r600g: fix typo in stencil translate.
fixes piglit stencil-twoside and stencil-wrap
2010-08-12 16:32:19 +10:00
Dave Airlie
13bc2098ca r600g: fix provoking-vertex piglit test. 2010-08-12 16:29:04 +10:00
Dave Airlie
e2df0a8b23 r600g: improve texture format checker.
This takes the r300g texture format checker and fixes it up for r600g,
it passes glean texSwizzle, pixelformats, and texture_srgb tests,

however I think it L8S8_SRGB is broken as is L8_SRGB, need to investigate.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-12 16:20:31 +10:00
Marek Olšák
de4784e365 u_blitter: unify clear_depth_stencil and flush_depth_stencil
No need to enable depth test for clear.
2010-08-12 06:21:24 +02:00
Tom Stellard
f78445de5d r300/compiler: Implement the CONT opcode. 2010-08-11 11:39:57 -07:00
Jerome Glisse
481b65abae r600g: accept empty frag prog shader
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-11 14:26:07 -04:00
Jerome Glisse
1bb0427a85 r600g: add src negation support
Should fix few glBitmap cases.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-11 13:50:19 -04:00
Jerome Glisse
457378e031 r600g: add point/sprite rendering support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-11 12:20:28 -04:00
José Fonseca
66f57235d5 llvmpipe: Debug code to dump interpolation coefficients. 2010-08-11 15:14:10 +01:00
José Fonseca
3deca2e284 llvmpipe: Use single precision divide for one over area computation. 2010-08-11 15:14:10 +01:00
Luca Barbieri
eee5cea385 auxiliary: fix u_split_prim naming convention
Current practice is to start identifiers with "util_" instead of "u_".
2010-08-11 11:08:51 +02:00
Luca Barbieri
0dcf0f9dfa auxiliary: move Ben Skeggs' primitive splitter to common code
This is a simple framework that handles splitting primitives in an
abstract way.

The user has to specify the primitive start, start index and count.

Then, it can ask the primitive splitter to "draw" a chunk of the
primitive, staying under a given vertex/index budget.

The primitive splitter will then call user-supplied functions to
emit a range of vertices/indices, as well as switch the edgeflag
on or off.

This is particularly useful for hardware that either has limits
on the vertex count field, or where vertices are pushed on a FIFO
or temporary buffer of limited size.

Note that unlike other splitters, it does not manipulate data in
any way, and merely asks a callback to do so, in vertex intervals.
2010-08-11 11:08:46 +02:00
Marek Olšák
ca5227ce8b r300g: initialize VAP_VTX_STATE_CNTL
This got lost during the rasterizer rewrite.
2010-08-11 04:48:56 +02:00
Marek Olšák
683ef52e19 r300g: implement gl_FrontFacing 2010-08-11 04:48:56 +02:00
Vinson Lee
34cdad62dd r300g: Remove unnecessary header. 2010-08-10 17:39:13 -07:00
Tom Stellard
c298bab60e r300/compiler: Implement hardware assisted loops for vertex shaders.
Single loops work, but nested loops do not.
2010-08-10 13:17:25 -07:00
Jerome Glisse
72f8edfc0b r600g: avoid reemiting literal, avoid scheduling empty cs
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-10 11:53:05 -04:00
nobled
e9f3994b16 llvmpipe: Always use floating-point operators for floating-point types
See:
http://bugs.freedesktop.org/29404
http://bugs.freedesktop.org/29407

Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-08-10 10:24:26 +01:00
José Fonseca
65b9747a54 util: Move _mm_shuffle_epi8() to u_sse.h.
It's bound to be useful elsewhere.
2010-08-09 17:31:18 +01:00
Jerome Glisse
95fb0bf58d r600g: fix r600 context structure, avoid segfault when no scissor
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-09 11:33:25 -04:00
Marek Olšák
29b7d26401 r300g: do not print shader compiler errors by default 2010-08-09 17:18:45 +02:00
Marek Olšák
2cad5350f9 r600g: fix some warnings 2010-08-09 15:00:19 +02:00
Marek Olšák
00963589b4 r600g: fill out some missing caps and sort them
The shader caps need additional corrections.

(based on a patch from netkas at Phoronix)
2010-08-09 14:59:54 +02:00
Dave Airlie
771ad67414 r300g: fix hiz/zmask offset emissions.
ofs is in dwords, so need to shift it for registers.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-09 19:56:45 +10:00
Luca Barbieri
3bb0719fe1 nouveau: fix maps with PIPE_TRANSFER_UNSYNCHRONIZED | PIPE_TRANSFER_DONTBLOCK
In this case, we were incorrectly prioritizing PIPE_TRANSFER_DONTBLOCK over
PIPE_TRANSFER_UNSYNCHRONIZED.

This can lead to failure in the Mesa VBO draw paths that end up specifying
both, but don't expect map to fail (in particular, the problem manifested as
a leak of buffer objects in teapot with other changes).
2010-08-09 05:02:12 +02:00
Marek Olšák
aef0fbd5b6 r300g: remove a flush
Ooops, it wasn't supposed to be there.
2010-08-08 23:20:43 +02:00
Marek Olšák
4f5e51068b r300g: flush zmasks of zbuffers we are going to use as samplers
It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
2010-08-08 22:53:31 +02:00
Marek Olšák
363b74f132 r300g: do not allocate a zmask block for 3D textures and cubemaps 2010-08-08 22:29:00 +02:00
Dave Airlie
b55f627937 r300g: take hiz/zmask offsets into a/c when clearing.
Need to add a test for multi-hiz/zmask db in a single context.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-08 19:12:14 +10:00
Marek Olšák
ab0a3f30b8 r300g: fix cbzb clears when hyperz is off 2010-08-07 02:00:21 +02:00
Maarten Maathuis
a838cee6bc nouveau: fix potential NULL-ptr dereference in nouveau_stateobj.h
- This can only be triggered when DEBUG_NOUVEAU_STATEOBJ is active.
- Also remove a redundant pointer assignment.

Reported-by: Roy Spliet <r.spliet@student.tudelft.nl>
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
2010-08-06 23:56:31 +02:00
Jerome Glisse
d9f72b9f90 r600g: add PA_CL_CLIP_CNTL definition
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-06 17:27:36 -04:00
Jerome Glisse
32251c34f0 r600g: fix rendering, only enable target we write too
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-06 17:23:43 -04:00
Jerome Glisse
b474478f20 r600g: really fix multi target support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-06 17:13:28 -04:00
Brian Paul
14e9fbee1c gallium: remove stray semicolons 2010-08-06 15:09:41 -06:00
Jerome Glisse
c3ad060488 r600g: finish multi target rendering support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-06 16:12:22 -04:00
Jerome Glisse
27041d7cb3 r600g: fix color format, indentation, defines
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-06 11:28:33 -04:00
Jerome Glisse
6e6103004c Revert "r600g: don't use dynamic state allocation for states"
This reverts commit 9c949d4a4d.

Conflicts:

	src/gallium/drivers/r600/r600_context.h
	src/gallium/drivers/r600/r600_draw.c
	src/gallium/drivers/r600/r600_shader.c
	src/gallium/drivers/r600/r600_state.c
2010-08-06 10:59:27 -04:00
Vinson Lee
a6859f5ccc r300g: Remove unnecessary headers. 2010-08-05 23:58:00 -07:00
Dave Airlie
5f6ab5e259 r600g: start to fix up multiple targets.
fixup exports from pixel shader for multi-cbs + depth buffer writing.

Still crashes GPU running any of the multi-buffer or depth writing
2010-08-06 16:05:24 +10:00
Dave Airlie
0a2a6c75bf r600g: add SRGB support.
This enables GL2.1 and passes glean's texture_srgb test.
2010-08-06 15:21:44 +10:00
Dave Airlie
fc47cb9d71 r600g: fixup z format translations.
this enables GL_EXT_packed_depth_stencil. fbo-d24s8 passes
2010-08-06 15:06:25 +10:00
Dave Airlie
b8de7788a4 r600g: fix targetmask to work correctly.
At least this seems to fix the glean maskedClear test.
2010-08-06 14:54:24 +10:00
Dave Airlie
2b90364765 r600g: improve supported format selection.
This fixes fbo-readpixels piglit test, and adds support for swapping
the formats. Not all formats are correct yet I don't think.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-06 14:53:38 +10:00
Dave Airlie
121a625c16 r600g: add bo wait after map. 2010-08-06 11:46:52 +10:00
Marek Olšák
4d10ec4f18 r300g: do not emit GB_Z_PEQ_CONFIG on non-r500 if DRM < 2.6.0 2010-08-06 03:14:43 +02:00
Jakob Bornecrantz
e00b17830b llvmpipe: Only get no rast option once 2010-08-05 17:25:13 -07:00
Luca Barbieri
bf5ee5aa4f nvfx: fix nv30 vertex program scalar opcodes
Apparently they have always been broken, even before unification.

Fixes a lot of stuff, starting from morph3d and lighting in teapot
with textures disabled.
2010-08-06 01:28:14 +02:00