Dan Nicholson [Wed, 31 Oct 2007 17:33:20 +0000 (10:33 -0700)]
configs: Always use -fPIC for shared libraries, never for static
Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
re-enabling -fPIC for all DRI arches. Let's just do that here since
that's normally what's wanted for shared libraries. Some justification:
http://bugs.gentoo.org/show_bug.cgi?id=110840#c9
On the other hand, position-independent code is only necessary when
building shared libraries, so disable it for the static cases.
Dan Nicholson [Wed, 31 Oct 2007 16:47:39 +0000 (09:47 -0700)]
Add -fno-strict-aliasing workaround for Linux GCC targets
Most Linux distros work around aliasing problems in Mesa by compiling
with the GCC option -fno-strict-aliasing. Two examples:
https://bugs.freedesktop.org/show_bug.cgi?id=6046
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311
This makes -fno-strict-aliasing the default with a comment that
developers should consider commenting it out. There is a already a note
about these bugs in docs/helpwanted.html.
Brian [Wed, 31 Oct 2007 15:57:07 +0000 (09:57 -0600)]
GLSL support in i965 driver
Brian [Wed, 31 Oct 2007 15:44:01 +0000 (09:44 -0600)]
updated list
Brian [Wed, 31 Oct 2007 15:38:51 +0000 (09:38 -0600)]
check for count==0 in _mesa_validate_DrawArrays()
Michel Dänzer [Tue, 30 Oct 2007 16:47:17 +0000 (17:47 +0100)]
Fix some build warnings, mostly with XCB.
Brian [Tue, 30 Oct 2007 16:24:34 +0000 (10:24 -0600)]
Alias glStencilOpSeparateATI with glStencilOpSeparate.
Brian [Tue, 30 Oct 2007 16:23:58 +0000 (10:23 -0600)]
test glStencilFuncSeparateATI()
Brian [Tue, 30 Oct 2007 15:13:58 +0000 (09:13 -0600)]
Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
Roland Scheidegger [Tue, 30 Oct 2007 13:09:17 +0000 (14:09 +0100)]
add missing _mesa_StencilFuncSeparateATI function
Michel Dänzer [Tue, 30 Oct 2007 12:16:50 +0000 (13:16 +0100)]
More vblank cleanups.
* Fix crash at context creation in most drivers supporting vblank.
* Don't pass vblank sequence or flags to functions that get passed the drawable
private already.
* Attempt to initialize vblank related drawable private fields just once
per drawable. May need more work in some drivers.
Eric Anholt [Mon, 29 Oct 2007 18:56:50 +0000 (11:56 -0700)]
[i915] Include header to pick up intel_ttm_bo_create_from_handle() proto.
Eric Anholt [Mon, 29 Oct 2007 20:24:27 +0000 (13:24 -0700)]
Merge branch 'origin'
Jesse Barnes [Mon, 29 Oct 2007 19:06:36 +0000 (12:06 -0700)]
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
Jesse Barnes [Mon, 29 Oct 2007 18:56:31 +0000 (11:56 -0700)]
Refactor and fix core vblank support
Consolidate support for synchronizing to and retrieving vblank counters. Also
fix the core vblank code to return monotonic MSC counters, which are required
by some GLX extensions. Adding support for multiple pipes to a low level
driver is fairly easy, the Intel 965 driver provides simple example code (see
intel_buffers.c:intelWindowMoved()).
The new code bumps the media stream counter extension version to 2 and adds a
new getDrawableMSC callback. This callback takes a drawablePrivate pointer,
which is used to calculate the MSC value seen by clients based on the actual
vblank counter(s) returned from the kernel. The new drawable private fields
are as follows:
- vblSeq - used for tracking vblank counts for buffer swapping
- vblFlags - flags (e.g. current pipe), updated by low level driver
- msc_base - MSC counter from the last time the current pipe changed
- vblank_base - kernel DRM vblank counter from the last time the pipe changed
Using the above variables, the core vblank code (in vblank.c) can calculate a
monotonic MSC value. The low level DRI drivers are responsible for updating
the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags)
along with msc_base and vblank_base whenever the pipe associated with a given
drawable changes (again, see intelWindowMoved for an example of this).
Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to
driDrawableGetMSC32 and add code for pipe switching as outlined above to fully
support the new scheme.
Dan Nicholson [Mon, 29 Oct 2007 18:21:37 +0000 (11:21 -0700)]
Build xdemos programs by default on linux-dri
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
Chris Rankin [Mon, 29 Oct 2007 18:37:32 +0000 (14:37 -0400)]
Remember to call XSync() before resetting X error handler.
Dan Nicholson [Mon, 29 Oct 2007 18:17:04 +0000 (11:17 -0700)]
linux-dri-xcb: Fix undefined refs when linking with libGL
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
Brian [Mon, 29 Oct 2007 16:01:15 +0000 (10:01 -0600)]
disable ctx->Driver.NewProgram() call in _mesa_new_program()
This was causing infinite recursive calls w/ software drivers.
All vertex/fragment shaders should be allocated by calling
ctx->Driver.NewProgram(), not by calling _mesa_new_program().
Dan Nicholson [Mon, 29 Oct 2007 15:05:13 +0000 (09:05 -0600)]
update APP_LIB_DEPS for static library configs (patch 3/3)
Dan Nicholson [Mon, 29 Oct 2007 15:04:30 +0000 (09:04 -0600)]
simplify APP_LIB_DEPS (patch 2/3)
Dan Nicholson [Mon, 29 Oct 2007 15:03:01 +0000 (09:03 -0600)]
specify app lib dependencies in Makefiles (patch 1/3)
Alan Hourihane [Sun, 28 Oct 2007 20:07:37 +0000 (20:07 +0000)]
Only set R_MODE with NV_point_sprite
Dan Nicholson [Fri, 26 Oct 2007 22:43:44 +0000 (15:43 -0700)]
configs: Fix linux-static to link correctly
The linux-static target was missing necessary libraries and hardcoding
their location to /usr/X11R6/lib. This makes it comparable to the x86
and x86-64 static targets.
Zou Nan hai [Fri, 26 Oct 2007 07:39:50 +0000 (15:39 +0800)]
Merge branch '965-glsl'
Conflicts:
src/mesa/drivers/dri/i965/brw_sf.h
src/mesa/drivers/dri/i965/intel_context.c
Brian [Thu, 25 Oct 2007 20:46:35 +0000 (14:46 -0600)]
use grep -q
Dan Nicholson [Thu, 25 Oct 2007 18:34:16 +0000 (11:34 -0700)]
Ignore new programs
Brian [Thu, 25 Oct 2007 17:10:10 +0000 (11:10 -0600)]
simplify/fix the ASM_FLAGS tests (bug 12931)
Alex Neundorf [Wed, 24 Oct 2007 22:31:22 +0000 (16:31 -0600)]
added catamount-osmesa-pgi config
Brian [Wed, 24 Oct 2007 22:24:06 +0000 (16:24 -0600)]
don't build x86, x86-64 dirs if not needed
Brian [Wed, 24 Oct 2007 19:55:22 +0000 (13:55 -0600)]
fix assorted bugs, works now
Brian [Wed, 24 Oct 2007 18:43:02 +0000 (12:43 -0600)]
add to git
Brian [Wed, 24 Oct 2007 17:37:05 +0000 (11:37 -0600)]
Implement gl_PointCoord attribute for GLSL fragment shaders.
Contains the normalized fragment position within a point sprite.
Brian [Tue, 23 Oct 2007 16:55:24 +0000 (10:55 -0600)]
properly init dst reg's CondMask/Swizzle fields
Brian [Tue, 23 Oct 2007 16:24:53 +0000 (10:24 -0600)]
bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions
Brian [Tue, 23 Oct 2007 14:22:21 +0000 (08:22 -0600)]
add directfb glut sources to tarball
Brian [Mon, 22 Oct 2007 23:50:17 +0000 (17:50 -0600)]
don't apply ColorMask to main gc
Kristian Høgsberg [Thu, 18 Oct 2007 19:19:08 +0000 (15:19 -0400)]
glxinfo: Try creating a GLX context using an fbconfig if no visuals are available.
Michel Dänzer [Thu, 18 Oct 2007 16:30:15 +0000 (18:30 +0200)]
i915: Add some sanity checks to blit command debugging code.
Ian Romanick [Wed, 17 Oct 2007 20:11:01 +0000 (13:11 -0700)]
Framework for supporting z24_s8 and z32 depth textures on r300.
Ian Romanick [Wed, 17 Oct 2007 19:07:04 +0000 (12:07 -0700)]
Initial support for ARB_depth_texture
Currently only GL_DEPTH_COMPONENT16 are supported. I don't know what the
hardware bits are to select the other formats, but it shouldn't be too hard
to figure out.
Ian Romanick [Wed, 17 Oct 2007 19:05:55 +0000 (12:05 -0700)]
Support cards that have ARB_fp but not ARB_shadow.
Ian Romanick [Wed, 17 Oct 2007 17:39:24 +0000 (10:39 -0700)]
mga: Enable (trivial) support for GL_APPLE_vertex_array_object, bump DRIVER_DATE
Ian Romanick [Wed, 17 Oct 2007 17:36:48 +0000 (10:36 -0700)]
mga: Enable (trivial) support for GL_EXT_gpu_program_parameters.
Kristian Høgsberg [Wed, 17 Oct 2007 21:03:33 +0000 (17:03 -0400)]
pbutil: Do not require GLX_SGIX_pbuffer for fbconfig only-functions.
Brian [Wed, 17 Oct 2007 20:30:18 +0000 (14:30 -0600)]
Replace repeat_remainder() with a simpler macro that just casts args to unsigned.
Kristian Høgsberg [Wed, 17 Oct 2007 19:05:47 +0000 (15:05 -0400)]
Pull workaround for unset GLX_DRAWABLE_TYPE back in.
The old version just set GLX_DRAWABLE_TYPE to GLX_WINDOW_BIT for
configs received through glXGetVisualConfigs and to
GLX_WINDOW_BIT | GLX_PIXMAP_BIT for configs received as FBConfigs.
The X server needs to send this info, but keep the workaround for now.
Fixes #12835.
Kristian Høgsberg [Wed, 17 Oct 2007 18:43:35 +0000 (14:43 -0400)]
glxinfo: Also print number of fbconfigs.
Michel Dänzer [Wed, 17 Oct 2007 16:28:03 +0000 (18:28 +0200)]
Don't call the driver clear hook when the effective scissor rectangle is empty.
Michel Dänzer [Wed, 17 Oct 2007 16:26:31 +0000 (18:26 +0200)]
i915: Don't emit 'empty' blit rectangles.
The hardware seems to interpret them differently and produce unexpected
results...
Kristian Høgsberg [Wed, 17 Oct 2007 14:14:55 +0000 (10:14 -0400)]
Fixup a couple of thinkos in glxinfo changes.
Kristian Høgsberg [Tue, 16 Oct 2007 20:07:47 +0000 (16:07 -0400)]
Handle fbconfigs and glx visuals separately.
The old implementation fetches fbconfigs or glx visuals once and assumes the list
describes both fbconfigs and glx visuals. This patch splits it up and fetches
visuals and fbconfigs in two steps and keep the two lists separate. A server
could have no glx visuals or no glx fbconfigs and the old code wouldn't know the
difference.
Kristian Høgsberg [Tue, 16 Oct 2007 20:01:34 +0000 (16:01 -0400)]
Implement support for printing glx fbconfigs in glxinfo.
Kristian Høgsberg [Tue, 16 Oct 2007 00:12:01 +0000 (20:12 -0400)]
glxinfo: Only print visuals that actually support GLX.
Eric Anholt [Tue, 16 Oct 2007 19:25:35 +0000 (12:25 -0700)]
Replace symlink generation from i915 with files in intel/ and symlinks there.
Michel Dänzer [Tue, 16 Oct 2007 13:48:46 +0000 (15:48 +0200)]
i915: Make sure extensions that require TTM actually work.
Dave Airlie [Tue, 16 Oct 2007 11:10:44 +0000 (22:10 +1100)]
i915: fixup TTM interfaces to follow drm changes
Michel Dänzer [Tue, 16 Oct 2007 11:01:44 +0000 (13:01 +0200)]
i915: Re-enable __DRItexOffsetExtension.
This seems to have got lost somehow during the recent DRI interface changes.
Brian [Tue, 16 Oct 2007 00:00:17 +0000 (18:00 -0600)]
fix fog, rescale_normals bugs (from gallium branch)
Kristian Høgsberg [Mon, 15 Oct 2007 16:16:45 +0000 (12:16 -0400)]
Roll back premature version bump.
Kristian Høgsberg [Thu, 30 Aug 2007 17:05:59 +0000 (13:05 -0400)]
Dont add fbconfigs to array that we didn't allocate for.
Andreas Micheler [Mon, 15 Oct 2007 14:26:03 +0000 (08:26 -0600)]
faster write_rgba_span_front()
George Sapountzis [Sun, 14 Oct 2007 17:33:56 +0000 (20:33 +0300)]
typo
George Sapountzis [Tue, 25 Sep 2007 09:49:29 +0000 (12:49 +0300)]
Add GL_CORE_WINDOWS define to glcore.h
This is for consistency with glproto. The GL_CORE defines should probably be
dropped.
----
Author: Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>
Date: Mon Jun 21 13:35:05 2004 +0000
Bug 782: Merge native OpenGL for Windows from CYGWIN branch
George Sapountzis [Sun, 14 Oct 2007 16:59:33 +0000 (19:59 +0300)]
Drop include "dri_interface.h" from xf86dri.h
Thanks to dri2, xf86dri no longer uses __DRI types.
Kristian Høgsberg [Thu, 30 Aug 2007 17:00:20 +0000 (13:00 -0400)]
Do XSync() before resetting error handler.
Kristian Høgsberg [Mon, 27 Aug 2007 18:15:49 +0000 (14:15 -0400)]
Uncomment GLX_SGIX_pbuffer definition.
Kristian Høgsberg [Mon, 27 Aug 2007 18:16:30 +0000 (14:16 -0400)]
Get the width and height from the attrib list in glXCreatePbuffer.
Kristian Høgsberg [Fri, 12 Oct 2007 23:35:04 +0000 (19:35 -0400)]
Merge branch 'dri2'
Conflicts:
src/mesa/drivers/dri/i915/intel_screen.c
Dave Airlie [Fri, 12 Oct 2007 01:02:46 +0000 (11:02 +1000)]
Merge branch 'master' into i915-superioctl
Dave Airlie [Fri, 12 Oct 2007 01:01:17 +0000 (11:01 +1000)]
i915: only enable TTM path if drm minor is > 11 for superioctl
Dave Airlie [Fri, 12 Oct 2007 00:59:38 +0000 (10:59 +1000)]
dri: remove ttm common code since superioctl is device specific
Dave Airlie [Fri, 12 Oct 2007 00:56:25 +0000 (10:56 +1000)]
i915: fixup reloc header defines
Brian [Fri, 12 Oct 2007 00:25:12 +0000 (18:25 -0600)]
Example of cooperative rendering into one window by two processes
Brian [Thu, 11 Oct 2007 22:39:02 +0000 (16:39 -0600)]
New glxsnoop demo to display another window's z/stencil/back buffer.
Kristian Høgsberg [Thu, 11 Oct 2007 16:49:26 +0000 (12:49 -0400)]
Drop no longer implemented MESA allocate extension from i915.
Brian [Thu, 11 Oct 2007 16:33:31 +0000 (10:33 -0600)]
remove unneeded cast
Kristian Høgsberg [Thu, 7 Jun 2007 23:35:54 +0000 (19:35 -0400)]
Add a version field to __DRIextension.
Kristian Høgsberg [Tue, 22 May 2007 16:26:02 +0000 (12:26 -0400)]
Move new texOffset extension to the new extension mechanism.
Kristian Høgsberg [Thu, 17 May 2007 20:11:19 +0000 (16:11 -0400)]
Convert a left-over private void * to __DRIcontext *.
Kristian Høgsberg [Thu, 17 May 2007 19:47:47 +0000 (15:47 -0400)]
Move enabling of DRI extensions into glxextensions.c
Kristian Høgsberg [Thu, 17 May 2007 19:33:14 +0000 (15:33 -0400)]
Remove now unused getProcAddress from DRIinterfaceMethods.
Kristian Høgsberg [Thu, 17 May 2007 18:39:06 +0000 (14:39 -0400)]
Add a DRI_ReadDrawable marker extension to signal read drawable capability.
Kristian Høgsberg [Wed, 16 May 2007 22:13:41 +0000 (18:13 -0400)]
Move media stream counter entry points to new extension.
Kristian Høgsberg [Wed, 16 May 2007 19:50:40 +0000 (15:50 -0400)]
Move GLX_MESA_swap_frame_usage DRI entry points to the new mechanism.
Kristian Høgsberg [Wed, 16 May 2007 18:10:29 +0000 (14:10 -0400)]
Move GLX_MESA_allocate_memory related functions to new extension mechanism.
Kristian Høgsberg [Tue, 15 May 2007 20:09:44 +0000 (16:09 -0400)]
Move swap_interval to new extension mechanism.
Kristian Høgsberg [Tue, 15 May 2007 19:17:30 +0000 (15:17 -0400)]
Move the copySubBuffer extension over to the new mechanism.
Kristian Høgsberg [Tue, 15 May 2007 16:31:31 +0000 (12:31 -0400)]
Implement new screen extension API.
This new API lets the loader examine DRI level extensions provided by the
driver in a forward compatible manner.
Much of the churn in the DRI interface is adding support for new
extensions or removing old, unused extensions. This new extension
mechanism lets the loader query the extensions provided by the driver
and implement the extensions it knows about. Deprecating extensions
is done by not exporting that extension in the list, which doesn't
require keeping old function pointers around to preserve ABI.
Kristian Høgsberg [Mon, 14 May 2007 21:07:16 +0000 (17:07 -0400)]
Stop passing in unused fbconfigs to createNewScreen.
Kristian Høgsberg [Mon, 14 May 2007 20:58:37 +0000 (16:58 -0400)]
Pull createNewScreen entry point into dri_util.c.
This pulls the top level createNewScreen entry point out of the drivers
and rewrites __driUtilCreateNewScreen in dri_util.c to be the new entry point.
The change moves more logic into the common/ layer and changes the
createNewScreen entry point to only be defined in one place.
Kristian Høgsberg [Mon, 14 May 2007 20:37:19 +0000 (16:37 -0400)]
Replace open-coded major, minor, and patch version fields with __DRIversionRec.
Kristian Høgsberg [Fri, 11 May 2007 20:43:20 +0000 (16:43 -0400)]
Convert all DRI entrypoints to take pointers to __DRI* types.
The entrypoints take a mix of __DRIscreen * and void * (screen private)
arguments (similarly for contexts and drawables). This patch does away
with passing the private void pointer and always only passes the fully
typed __DRIscreen pointer and always as the first argument.
This makes the interface more consistent and increases type safety, and
catches a bug where we would pass a screen private to DRIdrawable::getSBC.
Kristian Høgsberg [Fri, 11 May 2007 20:11:23 +0000 (16:11 -0400)]
Remove screenConfigs from __DRIscreen.
The screenConfigs field of __DRIscreen points back to the containing
__GLXscreenConfigs struct. This is a serious abstraction violation; it
assumes that the loader is libGL and that there *is* a __GLXscreenConfigs
type in the loader.
Using the containerOf macro, we can get from the __DRIscreen pointer to
the containing __GLXscreenConfigs struct, at a place in the stack
where the above is a valid assumption. Besides, the __DRI* structs shouldn't
hold state other than the private pointer.
Kristian Høgsberg [Fri, 11 May 2007 17:54:44 +0000 (13:54 -0400)]
Drop mostly unused __DRIid typedef.
Kristian Høgsberg [Fri, 11 May 2007 17:24:34 +0000 (13:24 -0400)]
Avoid deadlock in GarbageCollectDRIDrawables.
__glXinitialize() can't be called with the GLX lock held. Just
pass in the __GLXscreenConfigs pointer so we don't have to look it
up in __GLXdisplayPrivate.
Kristian Høgsberg [Thu, 10 May 2007 22:38:49 +0000 (18:38 -0400)]
Drop createContext and destroyContext from DRIinterfaceMethods.
As for createDrawable and destroyDrawable, these functions immediately
upon entry to driCreateNewContext and immediately before exit from
driDestroyContext. Instead of passing function pointers back and forth
just obtain the drm_context_t prior to calling DRIscreen::createNewContext
and pass it as a parameter.
This change also lets us keep the DRI context XID in the libGL loader only.
Kristian Høgsberg [Thu, 10 May 2007 21:14:38 +0000 (17:14 -0400)]
Drop createDrawable and destroyDrawable fron DRIinterfaceMethods.
All the DRI driver did was call the createDrawable callback immediately
upon entry to DRIscreen::createNewDrawable to get the drm_drawable_t.
We can just call that before calling into the DRI driver and pass the
returned drm_drawable_t as an argument to the DRI entry point.
Likewise for destroyDrawable.
Also, DRIdrawablePrivate::draw isn't used anywhere, and since the
driver no longer needs the XID of the drawable we can now drop that.
Kristian Høgsberg [Wed, 10 Oct 2007 21:07:01 +0000 (17:07 -0400)]
Key drm_i915_flip_t typedef off of the ioctl #define instead.
Kristian Høgsberg [Thu, 10 May 2007 19:52:22 +0000 (15:52 -0400)]
Drop __DRInativeDisplay and pass in __DRIscreen pointers instead.
Many DRI entry points took a __DRInativeDisplay pointer and a screen
index as arguments. The only use for the native display pointer was to
pass it back to the loader when looking up the __DRIscreen for the given
screen index.
Instead, let's just pass in the __DRIscreen pointer directly, which
let's drop the __DRInativeDisplay type and the getScreen function.
The assumption is now that the loader will be able to retrieve context
from the __DRIscreen pointer when necessary.