Chia-I Wu [Fri, 5 Feb 2010 03:38:34 +0000 (11:38 +0800)]
egl_dri2: Use _EGL_DRIVER_STANDARD_TYPECASTS.
It saves the driver from defining the boring typecasts itself.
Chia-I Wu [Fri, 5 Feb 2010 03:34:53 +0000 (11:34 +0800)]
egl: Clarify IsLinked and IsBound.
Both a link and a binding creates a reference to the resource. Drivers
should not destroy the resource when there is a reference. The
difference is better described in doc/egl.html.
Chia-I Wu [Fri, 5 Feb 2010 03:27:55 +0000 (11:27 +0800)]
egl_dri2: Do not destroy linked resources.
A linked resource is stil owned by the display.
Chia-I Wu [Fri, 5 Feb 2010 03:11:07 +0000 (11:11 +0800)]
egl_dri2: Fix a snprintf warning.
The subtraction between two pointers has type unsigned int (only on
x86-64?), while the format string expects an int.
Chia-I Wu [Fri, 5 Feb 2010 03:06:44 +0000 (11:06 +0800)]
egl_dri2: Add a debug print for DRI2 extensions.
Chia-I Wu [Fri, 5 Feb 2010 02:46:11 +0000 (10:46 +0800)]
configure.ac: Check for xcb-dri2 to enable EGL dri2 driver.
Check that xcb-dri2 is available before including EGL dri2 driver into
EGL_DRIVERS_DIRS.
Kristian Høgsberg [Fri, 5 Feb 2010 02:49:44 +0000 (21:49 -0500)]
egl: Implement eglCopyBuffers for DRI2, make pixmap and pbuffers actually work
Brian Paul [Thu, 4 Feb 2010 23:49:35 +0000 (16:49 -0700)]
mesa: change ctx->Driver.ProgramStringNotify() to return GLboolean
GL_TRUE indicates that the driver accepts the program.
GL_FALSE indicates the program can't be compiled/translated by the
driver for some reason (too many resources used, etc).
Propogate this result up to the GL API: set GL_INVALID_OPERATION
error if glProgramString() was called. Set shader program link
status to GL_FALSE if glLinkProgram() was called.
At this point, drivers still don't do any program checking and
always return GL_TRUE.
Pauli Nieminen [Thu, 4 Feb 2010 21:53:22 +0000 (23:53 +0200)]
r200: Add the polygon stipple state to the state list.
This fixes glean paths test case.
Pauli Nieminen [Thu, 4 Feb 2010 21:47:55 +0000 (23:47 +0200)]
r200: Add logging for glPolygonStripple.
Pauli Nieminen [Thu, 4 Feb 2010 21:42:39 +0000 (23:42 +0200)]
radeon: Make debugging automaticaly increase logging verbosity for debug build.
DEBUG preprocessor macro is set by configure script when
--enable-debug is passed for configure. Radeon then just
increase debugging verbosity if DEBUG is set in compile
time.
Kristian Høgsberg [Wed, 3 Feb 2010 15:18:28 +0000 (10:18 -0500)]
egl: Add driver for EGL on X with DRI2
José Fonseca [Thu, 4 Feb 2010 19:37:56 +0000 (19:37 +0000)]
scons: Eliminate mixed space/tabs.
José Fonseca [Thu, 4 Feb 2010 19:37:30 +0000 (19:37 +0000)]
scons: Only override scons CC selection in the embedded platform.
José Fonseca [Thu, 4 Feb 2010 18:45:25 +0000 (18:45 +0000)]
trace: util_stream -> os_stream
José Fonseca [Thu, 4 Feb 2010 18:44:51 +0000 (18:44 +0000)]
auxiliary: util_stream -> os_stream
José Fonseca [Thu, 4 Feb 2010 18:24:57 +0000 (18:24 +0000)]
os: Ensure header includes are outside extern "C" {}.
José Fonseca [Thu, 4 Feb 2010 18:24:36 +0000 (18:24 +0000)]
util: Reimplement u_time on top of os_time.
José Fonseca [Thu, 4 Feb 2010 18:24:17 +0000 (18:24 +0000)]
gallium: Add a define for deprecated function attribute.
José Fonseca [Thu, 4 Feb 2010 18:23:49 +0000 (18:23 +0000)]
os: Time abstractions.
Simplified version of u_time.[ch]
José Fonseca [Thu, 4 Feb 2010 18:06:55 +0000 (18:06 +0000)]
os/os_memory_aligned.h: fix memory allocation alignment for 64 bits
Based on Andreia Gaita <shana@jitted.com>'s patch.
Brian Paul [Thu, 4 Feb 2010 17:07:08 +0000 (10:07 -0700)]
i965g: include u_inlines.h
Alex Deucher [Thu, 4 Feb 2010 15:45:13 +0000 (10:45 -0500)]
r600: reduce number of cache flushes
We don't need to flush so often. Next step
would be to move the flushing to the drm and only
flush after each command buffer rather than each
draw.
José Fonseca [Thu, 4 Feb 2010 14:38:14 +0000 (14:38 +0000)]
util: Disable u_time.c implementation for embedded.
This needs to go into OS module.
José Fonseca [Thu, 4 Feb 2010 14:37:45 +0000 (14:37 +0000)]
trace: Use u_time.
José Fonseca [Thu, 4 Feb 2010 14:37:30 +0000 (14:37 +0000)]
gallium: Don't try to auto-detect the OS when embedded os is already pre-defined.
José Fonseca [Thu, 4 Feb 2010 14:36:10 +0000 (14:36 +0000)]
llvmpipe: Disable unit tests on embedded platforms.
José Fonseca [Thu, 4 Feb 2010 14:35:38 +0000 (14:35 +0000)]
scons: Promote EMBEDDED from subsystem to full os.
José Fonseca [Thu, 4 Feb 2010 14:34:52 +0000 (14:34 +0000)]
util: Add missing include.
José Fonseca [Thu, 4 Feb 2010 14:34:33 +0000 (14:34 +0000)]
os: Add missing dummy threading definitions.
Pauli Nieminen [Tue, 2 Feb 2010 18:50:22 +0000 (20:50 +0200)]
swrast/sse: Fix _mesa_sse_transform_pointsX_3d_no_rot
PXOR user in code were causing the lowest SP float register to have NaN
values which made all math operations in that slot fail. Correct istruction
to clear float registers is XORPS which handles single precission floats
correctly.
Fixes progs/tests/fog in swrast SSE mode.
Now the correct commit instead of
66d09e4a2a6b770ddb which is not even close
of correct fix for the bug.
José Fonseca [Wed, 3 Feb 2010 22:53:03 +0000 (22:53 +0000)]
scons: Have MinGW target MSVCRT 7.0
Necessary for _aligned_malloc/free().
José Fonseca [Thu, 4 Feb 2010 09:21:00 +0000 (09:21 +0000)]
scons: Use only the shared object name when linking progs.
Otherwise the whole path gets baked into the executable.
Vinson Lee [Thu, 4 Feb 2010 06:57:38 +0000 (22:57 -0800)]
st/mesa: Remove unnecessary headers.
Vinson Lee [Thu, 4 Feb 2010 06:44:50 +0000 (22:44 -0800)]
svga: Remove unnecessary header.
Vinson Lee [Thu, 4 Feb 2010 06:40:58 +0000 (22:40 -0800)]
util: Remove unnecessary header.
Chia-I Wu [Thu, 4 Feb 2010 05:16:24 +0000 (13:16 +0800)]
egl: Convert drivers to use typecast macros.
Use macros to define the standard typecasts. This saves lots of
typings.
Chia-I Wu [Thu, 4 Feb 2010 04:52:15 +0000 (12:52 +0800)]
egl: Add macros to define typecast functions.
There are standard typecast functions that are common to most drivers.
They are used to typecast, for example, an _EGLSurface to a
driver-defined type.
This commits define _EGL_DRIVER_STANDARD_TYPECASTS and
_EGL_DRIVER_TYPECAST that should hopefully save some typings for driver
writers.
Vinson Lee [Thu, 4 Feb 2010 06:36:10 +0000 (22:36 -0800)]
identity: Remove unnecessary header.
Vinson Lee [Thu, 4 Feb 2010 06:33:58 +0000 (22:33 -0800)]
llvmpipe: Remove unnecessary header.
Pauli Nieminen [Tue, 2 Feb 2010 06:10:04 +0000 (08:10 +0200)]
Revert "mesa: fix transform_points_3d_no_rot using undefined values in %xmm0"
This reverts commit
4c31632817a0bde28ad6c9ee8032d838ce4b7bfb.
Chia-I Wu [Thu, 4 Feb 2010 02:49:45 +0000 (10:49 +0800)]
st/egl: Add missing headers to kms display.
Add stdio.h and util/u_inlines.h to native_kms.c.
Vinson Lee [Thu, 4 Feb 2010 02:36:07 +0000 (18:36 -0800)]
st/egl: Add missing headers.
Vinson Lee [Thu, 4 Feb 2010 02:29:18 +0000 (18:29 -0800)]
winsys: Add missing headers.
Igor Oliveira [Wed, 3 Feb 2010 22:37:36 +0000 (18:37 -0400)]
egl: fix implicit declaration of pipe_texture_reference adding u_inlines.h
Igor Oliveira [Wed, 3 Feb 2010 21:51:30 +0000 (17:51 -0400)]
egl: fix wrong argument. Use loader_data instead of loader
Dave Airlie [Thu, 4 Feb 2010 00:52:43 +0000 (10:52 +1000)]
gallium: fix more missing includes from various places
nouveau/ dri st / vmware
Dave Airlie [Thu, 4 Feb 2010 00:00:13 +0000 (10:00 +1000)]
nouveau: include stdio.h and u_inlines.h in all context files since embedded changes
fixes nouveau build for me.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Wed, 3 Feb 2010 22:47:44 +0000 (15:47 -0700)]
mesa: increase number of texture units to MAX_COMBINED_TEXTURE_IMAGE_UNITS
We were misinterpretting GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS previously.
It's the number of texture units for which we need to keep state; not
just the total number of texture units addressable by the vertex shader
plus fragment shader.
Since sw Mesa independently supports 16 texture units in vertex shaders
and 16 texture units in fragment shaders, the max combined units is 32.
Note that the docs for glActiveTexture() indicate the max legal unit is
MAX(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, MAX_TEXTURE_COORDS) - 1.
A new piglit test (texunits.c) tests the various texture unit limits.
I'm pretty sure I've got this all right now, but additional reviews
are welcome...
Brian Paul [Wed, 3 Feb 2010 21:09:48 +0000 (14:09 -0700)]
mesa: re-dimension RasterTexCoords and CoordReplace
These are limited to the number of texture coordinate units.
Brian Paul [Wed, 3 Feb 2010 20:24:43 +0000 (13:24 -0700)]
mesa: added texcoord unit assertion
Brian Paul [Wed, 3 Feb 2010 20:21:42 +0000 (13:21 -0700)]
mesa: use Elements() instead of MAX_TEXTURE_COORD_UNITS
Brian Paul [Wed, 3 Feb 2010 20:20:04 +0000 (13:20 -0700)]
mesa: added tex unit assert, use Elements() macro
Brian Paul [Wed, 3 Feb 2010 20:16:53 +0000 (13:16 -0700)]
mesa: check for invalid texture coord unit in glGet queries
Brian Paul [Wed, 3 Feb 2010 19:42:24 +0000 (12:42 -0700)]
mesa: check/clamp texture/program matrix accesses
Further testing should reveal if any these assertions are hit...
Brian Paul [Wed, 3 Feb 2010 19:31:27 +0000 (12:31 -0700)]
mesa: add error check for querying invalid texture matrix
Brian Paul [Wed, 3 Feb 2010 19:26:02 +0000 (12:26 -0700)]
mesa: use Elements() as limit in loops over texture/program matrix stacks
Brian Paul [Wed, 3 Feb 2010 19:25:28 +0000 (12:25 -0700)]
mesa: add out of bounds assertions for accessing texture matrix stack
José Fonseca [Wed, 3 Feb 2010 22:16:39 +0000 (22:16 +0000)]
util: Cast to match the MSVC intrinsics.
The cast is not optional in C++.
José Fonseca [Wed, 3 Feb 2010 22:15:53 +0000 (22:15 +0000)]
util: Don't include system headers inside extern "C" { ... }
That breaks when some of the system headers have C++ code.
José Fonseca [Wed, 3 Feb 2010 18:54:13 +0000 (18:54 +0000)]
Merge branch 'gallium-embedded'
José Fonseca [Wed, 3 Feb 2010 15:56:36 +0000 (15:56 +0000)]
gallium/docs: Document the OS module.
Brian Paul [Wed, 3 Feb 2010 15:50:32 +0000 (08:50 -0700)]
tgsi: added debugging code to catch divide by zero
Brian Paul [Wed, 3 Feb 2010 15:47:07 +0000 (08:47 -0700)]
tgsi: convert CHECK_INF_OR_NAN to inline function
And disable with if (0). Inf/NaN can occur normally during program
execution. Only enable the check code when needed during debugging.
Francisco Jerez [Wed, 3 Feb 2010 11:21:04 +0000 (03:21 -0800)]
mesa: Factor out the fb initialization details from _mesa_new_framebuffer.
This should make things easier for drivers wanting to work with a
"subclass" of gl_framebuffer.
The complementary "_mesa_initialize_framebuffer" function is now
called "_mesa_initialize_window_framebuffer" for the sake of
symmetry.
Signed-off-by: Brian Paul <brianp@vmware.com>
José Fonseca [Wed, 3 Feb 2010 12:57:49 +0000 (12:57 +0000)]
os: Also add the aligned memory prototypes to the embedded section.
José Fonseca [Wed, 3 Feb 2010 12:13:06 +0000 (12:13 +0000)]
util: Reimplement all utility functions in terms of the new OS abstraction.
José Fonseca [Wed, 3 Feb 2010 12:11:58 +0000 (12:11 +0000)]
os: New OS abstraction module.
Keith Whitwell [Wed, 3 Feb 2010 11:52:14 +0000 (11:52 +0000)]
vbo: fix void * arithmetic warning
Francisco Jerez [Wed, 3 Feb 2010 11:18:28 +0000 (03:18 -0800)]
vbo: Fix up in-place splitting for non-contiguous/indexed primitives.
The in-place splitting code wasn't dealing with index buffers at all
(and it was being called from vbo_split_prims for too big index
buffers, causing some occasional corruption).
Additionally, it wasn't taking into account primitives arrays with
non-contiguous indices (e.g. given prim[0].start = 0 and prim[1].start
= max_verts, it would happily call back the driver with (max_index -
min_index) still greater than max_verts, causing infinite recursion).
It still doesn't handle too large indexed vertex buffers: use
vbo_split_copy for that.
José Fonseca [Wed, 3 Feb 2010 11:06:23 +0000 (11:06 +0000)]
trace: Include the appropriate header instead of defining prototypes.
Avoids header when the header was included before.
Keith Whitwell [Tue, 2 Feb 2010 20:20:11 +0000 (20:20 +0000)]
progs/fpglsl: couple more tests
Keith Whitwell [Tue, 2 Feb 2010 20:01:30 +0000 (20:01 +0000)]
progs/fpglsl: fp-tris for glsl
Keith Whitwell [Tue, 2 Feb 2010 18:01:52 +0000 (18:01 +0000)]
svga: fix TXD and TXL opcode translation
Keith Whitwell [Tue, 2 Feb 2010 17:45:32 +0000 (17:45 +0000)]
svga: deriv insns not valid in dynamic flow control either
Keith Whitwell [Tue, 2 Feb 2010 15:34:01 +0000 (15:34 +0000)]
svga: texture from lod zero inside dynamic branching
Texture derivatives are potentially undefined inside dynamic branches,
so hardwire lod zero in this case. Treating all if/endif and loop
constructs as dynamic branches.
Keith Whitwell [Tue, 26 Jan 2010 15:52:46 +0000 (15:52 +0000)]
svga: better method for generating white fs color outputs
Keith Whitwell [Tue, 12 Jan 2010 16:19:29 +0000 (16:19 +0000)]
mesa/st: bump the gallium version number
This is a very informal version number, but there have been enough
changes that a bump is appropriate at this time.
Keith Whitwell [Mon, 11 Jan 2010 16:15:37 +0000 (16:15 +0000)]
st/mesa: remove some floating point divides in viewport calculation
Compiler can't usually turn x/2.0f into x * 0.5f, though we're happy
with either.
José Fonseca [Wed, 3 Feb 2010 08:56:34 +0000 (08:56 +0000)]
gallium-docs: Fix typo.
Dave Airlie [Wed, 3 Feb 2010 08:56:40 +0000 (18:56 +1000)]
r300: fix compiler bugs introduced with MRT changes.
the first looks like a definite bug, the second I'm not so confident
of but it works.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Chia-I Wu [Wed, 3 Feb 2010 04:38:03 +0000 (12:38 +0800)]
egl: Rename _eglPreloadForEach callbacks.
Rename _eglPreloadFile to _eglLoaderFile, and _eglPreloadFile to
_eglLoaderFile. There are several _eglPreload* functions. The
callbacks do not belong to them and it should be better to give them a
different prefix.
Chia-I Wu [Wed, 3 Feb 2010 04:35:57 +0000 (12:35 +0800)]
egl: Fix a potential segfault in driver suffix matching.
The driver suffix might be NULL on some platforms. Perform the matching
only when there is a suffix.
Chia-I Wu [Tue, 2 Feb 2010 09:05:56 +0000 (17:05 +0800)]
egl: Remove unnecessary #ifdef's.
There were some refactorings with the addition of EGL_DRIVERS_PATH.
They made some platform #ifdef's unnecessary.
Chia-I Wu [Tue, 2 Feb 2010 08:47:53 +0000 (16:47 +0800)]
egl: Ignore certain environment variables when setuid/setgid.
Specifically, ignore EGL_DRIVERS_PATH when an application is
setuid/setgid. And ignore EGL_DRIVER when there is a slash in it.
Chia-I Wu [Tue, 2 Feb 2010 07:34:55 +0000 (15:34 +0800)]
egl: Add EGL_DRIVERS_PATH environment variable.
EGL_DRIVERS_PATH gives a list of colon-separated directories. The given
directories will be searched when preloading drivers.
This is based on Mike Stroyan's patch, which honors the variable in
_eglPreloadDisplayDrivers. It is extended to honor the variable also in
_eglPreloadUserDriver and _eglPreloadDefaultDriver in this version.
Brian Paul [Wed, 3 Feb 2010 04:34:06 +0000 (21:34 -0700)]
draw: remove old hard-coded shader length limits
Brian Paul [Wed, 3 Feb 2010 04:23:23 +0000 (21:23 -0700)]
tgsi: added tgsi_alloc_tokens()
Brian Paul [Wed, 3 Feb 2010 04:17:56 +0000 (21:17 -0700)]
draw: re-implement free_bit() with ffs()
Brian Paul [Wed, 3 Feb 2010 04:16:25 +0000 (21:16 -0700)]
draw: comments and var renaming
Brian Paul [Wed, 3 Feb 2010 01:28:25 +0000 (18:28 -0700)]
tgsi: fix comment
Brian Paul [Wed, 3 Feb 2010 01:54:12 +0000 (18:54 -0700)]
draw: add const qualifiers, fix return types
Brian Paul [Wed, 3 Feb 2010 01:53:53 +0000 (18:53 -0700)]
softpipe: remove unnecessary #include
Brian Paul [Wed, 3 Feb 2010 01:50:19 +0000 (18:50 -0700)]
draw: new, updated comments
Try to avoid future confusion between different, but similar functions.
Brian Paul [Wed, 3 Feb 2010 01:43:11 +0000 (18:43 -0700)]
llvmpipe: fix (potentially) broken AA points, AA lines
This patch duplicates the softpipe fix seen in the preceeding commit.
Brian Paul [Wed, 3 Feb 2010 01:42:22 +0000 (18:42 -0700)]
softpipe: fix broken AA points, AA lines
This fixes a regression when the geometry shaders branch was merged
to master with commit
89d8577fb3036547ef0b47498cc8dc5c77f886e0.
progs/demos/pointblast and progs/redbook/anti work again.
Corbin Simpson [Wed, 3 Feb 2010 01:07:26 +0000 (17:07 -0800)]
gallium/docs: Opcode refs.
There is a very real possibility that I may be enjoying this too much.
Corbin Simpson [Wed, 3 Feb 2010 01:02:28 +0000 (17:02 -0800)]
gallium/docs: TGSI notes on replication to dst, and also cleanups.
Slowly, surely, I'm making this better.
Corbin Simpson [Wed, 3 Feb 2010 00:36:34 +0000 (16:36 -0800)]
gallium/docs: Start turning notes into docs.
Yeah, what's that? You can read it? It's got, hmm, *readability*? Nice,
ain't it. :3
Corbin Simpson [Wed, 3 Feb 2010 00:20:12 +0000 (16:20 -0800)]
gallium/docs: Add opcode formatting.