Brian Paul [Thu, 5 Mar 2009 04:03:29 +0000 (21:03 -0700)]
tests: add new mapbufrange.c test to test GL_ARB_map_buffer_range
This only tests the most basic functionality for now.
Brian Paul [Thu, 5 Mar 2009 03:26:23 +0000 (20:26 -0700)]
fix incorrect prototype for glMapBufferRange() in glext.h
Needs to return void *
Robert Ellison [Wed, 4 Mar 2009 23:48:51 +0000 (16:48 -0700)]
i965: add software fallback for conformant 3D textures and GL_CLAMP
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier
commit forced a software fallback if strict conformance was required
(i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and
2D textures were used, but it was somewhat flawed - it could trigger
the software fallback even if 2D textures weren't enabled, as long
as one texture unit was enabled.
This fixes that, and adds software fallback for GL_CLAMP behavior with
1D and 3D textures.
It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE
environment variable, which forces software fallbacks to be taken *all*
the time. This is helpful with debugging. The value is:
export INTEL_STRICT_CONFORMANCE=2
Corbin Simpson [Wed, 4 Mar 2009 23:48:45 +0000 (15:48 -0800)]
radeon-gallium: Enable EGL and Xorg state trackers.
Compile-tested only, but I have high hopes.
Corbin Simpson [Wed, 4 Mar 2009 23:36:42 +0000 (15:36 -0800)]
radeon-gallium: DRI2 state tracker, part 3.
Properly setup the build process for adding in xorg and egl trackers,
and finally put radeon_context and radeon_screen to bed.
Corbin Simpson [Wed, 4 Mar 2009 21:47:44 +0000 (13:47 -0800)]
r300-gallium: Add unaccelerated surface_copy.
Brian Paul [Wed, 4 Mar 2009 23:48:05 +0000 (16:48 -0700)]
mesa: call _mesa_get_cpu_string() to get CPU info for GL_RENDERER string
Brian Paul [Wed, 4 Mar 2009 23:43:07 +0000 (16:43 -0700)]
mesa: call _mesa_get_cpu_features() during one-time-init
Brian Paul [Wed, 4 Mar 2009 23:40:22 +0000 (16:40 -0700)]
mesa: new cpuinfo.c file to init/query cpu info and extensions
Brian Paul [Wed, 4 Mar 2009 23:39:11 +0000 (16:39 -0700)]
mesa: _mesa_get_x86_features() only needs to do its thing once
Jakob Bornecrantz [Wed, 4 Mar 2009 21:41:01 +0000 (22:41 +0100)]
st/xorg: Clean up xorg_exa.c a bit
Jakob Bornecrantz [Wed, 4 Mar 2009 22:51:14 +0000 (23:51 +0100)]
st/xorg: Change format function a bit
Jakob Bornecrantz [Wed, 4 Mar 2009 21:54:33 +0000 (22:54 +0100)]
st/xorg: Fix transfer double free
Jakob Bornecrantz [Wed, 4 Mar 2009 21:04:17 +0000 (22:04 +0100)]
intel: Fixup from refcount changes
Jakob Bornecrantz [Wed, 4 Mar 2009 23:03:27 +0000 (00:03 +0100)]
mesa: Add x86/common_x86.c to libmesagallium.a
Thanks to Brian for the refactor commit
Brian Paul [Wed, 4 Mar 2009 22:56:16 +0000 (15:56 -0700)]
mesa: move sse.h and 3dnow.h #includes
Brian Paul [Wed, 4 Mar 2009 22:46:36 +0000 (15:46 -0700)]
mesa: remove unneeded x86.h header
Brian Paul [Wed, 4 Mar 2009 22:44:38 +0000 (15:44 -0700)]
mesa: make _mesa_init_x86_transform_asm() static
Brian Paul [Wed, 4 Mar 2009 22:39:50 +0000 (15:39 -0700)]
mesa: rename common_x86_macros.h -> x86_xform.h
Brian Paul [Wed, 4 Mar 2009 22:35:21 +0000 (15:35 -0700)]
mesa: rename x86.c -> x86_xform.c
Brian Paul [Wed, 4 Mar 2009 22:21:13 +0000 (15:21 -0700)]
mesa: refactor x86 code
Move _mesa_init_all_x86_transform_asm() into x86.c so that common_x86.c
has no dependencies on the vertex transformation code.
Plus some comments and clean-ups.
José Fonseca [Wed, 4 Mar 2009 21:46:12 +0000 (21:46 +0000)]
Merge commit 'origin/master' into gallium-map-range
Keith Whitwell [Wed, 4 Mar 2009 21:35:17 +0000 (21:35 +0000)]
indices: add translate/generate functions for unfilled modes
Most of the time unfilled rendering requires a lot more thought than
just translating triangles to lines or points. But sometimes, you can
do exactly that, and it can be quite a bit quicker. Add code to do the
translation. The caller has to determine whether it's a legal thing
to do in the current state, in particular you'd need:
- culling disabled
- offset disabled
- same front and back fill modes
- possibly other stuff I can't think of.
Keith Whitwell [Wed, 4 Mar 2009 17:41:46 +0000 (17:41 +0000)]
clear-repeat: print fps, use 300x300 window size
Dan Nicholson [Wed, 4 Mar 2009 21:19:32 +0000 (13:19 -0800)]
autoconf: Restore _GNU_SOURCE for all Linux systems
This catches the linux-uclibc case and any others that were being set
prior to
98fcdf3f. Fixes bug 20345.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Patrice Mandin [Wed, 4 Mar 2009 19:38:14 +0000 (20:38 +0100)]
nouveau: oops, forgot to keep the NV10_SIFM object
Patrice Mandin [Wed, 4 Mar 2009 19:34:54 +0000 (20:34 +0100)]
nouveau: Use proper SIFM object on NV30
José Fonseca [Wed, 4 Mar 2009 17:49:52 +0000 (17:49 +0000)]
mesa: Follow ARB_map_buffer_range more stricly.
Namelly, FlushMappedBufferRange takes a subrange relative to the original
range.
José Fonseca [Wed, 4 Mar 2009 17:48:26 +0000 (17:48 +0000)]
gallium: Use consistent semantics for map ranges in gallium.
Which are slightly different from ARB_map_buffer_range semantics, since
gallium still supports more than one mapping of the same buffer.
José Fonseca [Wed, 4 Mar 2009 17:42:36 +0000 (17:42 +0000)]
Merge commit 'origin/master' into gallium-map-range
Keith Whitwell [Wed, 4 Mar 2009 17:01:47 +0000 (17:01 +0000)]
vbo: second attempt - avoid getting buffer_ptr and buffer_map out of sync
José Fonseca [Wed, 4 Mar 2009 16:44:31 +0000 (16:44 +0000)]
Merge commit 'origin/master' into gallium-map-range
José Fonseca [Wed, 4 Mar 2009 16:43:13 +0000 (16:43 +0000)]
mesa: 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.
Brian Paul [Wed, 4 Mar 2009 16:34:46 +0000 (09:34 -0700)]
cell: update cell driver after gallium reference count changes
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.
José Fonseca [Wed, 4 Mar 2009 16:07:51 +0000 (16:07 +0000)]
gallium: Ensure map ranges are valid.
Keith Whitwell [Wed, 4 Mar 2009 16:06:05 +0000 (16:06 +0000)]
vbo: avoid getting buffer_ptr and buffer_map out of sync
José Fonseca [Wed, 4 Mar 2009 15:23:35 +0000 (15:23 +0000)]
Merge commit 'origin/master' into gallium-map-range
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.
Brian Paul [Wed, 4 Mar 2009 14:57:40 +0000 (07:57 -0700)]
mesa: include mfeatures.h
See bug 20319.
José Fonseca [Wed, 4 Mar 2009 11:59:00 +0000 (11:59 +0000)]
mesa: Implement and use FlushMappedBufferRange.
Michel Dänzer [Wed, 4 Mar 2009 10:58:52 +0000 (11:58 +0100)]
gallium: Remove some superfluous instances of #include "p_inlines.h".
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().
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.
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...
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.
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.
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.
Jakob Bornecrantz [Tue, 3 Mar 2009 23:31:35 +0000 (00:31 +0100)]
st/dri2: We are strictly a dri2 driver
Jakob Bornecrantz [Tue, 3 Mar 2009 20:56:10 +0000 (21:56 +0100)]
st/drm: s/hocks/hooks/
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.
Brian Paul [Tue, 3 Mar 2009 21:01:10 +0000 (14:01 -0700)]
xlib: code to force fixed function -> shader translation (for debug, disabled)
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.
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
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
José Fonseca [Tue, 3 Mar 2009 17:54:38 +0000 (17:54 +0000)]
wgl: Support the same combinations of single buffer pixel formats.
José Fonseca [Tue, 3 Mar 2009 15:43:12 +0000 (15:43 +0000)]
Merge commit 'origin/master' into gallium-map-range
Keith Whitwell [Tue, 3 Mar 2009 15:39:51 +0000 (15:39 +0000)]
demos/engine: respect display list mode when drawing pistons
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 .
José Fonseca [Tue, 3 Mar 2009 13:18:15 +0000 (13:18 +0000)]
Merge commit 'origin/master' into gallium-map-range
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
José Fonseca [Tue, 3 Mar 2009 12:22:59 +0000 (12:22 +0000)]
pipebuffer: Cleanup merge.
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.
Keith Whitwell [Tue, 3 Mar 2009 12:10:56 +0000 (12:10 +0000)]
pb: fix up merge mistakes
José Fonseca [Tue, 3 Mar 2009 12:01:01 +0000 (12:01 +0000)]
pipebuffer: Fix copy'n'paste typo.
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
Keith Whitwell [Tue, 3 Mar 2009 10:55:25 +0000 (10:55 +0000)]
vbo: missing line from previous commit
Keith Whitwell [Tue, 3 Mar 2009 10:47:31 +0000 (10:47 +0000)]
mesa/st: implement MapBufferRange callback
Using PIPE_BUFFER_USAGE_DONTBLOCK.
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.
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.
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()
Jakob Bornecrantz [Tue, 3 Mar 2009 02:24:31 +0000 (03:24 +0100)]
intel: Add Xorg driver
Jakob Bornecrantz [Tue, 3 Mar 2009 02:23:32 +0000 (03:23 +0100)]
intel: Add dri2 driver for gallium
Jakob Bornecrantz [Tue, 3 Mar 2009 02:22:46 +0000 (03:22 +0100)]
st/xorg: Add Xorg 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.
Jakob Bornecrantz [Tue, 3 Mar 2009 01:05:52 +0000 (02:05 +0100)]
intel: Increase max relocs per batchbuffer
Brian Paul [Tue, 3 Mar 2009 00:55:09 +0000 (17:55 -0700)]
mesa: save some useful VBO debug/dump code (disabled)
Brian Paul [Tue, 3 Mar 2009 00:52:30 +0000 (17:52 -0700)]
mesa: more tex image debug/dumping code
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.
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.
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
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.
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.
Brian Paul [Mon, 2 Mar 2009 18:27:32 +0000 (11:27 -0700)]
gallium: only enable depth test if a depth bufffer is available
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.
Brian Paul [Mon, 2 Mar 2009 18:47:52 +0000 (11:47 -0700)]
mesa: use Stencil._Enabled field instead of Stencil.Enabled
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.
Younes Manton [Mon, 2 Mar 2009 17:57:56 +0000 (12:57 -0500)]
nouveau: Grab correct surface from temp texture for transfers.
Younes Manton [Wed, 25 Feb 2009 20:09:20 +0000 (15:09 -0500)]
g3dvl: Grab surface pointer when flushing front buffer in SP winsys.
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.
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.
José Fonseca [Mon, 2 Mar 2009 17:45:35 +0000 (17:45 +0000)]
pipebuffer: Cleanup code & comments.
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
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.
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.
José Fonseca [Tue, 24 Feb 2009 11:22:24 +0000 (11:22 +0000)]
pipebuffer: Remove unused var.
Brian Paul [Sun, 1 Mar 2009 01:36:48 +0000 (18:36 -0700)]
mesa: clarify comments for per-unit texture bitfields
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.
Brian Paul [Sun, 1 Mar 2009 00:02:49 +0000 (17:02 -0700)]
mesa: move update_texture_compare_function() call out of loop