Commit graph

159 commits

Author SHA1 Message Date
Kristian Høgsberg
0defc25977 egl_dri2: Split driver loading out into its own function 2010-05-28 21:31:22 -04:00
Kristian Høgsberg
c5ddaa2cd7 egl_dri2: Check for xcb_connect() failure the right way
It always returns a valid xcb_connection_t, but if connection failed, it's in the
error state.
2010-05-28 21:31:22 -04:00
Eric Anholt
6f77b751b6 Make TLS EGL dri2 driver search path behavior match TLS GLX dri2 behavior. 2010-05-20 14:44:43 -07:00
Chia-I Wu
bc73a6289f egl: Link drivers back to libEGL.
Drivers need symbols from libEGL.  Without back-linking, the build fails
on Cygwin.
2010-05-19 13:38:57 -06:00
Kristian Høgsberg
5dc0f49084 egl: Implement EGL_NOK_texture_from_pixmap
This extension allows a color buffer to be used for both rendering and
texturing.  EGL allows the use of color buffers of pbuffer drawables
for texturing, this extension extends this to allow the use of color
buffers of pixmaps too.
2010-05-14 14:47:54 -04:00
Brian Paul
e6a7ee7fbb egl: remove duplicate ARRAY_SIZE() macro declaration 2010-05-14 10:55:19 -06:00
Kristian Høgsberg
52c554a79d egl: Implement EGL_NOK_swap_region
This extension adds a new function which provides an alternative to
eglSwapBuffers. eglSwapBuffersRegionNOK accepts two new parameters in
addition to those in eglSwapBuffers. The new parameters consist of a
pointer to a list of 4-integer blocks defining rectangles (x, y,
width, height) and an integer specifying the number of rectangles in
the list.
2010-05-13 20:30:45 -04:00
Kristian Høgsberg
7413d9ae9f egl_dri2: Downgrade initialization errors to warnings
Don't want to shutdown everything if egl_dri2 fails to initialize.
2010-05-13 16:14:07 -04:00
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