Commit Graph

21353 Commits

Author SHA1 Message Date
José Fonseca 06cd416d7c util: (Re)enable memory debugging for all windows platforms. 2009-02-18 11:17:06 +00:00
José Fonseca 673d01eda9 wgl: Report memory leaks. 2009-02-18 11:17:06 +00:00
Keith Whitwell c706ea4f45 draw: Reuse xmm registers. 2009-02-18 10:08:19 +00:00
Corbin Simpson c613e366a9 r300-gallium: Properly init shader state. 2009-02-17 21:34:12 -08:00
Corbin Simpson d25304a2f7 r300-gallium: Consolidate state updates. 2009-02-17 21:33:59 -08:00
Brian Paul 9f731c8962 mesa: add some debug code to help diagnose incomplete FBO attachments (disabled) 2009-02-17 16:47:54 -07:00
Brian Paul be8dd01678 glsl: fix mistake in a comment 2009-02-17 16:31:59 -07:00
Brian Paul f59719c6c7 mesa: turn on reporting of GLSL version 1.20
The new array features, precision/invariant/centroid qualifiers, etc. were
done a while back.  The glGetString(GL_SHADING_LANGUAGE_VERSION) query returns
"1.20" now (for drivers that support it anyway).
2009-02-17 16:17:13 -07:00
Brian Paul 6eabfc27f1 glsl: fix an array indexing bug
This fixes a bug found with swizzled array indexes such as in "array[index.z]"
where "index" is an ivec4.
2009-02-17 16:17:13 -07:00
Brian Paul edd8cb8c87 glsl: added --params option to stand-alone GLSL compiler
Prints program parameter info
2009-02-17 16:17:13 -07:00
Brian Paul f88a901598 mesa: when printing/dumping instruction, include relative addressing info
Not all cases were handled before.
2009-02-17 16:17:13 -07:00
Eric Anholt fd51cf1531 intel: Fix tri clear to do FBO color attachments as well.
This is a 2% win in fbo_firecube, and would avoid a sw fallback for
masked clears.
2009-02-17 11:30:48 -08:00
Eric Anholt c06f4e2a37 i965: Fix fallback on stencil drawing to fbo when the visual lacks stencil.
Noticed this with the fbotexture demo.
2009-02-17 11:30:09 -08:00
Eric Anholt 60953059ea intel: Clean up several 965 memory leaks on context destroy. 2009-02-17 10:58:32 -08:00
Alan Hourihane baef7c5474 mesa: remove old comment as it's fixed elsewhere now. 2009-02-17 09:56:33 +00:00
Brian Paul 07855a1d76 softpipe: some improvements to texture tile cache
Use a somewhat better function in tex_cache_pos() to get better caching.

Increase number of cache entries to 50.

Also fix a texture invalidation bug.  If texture is marked as modified,
invalidate all texture tiles.
2009-02-16 18:53:45 -07:00
Alan Hourihane b9de2089b1 gallium: fix glean's vertProg1
RSQ test 2 (reciprocal square toot of negative value)
2009-02-16 20:23:18 +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
Dan Nicholson 252671f6eb autoconf: Always enable glew
Maybe this should turn into an option (--disable-glew), but for now just
enable glew all the time.
2009-02-16 09:28:35 -08: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 cfae542d1f demos: fix glxpixmap and call glXWaitGL before calling XCopyArea. 2009-02-16 11:56:21 +00: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
Corbin Simpson 1c533bdeb6 r300-gallium: Add Z/stencil buffer format emit.
Also set BEGIN_CS correctly.
2009-02-14 02:06:17 -08:00
Corbin Simpson b45e5e2a12 r300-gallium: Emit Z/stencil buffer offset. 2009-02-14 01:55:38 -08:00
Corbin Simpson e511110b71 r300-gallium: Add derived state for vertex formats.
Next up: The evil RS block.
2009-02-13 23:22:39 -08:00
Brian Paul c51c822ee0 i965: rewrite the code for handling shader subroutine calls
Previously, the prog_instruction::Data field was used to map original Mesa
instructions to brw instructions in order to resolve subroutine calls.  This
was a rather tangled mess.  Plus it's an obstacle to implementing dynamic
allocation/growing of the instruction buffer (it's still a fixed size).

Mesa's GLSL compiler emits a label for each subroutine and CAL instruction.
Now we use those labels to patch the subroutine calls after code generation
has been done.  We just keep a list of all CAL instructions that needs patching
and a list of all subroutine labels.  It's a simple matter to resolve them.

This also consolidates some redundant post-emit code between brw_vs_emit.c and
brw_wm_glsl.c and removes some loops that cleared the prog_instruction::Data
fields at the end.

Plus, a bunch of new comments.
2009-02-13 17:18:36 -07:00
Brian Paul 74b6d55864 i965: add missing break for OPCODE_RET case
This doesn't effect correctness, but we were emitting an extraneous ADD.
2009-02-13 17:18:36 -07:00
Brian Paul 97937e0ac8 i965: the return value of translate_insn() is never used. Make it void. 2009-02-13 17:18:36 -07:00
Brian Paul 2f2082bf16 i965: minor clean-ups 2009-02-13 17:18:36 -07:00