Commit graph

151 commits

Author SHA1 Message Date
Kristian Høgsberg
880acbe177 egl_dri2: Zero out driver struct
Otherwise testing ->Probe for non-NULL and calling it goes boom.
2010-05-12 14:34:55 -04:00
Chia-I Wu
56530c9097 egl: Build drivers in $(TOP)/$(LIB_DIR)/egl.
There are enough EGL modules that they deserve a subdirectory, to avoid
polluting $(TOP)/$(LIB_DIR).
2010-05-08 14:58:59 +08:00
Chia-I Wu
296adbd545 glapi: Move to src/mapi/.
Move glapi to src/mapi/{glapi,es1api,es2api}.
2010-05-07 10:41:11 +08:00
Kristian Høgsberg
0870e4a202 Merge branch 'gles2-2'
Conflicts:
	src/mesa/drivers/dri/common/dri_util.h
2010-05-02 10:17:07 -04:00
Kristian Høgsberg
e2fd98d794 egl_dri2: Use new DRI API to create a GLES1/2 context when asked to 2010-04-28 14:05:21 -04:00
Dan Nicholson
02224ec4e0 Merge branch '7.8'
Conflicts:
	progs/egl/Makefile

progs/egl/Makefile is gone on master with the egl demos split into
subdirectories. Will require an additional commit.
2010-04-19 20:22:48 -07:00
Dan Nicholson
88be2171e7 egl: Pass flags to locate Xlib headers and libraries
eglplatform.h pulls in Xlib.h on X11 platforms. Likewise, the egl glx
driver and egl programs needs to link to libX11. Make sure we use the
locations the user told us about.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-04-19 20:21:57 -07:00
Jakob Bornecrantz
6fc532ae05 Merge branch '7.8' 2010-04-28 16:27:51 +01:00
Micah Fedke
9cfaaa291f egl: dri2 driver error output
This patch amends the error output string for the case where the
dri2 egl driver could not open the dri dev node.

Signed-off-by: Brian Paul <brianp@vmware.com>
2010-04-28 07:26:01 -06:00
Kristian Høgsberg
3a82c8c562 egl_dri2: Enable KHR_gl_texture_2D_image
Forgot to set the enabled bit when I implemented the extension.
2010-04-14 16:22:48 -04:00
Chia-I Wu
d18d0fdcd8 egl_dri2: Flush before context switch and swap buffers.
DRI does not define any callback to flush the current context.  GLX
loader simply calls glFlush.  Follow the GLX loader here.
2010-04-06 19:54:06 +08:00
Kristian Høgsberg
4007342584 egl_dri2: Factor out DRI2 protocol bits from initialize. 2010-03-03 10:47:49 -05:00
Kristian Høgsberg
557c20b309 egl_dri2: Implement EGL_KHR_gl_renderbuffer_image 2010-02-26 14:52:14 -05:00
Kristian Høgsberg
f4e7d1b1e5 egl_dri2: Implement EGL_KHR_image and EGL_KHR_image_pixmap 2010-02-24 14:28:42 -05:00
Kristian Høgsberg
32f2fd1c5d Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versions 2010-02-19 12:03:01 -05:00
Kristian Høgsberg
c19dab7c59 egl_dri2: Only allocate config if we're going to keep it
Small optimization.
2010-02-09 21:24:15 -05:00
Kristian Høgsberg
c3c1a7e1d9 egl_dri2: Initialize config attributes with visual id and class from X 2010-02-09 21:24:15 -05:00
Kristian Høgsberg
360faf80ca egl_dri2: Allow pbuffer and pixmap surfaces for all configs 2010-02-09 21:24:14 -05:00
Kristian Høgsberg
bba5a98dfd egl_dri2: Implement eglBindTexImage() 2010-02-09 15:55:25 -05:00
Kristian Høgsberg
8c593d3ea9 egl_dri2: Use a helper function for looking up and binding extensions 2010-02-09 15:55:24 -05:00
Kristian Høgsberg
538539d879 egl_dri2: Fix initialization with EGL_DEFAULT_DISPLAY 2010-02-09 09:51:05 -05:00
Kristian Høgsberg
077bc2fda2 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.
2010-02-05 13:55:45 -05:00
Kristian Høgsberg
832f2d3c39 egl_dri2: Log both driver and core extensions 2010-02-05 12:01:28 -05:00
Kristian Høgsberg
9c94faeff1 egl_dri2: Audit and fix errors paths 2010-02-05 12:01:28 -05:00
Kristian Høgsberg
f27b4fadca egl_dri2: Just cast the pointer difference to an int 2010-02-05 12:01:27 -05:00
Chia-I Wu
5f08eff2a7 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.
2010-02-05 12:48:49 +08:00
Chia-I Wu
a35e63382e egl_dri2: Use _EGL_DRIVER_STANDARD_TYPECASTS.
It saves the driver from defining the boring typecasts itself.
2010-02-05 11:45:01 +08:00
Chia-I Wu
fc5ca85a63 egl_dri2: Do not destroy linked resources.
A linked resource is stil owned by the display.
2010-02-05 11:45:01 +08:00
Chia-I Wu
7e7c1ba40b 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.
2010-02-05 11:44:49 +08:00
Chia-I Wu
8d411c9a12 egl_dri2: Add a debug print for DRI2 extensions. 2010-02-05 11:44:16 +08:00
Kristian Høgsberg
c6e830c393 egl: Implement eglCopyBuffers for DRI2, make pixmap and pbuffers actually work 2010-02-04 21:50:23 -05:00
Kristian Høgsberg
42fa009e64 egl: Add driver for EGL on X with DRI2 2010-02-04 15:03:45 -05:00
Chia-I Wu
9a3de505dc egl: Convert drivers to use typecast macros.
Use macros to define the standard typecasts.  This saves lots of
typings.
2010-02-04 14:36:48 +08:00
Chia-I Wu
216925ccd1 egl: Initialize display configs with the display.
This changes _eglInitConfig to take the display as its argument.
2010-01-31 14:46:14 +08:00
Chia-I Wu
d69242be55 egl: Initialize display resources with their display.
Change _eglInitSurface, _eglInitContext, and _eglInitImage to take an
_EGLDisplay instead of an _EGLDriver.  This is a more natural form, and
plus, the display encodes information such as the extensions supported
that might be required for attribute list parsing.
2010-01-31 14:46:14 +08:00
Chia-I Wu
00e1790f32 egl: Rename Binding to CurrentContext in _EGLSurface.
A context can be bound to a surface just like it can be bound to a
thread.  CurrentContext is a more consistent name.
2010-01-30 22:57:18 +08:00
Chia-I Wu
94cb321b5d egl: Clean up header inclusions.
Mainly to remove eglcurrent.h and egldisplay.h from eglglobals.h.
2010-01-30 22:55:49 +08:00
Chia-I Wu
6baa2c8d02 egl: Migrate drivers to use _eglBindContext.
_eglMakeCurrent is a big hammer that is not easy to use.  Migrate
drivers to use _eglBindContext and un-export _eglMakeCurrent.
2010-01-28 17:28:48 +08:00
Chia-I Wu
17330479b3 egl: eglMakeCurrent should accept an uninitialized display.
When no context or surface are given, the display is allowed to be
uninitialized.  Most drivers cannot handle an uninitialized display.
But they are updated to at least throw a fatal message.
2010-01-28 17:28:47 +08:00
Chia-I Wu
a1717970e7 egl: Remove _eglGetCurrentSurface and _eglGetCurrentDisplay.
They have little use in drivers since drivers need to work for multiple
current contexts.
2010-01-26 18:46:05 +08:00
Chia-I Wu
0d2d40451d egl/xdri: Update with glxclient.h change.
__glXFindDisplay is no longer static since
7a9329ba99.
2010-01-26 10:48:16 +08:00
Chia-I Wu
4aed0944f4 egl: Native types are renamed in EGL 1.3.
Rename Native*Type to EGLNative*Type.
2010-01-25 11:59:12 +08:00
Chia-I Wu
28c3e57c83 egl: Install drivers to ${libdir}/egl.
Install EGL drivers to EGL_DRIVER_INSTALL_DIR, which is default to
${libdir}/egl.
2010-01-23 20:30:11 +08:00
Chia-I Wu
324fdf7364 egl: Remove the demo driver.
The demo driver has outdated.  It is suggested to look at any of the
drivers that is functioning.
2010-01-22 15:10:09 +08:00
Chia-I Wu
18b63b55d5 egl_xdri: Add support for DRISW.
Try DRISW if both DRI2 and DRI fail.  It can also be forced by setting
EGL_SOFTWARE.  When DRISW is used, single-buffered modes are ignored.
2010-01-22 15:03:45 +08:00
Chia-I Wu
caa75a7ce0 egl_xdri: Flush commands on context switch and buffer swap.
The corresponding DRI functions does not flush for us.
2010-01-22 14:54:41 +08:00
Chia-I Wu
3c9bf648ac egl_xdri: Report only OpenGL support.
It reported OpenGL ES support because some demos did not set
EGL_RENDERABLE_TYPE correctly.  The demos are fixed.
2010-01-22 14:54:40 +08:00
Chia-I Wu
fe0e35aba8 egl_xdri: Do not reinitialize in __glXInitialize.
__glXInitialize should return the same GLX display for the same X
display.  This issue is triggered by
a35f6bb207.
2010-01-22 14:54:40 +08:00
Chia-I Wu
0e54f9c529 egl_glx: Report only OpenGL support.
It reported OpenGL ES support because some demos did not set
EGL_RENDERABLE_TYPE correctly.  The demos are fixed.
2010-01-22 14:24:46 +08:00
Chia-I Wu
2279fa3c06 egl: Update driver Makefiles.
Update to use the new Makefile.template.
2010-01-22 13:29:23 +08:00