Kristian Høgsberg [Fri, 5 Feb 2010 15:49:33 +0000 (10:49 -0500)]
egl_dri2: Audit and fix errors paths
Kristian Høgsberg [Fri, 5 Feb 2010 14:58:27 +0000 (09:58 -0500)]
egl_dri2: Just cast the pointer difference to an int
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).
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.
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>
José Fonseca [Fri, 5 Feb 2010 13:56:01 +0000 (13:56 +0000)]
llvmpipe: Disable multithreading on windows.
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.
José Fonseca [Fri, 5 Feb 2010 13:50:24 +0000 (13:50 +0000)]
Merge remote branch 'origin/master'
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
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.
Pauli Nieminen [Fri, 5 Feb 2010 13:19:29 +0000 (15:19 +0200)]
r200: Add trace logging to r200PointSize.
Keith Whitwell [Fri, 5 Feb 2010 09:50:21 +0000 (09:50 +0000)]
Merge commit 'fj/mesa-next'
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.
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.
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.
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.
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.
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.
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.
Francisco Jerez [Thu, 4 Feb 2010 21:15:22 +0000 (22:15 +0100)]
Nuke the nv0x-nv2x gallium pipe drivers.
Francisco Jerez [Mon, 1 Feb 2010 00:19:10 +0000 (01:19 +0100)]
Import a classic DRI driver for nv0x-nv2x.
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.