Commit graph

18453 commits

Author SHA1 Message Date
José Fonseca
f9ccdbea67 util: Use right include. 2009-02-19 10:59:12 +00:00
Brian Paul
0a323fe09b cell: patch up cell_texture.c so it compiles
Start adding some new pipe_transfer code.

Texturing is totally broken at this point but non-texture programs
seem to run OK.
2009-02-18 21:50:20 -07:00
Brian Paul
0d4d700fe1 cell: updates for new pipe_transfer changes
Update framebuffer color/z/stencil mapping/unmapping.
2009-02-18 21:46:12 -07:00
Brian Paul
7475d80bf6 cell: update vbuf code to catch up to recent changes 2009-02-18 21:38:53 -07:00
Brian Paul
829c67fe80 cell: remove unused var 2009-02-18 21:38:17 -07:00
Brian Paul
15a3e4ffe2 cell: start adding new cell_transfer types/code 2009-02-18 21:36:29 -07:00
Brian Paul
734dc502b8 cell: remove old surface_map code 2009-02-18 21:35:56 -07:00
Brian Paul
5761c64823 mesa: convert VERT_RESULT_* from #defines to enum, like the others 2009-02-18 17:50:24 -07:00
Brian Paul
c4ffbf009e glsl: asst improvements, clean-ups in set_program_uniform()
Move the is_boolean/integer_type() calls out of the loops.
Move the is_sampler_type() function near the bool/int functions.
Add a bunch of comments.
2009-02-18 17:48:13 -07:00
Brian Paul
b9d8f717d2 glsl: fix inequality in set_program_uniform()
We were off by one when checking for too many uniform values.
2009-02-18 17:48:13 -07:00
Michel Dänzer
897331ed15 gallium/winsys/egl_xlib: Fix build after introduction of struct pipe_transfer. 2009-02-18 23:44:19 +01:00
Joakim Sindholt
310ea0354c r300-gallium: implement simple pipe_transfer Basically make the driver compile and behave like it did before the gallium-texture-transfer merge 2009-02-18 23:23:30 +01:00
Brian Paul
dac19f17f3 glsl: fix link failure for variable-indexed varying output arrays
If the vertex shader writes to a varying array with a variable index,
mark all the elements of that array as being written.

For example, if the vertex shader does:

   for (i = 0; i < 4; i++)
      gl_TexCoord[i] = expr;

Mark all texcoord outputs as being written, not just the first.

Linking will fail if a fragment shader tries to read an input that's not
written by the vertex shader.  Before this fix, this linker test could fail.
2009-02-18 14:28:44 -07:00
Nicolai Haehnle
be3813d58a swrast: Set vp_override flag during DrawPixels
Obviously, the color of fragments produced by DrawPixels is not constant,
even if the current vertex array / vertex program state indicates that the
color for normal rendering will be constant. Therefore, we need to override
certain optimisations that have been added to texenvprogram.c

Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
2009-02-18 21:52:51 +01:00
Brian Paul
621c999d82 mesa: improved error msg 2009-02-18 13:28:12 -07:00
Brian Paul
5b2f8dc013 mesa: increase MAX_UNIFORMS to 1024 (of vec4 type)
Old limit was 256.  Note that no arrays are declared to this size.
The only place we have to be careful about raising this limit is the
prog_src/dst_register Index bitfields.  These have been bumped up too.

Added assertions to check we don't exceed the bitfield in the future too.
2009-02-18 13:15:13 -07:00
Brian Paul
212f41b80f glsl: fix a swizzle-related regression
This new issue was exposed by commit 6eabfc27f1
2009-02-18 13:15:13 -07:00
Michel Dänzer
c738edcc68 gallium: Fix up trace driver for introduction of struct pipe_transfer. 2009-02-18 18:13:44 +01:00
Michel Dänzer
aba88b7ed7 gallium: Add pipe_transfer_reference(). 2009-02-18 18:12:31 +01:00
Michel Dänzer
3bd7c5ceff Merge branch 'gallium-texture-transfer'
Conflicts:
	src/gallium/drivers/softpipe/sp_tile_cache.c
2009-02-18 16:43:02 +01:00
Keith Whitwell
76d8951fd3 Merge commit 'origin/gallium-0.1'
Conflicts:

	src/gallium/auxiliary/draw/draw_vs_aos.c
2009-02-18 15:14:39 +00:00
Corbin Simpson
922000d38a r300-gallium: Factor out common functionality in vbuf emit. 2009-02-18 06:40:38 -08:00
Michel Dänzer
b89aa1d87a i915simple: Minimal fixup for introduction of struct pipe_transfer. 2009-02-18 13:14:02 +01:00
Keith Whitwell
8ef377d76b draw: Reuse xmm registers. 2009-02-17 21:45:54 +00:00
Keith Whitwell
3da38db594 gallium: fix merge
It looks like I resolved the merge conflicts but did not save my emacs
buffers before committing...
2009-02-16 20:19:40 +00:00
Keith Whitwell
59d54334c9 Merge branch 'master' into gallium-texture-transfer
Conflicts:

	src/mesa/state_tracker/st_cb_accum.c
	src/mesa/state_tracker/st_cb_drawpixels.c
2009-02-16 19:50:48 +00:00
Brian Paul
c5c383596d mesa: remove old comments
Note: the default value for EmitCondCodes is FALSE.  This means the GLSL
compiler will emit code like this:

SEQ TEMP[0].x, A, B;
IF TEMP[0].x;
   ...
ENDIF

But if EmitCondCodes is TRUE, condition codes will be used instead:

SEQ.C TEMP[0].x, A, B;
IF (NE.xxxx);
   ...
ENDIF
2009-02-16 12:04:16 -07:00
Brian Paul
a9e753c84c i965: tell GLSL compiler to emit code using condition codes
The default for EmitCondCodes got flipped when gallium-0.2 was merged.
This fixes GLSL if/else/endif regressions.
Drivers that use GLSL should always explicitly set the flag to be safe.
2009-02-16 12:04:16 -07:00
Patrice Mandin
0f4a91b509 nouveau: oops :-) 2009-02-16 18:44:17 +01:00
Brian Paul
9d49802b7a glsl: silence some uninit var warnings 2009-02-16 08:33:03 -07:00
Brian Paul
c51938afe1 cell: use some SPU intrinsics to get slightly better code in eval_inputs()
Suggested by Jonathan Adamczewski.  There may be more places to do this...
2009-02-16 08:33:03 -07:00
Corbin Simpson
ffbe28d25d r300-gallium: Add verbosity level to debugging.
Makes it a bit more manageable to read through the console logs.
2009-02-16 04:12:42 -08:00
Corbin Simpson
f211da4c67 r300-gallium: Fix BEGIN_CS and END_CS counting and mismatch. 2009-02-16 04:12:42 -08:00
Corbin Simpson
1bb2fb498e r300-gallium: Set up draw rasterizer. 2009-02-16 04:12:41 -08:00
Alan Hourihane
63b51b5cf1 dri2: support glXWaitX & glXWaitGL by using fake front buffer. 2009-02-16 11:47:05 +00:00
Corbin Simpson
18f20b70b1 r300-gallium: Ooops, forgot to apply this stash.
"git stash": The cause of, and solution to, all my problems.
2009-02-16 03:16:59 -08:00
Corbin Simpson
b16d439989 r300-gallium: Include-guard r300_emit.h 2009-02-16 03:16:59 -08:00
Corbin Simpson
1b77138a1e r300-gallium: Add draw_arrays and friends.
This is the last bit of Gallium-side plumbing for drawing things.
From this point on, the only missing parts should be in r3xx-specific
code areas...
2009-02-16 03:16:59 -08:00
Corbin Simpson
82722a75c5 r300-gallium: Add SC_CLIP_RULE to clear.
This is a register that is in r300_demo but not r300_surface, so adding it in
to see if it helps.
2009-02-16 03:16:59 -08:00
Brian Paul
9576ddd97d cell: minor Makefile clean-up 2009-02-15 14:03:25 -07:00
Brian Paul
37c4f7eed2 cell: new/tighter code for computing fragment program inputs 2009-02-15 14:03:24 -07:00
Brian Paul
96b19195ec cell: combine eval_z(), eval_w() functions 2009-02-15 14:03:24 -07:00
Corbin Simpson
484858ae48 r300-gallium: Fix scissors.
Don't use SCISSORS_OFFSET since we're DRI2,
and don't forget to set scissors in clear.
2009-02-15 05:05:59 -08:00
Corbin Simpson
4e309b5d64 r300-gallium: Grab bag of goodies.
Some fixes from glisse, moar swtcl emit setup, cleanup a bunch of regs,
properly do clear flush, and BEGIN_CS count fixes.
2009-02-15 05:05:59 -08:00
Corbin Simpson
39d0ac4826 r300-gallium: Clean up some clear registers. 2009-02-15 05:05:59 -08:00
Corbin Simpson
f176c94e49 r300-gallium: Use fui instead of a roll-my-own.
Man, util/u_math just gets better by the day.
2009-02-15 05:05:58 -08:00
Nicolai Haehnle
8520b15018 r300: Redirect constant TEX coordinates
R3xx/R5xx fragment program texture constants must come from a hardware
register instead of the constant file, so we redirect if necessary during
the native rewrite phase.

The symptoms of this bug started appearing when the Mesa fixed function
texenvprogram code started using STATE_CURRENT_ATTRIB constants for
texture coordinates when the corresponding attributes were constant across
all vertices.

Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
2009-02-14 17:36:04 +01:00
Corbin Simpson
76142d2b8b radeon-gallium: Clean out extensions explicitly enabled by Mesa.
This cleans up some of the cruft from the old DRI setup, and
it turns out that only the GLSL extensions are still off if we
let st_extensions.c handle the setup instead.
2009-02-14 02:51:02 -08:00
Corbin Simpson
5352ec3b87 r300-gallium: Update r300_screen comments and add a few formats. 2009-02-14 02:24:30 -08:00
Corbin Simpson
9a20ef0a52 r300-gallium: Enable all four colorbuffer render targets.
As far as I can tell all the state emission necessary has been set up.
Well, except for the fragment shader, but c'mon, gimme a break. :3
2009-02-14 02:07:29 -08:00