Commit Graph

92185 Commits

Author SHA1 Message Date
Brian bf020d8d7f minor tweaks 2007-03-23 14:44:34 -06:00
Brian 2bdac09d16 updated comment 2007-03-23 10:46:08 -06:00
Nicolai Haehnle 654a308439 r300: Whitespace cleanup (remove trailing spaces) 2007-03-23 17:39:28 +01:00
Nian Wu ad76128204 Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-23 17:00:28 +08:00
Brian fe20a619cf updated comment 2007-03-22 16:07:43 -06:00
Brian e6aeb24b23 Overhaul emit_compare() function.
Previously, comparing vec2, vec3, vec4 was broken.
Added IR_EQUAL, IR_NOTEQUAL nodes/operators to compute boolean
equality/inequality vs. IR_SEQUAL/IR_SNEQUAL which work component-wise.
Use IR_EQUAL/IR_NOTEQUAL for the == and != operators.
To compute vec4 equality, use SNE, DP4, SEQ instruction sequence.
2007-03-22 16:07:14 -06:00
Brian 0aad9e2627 First pass at implementing structure compares.
Need to improve this.  There may be holes in a structure so we can't
just blindly compare the full 4-float registers.
2007-03-22 09:15:39 -06:00
Brian 12229f119d use _mesa_copy_instructions() 2007-03-22 09:11:26 -06:00
Brian 1bf81e3c5d In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow swizzleOut==NULL.
There are times when we don't want to allow swizzling when searching for or
adding vector constants.  Passing NULL for swizzleOut disables swizzling.
This fixes a constant/swizzle bug in link_uniform_vars().
2007-03-22 09:07:27 -06:00
Brian 1936b25ebd print conditional writemask, if enabled 2007-03-22 09:04:18 -06:00
Brian 002762b13a use _mesa_alloc_instructions() 2007-03-22 08:51:34 -06:00
Brian 1240eb2683 use _mesa_copy_instructions() 2007-03-22 08:50:20 -06:00
Alan Hourihane 985a2eff82 Ensure we have a valid ReadBuffer for CopyTexSubImage, and
if not bail accordingly.

Previously we'd only do this test on compressed textures.
2007-03-22 14:28:18 +00:00
Nian Wu 2eb656ef4f Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-22 17:00:33 +08:00
Xiang, Haihao 01b7f2ab2e fix for bug#10339
StateFlags has been updated in _mesa_add_state_reference
2007-03-22 11:01:51 +08:00
Brian 629ec2b06b added SWIZZLE_XYZW 2007-03-21 15:40:54 -06:00
Brian 2500d82d0d Support for user-defined structures.
struct == and != operators not finished yet.  Struct assignment works though.
2007-03-21 15:40:39 -06:00
Brian 97c9b3ecc6 disable apparently unused code 2007-03-21 15:38:46 -06:00
Brian e02b989ff9 indent 2007-03-21 14:45:34 -06:00
Brian 23d31efc16 merge from master 2007-03-21 11:57:30 -06:00
Brian 180cc2f845 disable assertion 2007-03-21 11:41:41 -06:00
Brian 88db19a484 document 1D convolution fix 2007-03-21 09:45:58 -06:00
Brian 249b451d20 1D convolution (and post-conv scale/bias) were inadvertantly applied to 2D image transfers. 2007-03-21 09:44:03 -06:00
Roland Scheidegger c5fe807e42 fix copy and paste bug from last commit in fog generation code for GL_LINEAR fog 2007-03-21 13:19:02 +01:00
Nian Wu 8ba06464ac Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-21 17:00:32 +08:00
Ben Skeggs 4b5d6c0435 nouveau: update for drm interface changes (0.0.5) 2007-03-21 17:54:57 +11:00
Ben Skeggs 6cadebbb67 nouveau: SwapBuffers() needs to perform a glFlush() 2007-03-21 15:07:12 +11:00
Xiang, Haihao 704cd61120 mesa: revert f9f79c8d77
to fix #10232

Table6.1(in gl2.1) has been applied for glGetTexImage
before calling into _mesa_pack_rgba_span_float.
2007-03-21 10:50:19 +08:00
Nicolai Haehnle 4bafc547df r300: Remove the program-global const_sin index
The index is no longer necessary to share constants between multiple
SIN/COS/SCS instructions inside a single fragment program, and storing
a tiny implementation detail like this in the fragment_program structure
itself was just nasty.
2007-03-21 00:58:02 +01:00
Nicolai Haehnle cbe38dc0ce r300: Whitespace cleanup (remove trailing spaces) 2007-03-20 18:40:09 +01:00
Xiang, Haihao cf4272d256 fix for bug#10347
not sure which brw surface for DXT3 & DXT5, so restore
the previous choice.(changed in commit
84081774e6)
2007-03-20 22:12:03 +08:00
Alan Hourihane bec665d5b5 use passed target parameter 2007-03-20 13:15:58 +00:00
Nian Wu 76444d042c Merge git://proxy01.pd.intel.com:9419/git/mesa/mesa into crestline 2007-03-20 13:10:46 +08:00
Ben Skeggs ecb1a1c82f nouveau: fix typo 2007-03-20 16:08:14 +11:00
Ben Skeggs 4185037af2 nouveau: fail translate if we use too many params somehow 2007-03-20 16:08:07 +11:00
Ben Skeggs 9622a634f6 nouveau: NVSDBG macro 2007-03-20 16:08:01 +11:00
Nicolai Haehnle 61821a41c0 r300: Cleanup fragment program constant allocation, share constants
The constant/parameter allocation was significantly simplified, removing
one unnecessary copy operation of parameters. The dirty state tracking is
unchanged and far from optimal, since all state is always re-fetched.

Constants and parameters are now emitted only once, which significantly
reduces the resource pressure on larger programs.
2007-03-19 23:59:59 +01:00
Nicolai Haehnle 5a65478783 r300: Fix special case (tmp.x <= 0) in fragment program LIT instruction
Also, fix a typo in a related comment.
2007-03-19 22:29:34 +01:00
Nicolai Haehnle b3acba87d7 r300: Clear fragment program instruction slots on first use
Make sure that instruction slots are fully initialized with NOPs during
find_and_prepare_slot(). This fixes a bug when a fragment program was
translated more than once (e.g. due to a second call to glProgramStringARB).

This partially fixes glean/fragProg1.
2007-03-19 22:29:21 +01:00
Brian fdcbbeb55e Properly compute render_inputs_bitset when using a vertex program/shader.
This fixes a performance regression introduced early in glsl-compiler-1 work.
2007-03-19 14:44:15 -06:00
Nicolai Haehnle 826815a5d2 r300: Dump fragment program after translation if RADEON_DEBUG=pixel is set 2007-03-19 20:02:19 +01:00
Nicolai Haehnle 7b992d024b r300: Whitespace cleanup (remove trailing spaces) 2007-03-19 19:49:06 +01:00
Nicolai Haehnle c4bf863f4c r300: Fix WRITEMASK handling when writing to result.depth
This is a necessary change to emit the right instructions when writing
to result.depth.

However, even with this test, Z-write doesn't work properly, and I don't
fully understand why. In addition to this, we'll at least have to disable
early-Z, but even that doesn't seem to be enough.
2007-03-19 19:48:58 +01:00
Nicolai Haehnle b645e8c96d r300: Streamlined fragment program LIT implementation
Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5)
and change the implementation around. In theory, the new implementation
needs as little as 5 instruction slots. Unfortunately, the dependency
analysis in find_and_replace_slot is not strong enough to look at
individual components of a register yet.
2007-03-19 19:10:21 +01:00
Nicolai Haehnle ff6ab9b45b r300: Fix fragment program reordering
Do not move an instruction that writes to a temp forward past an instruction
that reads the same temporary.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle ec1a77c864 r300: Fragment program dumps format tex instructions 2007-03-19 18:38:07 +01:00
Nicolai Haehnle a8e65a010c r300: Fix hw fragment program dump
Dumps of fragment programs were incorrect when the program consisted of multiple
nodes.

Also, improved the formatting a bit.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle 7b430acd71 r300: Fix fragment program instruction pairing and register allocation
There were a number of bugs related to the pairing of vector and scalar
operations where swizzles ended up using the wrong source register,
or an instruction was moved forward and ended up overwriting an aliased
register.

The new algorithm for register allocation is quite conservative and may
run out of registers before necessary. On the plus side, It Just Works.

Pairing is done whenever possible, and in more cases than before, so
in practice this change should be a net win.
2007-03-19 18:38:07 +01:00
Michel Dänzer 07db8c9115 i915tex: The intended triple buffering fix.
Making modifications while the editor spawned by git-commit was suspended
didn't have the intended effect.
2007-03-19 18:34:27 +01:00
Michel Dänzer 9b42100c04 i915tex: Fix triple buffering after recent Mesa core changes.
Remove superfluous _mesa_resize_framebuffer call which is now harmful because
it causes the third renderbuffer to have width/height 0, so Mesa refuses to
render to it.

In the long term, it would be nice to remove the hack in
intel_alloc_window_storage in favour of a proper Mesa interface for flipping
between more than two colour buffers.
2007-03-19 17:23:44 +01:00