mesa.git
14 years agoMerge remote branch 'origin/lp-binning'
José Fonseca [Fri, 5 Feb 2010 13:48:35 +0000 (13:48 +0000)]
Merge remote branch 'origin/lp-binning'

Conflicts:
src/gallium/auxiliary/util/u_dl.c
src/gallium/auxiliary/util/u_time.h
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_tile_cache.c

14 years agoMerge commit 'fj/mesa-next'
Keith Whitwell [Fri, 5 Feb 2010 09:50:21 +0000 (09:50 +0000)]
Merge commit 'fj/mesa-next'

14 years agor100: Add the polygon stipple state to the state list.
Pauli Nieminen [Thu, 4 Feb 2010 21:53:22 +0000 (23:53 +0200)]
r100: Add the polygon stipple state to the state list.

This fixes glean paths test case.

14 years agoegl: Add debug messages to config validation and matching.
Chia-I Wu [Fri, 5 Feb 2010 06:11:29 +0000 (14:11 +0800)]
egl: Add debug messages to config validation and matching.

It might be desirable find out which attribute went wrong.

14 years agoegl: Clean up eglconfig.h.
Chia-I Wu [Fri, 5 Feb 2010 05:33:55 +0000 (13:33 +0800)]
egl: Clean up eglconfig.h.

Update the comments to macros/functions.  Remove unused
_eglSetConfigAttrib.

14 years agodocs: Update the developer section of egl.html.
Chia-I Wu [Fri, 5 Feb 2010 04:44:45 +0000 (12:44 +0800)]
docs: Update the developer section of egl.html.

Mainly to add a subsection about EGL_RENDER_BUFFER.

14 years agoegl: Remove egl_xdri.
Chia-I Wu [Fri, 5 Feb 2010 03:46:28 +0000 (11:46 +0800)]
egl: Remove egl_xdri.

egl_xdri steals code from src/glx/x11/.  This makes it broken from time
to time when there is a bigger change to the GLX code.  As egl_dri2 has
been merged, which also functions as a DRI2 driver loader, remove
egl_xdri for good.

14 years agoegl: Update the comments to typecast macros.
Chia-I Wu [Fri, 5 Feb 2010 03:42:05 +0000 (11:42 +0800)]
egl: Update the comments to typecast macros.

Put a note that the macros define functions and should not be ended with
a semicolon when used.

14 years agoegl_dri2: Use _EGL_DRIVER_STANDARD_TYPECASTS.
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.

14 years agoegl: Clarify IsLinked and IsBound.
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.

14 years agoegl_dri2: Do not destroy linked resources.
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.

14 years agoegl_dri2: Fix a snprintf warning.
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.

14 years agoegl_dri2: Add a debug print for DRI2 extensions.
Chia-I Wu [Fri, 5 Feb 2010 03:06:44 +0000 (11:06 +0800)]
egl_dri2: Add a debug print for DRI2 extensions.

14 years agoconfigure.ac: Check for xcb-dri2 to enable EGL dri2 driver.
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.

14 years agoegl: Implement eglCopyBuffers for DRI2, make pixmap and pbuffers actually work
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

14 years agomesa: change ctx->Driver.ProgramStringNotify() to return GLboolean
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.

14 years agor200: Add the polygon stipple state to the state list.
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.

14 years agor200: Add logging for glPolygonStripple.
Pauli Nieminen [Thu, 4 Feb 2010 21:47:55 +0000 (23:47 +0200)]
r200: Add logging for glPolygonStripple.

14 years agoradeon: Make debugging automaticaly increase logging verbosity for debug build.
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.

14 years agoNuke the nv0x-nv2x gallium pipe drivers.
Francisco Jerez [Thu, 4 Feb 2010 21:15:22 +0000 (22:15 +0100)]
Nuke the nv0x-nv2x gallium pipe drivers.

14 years agoImport a classic DRI driver for nv0x-nv2x.
Francisco Jerez [Mon, 1 Feb 2010 00:19:10 +0000 (01:19 +0100)]
Import a classic DRI driver for nv0x-nv2x.

14 years agoegl: Add driver for EGL on X with DRI2
Kristian Høgsberg [Wed, 3 Feb 2010 15:18:28 +0000 (10:18 -0500)]
egl: Add driver for EGL on X with DRI2

14 years agoscons: Eliminate mixed space/tabs.
José Fonseca [Thu, 4 Feb 2010 19:37:56 +0000 (19:37 +0000)]
scons: Eliminate mixed space/tabs.

14 years agoscons: Only override scons CC selection in the embedded platform.
José Fonseca [Thu, 4 Feb 2010 19:37:30 +0000 (19:37 +0000)]
scons: Only override scons CC selection in the embedded platform.

14 years agotrace: util_stream -> os_stream
José Fonseca [Thu, 4 Feb 2010 18:45:25 +0000 (18:45 +0000)]
trace: util_stream -> os_stream

14 years agoauxiliary: util_stream -> os_stream
José Fonseca [Thu, 4 Feb 2010 18:44:51 +0000 (18:44 +0000)]
auxiliary: util_stream -> os_stream

14 years agoos: Ensure header includes are outside extern "C" {}.
José Fonseca [Thu, 4 Feb 2010 18:24:57 +0000 (18:24 +0000)]
os: Ensure header includes are outside extern "C" {}.

14 years agoutil: Reimplement u_time on top of os_time.
José Fonseca [Thu, 4 Feb 2010 18:24:36 +0000 (18:24 +0000)]
util: Reimplement u_time on top of os_time.

14 years agogallium: Add a define for deprecated function attribute.
José Fonseca [Thu, 4 Feb 2010 18:24:17 +0000 (18:24 +0000)]
gallium: Add a define for deprecated function attribute.

14 years agoos: Time abstractions.
José Fonseca [Thu, 4 Feb 2010 18:23:49 +0000 (18:23 +0000)]
os: Time abstractions.

Simplified version of u_time.[ch]

14 years agoos/os_memory_aligned.h: fix memory allocation alignment for 64 bits
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.

14 years agoi965g: include u_inlines.h
Brian Paul [Thu, 4 Feb 2010 17:07:08 +0000 (10:07 -0700)]
i965g: include u_inlines.h

14 years agor600: reduce number of cache flushes
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.

14 years agoutil: Disable u_time.c implementation for embedded.
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.

14 years agotrace: Use u_time.
José Fonseca [Thu, 4 Feb 2010 14:37:45 +0000 (14:37 +0000)]
trace: Use u_time.

14 years agogallium: Don't try to auto-detect the OS when embedded os is already pre-defined.
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.

14 years agollvmpipe: Disable unit tests on embedded platforms.
José Fonseca [Thu, 4 Feb 2010 14:36:10 +0000 (14:36 +0000)]
llvmpipe: Disable unit tests on embedded platforms.

14 years agoscons: Promote EMBEDDED from subsystem to full os.
José Fonseca [Thu, 4 Feb 2010 14:35:38 +0000 (14:35 +0000)]
scons: Promote EMBEDDED from subsystem to full os.

14 years agoutil: Add missing include.
José Fonseca [Thu, 4 Feb 2010 14:34:52 +0000 (14:34 +0000)]
util: Add missing include.

14 years agoos: Add missing dummy threading definitions.
José Fonseca [Thu, 4 Feb 2010 14:34:33 +0000 (14:34 +0000)]
os: Add missing dummy threading definitions.

14 years agoswrast/sse: Fix _mesa_sse_transform_pointsX_3d_no_rot
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.

14 years agoscons: Have MinGW target MSVCRT 7.0
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().

14 years agoscons: Use only the shared object name when linking progs.
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.

14 years agost/mesa: Remove unnecessary headers.
Vinson Lee [Thu, 4 Feb 2010 06:57:38 +0000 (22:57 -0800)]
st/mesa: Remove unnecessary headers.

14 years agosvga: Remove unnecessary header.
Vinson Lee [Thu, 4 Feb 2010 06:44:50 +0000 (22:44 -0800)]
svga: Remove unnecessary header.

14 years agoutil: Remove unnecessary header.
Vinson Lee [Thu, 4 Feb 2010 06:40:58 +0000 (22:40 -0800)]
util: Remove unnecessary header.

14 years agoegl: Convert drivers to use typecast macros.
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.

14 years agoegl: Add macros to define typecast functions.
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.

14 years agoidentity: Remove unnecessary header.
Vinson Lee [Thu, 4 Feb 2010 06:36:10 +0000 (22:36 -0800)]
identity: Remove unnecessary header.

14 years agollvmpipe: Remove unnecessary header.
Vinson Lee [Thu, 4 Feb 2010 06:33:58 +0000 (22:33 -0800)]
llvmpipe: Remove unnecessary header.

14 years agoRevert "mesa: fix transform_points_3d_no_rot using undefined values in %xmm0"
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.

14 years agost/egl: Add missing headers to kms display.
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.

14 years agost/egl: Add missing headers.
Vinson Lee [Thu, 4 Feb 2010 02:36:07 +0000 (18:36 -0800)]
st/egl: Add missing headers.

14 years agowinsys: Add missing headers.
Vinson Lee [Thu, 4 Feb 2010 02:29:18 +0000 (18:29 -0800)]
winsys: Add missing headers.

14 years agoegl: fix implicit declaration of pipe_texture_reference adding u_inlines.h
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

14 years agoegl: fix wrong argument. Use loader_data instead of loader
Igor Oliveira [Wed, 3 Feb 2010 21:51:30 +0000 (17:51 -0400)]
egl: fix wrong argument. Use loader_data instead of loader

14 years agogallium: fix more missing includes from various places
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

14 years agonouveau: include stdio.h and u_inlines.h in all context files since embedded changes
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>
14 years agomesa: increase number of texture units to MAX_COMBINED_TEXTURE_IMAGE_UNITS
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...

14 years agomesa: re-dimension RasterTexCoords and CoordReplace
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.

14 years agomesa: added texcoord unit assertion
Brian Paul [Wed, 3 Feb 2010 20:24:43 +0000 (13:24 -0700)]
mesa: added texcoord unit assertion

14 years agomesa: use Elements() instead of MAX_TEXTURE_COORD_UNITS
Brian Paul [Wed, 3 Feb 2010 20:21:42 +0000 (13:21 -0700)]
mesa: use Elements() instead of MAX_TEXTURE_COORD_UNITS

14 years agomesa: added tex unit assert, use Elements() macro
Brian Paul [Wed, 3 Feb 2010 20:20:04 +0000 (13:20 -0700)]
mesa: added tex unit assert, use Elements() macro

14 years agomesa: check for invalid texture coord unit in glGet queries
Brian Paul [Wed, 3 Feb 2010 20:16:53 +0000 (13:16 -0700)]
mesa: check for invalid texture coord unit in glGet queries

14 years agomesa: check/clamp texture/program matrix accesses
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...

14 years agomesa: add error check for querying invalid texture matrix
Brian Paul [Wed, 3 Feb 2010 19:31:27 +0000 (12:31 -0700)]
mesa: add error check for querying invalid texture matrix

14 years agomesa: use Elements() as limit in loops over texture/program matrix stacks
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

14 years agomesa: add out of bounds assertions for accessing texture matrix stack
Brian Paul [Wed, 3 Feb 2010 19:25:28 +0000 (12:25 -0700)]
mesa: add out of bounds assertions for accessing texture matrix stack

14 years agoutil: Cast to match the MSVC intrinsics.
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++.

14 years agoutil: Don't include system headers inside extern "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.

14 years agoMerge branch 'gallium-embedded'
José Fonseca [Wed, 3 Feb 2010 18:54:13 +0000 (18:54 +0000)]
Merge branch 'gallium-embedded'

14 years agogallium/docs: Document the OS module.
José Fonseca [Wed, 3 Feb 2010 15:56:36 +0000 (15:56 +0000)]
gallium/docs: Document the OS module.

14 years agotgsi: added debugging code to catch divide by zero
Brian Paul [Wed, 3 Feb 2010 15:50:32 +0000 (08:50 -0700)]
tgsi: added debugging code to catch divide by zero

14 years agotgsi: convert CHECK_INF_OR_NAN to inline function
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.

14 years agomesa: Factor out the fb initialization details from _mesa_new_framebuffer.
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>
14 years agoos: Also add the aligned memory prototypes to the embedded section.
José Fonseca [Wed, 3 Feb 2010 12:57:49 +0000 (12:57 +0000)]
os: Also add the aligned memory prototypes to the embedded section.

14 years agoutil: Reimplement all utility functions in terms of the new OS abstraction.
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.

14 years agoos: New OS abstraction module.
José Fonseca [Wed, 3 Feb 2010 12:11:58 +0000 (12:11 +0000)]
os: New OS abstraction module.

14 years agovbo: fix void * arithmetic warning
Keith Whitwell [Wed, 3 Feb 2010 11:52:14 +0000 (11:52 +0000)]
vbo: fix void * arithmetic warning

14 years agovbo: Fix up in-place splitting for non-contiguous/indexed primitives.
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.

14 years agotrace: Include the appropriate header instead of defining prototypes.
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.

14 years agoprogs/fpglsl: couple more tests
Keith Whitwell [Tue, 2 Feb 2010 20:20:11 +0000 (20:20 +0000)]
progs/fpglsl: couple more tests

14 years agoprogs/fpglsl: fp-tris for glsl
Keith Whitwell [Tue, 2 Feb 2010 20:01:30 +0000 (20:01 +0000)]
progs/fpglsl: fp-tris for glsl

14 years agosvga: fix TXD and TXL opcode translation
Keith Whitwell [Tue, 2 Feb 2010 18:01:52 +0000 (18:01 +0000)]
svga: fix TXD and TXL opcode translation

14 years agosvga: deriv insns not valid in dynamic flow control either
Keith Whitwell [Tue, 2 Feb 2010 17:45:32 +0000 (17:45 +0000)]
svga: deriv insns not valid in dynamic flow control either

14 years agosvga: texture from lod zero inside dynamic branching
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.

14 years agosvga: better method for generating white fs color outputs
Keith Whitwell [Tue, 26 Jan 2010 15:52:46 +0000 (15:52 +0000)]
svga: better method for generating white fs color outputs

14 years agomesa/st: bump the gallium version number
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.

14 years agost/mesa: remove some floating point divides in viewport calculation
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.

14 years agogallium-docs: Fix typo.
José Fonseca [Wed, 3 Feb 2010 08:56:34 +0000 (08:56 +0000)]
gallium-docs: Fix typo.

14 years agor300: fix compiler bugs introduced with MRT changes.
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>
14 years agoegl: Rename _eglPreloadForEach callbacks.
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.

14 years agoegl: Fix a potential segfault in driver suffix matching.
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.

14 years agoegl: Remove unnecessary #ifdef's.
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.

14 years agoegl: Ignore certain environment variables when setuid/setgid.
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.

14 years agoegl: Add EGL_DRIVERS_PATH environment variable.
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.

14 years agodraw: remove old hard-coded shader length limits
Brian Paul [Wed, 3 Feb 2010 04:34:06 +0000 (21:34 -0700)]
draw: remove old hard-coded shader length limits

14 years agotgsi: added tgsi_alloc_tokens()
Brian Paul [Wed, 3 Feb 2010 04:23:23 +0000 (21:23 -0700)]
tgsi: added tgsi_alloc_tokens()

14 years agodraw: re-implement free_bit() with ffs()
Brian Paul [Wed, 3 Feb 2010 04:17:56 +0000 (21:17 -0700)]
draw: re-implement free_bit() with ffs()

14 years agodraw: comments and var renaming
Brian Paul [Wed, 3 Feb 2010 04:16:25 +0000 (21:16 -0700)]
draw: comments and var renaming