Brian Paul [Thu, 19 Feb 2009 00:40:44 +0000 (17:40 -0700)]
glsl: fix inequality in set_program_uniform()
We were off by one when checking for too many uniform values.
Michel Dänzer [Wed, 18 Feb 2009 22:39:36 +0000 (23:39 +0100)]
gallium/winsys/egl_xlib: Fix build after introduction of struct pipe_transfer.
Brian Paul [Wed, 18 Feb 2009 22:38:10 +0000 (15:38 -0700)]
mesa: bump gl.h version comment to 7.7 (bug 20170)
Joakim Sindholt [Wed, 18 Feb 2009 19:32:40 +0000 (20:32 +0100)]
r300-gallium: implement simple pipe_transfer Basically make the driver compile and behave like it did before the gallium-texture-transfer merge
Brian Paul [Wed, 18 Feb 2009 21:24:14 +0000 (14:24 -0700)]
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.
Nicolai Haehnle [Sun, 15 Feb 2009 12:34:43 +0000 (13:34 +0100)]
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>
Brian Paul [Wed, 18 Feb 2009 20:28:12 +0000 (13:28 -0700)]
mesa: improved error msg
Brian Paul [Wed, 18 Feb 2009 18:47:40 +0000 (11:47 -0700)]
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.
Brian Paul [Wed, 18 Feb 2009 18:06:57 +0000 (11:06 -0700)]
glsl: fix a swizzle-related regression
This new issue was exposed by commit
6eabfc27f19a10dfc2663e99f9560966ba1ff697
Keith Whitwell [Wed, 18 Feb 2009 18:20:50 +0000 (18:20 +0000)]
progs/trivial: Label program windows with actual program name
Each of these programs previously called itself "First Tri" which was a
little confusing. Could have left one as "First Tri", but the trouble
then is that people would still clone that file & we'd end up with
another thousand first tri apps...
Jakob Bornecrantz [Wed, 18 Feb 2009 17:12:18 +0000 (17:12 +0000)]
gallium: Also disable i965simple for scons
Please read previous commit for more info.
Jakob Bornecrantz [Wed, 18 Feb 2009 16:58:24 +0000 (16:58 +0000)]
gallium: Disable i965simple pipe driver after it was broken
It is only the i965simple pipe driver that was broken
in the gallium-texture-transfere merge that is being
disabled, mothing more nothing less.
FYI, there never where working i965 hardware support
in gallium anyways.
Michel Dänzer [Wed, 18 Feb 2009 17:13:44 +0000 (18:13 +0100)]
gallium: Fix up trace driver for introduction of struct pipe_transfer.
Michel Dänzer [Wed, 18 Feb 2009 17:12:31 +0000 (18:12 +0100)]
gallium: Add pipe_transfer_reference().
Michel Dänzer [Wed, 18 Feb 2009 15:43:02 +0000 (16:43 +0100)]
Merge branch 'gallium-texture-transfer'
Conflicts:
src/gallium/drivers/softpipe/sp_tile_cache.c
Keith Whitwell [Wed, 18 Feb 2009 15:14:39 +0000 (15:14 +0000)]
Merge commit 'origin/gallium-0.1'
Conflicts:
src/gallium/auxiliary/draw/draw_vs_aos.c
Corbin Simpson [Wed, 18 Feb 2009 14:38:21 +0000 (06:38 -0800)]
r300-gallium: Factor out common functionality in vbuf emit.
Michel Dänzer [Wed, 18 Feb 2009 12:14:02 +0000 (13:14 +0100)]
i915simple: Minimal fixup for introduction of struct pipe_transfer.
Keith Whitwell [Tue, 17 Feb 2009 21:45:54 +0000 (21:45 +0000)]
draw: Reuse xmm registers.
Keith Whitwell [Mon, 16 Feb 2009 20:19:40 +0000 (20:19 +0000)]
gallium: fix merge
It looks like I resolved the merge conflicts but did not save my emacs
buffers before committing...
Keith Whitwell [Mon, 16 Feb 2009 19:50:48 +0000 (19:50 +0000)]
Merge branch 'master' into gallium-texture-transfer
Conflicts:
src/mesa/state_tracker/st_cb_accum.c
src/mesa/state_tracker/st_cb_drawpixels.c
Brian Paul [Mon, 16 Feb 2009 18:50:05 +0000 (11:50 -0700)]
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
Brian Paul [Mon, 16 Feb 2009 18:45:57 +0000 (11:45 -0700)]
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.
Patrice Mandin [Mon, 16 Feb 2009 17:43:56 +0000 (18:43 +0100)]
nouveau: oops :-)
Dan Nicholson [Mon, 16 Feb 2009 17:28:35 +0000 (09:28 -0800)]
autoconf: Always enable glew
Maybe this should turn into an option (--disable-glew), but for now just
enable glew all the time.
Brian Paul [Mon, 16 Feb 2009 15:25:57 +0000 (08:25 -0700)]
glsl: silence some uninit var warnings
Brian Paul [Mon, 16 Feb 2009 15:25:33 +0000 (08:25 -0700)]
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...
Corbin Simpson [Mon, 16 Feb 2009 11:56:03 +0000 (03:56 -0800)]
r300-gallium: Add verbosity level to debugging.
Makes it a bit more manageable to read through the console logs.
Corbin Simpson [Mon, 16 Feb 2009 11:55:16 +0000 (03:55 -0800)]
r300-gallium: Fix BEGIN_CS and END_CS counting and mismatch.
Corbin Simpson [Mon, 16 Feb 2009 11:33:56 +0000 (03:33 -0800)]
r300-gallium: Set up draw rasterizer.
Alan Hourihane [Mon, 16 Feb 2009 11:54:58 +0000 (11:54 +0000)]
demos: fix glxpixmap and call glXWaitGL before calling XCopyArea.
Alan Hourihane [Mon, 16 Feb 2009 11:44:40 +0000 (11:44 +0000)]
dri2: support glXWaitX & glXWaitGL by using fake front buffer.
Corbin Simpson [Mon, 16 Feb 2009 11:13:16 +0000 (03:13 -0800)]
r300-gallium: Ooops, forgot to apply this stash.
"git stash": The cause of, and solution to, all my problems.
Corbin Simpson [Mon, 16 Feb 2009 11:03:28 +0000 (03:03 -0800)]
r300-gallium: Include-guard r300_emit.h
Corbin Simpson [Mon, 16 Feb 2009 10:53:34 +0000 (02:53 -0800)]
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...
Corbin Simpson [Mon, 16 Feb 2009 10:52:47 +0000 (02:52 -0800)]
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.
Brian Paul [Sun, 15 Feb 2009 19:08:47 +0000 (12:08 -0700)]
cell: minor Makefile clean-up
Brian Paul [Sun, 15 Feb 2009 19:08:02 +0000 (12:08 -0700)]
cell: new/tighter code for computing fragment program inputs
Brian Paul [Sun, 15 Feb 2009 16:25:22 +0000 (09:25 -0700)]
cell: combine eval_z(), eval_w() functions
Corbin Simpson [Sat, 14 Feb 2009 23:24:44 +0000 (15:24 -0800)]
r300-gallium: Fix scissors.
Don't use SCISSORS_OFFSET since we're DRI2,
and don't forget to set scissors in clear.
Corbin Simpson [Sat, 14 Feb 2009 12:41:29 +0000 (04:41 -0800)]
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.
Corbin Simpson [Sat, 14 Feb 2009 12:11:27 +0000 (04:11 -0800)]
r300-gallium: Clean up some clear registers.
Corbin Simpson [Sat, 14 Feb 2009 11:23:50 +0000 (03:23 -0800)]
r300-gallium: Use fui instead of a roll-my-own.
Man, util/u_math just gets better by the day.
Nicolai Haehnle [Sat, 14 Feb 2009 16:06:06 +0000 (17:06 +0100)]
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>
Corbin Simpson [Sat, 14 Feb 2009 10:40:33 +0000 (02:40 -0800)]
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.
Corbin Simpson [Sat, 14 Feb 2009 10:24:30 +0000 (02:24 -0800)]
r300-gallium: Update r300_screen comments and add a few formats.
Corbin Simpson [Sat, 14 Feb 2009 10:07:29 +0000 (02:07 -0800)]
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
Corbin Simpson [Sat, 14 Feb 2009 10:06:17 +0000 (02:06 -0800)]
r300-gallium: Add Z/stencil buffer format emit.
Also set BEGIN_CS correctly.
Corbin Simpson [Sat, 14 Feb 2009 09:55:38 +0000 (01:55 -0800)]
r300-gallium: Emit Z/stencil buffer offset.
Corbin Simpson [Sat, 14 Feb 2009 07:20:43 +0000 (23:20 -0800)]
r300-gallium: Add derived state for vertex formats.
Next up: The evil RS block.
Brian Paul [Sat, 14 Feb 2009 00:17:52 +0000 (17:17 -0700)]
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.
Brian Paul [Fri, 13 Feb 2009 23:56:25 +0000 (16:56 -0700)]
i965: add missing break for OPCODE_RET case
This doesn't effect correctness, but we were emitting an extraneous ADD.
Brian Paul [Thu, 12 Feb 2009 23:03:39 +0000 (16:03 -0700)]
i965: the return value of translate_insn() is never used. Make it void.
Brian Paul [Thu, 12 Feb 2009 22:40:04 +0000 (15:40 -0700)]
i965: minor clean-ups
Brian Paul [Thu, 12 Feb 2009 22:35:41 +0000 (15:35 -0700)]
i965: code clean-ups, comments, and minor refactoring
Brian Paul [Thu, 12 Feb 2009 22:35:02 +0000 (15:35 -0700)]
i965: updated comments
Brian Paul [Thu, 12 Feb 2009 22:04:21 +0000 (15:04 -0700)]
intel: turn on GL_ARB_shading_language_120
It's done in the Mesa GLSL compiler. The only part of it that might
matter in drivers is the centroid sampling option for MSAA.
Brian Paul [Thu, 12 Feb 2009 21:58:19 +0000 (14:58 -0700)]
i965: more reformatting/clean-up
Brian Paul [Thu, 12 Feb 2009 21:54:13 +0000 (14:54 -0700)]
i965: s/__inline/INLINE/
Brian Paul [Thu, 12 Feb 2009 21:53:30 +0000 (14:53 -0700)]
i965: formatting and indentation fixes
Brian Paul [Thu, 12 Feb 2009 21:47:56 +0000 (14:47 -0700)]
i965: fix inconsistant indentation in brw_wm.c
Robert Ellison [Fri, 13 Feb 2009 22:19:04 +0000 (15:19 -0700)]
i965: Eric Anholt's patch for bumping up texture sizes
I'm committing this because it fixes a conform failure; the failure occurs
on the TextureProxy test, where the test attempts to create proxy textures
at every level, but fails at the last level (border == 1, width == 1,
height == 1) because it's beyond MAX_TEXTURE_LEVELS.
Eric's original comment was:
idr said that in his review swrast was ready for it, and the 965 driver is
advertising it already though it has been resulting in many crashes due to
arrays using these defines not being big enough.
Jakob Bornecrantz [Fri, 13 Feb 2009 22:03:57 +0000 (23:03 +0100)]
trivial: Make tri-fog a bit more interesting to look at
Keith Whitwell [Wed, 18 Feb 2009 12:54:26 +0000 (12:54 +0000)]
Merge commit 'origin/draw-vbuf-interface'
José Fonseca [Wed, 18 Feb 2009 12:05:26 +0000 (12:05 +0000)]
util: Move p_debug.h into util module.
The debug functions depend on several util function for os abstractions, and
these depend on debug functions, so a seperate module is not possible.
José Fonseca [Tue, 17 Feb 2009 21:54:39 +0000 (21:54 +0000)]
util: (Re)enable memory debugging for all windows platforms.
José Fonseca [Tue, 17 Feb 2009 21:53:40 +0000 (21:53 +0000)]
wgl: Report memory leaks.
Keith Whitwell [Wed, 18 Feb 2009 10:08:19 +0000 (10:08 +0000)]
draw: Reuse xmm registers.
Corbin Simpson [Wed, 18 Feb 2009 05:31:33 +0000 (21:31 -0800)]
r300-gallium: Properly init shader state.
Corbin Simpson [Wed, 18 Feb 2009 05:30:55 +0000 (21:30 -0800)]
r300-gallium: Consolidate state updates.
Brian Paul [Tue, 17 Feb 2009 23:47:54 +0000 (16:47 -0700)]
mesa: add some debug code to help diagnose incomplete FBO attachments (disabled)
Brian Paul [Tue, 17 Feb 2009 23:31:59 +0000 (16:31 -0700)]
glsl: fix mistake in a comment
Brian Paul [Tue, 17 Feb 2009 23:12:49 +0000 (16:12 -0700)]
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).
Brian Paul [Tue, 17 Feb 2009 23:10:32 +0000 (16:10 -0700)]
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.
Brian Paul [Tue, 17 Feb 2009 22:57:46 +0000 (15:57 -0700)]
glsl: added --params option to stand-alone GLSL compiler
Prints program parameter info
Brian Paul [Tue, 17 Feb 2009 22:57:00 +0000 (15:57 -0700)]
mesa: when printing/dumping instruction, include relative addressing info
Not all cases were handled before.
Eric Anholt [Tue, 17 Feb 2009 18:53:37 +0000 (10:53 -0800)]
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.
Eric Anholt [Tue, 17 Feb 2009 18:53:11 +0000 (10:53 -0800)]
i965: Fix fallback on stencil drawing to fbo when the visual lacks stencil.
Noticed this with the fbotexture demo.
Eric Anholt [Wed, 11 Feb 2009 09:15:36 +0000 (01:15 -0800)]
intel: Clean up several 965 memory leaks on context destroy.
Alan Hourihane [Tue, 17 Feb 2009 09:56:06 +0000 (09:56 +0000)]
mesa: remove old comment as it's fixed elsewhere now.
Brian Paul [Tue, 17 Feb 2009 01:45:58 +0000 (18:45 -0700)]
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.
Alan Hourihane [Mon, 16 Feb 2009 20:20:55 +0000 (20:20 +0000)]
gallium: fix glean's vertProg1
RSQ test 2 (reciprocal square toot of negative value)
Jakob Bornecrantz [Fri, 13 Feb 2009 20:17:39 +0000 (21:17 +0100)]
trivial: Add a tri-unfilled-fog test
Corbin Simpson [Wed, 18 Feb 2009 05:32:40 +0000 (21:32 -0800)]
r300-gallium: Add draw_arrays for swtcl_emit.
The more I look at this, the more bugs I see.
Corbin Simpson [Wed, 18 Feb 2009 05:31:33 +0000 (21:31 -0800)]
r300-gallium: Properly init shader state.
Corbin Simpson [Wed, 18 Feb 2009 05:30:55 +0000 (21:30 -0800)]
r300-gallium: Consolidate state updates.
Corbin Simpson [Wed, 18 Feb 2009 03:23:09 +0000 (19:23 -0800)]
r300-gallium: Hook up new swtcl vbuf stage.
Hold on to your hats.
Corbin Simpson [Wed, 18 Feb 2009 03:04:39 +0000 (19:04 -0800)]
r300-gallium: Turn swtcl_emit into a vbuf_render stage.
Movin' out of the Stone Ages.
Corbin Simpson [Wed, 18 Feb 2009 02:45:19 +0000 (18:45 -0800)]
r300-gallium: Update r300_reg from classic Mesa.
Mostly needed a few defines for index buffers, but there's other goodies too.
Jakob Bornecrantz [Fri, 13 Feb 2009 16:53:49 +0000 (17:53 +0100)]
demos: Add polygon mode point to isosurf
Jakob Bornecrantz [Tue, 17 Feb 2009 15:04:02 +0000 (15:04 +0000)]
nv20: Use the new draw vbuf interface
Jakob Bornecrantz [Tue, 17 Feb 2009 14:47:42 +0000 (14:47 +0000)]
nv10: Use the new draw vbuf internface
Jakob Bornecrantz [Tue, 17 Feb 2009 14:37:20 +0000 (14:37 +0000)]
nv04: Use the new draw vbuf interface
Michel Dänzer [Fri, 13 Feb 2009 16:34:29 +0000 (17:34 +0100)]
gallium: Various coordinate fixups for texture transfers.
Fixes glReadPixels, gl(Copy)TexSubImage, glCopyPixels.
Corbin Simpson [Fri, 13 Feb 2009 16:14:42 +0000 (08:14 -0800)]
r300-gallium: Various thingies.
Add formats to framebuffer emit, fix up shader function names,
make sure fragment format is emitted for r500.
Dan Nicholson [Fri, 13 Feb 2009 15:31:24 +0000 (07:31 -0800)]
Add dummy install target for glew to fix 'make install'
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Dan Nicholson [Fri, 13 Feb 2009 14:34:09 +0000 (06:34 -0800)]
autoconf: Add GLEW needed by progs when building GLUT
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Brian Paul [Fri, 13 Feb 2009 15:11:01 +0000 (08:11 -0700)]
mesa: check if TNL state is null in _tnl_free_vertices() to avoid potential segfault
_tnl_free_vertices() is called from several places during context tear-down.
Depending on the order in which the swrast, swrast_setup and tnl context is
destroyed we could hit a null pointer here. This doesn't seem to be an
actual issue with any Mesa drivers, but let's be safe.
Brian Paul [Fri, 13 Feb 2009 14:44:02 +0000 (07:44 -0700)]
mesa: add additional texture size/limit assertions
Jakob Bornecrantz [Fri, 13 Feb 2009 10:37:25 +0000 (11:37 +0100)]
i915: Use the new draw vbuf interface