Chia-I Wu
5664a98386
egl: Parse image attributes with _eglParseImageAttribList.
...
Avoid code duplications.
2010-10-22 18:35:09 +08:00
Chia-I Wu
713c8734f4
egl: Move attributes in _EGLImage to _EGLImageAttribs.
...
The opaque nature of EGLImage implies that extensions almost always
define their own attributes. Move attributes in _EGLImage to
_EGLImageAttribs and add a helper function to parse attribute lists.
2010-10-22 17:15:45 +08:00
Chia-I Wu
b67f7295b7
egl_dri2: Drop the use of _egl[SG]etConfigKey.
...
_EGLConfig can be directly dereferenced now.
2010-10-22 16:26:25 +08:00
Ian Romanick
e4bd50c232
egl: Fix several 'comparison between signed and unsigned integer' warnings
...
I hate GCC for requiring the (int) cast on sizeof.
2010-09-24 10:55:38 -07:00
Ian Romanick
137fce247f
EGL DRI2: Silence 'missing initializer' warnings
2010-09-24 09:40:06 -07:00
Ian Romanick
eade946cbf
EGL DRI2: Silence piles of 'unused variable' warnings
2010-09-24 09:40:06 -07:00
Kristian Høgsberg
17eace581d
dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup
...
We will typically have a current context when we need to lookup the image,
but the lookup implementation don't need it so drop it.
2010-09-22 22:02:05 -04:00
Kristian Høgsberg
9ec0b2a45e
dri2: Make createImageFromName() take a __DRIscreen instead of __DRIcontext
...
We can't expect to have a context when this is called, and we don't need one
so just require a __DRIscreen instead.
Reported by Yu Dai <yu.dai@intel.com>
2010-09-22 15:08:22 -04:00
Jesse Barnes
e7eff0cfce
EGL DRI2: 0xa011 is Pineview not Ironlake
...
Point about needing a better way to do this validated.
2010-09-13 10:55:56 -07:00
Jesse Barnes
c121608b6e
EGL DRI2: add PCI ID for Ironlake mobile
...
Allows KMS EGL driver to load. We need a better way of doing this.
2010-09-13 10:36:46 -07:00
Kristian Høgsberg
5aaa53e66c
egl_dri2: Add support for MESA_image_drm
2010-08-25 09:17:48 -04:00
Kristian Høgsberg
e8a72460b7
egl_dri2: Set API version for DRM display
2010-07-29 15:08:00 -04:00
Kristian Høgsberg
efd4a8cffd
egl_dri2: Implement EGL_KHR_surfaceless_* extensions
2010-07-28 23:07:09 -04:00
Kristian Høgsberg
2168b87b51
egl_dri2: Support _EGL_PLATFORM_DRM
...
This lets the egl_dri2 driver initialize on just a DRM fd.
2010-07-08 20:10:37 -04:00
Chia-I Wu
6717a313f2
egl: Store configs in a dynamic array.
2010-06-30 18:32:48 +08:00
Chia-I Wu
f22665df95
egl: Introduce platform displays internally.
...
This commit introduces type-safe platform displays internally. A
platform display consists of a generic pointer and an enum that
specifies the platform.
An EGLDisplay is created from a platform display. Native displays
become platform displays whose platform is determined by
_eglGetNativePlatform(). Platform windows and pixmaps may also be
introduced if needed.
2010-06-23 15:14:59 +08:00
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
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
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
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
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
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
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
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