Commit graph

15950 commits

Author SHA1 Message Date
José Fonseca
d16fcd07f8 pipebuffer: Debug buffer manager to detect buffer under- and overflows.
It should detect both cpu and gpu buffer overflows.
2008-07-02 12:29:07 +09:00
José Fonseca
ea4ca10b1b pipebuffer: Verify usage flag consistency. Minor cleanups. 2008-07-02 12:29:07 +09:00
Brian Paul
66b48202c2 mesa: fix a GLSL vector subscript/writemask bug
This fixes a failure for cases like:
   vec4 v;
   v[1] *= 2.0;

The v[1] actually acts like a writemask, equivalent to v.y
The fix is a bit convoluted, but will do for now.

cherry-picked from master
2008-07-01 18:40:23 -06:00
Brian Paul
eeefe175de mesa: move some functions
cherry-picked from master
2008-07-01 18:39:46 -06:00
Brian Paul
81a0acca31 mesa: make _slang_swizzle_swizzle() non-private
cherry-picked from master
2008-07-01 18:39:22 -06:00
Brian Paul
44c99ad236 mesa: better function inlining in the presence of 'return' statements
Before, the presence of a 'return' statement always prevented inlining
a function.  This was because we didn't want to accidentally return from
the _calling_ function.  We still need the semantic of 'return' when inlining
but we can't always use unconditional branches/jumps (GPUs don't always
support arbitrary branching).

Now, we allow inlining functions w/ return if the return is the last
statement in the function.  This fixes the common case of a function
that returns a value, such as:

vec4 square(const in vec4 x)
{
   return x * x;
}

which effectively compiles into:

vec4 square(const in vec4 x)
{
   __retVal = x * x;
   return;
}

The 'return' can be no-op'd now and we can inline the function.

cherry-picked from master
2008-07-01 11:48:57 -06:00
Brian Paul
7d4f01413f mesa: add/fix some IrInfo entries for debugging purposes
cherry-picked from master
2008-07-01 11:48:27 -06:00
Jakob Bornecrantz
e99ce4af8a i915: Last reference to surface -> pitch 2008-07-01 15:52:37 +02:00
José Fonseca
b3da2a9524 gallium: Use the inline keyword on C++. 2008-07-01 22:04:58 +09:00
José Fonseca
846f87d826 scons: Output mapfile on windows ddk profile builds. 2008-07-01 22:04:01 +09:00
Younes Manton
9833aec6cb g3dvl: Use block and stride instead of cpp and pitch. 2008-06-30 19:26:22 -04:00
Younes Manton
1c893fd513 g3dvl: Simplify shader code. 2008-06-30 10:11:02 -04:00
Younes Manton
3933fec6bd g3dvl: Support for field and frame based MC for progressive pictures.
MC support for frame and field based motion prediction. Also various bug
fixes, clean up.
2008-06-30 10:11:02 -04:00
Younes Manton
0a6aec8c0f g3dvl: Work around SP tex cache bug, specify resource usage flags. 2008-06-30 10:11:02 -04:00
Younes Manton
14d4f9e44e g3dvl: Get rid of some Valgrind errors.
Get rid of some Valgrind memory leak and uninitialized var errors.
2008-06-30 10:11:02 -04:00
José Fonseca
810888f656 gles: Don't define GLAPIENTRY here. 2008-06-30 12:49:32 +09:00
Ben Skeggs
c6ddcc10e3 nouveau: oops, bump the drm patchlevel back down again 2008-06-29 16:02:01 +10:00
Ben Skeggs
bf94027fdd nv50: fixes after rebase + commits note on the code that was just pushed.
OK, seems a lot of people have been getting the idea that nouveau is
dying lately - I decided to commit some of the work I've been doing lately
to prove them wrong :)  Progress on my side is slow due to lack of time
mainly, but I'm still around.

Firstly, don't even bother trying to use gallium on G8x/G9x yet, it won't
work.  I've deliberately left all the necessary winsys changes out of the
commits for a very good reason - I don't know what we're going to need from
the DRM exactly yet and don't want to be continually breaking interfaces
as I discover additional requirements.  On my side, I think I've gone
through about 3 different DRM interface changes, and have just discovered
that I may need more yet.  It'd be very annoying for everyone who uses
nouveau to keep things in sync.  Once I've got it sorted - I'll commit a
lot of cool stuff. Stay tuned.

Also, don't look at the shader code.. it's horribly nasty and full of hacks,
I used it as an opportunity to learn G8x GPU programs at the same time.
New semi-decent code is in works, and will follow at some point. :)
2008-06-29 16:00:42 +10:00
Ben Skeggs
70f0f0ebdf nv50: reverse stencil sides, header is wrong 2008-06-29 15:46:53 +10:00
Ben Skeggs
e52d37d56c nv50: fix line stipple 2008-06-29 15:46:53 +10:00
Ben Skeggs
fea9eb2842 nv50: don't multiply polygon offset units by 2.0 like on nv40 2008-06-29 15:46:53 +10:00
Ben Skeggs
e05f67cbe6 nv50: maybe some scissor fixes.. 2008-06-29 15:46:53 +10:00
Ben Skeggs
95d64ceb5a nv50: vpt translate/scale backwards 2008-06-29 15:46:53 +10:00
Ben Skeggs
e002ad7739 nv50: whoops 2008-06-29 15:46:52 +10:00
Ben Skeggs
2c2cb86461 nv50: rework miptree/texture/texsurf code a bit 2008-06-29 15:46:52 +10:00
Ben Skeggs
5a3362521d nv50: turn on depth test/write again, not 100% but winsys handles it better 2008-06-29 15:46:20 +10:00
Ben Skeggs
47771bcd2f nv50: maintain pipe surface status field 2008-06-29 15:46:19 +10:00
Ben Skeggs
e901302575 nv50: remove some debug 2008-06-29 15:46:19 +10:00
Ben Skeggs
5a3ea9ee59 nv50: simplify emit_interp a bit 2008-06-29 15:46:19 +10:00
Ben Skeggs
714cb4a86c nv50: make sure static buffers (constbuf, tex control etc) get on reloc list 2008-06-29 15:46:19 +10:00
Ben Skeggs
3b88c3f411 nv50: R32_FLOAT vbo format 2008-06-29 15:46:19 +10:00
Ben Skeggs
65ad8176ca nv50: move surface_map/unmap into nv50_surface.c 2008-06-29 15:46:19 +10:00
Ben Skeggs
fd7412a7f1 nv50: some people are just born stupid.. really.. 2008-06-29 15:46:19 +10:00
Ben Skeggs
598b2a5105 nv50: make TEX a halfie 2008-06-29 15:46:19 +10:00
Ben Skeggs
035a04d9c1 nv50: get tri-scissor-tri working 2008-06-29 15:46:19 +10:00
Ben Skeggs
bb9efb5534 nv50: separate state validation and upload, similar to nv40 2008-06-29 15:46:19 +10:00
Ben Skeggs
94999d39d4 nv50: fix blend colour 2008-06-29 15:46:19 +10:00
Ben Skeggs
5d30701492 nv50: use stateobjs for sampler/image_control uploads 2008-06-29 15:46:18 +10:00
Ben Skeggs
431504b99c nv50: hack of a TEX opcode 2008-06-29 15:46:18 +10:00
Ben Skeggs
bcbe6baac3 nv50: hacks for stuff I don't really get yet 2008-06-29 15:46:18 +10:00
Ben Skeggs
cae38d0fcc nv50: abuse constbuf upload for program upload 2008-06-29 15:46:18 +10:00
Ben Skeggs
fea0b16516 nv50: a couple more bits'n'pieces 2008-06-29 15:46:18 +10:00
Ben Skeggs
da66b8a2f4 nv50: disable inline IMMD for now, IMMD+pred == BANG!
fixes progs/fp/lit.txt
2008-06-29 15:46:18 +10:00
Ben Skeggs
fa5cd63f96 nv50: simplify interp crap a bit...
hopefully there wasn't a good reason I went the route I did.. can't recall..
2008-06-29 15:46:18 +10:00
Ben Skeggs
c0ed6a871c nv50: do tsc/tic upload + stub out shader TEX stuff 2008-06-29 15:46:18 +10:00
Ben Skeggs
0d7f25c890 nv50: disable ztest for now - it doesn't work still 2008-06-29 15:46:18 +10:00
Ben Skeggs
101305f37f nv50: flag to indicate to winsys we want a surface for use as a zeta buffer
NVIDIA love to make life difficult.. we need different flags in PTEs for
zeta.. yay.. not.
2008-06-29 15:46:18 +10:00
Ben Skeggs
2fdeb4d5a5 nv50: comment on a so-far unseen bug 2008-06-29 15:46:18 +10:00
Ben Skeggs
4d520e0b76 nv50: another vbo format 2008-06-29 15:46:18 +10:00
Ben Skeggs
4bde3a72ab nv50: fix blend cso 2008-06-29 15:46:18 +10:00