platform/upstream/mesa.git
15 years agoMerge commit 'origin/master' into gallium-map-range
José Fonseca [Wed, 4 Mar 2009 16:44:31 +0000 (16:44 +0000)]
Merge commit 'origin/master' into gallium-map-range

15 years agomesa: Clear cache->trans after destroying the transfer.
José Fonseca [Wed, 4 Mar 2009 16:43:13 +0000 (16:43 +0000)]
mesa: Clear cache->trans after destroying the transfer.

15 years agomesa: Clear cache->trans after destroying the transfer.
José Fonseca [Wed, 4 Mar 2009 16:43:13 +0000 (16:43 +0000)]
mesa: Clear cache->trans after destroying the transfer.

15 years agocell: update cell driver after gallium reference count changes
Brian Paul [Wed, 4 Mar 2009 16:34:46 +0000 (09:34 -0700)]
cell: update cell driver after gallium reference count changes

15 years agoRevert "vbo: avoid getting buffer_ptr and buffer_map out of sync"
Keith Whitwell [Wed, 4 Mar 2009 16:09:14 +0000 (16:09 +0000)]
Revert "vbo: avoid getting buffer_ptr and buffer_map out of sync"

This fixed a minor bug but broke everything else.

This reverts commit 579ef8ab1984d895867f547afa60b3bec4c4599a.

15 years agogallium: Ensure map ranges are valid.
José Fonseca [Wed, 4 Mar 2009 16:07:51 +0000 (16:07 +0000)]
gallium: Ensure map ranges are valid.

15 years agovbo: avoid getting buffer_ptr and buffer_map out of sync
Keith Whitwell [Wed, 4 Mar 2009 16:06:05 +0000 (16:06 +0000)]
vbo: avoid getting buffer_ptr and buffer_map out of sync

15 years agoMerge commit 'origin/master' into gallium-map-range
José Fonseca [Wed, 4 Mar 2009 15:23:35 +0000 (15:23 +0000)]
Merge commit 'origin/master' into gallium-map-range

15 years agovbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is active
Keith Whitwell [Wed, 4 Mar 2009 15:15:43 +0000 (15:15 +0000)]
vbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is active

Add asserts for expected values on wakeup and flush.  Remove cases where
this flag is set or cleared except when waking up and flushing vbo module.

15 years agomesa: include mfeatures.h
Brian Paul [Wed, 4 Mar 2009 14:57:40 +0000 (07:57 -0700)]
mesa: include mfeatures.h

See bug 20319.

15 years agomesa: Implement and use FlushMappedBufferRange.
José Fonseca [Wed, 4 Mar 2009 11:59:00 +0000 (11:59 +0000)]
mesa: Implement and use FlushMappedBufferRange.

15 years agogallium: Remove some superfluous instances of #include "p_inlines.h".
Michel Dänzer [Wed, 4 Mar 2009 10:58:52 +0000 (11:58 +0100)]
gallium: Remove some superfluous instances of #include "p_inlines.h".

15 years agogallium: Unify reference counting.
Michel Dänzer [Wed, 4 Mar 2009 10:58:48 +0000 (11:58 +0100)]
gallium: Unify reference counting.

The core reference counting code is centralized in p_refcnt.h.

This has some consequences related to struct pipe_buffer:

* The screen member of struct pipe_buffer must be initialized, or
  pipe_buffer_reference() will crash trying to destroy a buffer with reference
  count 0. u_simple_screen takes care of this, but I may have missed some of
  the drivers not using it.
* Except for rare exceptions deep in winsys code, buffers must always be
  allocated via pipe_buffer_create() or via screen->*buffer_create() rather
  than via winsys->*buffer_create().

15 years agor300-gallium, radeon-gallium: Continue migration to DRI2 state_tracker, part 2.
Corbin Simpson [Wed, 4 Mar 2009 06:11:56 +0000 (22:11 -0800)]
r300-gallium, radeon-gallium: Continue migration to DRI2 state_tracker, part 2.

Almost there. glxinfo still works, and AFAICT so does trivial/clear.

15 years agor300-gallium, radeon-gallium: Begin migration to DRI2 state tracker, part 1.
Corbin Simpson [Wed, 4 Mar 2009 05:14:33 +0000 (21:14 -0800)]
r300-gallium, radeon-gallium: Begin migration to DRI2 state tracker, part 1.

s/migration/migrane/ , actually. Anyway, this has working glxinfo...

15 years agomesa: include main/dd.h in t_vb_points.c and t_vp_build.c
Brian Paul [Wed, 4 Mar 2009 03:45:45 +0000 (20:45 -0700)]
mesa: include main/dd.h in t_vb_points.c and t_vp_build.c

For some reason makedepend doesn't seem to find the dependency on this
header in these two files.  Directly including the header is a work-around.

15 years agost/dri2: Fake frontbuffer changes
Jakob Bornecrantz [Tue, 3 Mar 2009 23:36:59 +0000 (00:36 +0100)]
st/dri2: Fake frontbuffer changes

Front buffer rendering works as it stands but it completely
wrong. But as it stands fake front buffer rendering is
completely broken. So we keep it as it is. But lets atleast
handle it in the get buffers code.

15 years agost/dri2: Hook up flush_frontbuffer
Jakob Bornecrantz [Tue, 3 Mar 2009 23:35:33 +0000 (00:35 +0100)]
st/dri2: Hook up flush_frontbuffer

Doesn't do anything because we can't tell the X server about
any changes to the fake front buffer.

15 years agost/dri2: We are strictly a dri2 driver
Jakob Bornecrantz [Tue, 3 Mar 2009 23:31:35 +0000 (00:31 +0100)]
st/dri2: We are strictly a dri2 driver

15 years agost/drm: s/hocks/hooks/
Jakob Bornecrantz [Tue, 3 Mar 2009 20:56:10 +0000 (21:56 +0100)]
st/drm: s/hocks/hooks/

15 years agogallium: remove old state tracker renderbuffer attachment assertion
Brian Paul [Tue, 3 Mar 2009 21:01:49 +0000 (14:01 -0700)]
gallium: remove old state tracker renderbuffer attachment assertion

Not needed since renderbuffers are ref-counted.
Fixes progs/demos/shadowtex.

15 years agoxlib: code to force fixed function -> shader translation (for debug, disabled)
Brian Paul [Tue, 3 Mar 2009 21:01:10 +0000 (14:01 -0700)]
xlib: code to force fixed function -> shader translation (for debug, disabled)

15 years agomesa: fix sw fallback state validation bug
Brian Paul [Tue, 3 Mar 2009 20:52:24 +0000 (13:52 -0700)]
mesa: fix sw fallback state validation bug

When a hw driver fell back to swrast, swrast wasn't always getting informed
of program changes.  When fixed function is translated into shaders, flags
like _NEW_LIGHT, _NEW_TEXTURE, etc. should really signal _NEW_PROGRAM.
In this case, swrast wasn't seeing _NEW_PROGRAM when new fragment shaders
were generated.

15 years agomesa: Massage the interface to more closely resemble ARB_map_buffer_range
José Fonseca [Tue, 3 Mar 2009 18:52:51 +0000 (18:52 +0000)]
mesa: Massage the interface to more closely resemble ARB_map_buffer_range

15 years agogallium: Massage the interface to more closely resemble ARB_map_buffer_range
José Fonseca [Tue, 3 Mar 2009 18:52:16 +0000 (18:52 +0000)]
gallium: Massage the interface to more closely resemble ARB_map_buffer_range

15 years agowgl: Support the same combinations of single buffer pixel formats.
José Fonseca [Tue, 3 Mar 2009 17:54:38 +0000 (17:54 +0000)]
wgl: Support the same combinations of single buffer pixel formats.

15 years agoMerge commit 'origin/master' into gallium-map-range
José Fonseca [Tue, 3 Mar 2009 15:43:12 +0000 (15:43 +0000)]
Merge commit 'origin/master' into gallium-map-range

15 years agodemos/engine: respect display list mode when drawing pistons
Keith Whitwell [Tue, 3 Mar 2009 15:39:51 +0000 (15:39 +0000)]
demos/engine: respect display list mode when drawing pistons

15 years agoautoconf: Update config.guess and config.sub from upstream
Dan Nicholson [Tue, 3 Mar 2009 14:55:15 +0000 (06:55 -0800)]
autoconf: Update config.guess and config.sub from upstream

Grabbed the latest copies from the GNU config repo at
http://git.savannah.gnu.org/cgit/config.git .

15 years agoMerge commit 'origin/master' into gallium-map-range
José Fonseca [Tue, 3 Mar 2009 13:18:15 +0000 (13:18 +0000)]
Merge commit 'origin/master' into gallium-map-range

15 years agoMerge commit 'origin/gallium-0.1'
José Fonseca [Tue, 3 Mar 2009 12:26:21 +0000 (12:26 +0000)]
Merge commit 'origin/gallium-0.1'

Conflicts:
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c

15 years agopipebuffer: Cleanup merge.
José Fonseca [Tue, 3 Mar 2009 12:22:59 +0000 (12:22 +0000)]
pipebuffer: Cleanup merge.

15 years agowinsys: return null for DONTBLOCK flag on existing winsys
Keith Whitwell [Tue, 3 Mar 2009 12:11:08 +0000 (12:11 +0000)]
winsys: return null for DONTBLOCK flag on existing winsys

Add code so that existing driver behaviour doesn't change.

15 years agopb: fix up merge mistakes
Keith Whitwell [Tue, 3 Mar 2009 12:10:56 +0000 (12:10 +0000)]
pb: fix up merge mistakes

15 years agopipebuffer: Fix copy'n'paste typo.
José Fonseca [Tue, 3 Mar 2009 12:01:01 +0000 (12:01 +0000)]
pipebuffer: Fix copy'n'paste typo.

15 years agoMerge commit 'origin/gallium-0.1'
Keith Whitwell [Tue, 3 Mar 2009 11:51:14 +0000 (11:51 +0000)]
Merge commit 'origin/gallium-0.1'

Conflicts:

scons/gallium.py
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/include/pipe/p_defines.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_exec_draw.c

15 years agovbo: missing line from previous commit
Keith Whitwell [Tue, 3 Mar 2009 10:55:25 +0000 (10:55 +0000)]
vbo: missing line from previous commit

15 years agomesa/st: implement MapBufferRange callback
Keith Whitwell [Tue, 3 Mar 2009 10:47:31 +0000 (10:47 +0000)]
mesa/st: implement MapBufferRange callback

Using PIPE_BUFFER_USAGE_DONTBLOCK.

15 years agovbo: use MapBufferRange where available
Keith Whitwell [Tue, 3 Mar 2009 10:46:12 +0000 (10:46 +0000)]
vbo: use MapBufferRange where available

Previously would have to allocate a new VBO after firing a draw command
as subsequent call to Map() on old VBO might block if the driver had
submitted the commands to hardware.

15 years agomesa: add MapBufferRange driver callbacks
Keith Whitwell [Tue, 3 Mar 2009 10:44:35 +0000 (10:44 +0000)]
mesa: add MapBufferRange driver callbacks

Will be needed in coming GL extensions (GL_map_buffer_range, GL 3.0).
Will be used by the vbo module to avoid reallocating vbo's at each
draw primitive call.

15 years agomesa: Add BeginVertices driver call
Keith Whitwell [Tue, 3 Mar 2009 10:41:57 +0000 (10:41 +0000)]
mesa: Add BeginVertices driver call

Provides notification to the VBO modules prior to the first immediate call.
Pairs with FlushVertices()

15 years agointel: Add Xorg driver
Jakob Bornecrantz [Tue, 3 Mar 2009 02:24:31 +0000 (03:24 +0100)]
intel: Add Xorg driver

15 years agointel: Add dri2 driver for gallium
Jakob Bornecrantz [Tue, 3 Mar 2009 02:23:32 +0000 (03:23 +0100)]
intel: Add dri2 driver for gallium

15 years agost/xorg: Add Xorg state tracker
Jakob Bornecrantz [Tue, 3 Mar 2009 02:22:46 +0000 (03:22 +0100)]
st/xorg: Add Xorg state tracker

15 years agost/dri2: Add DRI2 a state tracker
Jakob Bornecrantz [Tue, 3 Mar 2009 02:22:05 +0000 (03:22 +0100)]
st/dri2: Add DRI2 a state tracker

This was based of the unfinnished code that Keith
Whitwell started on but never finnished. I moved
the code from the glx directory because dri drivers
can be used for more things then just glx.

15 years agointel: Increase max relocs per batchbuffer
Jakob Bornecrantz [Tue, 3 Mar 2009 01:05:52 +0000 (02:05 +0100)]
intel: Increase max relocs per batchbuffer

15 years agomesa: save some useful VBO debug/dump code (disabled)
Brian Paul [Tue, 3 Mar 2009 00:55:09 +0000 (17:55 -0700)]
mesa: save some useful VBO debug/dump code (disabled)

15 years agomesa: more tex image debug/dumping code
Brian Paul [Tue, 3 Mar 2009 00:52:30 +0000 (17:52 -0700)]
mesa: more tex image debug/dumping code

15 years agomesa: comments and code documenting a bug with depth 32 TrueColor drawing/reading
Brian Paul [Tue, 3 Mar 2009 00:51:44 +0000 (17:51 -0700)]
mesa: comments and code documenting a bug with depth 32 TrueColor drawing/reading

It seems that XGetImage() from a depth 32 TrueColor window is flakey.
Drawing with XPutImage() instead of XPutPixel() seems to work better, but
still not perfectly.

Keep using the original code for now until more is learned.

15 years agomesa: move call to update_texture_compare_function()
Brian Paul [Mon, 2 Mar 2009 22:21:50 +0000 (15:21 -0700)]
mesa: move call to update_texture_compare_function()

Another conditional can be avoided.

15 years agomesa: fix texture enable regression
Brian Paul [Mon, 2 Mar 2009 22:19:53 +0000 (15:19 -0700)]
mesa: fix texture enable regression

Need to clear the _ReallyEnabled field before possibly continuing the loop.
Also, set _Current pointer to NULL if the unit is no longer enabled.

Fixes piglit lodbias regression

15 years agomesa: use _mesa_reference_texobj() when setting texUnit->Current pointer
Brian Paul [Mon, 2 Mar 2009 21:27:16 +0000 (14:27 -0700)]
mesa: use _mesa_reference_texobj() when setting texUnit->Current pointer

Fixes piglit copytexsubimage regression.

15 years agomesa: don't draw arrays if vertex position array is not enabled
Brian Paul [Mon, 2 Mar 2009 19:27:16 +0000 (12:27 -0700)]
mesa: don't draw arrays if vertex position array is not enabled

For regular GL, we must have vertex positions in order to draw.  But ES2
doesn't have that requirement (positions can be computed from any array
of data).

See bug 19911.

15 years agogallium: only enable depth test if a depth bufffer is available
Brian Paul [Mon, 2 Mar 2009 18:27:32 +0000 (11:27 -0700)]
gallium: only enable depth test if a depth bufffer is available

15 years agomesa: remove warning/short-circuit of stencil enable w/ no stencil buffer
Brian Paul [Mon, 2 Mar 2009 18:49:19 +0000 (11:49 -0700)]
mesa: remove warning/short-circuit of stencil enable w/ no stencil buffer

With FBOs one could enable stencil before a stencil buffer is later bound.

15 years agomesa: use Stencil._Enabled field instead of Stencil.Enabled
Brian Paul [Mon, 2 Mar 2009 18:47:52 +0000 (11:47 -0700)]
mesa: use Stencil._Enabled field instead of Stencil.Enabled

15 years agomesa: add ctx->Stencil._Enabled field
Brian Paul [Mon, 2 Mar 2009 18:46:49 +0000 (11:46 -0700)]
mesa: add ctx->Stencil._Enabled field

Only true if stenciling is enabled, and there's a stencil buffer.

15 years agonouveau: Grab correct surface from temp texture for transfers.
Younes Manton [Mon, 2 Mar 2009 17:57:56 +0000 (12:57 -0500)]
nouveau: Grab correct surface from temp texture for transfers.

15 years agog3dvl: Grab surface pointer when flushing front buffer in SP winsys.
Younes Manton [Wed, 25 Feb 2009 20:09:20 +0000 (15:09 -0500)]
g3dvl: Grab surface pointer when flushing front buffer in SP winsys.

15 years agoswrast: use _EnabledCoordUnits for fixed-function texturing
Brian Paul [Mon, 2 Mar 2009 18:00:28 +0000 (11:00 -0700)]
swrast: use _EnabledCoordUnits for fixed-function texturing

Using _EnabledUnits was wrong because it included vertex texture units.

This change plus the prev commit fixes occasional failures of glean/glsl1
vertex texture test failure.

15 years agomesa: fixed computation of _EnabledCoordUnits
Brian Paul [Mon, 2 Mar 2009 17:58:51 +0000 (10:58 -0700)]
mesa: fixed computation of _EnabledCoordUnits

This field should not include vertex textures.  It indicates the coord
inputs for fragment / fixed-function processing.

15 years agopipebuffer: Cleanup code & comments.
José Fonseca [Mon, 2 Mar 2009 17:45:35 +0000 (17:45 +0000)]
pipebuffer: Cleanup code & comments.

15 years agopipebuffer: Handle PIPE_BUFFER_USAGE_DONTBLOCK flag.
José Fonseca [Mon, 2 Mar 2009 17:35:28 +0000 (17:35 +0000)]
pipebuffer: Handle PIPE_BUFFER_USAGE_DONTBLOCK flag.

Conflicts:

src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c

15 years agogallium: New PIPE_BUFFER_USAGE_DONTBLOCK flag.
José Fonseca [Mon, 2 Mar 2009 17:18:21 +0000 (17:18 +0000)]
gallium: New PIPE_BUFFER_USAGE_DONTBLOCK flag.

To prevent blocking when mapping a buffer.

15 years agopipebuffer: Wait for the GPU to finish reading too.
José Fonseca [Mon, 2 Mar 2009 17:32:37 +0000 (17:32 +0000)]
pipebuffer: Wait for the GPU to finish reading too.

No real change, as we're not tracking relocations read/write access yet.

15 years agopipebuffer: Remove unused var.
José Fonseca [Tue, 24 Feb 2009 11:22:24 +0000 (11:22 +0000)]
pipebuffer: Remove unused var.

15 years agomesa: clarify comments for per-unit texture bitfields
Brian Paul [Sun, 1 Mar 2009 01:36:48 +0000 (18:36 -0700)]
mesa: clarify comments for per-unit texture bitfields

15 years agomesa: move texture_override() code into calling loop
Brian Paul [Sun, 1 Mar 2009 00:40:41 +0000 (17:40 -0700)]
mesa: move texture_override() code into calling loop

We can avoid a few iterations this way.

15 years agomesa: move update_texture_compare_function() call out of loop
Brian Paul [Sun, 1 Mar 2009 00:02:49 +0000 (17:02 -0700)]
mesa: move update_texture_compare_function() call out of loop

15 years agomesa: remove unused AUX buffers
Brian Paul [Sat, 28 Feb 2009 19:21:18 +0000 (12:21 -0700)]
mesa: remove unused AUX buffers

Remove all references to aux buffers 1..3.  Keep AUX0 around for now just
in case, but it'll probably go too someday.  I don't know of any OpenGL
drivers since the IRIX days that support aux color buffers.

15 years agomesa: remove VF_SOURCES, simplify MATH_XFORM_SOURCES
Brian Paul [Mon, 2 Mar 2009 15:05:30 +0000 (08:05 -0700)]
mesa: remove VF_SOURCES, simplify MATH_XFORM_SOURCES

15 years agoMerge commit 'origin/master' into gallium-map-range
José Fonseca [Mon, 2 Mar 2009 13:27:46 +0000 (13:27 +0000)]
Merge commit 'origin/master' into gallium-map-range

15 years agor300-gallium: Clean up casts and indents.
Corbin Simpson [Mon, 2 Mar 2009 02:24:40 +0000 (18:24 -0800)]
r300-gallium: Clean up casts and indents.

15 years agor300-gallium: Split off invariant state.
Corbin Simpson [Mon, 2 Mar 2009 02:12:05 +0000 (18:12 -0800)]
r300-gallium: Split off invariant state.

It's kind of like a CSO todo list. :3

15 years agor300-gallium: Add RADEON_NO_TCL debugging option.
Corbin Simpson [Sat, 28 Feb 2009 22:07:17 +0000 (14:07 -0800)]
r300-gallium: Add RADEON_NO_TCL debugging option.

Just like R300_NO_TCL, when set, forces HW TCL off.

15 years agor300-gallium: Fix register count.
Corbin Simpson [Sat, 28 Feb 2009 22:01:28 +0000 (14:01 -0800)]
r300-gallium: Fix register count.

15 years agor300-gallium: Fix hardlocks on trivial/clear.
Corbin Simpson [Sat, 28 Feb 2009 21:27:28 +0000 (13:27 -0800)]
r300-gallium: Fix hardlocks on trivial/clear.

I'm so happy I could cry.

15 years agor300-gallium: Use rs_state emit for r300_surface, move a few things around.
Corbin Simpson [Sat, 28 Feb 2009 19:21:29 +0000 (11:21 -0800)]
r300-gallium: Use rs_state emit for r300_surface, move a few things around.

Also a possible fix for non-TCL chipsets and trivial/clear.

15 years agor300-gallium: Move maths from r300_state to r300_state_inlines.
Corbin Simpson [Sat, 28 Feb 2009 19:20:26 +0000 (11:20 -0800)]
r300-gallium: Move maths from r300_state to r300_state_inlines.

15 years agomesa: just re-order some parts and update comments in sources.mak
Brian Paul [Sat, 28 Feb 2009 18:56:15 +0000 (11:56 -0700)]
mesa: just re-order some parts and update comments in sources.mak

15 years agomesa: rename, reorder FRAG_RESULT_x tokens
Brian Paul [Sat, 28 Feb 2009 18:49:46 +0000 (11:49 -0700)]
mesa: rename, reorder FRAG_RESULT_x tokens

s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/
s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/
Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it.
Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).

15 years agomesa: add gallium state tracker sources to ALL_SOURCES
Brian Paul [Sat, 28 Feb 2009 18:16:00 +0000 (11:16 -0700)]
mesa: add gallium state tracker sources to ALL_SOURCES

This should fix some missing dependency checking.

15 years agomesa: convert some #defines to enums
Brian Paul [Sat, 28 Feb 2009 17:58:57 +0000 (10:58 -0700)]
mesa: convert some #defines to enums

This makes debugging with gdb a bit easier.
Ex:
(gdb) p ctx->DrawBuffer.Attachment[BUFFER_STENCIL]

Note however that gdb only seems to recognize enum types that are actually
used to declare a variable somewhere.  For example, gl_buffer_index isn't
used to declare any vars so it's invisible to gdb.  Work around this by
adding a dummy function in context.c that declares some vars with these
new types.

15 years agodemos: add progs/glsl/shadow_sampler.c to test GLSL shadow2D(), etc.
Brian Paul [Sat, 28 Feb 2009 00:27:20 +0000 (17:27 -0700)]
demos: add progs/glsl/shadow_sampler.c to test GLSL shadow2D(), etc.

Heh, I wrote this program a long time ago but just discovered today that
it wasn't in git.

15 years agomesa: move _GenFlags = 0x0 to texgen loop
Brian Paul [Fri, 27 Feb 2009 23:44:28 +0000 (16:44 -0700)]
mesa: move _GenFlags = 0x0 to texgen loop

15 years agomesa: use fp pointer in _tnl_InvalidateState()
Brian Paul [Fri, 27 Feb 2009 22:42:35 +0000 (15:42 -0700)]
mesa: use fp pointer in _tnl_InvalidateState()

15 years agomesa: fix remaining FEEDBACK_TOKEN macros
Joakim Sindholt [Sat, 28 Feb 2009 17:51:09 +0000 (18:51 +0100)]
mesa: fix remaining FEEDBACK_TOKEN macros

Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
15 years agor300-gallium: Cleanup color formats.
Corbin Simpson [Sat, 28 Feb 2009 17:55:09 +0000 (09:55 -0800)]
r300-gallium: Cleanup color formats.

15 years agor300-gallium: Be more Gallium-ish in some of the math.
Corbin Simpson [Sat, 28 Feb 2009 17:12:16 +0000 (09:12 -0800)]
r300-gallium: Be more Gallium-ish in some of the math.

15 years agor300-gallium: Move all state translators to r300_state_inlines.
Corbin Simpson [Sat, 28 Feb 2009 16:58:05 +0000 (08:58 -0800)]
r300-gallium: Move all state translators to r300_state_inlines.

Tryin' to do some cleanup.

15 years agomesa: move #include "bitset.h" out of mtypes.h - not needed in core Mesa
Brian Paul [Sat, 28 Feb 2009 17:08:22 +0000 (10:08 -0700)]
mesa: move #include "bitset.h" out of mtypes.h - not needed in core Mesa

15 years agomesa: add a prototype to silence warnings
Brian Paul [Sat, 28 Feb 2009 17:06:55 +0000 (10:06 -0700)]
mesa: add a prototype to silence warnings

15 years agomesa: Sparc's IROUND() optimization is invalid.
David Miller [Sat, 28 Feb 2009 07:34:41 +0000 (23:34 -0800)]
mesa: Sparc's IROUND() optimization is invalid.

We can't use the "fstoi" instruction like this.

Unlike other floating point instructions, "fstoi" always rounds
towards zero no matter what rounding mode the FPU has been set to.

This was validated using the following test program:

--------------------
static inline int iround(float f)
{
   int r;
   __asm__ ("fstoi %1, %0" : "=f" (r) : "f" (f));
   return r;
}
#define IROUND(x)  iround(x)

#define IROUND_REF(f)  ((int) (((f) >= 0.0F) ? ((f) + 0.5F) : ((f) - 0.5F)))

int main(void)
{
float f = -2.0;

while (f < 3.0f) {
int sparc_val = IROUND(f);
int ref_val = IROUND_REF(f);

if (sparc_val != ref_val)
printf("DIFFERENT[%f]: REF==%d SPARC==%d\n",
       f, ref_val, sparc_val);
f += 0.1f;
}

return 0;
}
--------------------

which prints out things like:

--------------------
DIFFERENT[-1.900000]: REF==-2 SPARC==-1
DIFFERENT[-1.800000]: REF==-2 SPARC==-1
DIFFERENT[-1.700000]: REF==-2 SPARC==-1
DIFFERENT[-1.600000]: REF==-2 SPARC==-1
DIFFERENT[-1.000000]: REF==-1 SPARC==0
DIFFERENT[-0.900000]: REF==-1 SPARC==0
DIFFERENT[-0.800000]: REF==-1 SPARC==0
DIFFERENT[-0.700000]: REF==-1 SPARC==0
DIFFERENT[-0.600000]: REF==-1 SPARC==0
DIFFERENT[0.500000]: REF==1 SPARC==0
DIFFERENT[0.600000]: REF==1 SPARC==0
...
--------------------

So we have to remove Sparc's IROUND() definition, it's wrong.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomesa: move GLfixed type and related macros to swrast module
Brian Paul [Sat, 28 Feb 2009 05:26:18 +0000 (22:26 -0700)]
mesa: move GLfixed type and related macros to swrast module

Fixed point is only used in swrast and sw-based drivers.

15 years agomesa: convert macro to inline function
Brian Paul [Sat, 28 Feb 2009 05:21:42 +0000 (22:21 -0700)]
mesa: convert macro to inline function

15 years agomesa: replace FEEDBACK_TOKEN macro with _mesa_feedback_token() inline function
Brian Paul [Sat, 28 Feb 2009 05:18:33 +0000 (22:18 -0700)]
mesa: replace FEEDBACK_TOKEN macro with _mesa_feedback_token() inline function

15 years agomesa: comments, whitespace, reformatting
Brian Paul [Sat, 28 Feb 2009 05:12:31 +0000 (22:12 -0700)]
mesa: comments, whitespace, reformatting

15 years agomesa: remove dead code
Brian Paul [Sat, 28 Feb 2009 05:04:58 +0000 (22:04 -0700)]
mesa: remove dead code

15 years agomesa: move gl_attrib_node struct to attrib.c too
Brian Paul [Sat, 28 Feb 2009 05:01:40 +0000 (22:01 -0700)]
mesa: move gl_attrib_node struct to attrib.c too

15 years agomesa: move gl_enable_attrib struct to attrib.c, the only place it's used
Brian Paul [Sat, 28 Feb 2009 04:41:26 +0000 (21:41 -0700)]
mesa: move gl_enable_attrib struct to attrib.c, the only place it's used