Commit graph

11398 commits

Author SHA1 Message Date
Kristian Høgsberg
6c753ad51d 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.
2007-10-17 15:06:11 -04:00
Kristian Høgsberg
a5b4bb393f glxinfo: Also print number of fbconfigs. 2007-10-17 15:06:11 -04:00
Michel Dänzer
86b81ef5aa Don't call the driver clear hook when the effective scissor rectangle is empty. 2007-10-17 18:37:19 +02:00
Michel Dänzer
b453112133 i915: Don't emit 'empty' blit rectangles.
The hardware seems to interpret them differently and produce unexpected
results...
2007-10-17 18:37:12 +02:00
Kristian Høgsberg
87966baa8d Fixup a couple of thinkos in glxinfo changes. 2007-10-17 10:15:10 -04:00
Kristian Høgsberg
6c533ea2d1 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.
2007-10-16 16:07:52 -04:00
Kristian Høgsberg
791ad0e77f Implement support for printing glx fbconfigs in glxinfo. 2007-10-16 16:07:52 -04:00
Kristian Høgsberg
f7d1d554b1 glxinfo: Only print visuals that actually support GLX. 2007-10-16 16:07:52 -04:00
Michel Dänzer
3feefeeb35 i915: Make sure extensions that require TTM actually work. 2007-10-16 15:48:46 +02:00
Dave Airlie
70eb456a76 i915: fixup TTM interfaces to follow drm changes 2007-10-16 22:11:43 +11:00
Michel Dänzer
9c4d104e98 i915: Re-enable __DRItexOffsetExtension.
This seems to have got lost somehow during the recent DRI interface changes.
2007-10-16 13:01:44 +02:00
Brian
cab0dce676 fix fog, rescale_normals bugs (from gallium branch) 2007-10-15 18:00:55 -06:00
Kristian Høgsberg
7a88ecbd1a Roll back premature version bump. 2007-10-15 12:16:45 -04:00
Kristian Høgsberg
a87e9a3479 Dont add fbconfigs to array that we didn't allocate for. 2007-10-15 10:59:06 -04:00
Andreas Micheler
157eeb5c3b faster write_rgba_span_front() 2007-10-15 08:26:45 -06:00
George Sapountzis
f33e1a4403 typo 2007-10-14 20:33:56 +03:00
George Sapountzis
fe20ac2a6b 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
2007-10-14 20:11:00 +03:00
George Sapountzis
d7c137b0df Drop include "dri_interface.h" from xf86dri.h
Thanks to dri2, xf86dri no longer uses __DRI types.
2007-10-14 20:08:31 +03:00
Kristian Høgsberg
c095f7e46a Do XSync() before resetting error handler. 2007-10-13 18:46:01 -04:00
Kristian Høgsberg
d0b68b215d Uncomment GLX_SGIX_pbuffer definition. 2007-10-13 18:45:05 -04:00
Kristian Høgsberg
8b20411915 Get the width and height from the attrib list in glXCreatePbuffer. 2007-10-13 18:44:52 -04:00
Kristian Høgsberg
f9c6dfc4d1 Merge branch 'dri2'
Conflicts:

	src/mesa/drivers/dri/i915/intel_screen.c
2007-10-12 19:35:04 -04:00
Dave Airlie
bf805d3bf5 Merge branch 'master' into i915-superioctl 2007-10-12 11:02:46 +10:00
Dave Airlie
9e06cf00cf i915: only enable TTM path if drm minor is > 11 for superioctl 2007-10-12 11:01:27 +10:00
Dave Airlie
ea2278bc79 dri: remove ttm common code since superioctl is device specific 2007-10-12 10:59:38 +10:00
Dave Airlie
7fc5c0307a i915: fixup reloc header defines 2007-10-12 10:56:25 +10:00
Brian
72c888869f Example of cooperative rendering into one window by two processes 2007-10-11 18:25:12 -06:00
Brian
f1104b079f New glxsnoop demo to display another window's z/stencil/back buffer. 2007-10-11 16:39:02 -06:00
Kristian Høgsberg
a2494462cb Drop no longer implemented MESA allocate extension from i915. 2007-10-11 12:49:26 -04:00
Brian
f05c76ec1a remove unneeded cast 2007-10-11 10:33:31 -06:00
Kristian Høgsberg
ccff0cb263 Add a version field to __DRIextension. 2007-10-11 11:30:39 -04:00
Kristian Høgsberg
f29f0ae838 Move new texOffset extension to the new extension mechanism. 2007-10-11 11:28:38 -04:00
Kristian Høgsberg
ecdb45cb29 Convert a left-over private void * to __DRIcontext *. 2007-10-11 11:27:51 -04:00
Kristian Høgsberg
3eaec7dc5d Move enabling of DRI extensions into glxextensions.c 2007-10-11 11:26:47 -04:00
Kristian Høgsberg
594006d8b2 Remove now unused getProcAddress from DRIinterfaceMethods. 2007-10-11 11:25:37 -04:00
Kristian Høgsberg
f968f67e62 Add a DRI_ReadDrawable marker extension to signal read drawable capability. 2007-10-11 11:22:55 -04:00
Kristian Høgsberg
106a6f29bb Move media stream counter entry points to new extension. 2007-10-11 11:21:29 -04:00
Kristian Høgsberg
a7a0a2beb5 Move GLX_MESA_swap_frame_usage DRI entry points to the new mechanism. 2007-10-11 11:11:12 -04:00
Kristian Høgsberg
78a6aa57a0 Move GLX_MESA_allocate_memory related functions to new extension mechanism. 2007-10-11 11:09:57 -04:00
Kristian Høgsberg
efaf90b03e Move swap_interval to new extension mechanism. 2007-10-10 19:14:10 -04:00
Kristian Høgsberg
ac3e838fa7 Move the copySubBuffer extension over to the new mechanism. 2007-10-10 18:57:57 -04:00
Kristian Høgsberg
f616a263a2 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.
2007-10-10 18:47:22 -04:00
Kristian Høgsberg
295dc2d225 Stop passing in unused fbconfigs to createNewScreen. 2007-10-10 18:46:51 -04:00
Kristian Høgsberg
64106d0d9a 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.
2007-10-10 18:36:14 -04:00
Kristian Høgsberg
efd03a278a Replace open-coded major, minor, and patch version fields with __DRIversionRec. 2007-10-10 18:20:08 -04:00
Kristian Høgsberg
5987a03f99 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.
2007-10-10 18:00:18 -04:00
Kristian Høgsberg
aac367f48a 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.
2007-10-10 18:00:13 -04:00
Kristian Høgsberg
fa72013ada Drop mostly unused __DRIid typedef. 2007-10-10 17:09:48 -04:00
Kristian Høgsberg
9590ba97ad 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.
2007-10-10 17:09:36 -04:00
Kristian Høgsberg
8ed5c7ca05 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.
2007-10-10 17:09:16 -04:00