mesa.git
14 years agointel: Check aperture size when doing a blit glClear.
Eric Anholt [Fri, 5 Feb 2010 09:03:35 +0000 (01:03 -0800)]
intel: Check aperture size when doing a blit glClear.

Fixes failure in cairo-gl firefox-planet-gnome.

14 years agointel: Allow PBO acceleration for GL_RGBA8 MESA_FORMAT_ARGB8888.
Eric Anholt [Fri, 5 Feb 2010 08:34:14 +0000 (00:34 -0800)]
intel: Allow PBO acceleration for GL_RGBA8 MESA_FORMAT_ARGB8888.

This improves firefox-talos-svg runtimes on cairo-gl by 14%.

14 years agollvmpipe: Silence GCC 'no previous prototype' warning.
Vinson Lee [Sat, 6 Feb 2010 08:48:18 +0000 (00:48 -0800)]
llvmpipe: Silence GCC 'no previous prototype' warning.

14 years agoi965g: Remove unnecessary headers.
Vinson Lee [Sat, 6 Feb 2010 07:39:34 +0000 (23:39 -0800)]
i965g: Remove unnecessary headers.

14 years agoeglplatform.h: recognize __unix as well for Solaris & other SVR4 platforms
Alan Coopersmith [Fri, 5 Feb 2010 02:20:09 +0000 (18:20 -0800)]
eglplatform.h: recognize __unix as well for Solaris & other SVR4 platforms

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
14 years agogallium/python: support two more formats in retrace dumps
Zack Rusin [Sat, 6 Feb 2010 00:04:11 +0000 (19:04 -0500)]
gallium/python: support two more formats in retrace dumps

dump PIPE_FORMAT_R8G8B8A8_UNORM and PIPE_FORMAT_R16G16B16_SNORM formats.

14 years agost/mesa: allow negative index for PROGRAM_STATE_VAR
Brian Paul [Fri, 5 Feb 2010 21:59:04 +0000 (14:59 -0700)]
st/mesa: allow negative index for PROGRAM_STATE_VAR

The piglit vp-address-01 test uses negative address-relative
offsets.  In this test we're indexing into PROGRAM_STATE_VAR
which, in turn, contains references to ENV vars.

We previously fixed this issue for PROGRAM_CONSTANT.

piglit/vp-address-01 (the version from Feb 5) passes now.

(cherry picked from commit 64be837b0b171c44f47a3c0b83f566d292ffff50)

14 years agomesa: debug output for ARL
Brian Paul [Fri, 5 Feb 2010 21:58:46 +0000 (14:58 -0700)]
mesa: debug output for ARL

14 years agodocs: Fix a typo in mesa3d.org HTML.
Brian Paul [Fri, 5 Feb 2010 20:18:31 +0000 (13:18 -0700)]
docs: Fix a typo in mesa3d.org HTML.

Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit e6ee4b49c48ec7c2e7df2cff7b253b01e88e7101)

14 years agoosmesa: Add OSMesaColorClamp and OSMesaGetProcAddress to symbol defs.
Brian Paul [Fri, 5 Feb 2010 20:18:18 +0000 (13:18 -0700)]
osmesa: Add OSMesaColorClamp and OSMesaGetProcAddress to symbol defs.

Without this patch, the two symbols get an underscore prepended
and an "@4" appended when compiling with VC8.

Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit e65029e9b32ddabea0ec583c04484345b40f1557)

14 years agoprogs/demos: fix typo
Brian Paul [Fri, 5 Feb 2010 18:08:00 +0000 (11:08 -0700)]
progs/demos: fix typo

14 years agoegl_dri2: Use pkg-config cflags and libs from configure output
Kristian Høgsberg [Fri, 5 Feb 2010 18:55:32 +0000 (13:55 -0500)]
egl_dri2: Use pkg-config cflags and libs from configure output

Running pkg-config in Makefiles is bad form, since it doesn't respect the
PKG_CONFIG_PATH value set at ./configure time.

14 years agonouveau: Fix warning for void function returning value. Add missing include for pipe_...
Patrice Mandin [Fri, 5 Feb 2010 18:42:33 +0000 (19:42 +0100)]
nouveau: Fix warning for void function returning value. Add missing include for pipe_reference_init function.

Signed-off-by: Patrice Mandin <patmandin@gmail.com>
14 years agoglapi: Add back the reduced Noop dispatch
Kristian Høgsberg [Fri, 5 Feb 2010 16:58:52 +0000 (11:58 -0500)]
glapi: Add back the reduced Noop dispatch

This got "simplified" away in e4f168a6f4911a096be97d2e83ef8ad9c5862ec0.

14 years agoglx: Don't mark the XF86DRI functions PUBLIC
Kristian Høgsberg [Fri, 5 Feb 2010 16:04:48 +0000 (11:04 -0500)]
glx: Don't mark the XF86DRI functions PUBLIC

14 years agoegl_dri2: Log both driver and core extensions
Kristian Høgsberg [Fri, 5 Feb 2010 15:53:14 +0000 (10:53 -0500)]
egl_dri2: Log both driver and core extensions

14 years agoegl_dri2: Audit and fix errors paths
Kristian Høgsberg [Fri, 5 Feb 2010 15:49:33 +0000 (10:49 -0500)]
egl_dri2: Audit and fix errors paths

14 years agoegl_dri2: Just cast the pointer difference to an int
Kristian Høgsberg [Fri, 5 Feb 2010 14:58:27 +0000 (09:58 -0500)]
egl_dri2: Just cast the pointer difference to an int

14 years agost/mesa: 'fix' point coord semantic info
Brian Paul [Fri, 5 Feb 2010 16:52:29 +0000 (09:52 -0700)]
st/mesa: 'fix' point coord semantic info

This fixes the progs/glsl/pointcoord.c demo.  But this isn't a proper fix.
We really need a TGSI_SEMANTIC_POINT_COORD label so that the draw module
can determine which fragment input / vertex output slot needs to be set
up with the point coordinate info.  We've been using generic slot 0 so far.

This would also require telling the draw module about fragment shaders
(something it doesn't have at this time).

14 years agotgsi: remove special-case code for fragment position
Brian Paul [Fri, 5 Feb 2010 16:42:00 +0000 (09:42 -0700)]
tgsi: remove special-case code for fragment position

Since the origin_lower_left / pixel_center_origin changes, we need
to use the fragcoord info that's set up in setup_fragcoord_coeff().
The code in exec_declaration() was clobbering the the interpolated
fragment position.

Fixes progs/glsl/fragcoord.c demo.

14 years agoallow make to build lp_test_* for llvmpipe
Chris Li [Fri, 5 Feb 2010 09:29:43 +0000 (01:29 -0800)]
allow make to build lp_test_* for llvmpipe

Signed-off-by: José Fonseca <jfonseca@vmware.com>
14 years agollvmpipe: Disable multithreading on windows.
José Fonseca [Fri, 5 Feb 2010 13:56:01 +0000 (13:56 +0000)]
llvmpipe: Disable multithreading on windows.

14 years agoos: Don't assert on missing implementation of barrier init/destroy. Just usage.
José Fonseca [Fri, 5 Feb 2010 13:54:21 +0000 (13:54 +0000)]
os: Don't assert on missing implementation of barrier init/destroy. Just usage.

14 years agoMerge remote branch 'origin/master'
José Fonseca [Fri, 5 Feb 2010 13:50:24 +0000 (13:50 +0000)]
Merge remote branch 'origin/master'

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 agor200: Optimize polygon stipple emit.
Pauli Nieminen [Fri, 5 Feb 2010 13:21:55 +0000 (15:21 +0200)]
r200: Optimize polygon stipple emit.

Only emit polygon stipple when the state is enabled.

14 years agor200: Add trace logging to r200PointSize.
Pauli Nieminen [Fri, 5 Feb 2010 13:19:29 +0000 (15:19 +0200)]
r200: Add trace logging to r200PointSize.

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 agogallium: add point_quad_rasterization bit to rasterizer state
Roland Scheidegger [Thu, 4 Feb 2010 20:35:28 +0000 (21:35 +0100)]
gallium: add point_quad_rasterization bit to rasterizer state

This determines if points should be rasterized according to GL point rules
or as normal quads (GL point sprites / d3d points / d3d point sprites).

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 agogallium: add point size clamp to implementation limits in vertex shader
Roland Scheidegger [Thu, 4 Feb 2010 18:23:09 +0000 (19:23 +0100)]
gallium: add point size clamp to implementation limits in vertex shader

The point size min/max registers (unused by mesa state tracker) were removed
since most hardware couldn't do much with them. However, we don't want to have
to rely on hw to do point size clamping correctly to implementation
dependent limits, hence have to do that in the vertex shader. This should also
solve a potential problem with (non-AA) points smaller than 1.0 which according
to OGL still have size 1.0.
Note that OGL point rendering is odd, in particular point sprites are rasterized
differently to points. Some hardware might support those different modes, but in
any case the different clamping values used for smooth/multisampled/sprite
enabled points might help a bit for hw which rasterizes points the same as point
sprites.
Also tweak mesa's ff to vertex shader translation so don't have to clamp twice in
case of point attenuation.

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 agodocs: clean up TGSI_SEMANTIC_PSIZE description
Roland Scheidegger [Wed, 3 Feb 2010 17:27:32 +0000 (18:27 +0100)]
docs: clean up TGSI_SEMANTIC_PSIZE description

there was some confusion between point size state and point size output.