Commit graph

1744 commits

Author SHA1 Message Date
Dan Nicholson
db072baaaf Call mklib with $(SHELL) so the user controls the interpreter
Respect the user's choice of shell when running mklib rather than always
using /bin/sh.
2008-07-12 10:25:40 -07:00
Brian Paul
df2c9424d3 glx: added __glXPreferEGL() to tell libGL to prefer "egl_" drivers over regular DRI drivers.
Also, clean-up, consolidate the dlopen() code a bit.
2008-07-11 15:45:03 -06:00
George Sapountzis
a36bf890e8 glx: add LIBGL_ALWAYS_SOFTWARE
this disables accelerated DRI and fallbacks to client-side software rendering.

compile-tested only.
2008-07-07 18:34:17 +03:00
Alan Hourihane
9157b1e09a glcontextmodes.c is required remove the reference in .gitignore 2008-07-04 13:54:49 +01:00
Alan Coopersmith
4ba39c40ae Fix builds with compilers other than gcc 3.0 & newer
Add #include "glheader.h" for definition of __builtin_expect for compilers
that don't support it.

Signed-off-by: Brian Paul <brian.paul@tungstengraphics.com>
2008-06-21 10:19:45 -06:00
George Sapountzis
1087cc61b3 glx: load swrast_dri.so
caveats:

- does not work with old (i.e. libGLcore) xserver:

- made unbindContext a noop

- extensions:

  GLX_SGI_make_current_read
  GLX_EXT_texture_from_pixmap
  GLX_MESA_copy_sub_buffer
2008-06-13 15:54:08 +03:00
George Sapountzis
4297413656 glx: use ErrorMessageF 2008-06-13 15:48:06 +03:00
Alan Hourihane
6f7ed99b30 revert the DRI2 commits 2008-06-12 00:11:54 +01:00
Alan Hourihane
5e9fe62c70 add missed files for DRI2 merge 2008-06-11 15:25:35 +01:00
Alan Hourihane
1bcb817167 Hook gallium i915 up to DRI2 2008-06-11 14:52:55 +01:00
Alan Hourihane
4566b006f1 Bring in DRI2 changes 2008-06-11 14:10:08 +01:00
Roland Scheidegger
17ec0dbd75 copy msaa visuals capability 2008-06-10 15:45:20 +02:00
Roland Scheidegger
d85f1e95d3 copy msaa visuals capability 2008-06-10 15:44:48 +02:00
George Sapountzis
906e189bd3 glx: use goto's vs. nested if's ala xserver
compile tested only
2008-06-09 17:47:49 +03:00
George Sapountzis
0793457039 glx: add dri_common.c ala xserver
also drop driFilterModes which is unused

in preparation of loading swrast_dri.so
2008-06-09 17:47:09 +03:00
Brian Paul
f82d5cf769 mesa: disable visual warning unless LIBGL_DEBUG is defined 2008-06-06 15:52:47 -06:00
Alan Hourihane
b2a9788ec6 Silence warning 2008-06-05 11:47:20 +01:00
Brian Paul
5429d4a04a replace make with $(MAKE) (bug 16133) 2008-05-28 08:53:53 -06:00
José Fonseca
77ce568ff7 Remove CVS keywords. 2008-05-26 20:14:40 +09:00
Kristian Høgsberg
1b359bc88e Revert "glapi: Generate xserver glapi sources in the mesa tree"
This reverts commit 7688791fc5, and takes
us back to generating the glapi files straight into the xserver tree.

Conflicts:

	src/glx/x11/indirect_size_get.c
2008-05-21 12:13:39 -04:00
Brian Paul
1bb30b02dd Regenerated API dispatch files
Follow on to cherry-pick from master
2008-05-18 15:23:03 -06:00
Dan Nicholson
5dbbde5b22 Default DRI driver directory to match X.Org xserver
Since the only valid consumer of the DRI drivers is the X.Org xserver,
this changes the default DRI driver directory to match xorg-server:
${libdir}/dri. The old default of /usr/X11R6/modules/dri was wrong for
nearly all current systems.
2008-05-09 07:06:52 -07:00
Dan Nicholson
a6464b3cb0 Never fail `make clean'
Mostly some pedantic changes such that `make clean' always ignores
errors. Also changed the top clean target to do the `touch
configs/current' dance instead of realclean.
2008-05-07 11:35:23 -07:00
Dan Nicholson
c5e2b850ad Always cleanup the makedepend backup files
Consistently cleanup the depend.bak files created by makedepend. Also,
realclean has been changed to use a single find command, which speeds it
up considerably.
2008-05-06 14:00:43 -07:00
Dan Nicholson
cba14d85a8 Error consistently when running recursive make
When changing directories and running a sub-make, ensure that both the
cd and make commands propagate errors to the parent make.
2008-05-06 12:29:53 -07:00
Alan Hourihane
6497d50924 include <X11/Xlib.h> 2008-04-23 15:59:23 +01:00
George Sapountzis
f027f8d3a8 glx: nitpick renames 2008-04-23 11:12:31 +03:00
George Sapountzis
df04ffbf02 glx: split out current context code
also clean header inclusion after code movement
2008-04-23 11:12:31 +03:00
Michel Dänzer
23635510e3 Get the default GLXPixmap texture target from the server when appropriate.
Fixes compiz with direct rendering when both GLX_TEXTURE_2D_EXT and
GLX_TEXTURE_RECTANGLE_EXT are supported for a GLXPixmap and the
application didn't specify the texture target as a GLX drawable attribute
when creating the GLX drawable.
2008-04-10 15:47:46 -04:00
Jie Luo
2771862adc Handle fbconfig comparison correctly for attributes the X server didn't send. 2008-04-08 19:17:06 -04:00
Kristian Høgsberg
c016f329ab Only convert configs if screen creation was successful.
Thanks to Adam Jackson for pointing it out.
2008-04-08 18:31:07 -04:00
Kristian Høgsberg
e786924bf0 Pick up dri2proto from the standard proto header include path. 2008-04-02 19:17:31 -04:00
Kristian Høgsberg
dc836edf49 Initialize GLX_EXT_texture_from_pixmap attributes correctly. 2008-04-02 19:05:43 -04:00
Kristian Høgsberg
e82dd8c6e1 DRI interface changes and DRI2 direct rendering support.
Add DRI2 direct rendering support to libGL and add DRI2 client side
protocol code.  Extend the GLX 1.3 create drawable functions in
glx_pbuffer.c to call into the DRI driver when possible.

Introduce __DRIconfig, opaque struct that represents a DRI driver
configuration.  Get's rid of the open coded __GLcontextModes in the
DRI driver interface and the context modes create and destroy
functions that the loader was requires to provide.  glcore.h is no
longer part of the DRI driver interface.  The DRI config is GL binding
agnostic, that is, not specific to GLX, EGL or other bindings.

The core API is now also an extension, and the driver exports a list
of extensions as the symbol __driDriverExtensions, which the loader
must dlsym() for.  The list of extension will always include the DRI
core extension, which allows creating and manipulating DRI screens,
drawables and contexts.  The DRI legacy extension, when available,
provides alternative entry points for creating the DRI objects that
work with the XF86DRI infrastructure.

Change DRI2 client code to not use drm drawables or contexts.  We
never used drm_drawable_t's and the only use for drm_context_t was as
a unique identifier when taking the lock.  We now just allocate a
unique lock ID out of the DRILock sarea block.  Once we get rid of the
lock entirely, we can drop this hack.

Change the interface between dri_util.c and the drivers, so that the
drivers now export the DriverAPI struct as driDriverAPI instead of the
InitScreen entry point.  This lets us avoid dlsym()'ing for the DRI2
init screen function to see if DRI2 is supported by the driver.
2008-03-31 16:51:26 -04:00
Xiang, Haihao
ae2c31ed66 glx: Add isDirect back to __GLXcontextRec. It is needed
to check whether oldGC is used for direct rendering in
function MakeContextCurrent. However it is possible
oldGC->driContext is already freed. fix bug #14926.
2008-03-18 15:02:57 +08:00
Kristian Høgsberg
98e13fecd0 Test createNewScreen for NULL, not createNewScreenName in driCreateScreen(). 2008-03-15 14:06:42 -04:00
Xiang, Haihao
42c279a03b glx: fix rotation regression. bug #14963 2008-03-14 15:27:15 +08:00
Kristian Høgsberg
9110425c72 libGL: Pull the drawable hash back out in the generic code.
This will be shared between dri and dri2 code.
2008-03-12 02:18:12 -04:00
Kristian Høgsberg
94f39f2e7c Add another missing check for uninitialized DRI.
Spotted by Chris Taylor.
2008-03-12 02:04:16 -04:00
Kristian Høgsberg
fe23dc5eca Move make install logic for libGL back into src/mesa/Makefile.
This makes make install work again for non-glx libGL implementations.
The make install logic is split into three sub-targets: install-libgl,
install-osmesa, install-drivers.  The install target in src/glx/x11
is then implemented using the src/mesa make install-libgl rule.

Thanks to Dan Nicholson for pointing out the breakage.
2008-03-10 18:46:19 -04:00
Kristian Høgsberg
3731159ec6 Only try to call DRI function if DRI got initialized properly. 2008-03-10 18:46:19 -04:00
Brian
9162bc8f48 remove extra #include of assert.h (bug 14932) 2008-03-10 07:43:40 -06:00
Dave Airlie
20e0a8a1ca dri: fix function call to add new parameter.
This may not be correct but it should get the build going.
2008-03-10 19:13:34 +10:00
Kristian Høgsberg
b0f8025434 Properly revert the libGL loader path breakage. 2008-03-09 19:02:56 -04:00
Kristian Høgsberg
03db9c8acb libGL: Fall back to DEFAULT_DRIVER_DIR properly.
After commit 6fd82f6fbd, we would
overwrite the libPath default value with NULL if libGL was running
non-setuid and none of the env vars were set.

Thanks to Magnus Kessler <Magnus.Kessler@gmx.net> for spotting it.
2008-03-09 16:29:17 -04:00
Kristian Høgsberg
3d28a2690f Use _X_HIDDEN to hide a bunch of leaked symbols. 2008-03-08 22:28:01 -05:00
Kristian Høgsberg
020c64b2cf Move DRI context functions into dri_glx.c.
Also drop isDirect flag; if gc->driContext is non-NULL, it's direct.
2008-03-08 21:57:29 -05:00
Kristian Høgsberg
20b9230ce1 Move DRI drawable creation into dri_glx.c. 2008-03-08 21:02:23 -05:00
Kristian Høgsberg
92d2a78f8d Introduce __GLXDRIscreen so we can start moving function pointers in there.
Temporarily rename the __DRIscreen member to __driScreen.  Eventually,
we'll move that into __GLXDRIscreen and only access it in dri_glx.c.
2008-03-08 20:34:24 -05:00
Kristian Høgsberg
53dc863636 Move DRI specific parts of CreateContext into dri_glx.c. 2008-03-08 20:02:22 -05:00