Fredrik Höglund
655f2c1d65
egl_dri2/x11: Add support for eglSwapInterval
2011-12-20 22:11:17 -05:00
Chia-I Wu
eb7d1b9474
egl_dri2/x11: error check coordinates in eglPostSubBufferNV
...
EGL_BAD_PARAMETER should be returned when any of the coordinates is negative.
2011-12-20 17:26:18 +08:00
Fredrik Höglund
71b8fc9872
egl_dri2/x11: Add support for EGL_NV_post_sub_buffer
...
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
2011-12-20 17:05:11 +08:00
Benjamin Franzke
2a58453e25
egl_dri2: Fix some valgrind reported leaks
...
Free the device_name, reported by Pekka Paalanen.
Destroy wayland display and drm resources,
if created by dri2_initialize_wayland.
2011-12-13 15:32:43 +01:00
Chia-I Wu
b7a69cbb71
egl_glx: fix eglDestroyContext
...
Wrong pointers are passed to glXDestroyContext.
Spotted by Brian Paul.
2011-12-03 11:10:16 +08:00
Beren Minor
6baa5f10c0
egl_glx: Try first a default lookup for glXGetProcAddress before loading dynamic lib.
...
GLX functions are sometimes directly available in the current binary. In such
cases, we do not need any alternate library loaded using dlopen. Otherwise,
dlopen may find the wrong libGL library and get functions that conflicts with
the current loaded ones.
For example, on Debian Sid with nvidia binary drivers, using mesa's libEGL with
GLX driver leads to wrong glXGetFBConfigs symbol loaded (or loaded twice?),
which leads to "GLX: failed to create any config" error message as the
glXGetFBConfigs symbol seems to return garbage. If the binary is linked with
nvidia's libGL, the GLX symbols are already available.
Without this patch, convert_fbconfig (src/egl/drivers/glx/egl_glx.c:233) fails
for every config found, after glXGetFBConfigAttrib(... GLX_RENDER_TYPE, ...)
call, as the value returned has GLX_COLOR_INDEX_BIT and not GLX_RGBA_BIT.
[olv: initialize handle, prepend egl_glx to the commit log]
2011-11-27 11:22:24 +08:00
Chia-I Wu
75cc24c876
android: add support for ICS
...
With ICS (Android 4.0), several headers and structs are renamed. Define
ANDROID_VERSION so that we can choose a different path depending on the
platform version.
I've tested only softpipe and llvmpipe. r600g is also reported to work.
2011-11-25 12:34:33 +08:00
Matt Turner
75eb92fb28
egl_glx.c: use unsigned instead of uint
...
We've had a hack to fix this in Gentoo on Solaris for a while.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-09-19 07:39:04 -06:00
Jørgen Lind
0763b978ee
wayland: Flush before blocking in swapbuffers.
...
Make sure that we've sent the frame request that we're going to block on.
2011-09-15 11:53:39 -04:00
Chia-I Wu
48eb1fe6f9
egl_dri2: add support for RGBA_8888 android native buffer
...
HAL_PIXEL_FORMAT_RGBA_8888 maps to __DRI_IMAGE_FORMAT_ABGR8888.
2011-09-09 12:06:17 +08:00
Benjamin Franzke
11f64668a9
egl_dri2: Destroy callback in release_pending_buffer
2011-09-01 11:44:43 +02:00
Kristian Høgsberg
7b1d94e5d1
wayland: Track changes to drop wl_visual
2011-08-31 18:33:47 -04:00
Kristian Høgsberg
447bb454d8
egl_dri2: Only clear EGL_PIXMAP_BIT if DRI config is double buffered
...
We don't want to set the pixmap bit in the EGL config if the DRI
config we're adding is a double buffered config. However, don't clear
any other bits the platform might pass in in the surface_type
argument.
2011-08-31 18:33:36 -04:00
Kristian Høgsberg
c661ecce10
wayland: Track server side wayland changes
2011-08-31 18:20:40 -04:00
Kristian Høgsberg
6602bda23b
wayland: Use new wl_callback mechanism
2011-08-31 16:50:50 -04:00
Benjamin Franzke
f811c1e6d6
egl_dri2: Drop dri2_surface_type enum
...
Was only used in platform_wayland, and the remaining egl stack
uses _EGLSurface::Type with one of EGL_{WINDOW,PIXMAP,PBUFFER}_BIT.
2011-08-31 11:45:34 +02:00
Chia-I Wu
93d5963744
egl_dri2: add pbuffer support to platform_android
...
This is a simple change thanks to allocateBuffer.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-31 12:06:26 +08:00
Chia-I Wu
c8e18f85da
egl_dri2: check the surface type in platform_android
...
Check the surface type is EGL_WINDOW_BIT before doing anything, in
preparation for pbuffer support.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-31 11:58:34 +08:00
Chia-I Wu
384f228a25
egl_dri2: refactor droid_get_buffers_with_format
...
Move the loop to parse attachments to its own function.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-31 11:51:54 +08:00
Chia-I Wu
357d3f30f3
egl_dri2: set ctx->WindowRenderBuffer
...
Set ctx->WindowRenderBuffer to EGL_BACK_BUFFER. As EGL_WINDOW_BIT of a
config is set only when there is dri_double_buffer, that makes sure
window surfaces are always double-buffered and contexts will render to
the back buffer.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-31 11:51:42 +08:00
Chia-I Wu
099faeef33
android: add support for egl_dri2
...
Add rules to build egl_dri2 and make it a built-in EGL driver of
libGLES_mesa.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-28 21:56:23 +08:00
Chia-I Wu
9779f6f5c1
egl_dri2: add support for Android
...
Add platform_android.c that supports _EGL_PLAFORM_ANDROID. It works
with drm_gralloc, where back buffers of windows are backed by GEM
objects.
In Android a native window has a queue of back buffers allocated by the
server, through drm_gralloc. For each frame, EGL needs to
dequeue the next back buffer
render to the buffer
enqueue the buffer
After enqueuing, the buffer is no longer valid to EGL. A window has no
depth buffer or other aux buffers. They need to be allocated locally by
EGL.
Reviewed-by: Benjamin Franzke <benjaminfranzke@googlemail.com>
Reviewed-by: Chad Versace <chad@chad-versace.us>
[olv: with assorted minor changes, mostly suggested during the review]
2011-08-28 21:56:23 +08:00
Chia-I Wu
58911b86a1
egl_dri2: allow RGBA masks to be specified for matching
...
Add rgba_masks to dri2_add_config. When it is non-NULL, the DRI config
is accepted only when the offsets and sizes of the its channels match
rgba_mask.
Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-28 21:56:22 +08:00
Benjamin Franzke
8c40940321
dri2: Add __DRI_BUFFER_COUNT token
...
Remove definition from egl_dri2.
Defining this is egl_dri2.h breaks as soon as
a new dri2 buffer token is added like with commit
4501a5d6e8
.
2011-08-16 09:06:41 +02:00
Cooper Yuan
f5e757ea60
Destroy context in dri2/glx driver when apps call eglDestroyContext
2011-08-14 15:14:17 +08:00
Benjamin Franzke
32f4cf3808
egl/gbm: Fix EGL_DEFAULT_DISPLAY
2011-08-04 14:09:34 +02:00
Marek Olšák
5fe54df58f
Rename swrastg_dri to swrast_dri
...
I prefer it this way and it has been suggested earlier by others too.
Opinions?
2011-07-14 03:03:26 +02:00
Völgyes Dávid
f747d03b1d
Fixes for leaks reported by cppcheck.
2011-07-06 10:11:04 -04:00
Benjamin Franzke
b2d6375e6a
egl_dri2: Fix compilation if udev devel files are not installed
...
NOTE: This is a candidate for the 7.11 branch.
2011-07-02 13:56:27 +02:00
Chia-I Wu
f2001df508
egl: add copyright notices
...
The list of copyright holders could be incomplete. Please update
directly or notify me if your name is missing.
2011-07-02 18:21:31 +09:00
Benjamin Franzke
992680c8b4
egl: Fix Terminate with shared gbm screens
...
NOTE: This is a candidate for the 7.11 branch.
2011-06-27 10:25:12 +02:00
Benjamin Franzke
629c15aaac
egl_dri2: Build drm platform only if enabled
2011-06-24 22:00:45 +02:00
Benjamin Franzke
e5fc4c81ce
egl_dri2: Hookup gbm as drm platform
2011-06-23 21:07:17 +02:00
Benjamin Franzke
0cb356dd5c
egl_dri2/wayland: Hook up new buffer.release event
2011-06-21 13:11:43 -04:00
Kristian Høgsberg
16a04e019d
wayland: Pass use_invalidate extension to driver
2011-06-20 11:05:26 -04:00
Benjamin Franzke
80636ff2da
egl_dri2/x11: Check availability of the dri2 extension
...
Do this before query versions, or xcb will shutdown
and the connection can not be used for swrast.
2011-06-20 10:06:24 -04:00
Chia-I Wu
77e031a1c4
egl_dri2: try swrastg_dri if swrast_dri fails
...
Per libGL.
2011-06-13 12:19:39 +08:00
Chia-I Wu
cf69eeacc6
egl_dri2: add dri2_load_driver_swrast
...
Refactor dri2_load_driver and add dri2_load_driver_swrast for loading
swrast DRI driver.
2011-06-13 11:11:43 +08:00
Benjamin Franzke
16e30276e8
egl_dri2: Compare configs before matching them
...
This compares attribs like buffer size, and will prevent merging
unequal configs because of match criterion is e.g. ATLEAST.
2011-06-12 08:56:35 -04:00
Benjamin Franzke
b8325fd255
egl_dri2/wayland: Add support for EGL_DEFAULT_DISPLAY
2011-06-12 08:56:35 -04:00
Benjamin Franzke
ac3c2c8ece
egl_dri2: Add missing header
2011-06-07 17:59:16 -04:00
Benjamin Franzke
3b11d67ef6
egl_dri2: Add missing license
2011-06-07 17:58:59 -04:00
Benjamin Franzke
ec2b08de77
egl_dri2: Use libudev only if available
...
Broken since 7f881c43df
.
2011-06-07 17:58:47 -04:00
Benjamin Franzke
7f881c43df
egl_dri2: Use external driver pci list
...
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
2011-06-07 10:28:19 -04:00
Benjamin Franzke
aa87a938fb
egl_dri2: Fix usage of bool values
2011-05-31 15:13:36 -04:00
Alex Deucher
c44dad559a
egl_dri2: add new cayman pci ids
...
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-05-25 01:27:34 -04:00
Kenneth Graunke
b2c1f8ff1d
egl: Recognize Ivybridge PCI IDs.
...
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
2011-05-17 23:33:02 -07:00
Benjamin Franzke
83c68758be
egl_dri2: Discard similar configs
2011-05-13 09:31:09 -04:00
Kristian Høgsberg
93aea63a33
egl_dri2: Make it possible to not compile in the X11 platform
2011-05-13 09:31:09 -04:00
José Fonseca
5de2c67ba7
egl/dri2: Avoid unused static functions.
2011-05-12 15:24:26 +01:00
José Fonseca
4a47d6d46b
egl/dri2: Prevent uninitialized variable dereference.
2011-05-12 15:23:48 +01:00
José Fonseca
6c26072bd1
egl/dri2: Fix const pointer duplication, prevent unitialized variable dereference.
...
Based on zhigang gong <zhigang.gong@gmail.com>'s patch.
2011-05-12 15:23:02 +01:00
José Fonseca
6a661895e9
egl: Fix int <-> ptr casts.
...
Based on zhigang gong <zhigang.gong@gmail.com>'s patch.
2011-05-12 15:12:16 +01:00
Kostas Georgiou
8c3226be90
Add pci id for FirePro 2270
...
Signed-off-by: Kostas Georgiou <georgiou@opengamma.com>
2011-05-06 13:03:40 -04:00
Alex Deucher
2c3232da7a
egl_dri2: add new radeon pci ids
...
There seriously needs to be a better way to do
this.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-05-06 13:02:24 -04:00
Kristian Høgsberg
e5169e9615
egl: Add a cursor use bit to MESA_drm_image
2011-05-06 10:33:50 -04:00
Benjamin Franzke
834b84149d
egl/wayland-drm: Generalize interface
...
Do not depend on _EGLDisplay and _EGLImage.
2011-05-06 10:33:50 -04:00
Benjamin Franzke
dc520d4fef
egl/wayland: Fix possible lockup in drm initialization
...
Lockup happens when wl_drm interface is not available.
2011-04-29 17:05:16 +02:00
Benjamin Franzke
b1a9172277
egl/wayland: Update to buffer.damage addition
2011-04-22 12:21:37 -04:00
Benjamin Franzke
f09c66b3cc
egl_dri2: Create wl_buffers for pixmap surfaces
...
Needed since wayland-egl doesnt do this anymore.
2011-04-22 08:56:33 -04:00
Benjamin Franzke
2225397d1c
egl/wayland: Fix prefixes for interface names
2011-04-22 08:56:27 -04:00
Kristian Høgsberg
c0f8c9911c
wayland-egl: Update to wayland-egl.h changes, drop struct wl_egl_display
2011-04-20 17:47:20 -04:00
Benjamin Franzke
f05751aa2a
egl/wayland: Update to per-surface frame events
2011-04-12 11:08:17 -04:00
Kristian Høgsberg
55a629cee5
egl_dri2.c: Open drm device with O_CLOEXEC
...
Not a good fd to leak.
2011-04-07 18:27:56 -04:00
Feng, Haitao
58f95f9d01
egl_dri2 x11: Fix a typo
...
Signed-off-by: Haitao Feng <haitao.feng@intel.com>
2011-03-30 08:29:09 -04:00
Kristian Høgsberg
a1bd012473
egl_dri2: We don't actually support KHR_gl_texture_2D_image
2011-03-26 10:57:31 -04:00
Kristian Høgsberg
981e338611
egl_dri2: Enable image extensions in one place
...
We know what we can support in egl_dri2.c so just enable the extensions
there.
2011-03-26 10:57:31 -04:00
Benjamin Franzke
4f6fbfa0ed
egl_dri2: Add attribute map for __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE
...
Broken since 6538b5824e
.
Thanks to iskren on #wayland for helping on finding this.
2011-03-07 00:32:05 +01:00
Benjamin Franzke
22d9ae11bc
egl_dri2: Fix incompatible vfunc-pointer warning
2011-03-04 16:36:37 -05:00
Benjamin Franzke
e71920929e
egl/wayland: Move wayland-egl into a subdir
...
This hopefully fixes wayland-egl's dependency
resolution for autogenerated wayland-drm headers.
2011-03-04 16:36:37 -05:00
Benjamin Franzke
4ca075ac4f
egl_dri2 x11: Workaround device_name xcb-dri2 bug
...
This commit is basically a copy-over of the fix
Chia-I Wu's commited to wayland:
http://cgit.freedesktop.org/wayland/wayland-demos/commit/?id=1b6c0ed95
"Workaround an xcb-dri2 bug.
xcb_dri2_connect_device_name generated by xcb-proto 1.6 is broken.
It only works when the length of the driver name is a multiple of 4."
2011-03-02 20:41:38 +01:00
Benjamin Franzke
6b369c4c7c
egl: Add EGL_WL_bind_wayland_display
2011-03-01 17:23:50 -05:00
Chia-I Wu
bf0c56522e
egl_dri2: Return NULL when xcb_get_geometry_reply fails.
...
This should fix bug #33946 .
2011-02-20 12:26:31 -07:00
Haitao Feng
f55d027ac2
egl_dri2: add swrast
...
This enables the egl_dri2 driver to load swrast driver
for software rendering. It could be used when hardware
dri2 drivers are not available, such as in VM.
Signed-off-by: Haitao Feng <haitao.feng@intel.com>
2011-02-16 23:06:36 -05:00
Dave Airlie
1f5b674168
egl_dri2: add nouveau support.
...
but really wtf? all these PCI IDs need to be ripped out of here, its totally
unscalable and the drivers already have this info so could export it some better way.
tested by Darxus on #wayland.
2011-02-14 07:54:28 +10:00
Haitao Feng
3104e5cb4f
egl_dri2: rename loader_extension to dri2_loader_extension
...
Signed-off-by: Haitao Feng <haitao.feng@intel.com>
2011-02-10 23:41:21 -05:00
Benjamin Franzke
51f2820922
egl_dri2 wayland: Sync front buffer release
2011-02-10 23:07:01 -05:00
Benjamin Franzke
4e8f95f64d
egl_dri2: Always unbind old contexts
...
This fixes __DRIdrawable refcounting.
Binding a context increases their refcount,
so we need to decrease it.
2011-02-10 23:07:01 -05:00
Benjamin Franzke
87dde5b1cd
egl_dri2: Use double buffering for window surfaces
2011-02-10 23:07:01 -05:00
Kristian Høgsberg
56758c839f
wayland-egl: Force roundtrips to get device name and authenticate correctly
...
If the client hasn't done the initial wl_display_iterate() at the time
we initialize the display, we have to do that in platform_wayland.c.
Make sure we detect that correctly instead of dup()ing fd=0, and use
the sync callback to make sure we don't wait forever for authorization that
won't happen.
2011-02-07 14:01:31 +01:00
Benjamin Franzke
93aea84f47
egl_dri2: Add wayland platform
2011-02-07 14:01:31 +01:00
Benjamin Franzke
9630437fc9
egl_dri2: Export dri2_get_driver_for_fd
2011-02-07 14:01:31 +01:00
Benjamin Franzke
a8128d7d4b
egl_dri2: Enable pixmap bind_to_texture according to the extension
2011-02-07 14:01:30 +01:00
Alex Deucher
4668ad36f3
egl_dri2: Add new radeon pci ids
...
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2011-02-03 14:35:54 -05:00
Kristian Høgsberg
9dc5de5bb1
egl_dri2: Split out drm platform implementation to a separate file
2011-02-03 11:59:38 -05:00
Kristian Høgsberg
2889d9640f
egl_dri2: Split out x11 platform code
2011-02-03 11:59:38 -05:00
Chia-I Wu
218381d927
egl_dri2: Export glapi symbols for DRI drivers.
...
When an app loads libEGL.so dynamically with RTLD_LOCAL, loading DRI
drivers would fail because of missing glapi symbols. This commit makes
egl_dri2 load libglapi.so with RTLD_GLOBAL to export glapi symbols for
future symbol resolutions.
The same trick can be found in GLX. However, egl_dri2 can only do so
when --enable-shared-glapi is given. Because, otherwise, both libGL.so
and libglapi.so define glapi symbols and egl_dri2 cannot tell which
library to load.
2011-01-30 05:28:24 +08:00
Chia-I Wu
a22a332fc7
egl: Improve driver selection.
...
The idea is to be able to match a driver using the following order
try egl_gallium with hw renderer
try egl_dri2
try egl_gallium with sw renderer
try egl_glx
given the module list
egl_gallium
egl_dri2
egl_glx
For that, UseFallback initialization option is added. The module list
is matched twice: with the option unset and with the option set. In the
first pass, egl_gallium skips its sw renderer and egl_glx rejects to
initialize since UseFallback is not set. In the second pass,
egl_gallium skips its hw renderer and egl_dri2 rejects to initialize
since UseFallback is set. The process stops at the first driver that
initializes the display.
2011-01-13 18:15:45 +08:00
Chia-I Wu
655e459892
egl: Simplify driver matching.
...
Add initialization options that drv->API.Initialize should support.
Replace drv->Probe by TestOnly initialization option and simplify
_eglMatchDriver.
2011-01-13 18:10:38 +08:00
Chia-I Wu
a4a38dcf61
egl: Cleanup _EGLDisplay initialization.
...
Reorder/rename and document the fields that should be set by the driver during
initialization. Drop the major/minor arguments from drv->API.Initialize.
2011-01-13 17:57:38 +08:00
Chia-I Wu
39812c48df
egl_dri2: Fix eglGetProcAddress.
...
The driver struct is zeroed after dri2_load. Oops.
2011-01-12 18:10:15 +08:00
Chia-I Wu
c98ea26e16
egl: Make egl_dri2 and egl_glx built-in drivers.
...
These two drivers are small in size. Making them built-in should
simplify packaging.
2011-01-10 11:50:34 +08:00
Chia-I Wu
15f0223931
egl_glx: Load libGL dynamically.
...
This is a step forward for compatibility with really old GLX. But the
real reason for making this change now is so that we can make egl_glx a
built-in driver without having to link to libGL.
2011-01-10 11:25:31 +08:00
Chia-I Wu
fef5d14494
egl_dri2: Look up _glapi_get_proc_address dynamically.
...
In preparation for making egl_dri2 built-in. It also handles
symbol lookup error: /usr/local/lib/egl/egl_dri2.so: undefined symbol:
_glapi_get_proc_address
more gracefully.
2011-01-10 11:23:24 +08:00
Juan Zhao
e59fa4c46c
dri2: release texture image.
...
Add release function for texture_from_pixmap extension.
Some platform need to release texture image for texture_from_pixmap
extension, add this interface for those platforms.
2011-01-09 14:55:16 -05:00
Chia-I Wu
1f4c55128b
egl_dri2: Fix one context, multiple surfaces.
...
When a context was made current to another surface, the old code did
this
dri2_dpy->core->bindContext(cctx, ddraw, rdraw);
dri2_dpy->core->unbindContext(old_cctx);
and there will be no current context due to the second line.
unbindContext should be called only when bindContext is not. This fixes
a regression since d19afc57
. Thanks to Neil Roberts for noticing the
issue and creating a test case.
2010-11-24 14:06:30 +08:00
Robert Hooker
778917069c
egl_dri2: Add missing intel chip ids.
...
Signed-off-by: Robert Hooker <robert.hooker@canonical.com>
2010-11-17 12:10:53 -08:00
Chia-I Wu
aa139a14ba
egl_dri2: Fix __DRI_DRI2 version 1 support.
...
Correctly set __DRI_API_OPENGL flag.
2010-11-10 23:57:50 +08:00
Alex Deucher
4990b771de
egl_dri2: Add radeon chip ids
2010-11-08 19:59:53 -05:00
Chia-I Wu
547e7619aa
egl_dri2: Fix a typo that make glFlush be called at wrong time.
...
We want to call glFlush when there is a current context. That is,
old_ctx. This is a regression introduced by
d19afc57fe
.
2010-10-26 15:04:28 +08:00
Jon TURNEY
70f60c9c89
Ensure -L$(TOP)/$(LIB_DIR) appears in link line before any -L in $LDFLAGS
...
Ensure -L$(TOP)/$(LIB_DIR) (the staging dir for build products), appears
in the link line before any -L in $LDFLAGS, so that we link driver we are
building with libEGL we have just built, and not an installed version
[olv: make a similar change to targets/egl]
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-10-24 23:13:49 +08:00
Chia-I Wu
d19afc57fe
egl: Use reference counting to replace IsLinked or IsBound.
...
Remove all _egl<Res>IsLinked and _egl<Res>IsBound. Update
_eglBindContext and drivers to do reference counting.
2010-10-23 15:26:28 +08:00
Chia-I Wu
8a6bdf3979
egl: Minor changes to the _EGLConfig interface.
...
Mainly to rename _eglAddConfig to _eglLinkConfig, along with a few clean
ups.
2010-10-23 11:20:40 +08:00
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
ecca5571b6
egl_glx: Fix borken driver.
...
The driver was broken since 6eda3f311b
.
All configs fail to pass _eglValidateConfig.
2010-10-22 16:26:25 +08:00
Chia-I Wu
0ed96efc1b
egl_glx: Drop the use of [SG]ET_CONFIG_ATTRIB.
...
_EGLConfig can be directly dereferenced now. Since egl_glx is the last
user of the macros, drop the macros too.
2010-10-22 16:26:25 +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
66c9ac76ad
egl_glx: Silence piles of 'unused variable' warnings
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
6eda3f311b
eglglx: Convert glx visuals/fbconfigs straight to EGL configs
...
In other words, skip the __GLcontextModes middle man.
2010-09-09 15:00:18 -04:00
Kristian Høgsberg
01a7eebc4c
egl: Remove old egldri driver
...
This driver doesn't work with any of the DRI drivers in the source tree.
2010-09-09 14:05:30 -04: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
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
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
Chia-I Wu
e63272050f
egl: Add Makefile.template for EGL drivers.
2010-01-22 12:02:00 +08:00
Chia-I Wu
3e6139d158
egl: Add _EGLDriver as the first argument to GetProcAddress.
...
The rest of the driver API has it as the first argument. It should be
there so that a driver has access to itself.
2010-01-12 17:53:57 +08:00
Chia-I Wu
31d2786239
egl_xdri: Fix build breakage.
...
driScreen->swapBuffers takes 3 more arguments since
daf7fe69f7
.
2010-01-12 17:51:08 +08:00
Kristian Høgsberg
d61f07318c
Remove leftover __DRI{screen,drawable,context}Private references
...
As part of the DRI driver interface rewrite I merged __DRIscreenPrivate
and __DRIscreen, and likewise for __DRIdrawablePrivate and
__DRIcontextPrivate. I left typedefs in place though, to avoid renaming
all the *Private use internal to the driver. That was probably a
mistake, and it turns out a one-line find+sed combo can do the mass
rename. Better late than never.
2010-01-04 11:48:00 -05:00
Chia-I Wu
60cf250d47
egl_glx: Add support for eglWaitClient and eglWaitNative.
...
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22 09:33:27 -06:00
Chia-I Wu
7ffe64a7ae
egl_glx: Clean up eglGetProcAddress.
...
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22 09:33:27 -06:00
Chia-I Wu
a206436577
egl_glx: Clean up context functions.
...
This lifts the requirement that a context must be direct.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22 09:33:27 -06:00
Chia-I Wu
c407c70244
egl_glx: Clean up surface functions.
...
Separete Drawable and GLXDrawable. Add support for pbuffer and pixmap
surfaces on GLX <= 1.3. Remove surface binding code that will never
work.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22 09:33:27 -06:00
Chia-I Wu
78c3a351bc
egl_glx: Clean up the initialization code.
...
Proper detection of GLX extensions. Convert fbconfigs or visuals in a
more unified way and validate the resulting configs.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-10-22 09:33:27 -06:00
Chia-I Wu
170bd0c882
egl_xdri: Report full list of supported configs.
...
Call _eglConfigFromContextModesRec to convert __GLcontextModes to
_EGLConfig. Single-buffered configs are no longer skipped.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-09-29 08:10:48 -06:00
Chia-I Wu
358c5a8fd1
egl: Introduce config keys.
...
Config keys are almost config attributes. A valid config attribute is a
valid config key, but a valid config key may not be a valid config
attribute.
This commit does not distinguish the differences.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-09-29 08:10:47 -06:00
Chia-I Wu
f5a06fad62
egl_glx: Make fbconfigs and visuals per display.
...
This is to allow a driver to drive multiple displays. Remove the use of
_EGL_PLATFORM_X and obsolete code along the way.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-26 16:40:22 -06:00
Chia-I Wu
58ac57c2b7
egl_xdri: Revive the driver.
...
egl_xdri does not compile for some time. This commit revives the
driver. It no longer depends on libGL.so for GLX related functions.
Instead, it uses code from src/glx/ directly. Both DRI and DRI2 are
supported.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-24 11:49:45 -06:00
Chia-I Wu
34d8c13bff
egl: Remove eglhash.c and eglhash.h.
...
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18 08:50:12 -06:00
Chia-I Wu
5a2c9372a0
egl: Some per-driver data should be per-display.
...
Move some fields of _EGLDriver to _EGLDisplay. It also becomes
unnecessary to pass _EGLDisplay to drivers when _eglMain is called.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18 08:49:09 -06:00
Chia-I Wu
2f2cf461c5
egl: Overhaul driver API.
...
The motivation is so that drivers do not need to look up and check for
bad display, context, and etc. It also becomes unnecessary for drivers
to call the link functions.
This commit makes eglapi.[ch] do the lookup and check. As a result, the
driver API is overhauled, and almost all sources and drivers need
update. The updates are mainly find and replace with human brains.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-18 08:44:34 -06:00
Pauli Nieminen
11038989c1
egl: Add depend and depend.bak to clean target
...
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-08-09 08:42:50 -06:00
Chia-I Wu
07ee01365a
egl: Replace IsBound by a pointer to the binding.
...
IsBound tells if a context or surface is current. What it does not tell
is, to which thread a context is current, or to which context a surface
is current. This commit replaces IsBound by a pointer to the binding
thread or context.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-08-03 11:34:37 -06:00
Peter Hutterer
5358e54d1a
Add missing X11_INCLUDES to egl/drivers/demo and egl/main.
...
Compiling mesa on a system with no X headers installed in the default
include paths fails due to missing X11 includes. The header includes are
picked up by configure but not applied.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2009-07-21 11:45:49 +10:00
Chia-I Wu
15fdbc8361
egl: Remove redundant DeletePending flag.
...
A context or surface that is neither linked to a display nor current to
a thread should be destroyed. Therefore, an unlinked context or surface
implies a pending delete automatically.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17 11:56:00 -06:00
Chia-I Wu
cca31340b5
egl: Use the link functions to manage resources.
...
This commit uses the newly introduced link functions to manage EGL
contexts and surfaces. As a result of this, the API for drivers are
changed. All drivers are updated for the change.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2009-07-17 11:53:03 -06:00
Dan Nicholson
bc302b2a33
Use separate $(MINSTALL) for installing libraries
...
The special feature of bin/minstall to copy symlinks is only ever needed
when installing libraries which may have .so symlinks. All the headers
and directories can use a normal install program.
These two modes are separated as $(INSTALL) and $(MINSTALL) to allow the
user (or autoconf) to override installing normal files as they please.
An autoconf check for the install program has been added and will be
used in preference to minstall when available.
Fixes bug 16053.
2009-06-01 06:32:52 -07:00
Dan Nicholson
cc68cd20d9
egl: Don't install demodriver
...
I don't think anyone besides a developer would ever want to use the demo
egl driver. Furthermore, egl would only ever load demodriver if it was
set via EGL_DRIVER in the environment. In that case, I think you can
point it to your mesa source directory.
2009-04-29 20:46:37 -07:00
Carl-Johan Kjellander
c97e5e1fc1
egl: Fix newline typo in Makefiles
2009-03-26 19:20:11 +00:00
Alan Hourihane
a57d7edf06
egl: fix comment
2009-03-19 15:39:01 +00:00
Alan Hourihane
9ed03af8c0
egl: try harder for eglGetProcAddress()
2009-03-19 15:37:25 +00:00
Alan Hourihane
526e845145
egl: glx updates for FBconfigs
2009-02-19 13:09:02 +00:00
Alan Hourihane
44054aca36
egl: error checking
2009-02-19 11:24:53 +00:00
Johannes Engel
1e81855566
Add install target for egl
...
Signed-off-by: Johannes Engel <jcnengel@googlemail.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
2009-02-11 07:01:40 +01:00
Alan Hourihane
3ef419f4a5
egl: fix makecurrent with null drawable/context
2009-01-14 11:58:06 +00:00
Alan Hourihane
53ce80e7cc
egl: fix egl closure
2008-12-23 15:33:46 +00:00
Alan Hourihane
04ef91af8b
egl: fix startup query version
2008-12-23 14:18:36 +00:00
Alan Hourihane
9003922593
egl: support GLXFBConfigs, pbuffers and pixmaps.
2008-12-23 13:20:18 +00:00
Alan Hourihane
7eacd11bf1
disable OPENGL_BIT
2008-10-27 15:37:54 +00:00
Brian Paul
2cb213ff23
egl: check for null ptr/name
2008-10-02 10:19:46 -04:00
Brian Paul
5b60d6d07b
egl: remove space after -L flag
2008-10-02 10:19:46 -04:00
Alan Hourihane
e9c722b660
st: change from ** to * for st_unreference_framebuffer()
2008-09-26 14:20:15 +01:00
Alan Hourihane
bb6a69d169
egl: cleanup doublebuffer check
2008-09-26 12:27:29 +01:00
Alan Hourihane
192f45606a
egl: fudge with LIBGL_DRIVERS_PATH to pick up EGL specific DRI driver.
2008-09-26 12:18:16 +01:00
Alan Hourihane
8015f3ae3b
egl: Add new EGL driver that wraps GLX.
2008-09-26 11:20:21 +01:00
Keith Whitwell
176c454765
Merge commit 'origin/gallium-0.1' into gallium-0.2
...
Conflicts:
progs/fp/Makefile
2008-09-12 10:31:23 +01:00
Dima Zavin
7d3d5fb7a5
egl_xdri: Add the top-level lib dir so we link against the libGL we built.
2008-09-11 11:43:56 -06:00
Dima Zavin
912488a8d0
egl_dri/egl_xdri: Makefiles should use pkg-config to find libdrm.
2008-09-11 11:43:56 -06:00
Keith Whitwell
cc7dd4fc1b
Merge commit 'origin/gallium-0.1' into gallium-0.2
...
Conflicts:
Makefile
progs/demos/Makefile
progs/glsl/Makefile
progs/redbook/Makefile
progs/samples/Makefile
progs/tests/Makefile
progs/trivial/Makefile
progs/xdemos/Makefile
src/gallium/Makefile
src/mesa/main/attrib.c
src/mesa/main/bufferobj.c
src/mesa/vbo/vbo_exec_draw.c
2008-09-11 18:32:05 +01:00
Keith Whitwell
0397b2bb41
Merge branch 'gallium-0.1' into gallium-0.2
...
A first attempt at moving gallium onto a branch directly off master...
It will be interesting to see how much work this takes to get running.
Have resolved the conflicts semi-arbitarily, not compiled or tested.
Conflicts:
.gitignore
Makefile
configs/config.mgw
configs/darwin
configs/darwin-x86ppc
configs/default
configs/freebsd-dri
configs/linux-dri
configs/linux-dri-xcb
configs/linux-fbdev
configs/linux-static
configs/linux-x86-64-static
configs/linux-x86-static
doxygen/Makefile
include/GL/gl.h
progs/demos/Makefile
progs/demos/descrip.mms
progs/demos/texenv.c
progs/egl/.gitignore
progs/egl/Makefile
progs/glsl/.gitignore
progs/glsl/Makefile
progs/glsl/convolutions.c
progs/samples/Makefile.mgw
progs/tests/.gitignore
progs/trivial/.gitignore
progs/trivial/point-param.c
progs/trivial/tri.c
progs/xdemos/.gitignore
progs/xdemos/glthreads.c
src/egl/drivers/demo/Makefile
src/egl/drivers/dri/Makefile
src/egl/main/Makefile
src/glu/Makefile
src/glu/sgi/Makefile
src/glu/sgi/Makefile.mgw
src/glut/glx/Makefile.mgw
src/glut/os2/WarpWin.cpp
src/glut/os2/glut_cindex.cpp
src/glut/os2/glut_gamemode.cpp
src/glut/os2/glut_win.cpp
src/glut/os2/glut_winmisc.cpp
src/glut/os2/os2_glx.cpp
src/glut/os2/os2_menu.cpp
src/glut/os2/os2_winproc.cpp
src/glw/Makefile
src/glx/x11/dri_glx.c
src/glx/x11/glxext.c
src/mesa/Makefile
src/mesa/Makefile.mgw
src/mesa/descrip.mms
src/mesa/drivers/beos/Makefile
src/mesa/drivers/common/descrip.mms
src/mesa/drivers/common/driverfuncs.c
src/mesa/drivers/directfb/Makefile
src/mesa/drivers/dri/Makefile.template
src/mesa/drivers/dri/common/dri_bufmgr.c
src/mesa/drivers/dri/common/dri_bufmgr.h
src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/common/extension_helper.h
src/mesa/drivers/dri/common/mmio.h
src/mesa/drivers/dri/common/utils.c
src/mesa/drivers/dri/common/utils.h
src/mesa/drivers/dri/glcore/Makefile
src/mesa/drivers/dri/i810/i810screen.c
src/mesa/drivers/dri/i915/intel_ioctl.c
src/mesa/drivers/dri/i915/intel_ioctl.h
src/mesa/drivers/dri/i915/intel_screen.c
src/mesa/drivers/dri/i915/server/i830_common.h
src/mesa/drivers/dri/i915/server/i830_dri.h
src/mesa/drivers/dri/i965/intel_screen.c
src/mesa/drivers/dri/i965/server/i830_common.h
src/mesa/drivers/dri/i965/server/i830_dri.h
src/mesa/drivers/dri/mach64/mach64_screen.c
src/mesa/drivers/dri/nouveau/nouveau_context.h
src/mesa/drivers/dri/nouveau/nouveau_fifo.c
src/mesa/drivers/dri/nouveau/nouveau_fifo.h
src/mesa/drivers/dri/nouveau/nouveau_screen.c
src/mesa/drivers/dri/nouveau/nouveau_screen.h
src/mesa/drivers/dri/r128/r128_tex.h
src/mesa/drivers/dri/savage/savageioctl.h
src/mesa/drivers/fbdev/Makefile
src/mesa/drivers/osmesa/Makefile
src/mesa/drivers/osmesa/descrip.mms
src/mesa/drivers/x11/Makefile
src/mesa/drivers/x11/descrip.mms
src/mesa/drivers/x11/xm_dd.c
src/mesa/glapi/glapi.c
src/mesa/glapi/glthread.c
src/mesa/main/api_validate.c
src/mesa/main/attrib.c
src/mesa/main/bufferobj.c
src/mesa/main/bufferobj.h
src/mesa/main/buffers.c
src/mesa/main/config.h
src/mesa/main/context.c
src/mesa/main/descrip.mms
src/mesa/main/drawpix.c
src/mesa/main/enums.c
src/mesa/main/fbobject.c
src/mesa/main/glheader.h
src/mesa/main/imports.c
src/mesa/main/mipmap.c
src/mesa/main/mm.c
src/mesa/main/mm.h
src/mesa/main/mtypes.h
src/mesa/main/points.c
src/mesa/main/sources
src/mesa/main/state.c
src/mesa/main/texcompress_fxt1.c
src/mesa/main/texenvprogram.c
src/mesa/main/texobj.c
src/mesa/main/texstate.c
src/mesa/main/texstore.c
src/mesa/math/descrip.mms
src/mesa/shader/arbprogram.c
src/mesa/shader/descrip.mms
src/mesa/shader/prog_execute.c
src/mesa/shader/prog_statevars.c
src/mesa/shader/prog_statevars.h
src/mesa/shader/prog_uniform.c
src/mesa/shader/program.c
src/mesa/shader/program.h
src/mesa/shader/shader_api.c
src/mesa/shader/slang/descrip.mms
src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
src/mesa/sources
src/mesa/swrast/descrip.mms
src/mesa/swrast/s_drawpix.c
src/mesa/swrast/s_fragprog.c
src/mesa/swrast/s_readpix.c
src/mesa/swrast/s_span.c
src/mesa/swrast_setup/descrip.mms
src/mesa/tnl/descrip.mms
src/mesa/tnl/t_context.h
src/mesa/tnl/t_vp_build.c
src/mesa/tnl/tnl.h
src/mesa/vbo/descrip.mms
src/mesa/vbo/vbo_context.c
src/mesa/vbo/vbo_exec_array.c
src/mesa/x86-64/xform4.S
src/mesa/x86/rtasm/x86sse.c
src/mesa/x86/rtasm/x86sse.h
windows/VC6/progs/glut/glut.dsp
windows/VC7/mesa/gdi/gdi.vcproj
windows/VC7/mesa/glu/glu.vcproj
windows/VC7/mesa/mesa.sln
windows/VC7/mesa/mesa/mesa.vcproj
windows/VC7/mesa/osmesa/osmesa.vcproj
windows/VC7/progs/glut/glut.vcproj
windows/VC8/mesa/gdi/gdi.vcproj
windows/VC8/mesa/glu/glu.vcproj
windows/VC8/mesa/mesa.sln
windows/VC8/mesa/mesa/mesa.vcproj
windows/VC8/progs/glut/glut.vcproj
2008-09-11 16:05:15 +01:00
Brian Paul
102529cf1b
egl: CreatePbufferSurface, Bind/ReleaseTexImage functions
2008-09-01 13:10:53 -06:00
Brian Paul
c5f0fd95a4
egl: free display ext data in xdri_eglTerminate().
2008-08-27 16:20:19 -06:00
Brian Paul
a88de345cd
egl: don't put the example/demo driver in the lib/ dir
2008-08-18 16:12:39 -06:00
Brian Paul
26df49cd7a
egl: set EGL_SAMPLES, EGL_SAMPLE_BUFFERS config attribs
2008-07-16 10:35:12 -06:00
Brian Paul
e7fd3de927
egl: set EGL_CONFORMANT, EGL_RENDERABLE_TYPE config fields, fix null ptr crashes in MakeCurrent
2008-07-14 12:09:07 -06:00
Jakob Bornecrantz
e59086ab91
EGL: Only build EGL dri based drivers under linux-dri based configs
2008-07-13 18:05:20 +02:00
Dan Nicholson
3b8081603b
Always pass -linker and -ldflags to mklib for shared libraries
...
This just makes the use of mklib more consistent throughout Mesa where
we always want to pass the linker and LDFLAGS when we might be making a
shared library.
2008-07-12 10:25:40 -07:00
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
80b24166a5
egl: a minor overhauld of egl_xdri.c
...
Rely more on the libGL code to avoid duplicated efforts. Also fix confusion
arising from multiple __DRIscreen objects.
2008-07-11 15:45:03 -06:00
Brian Paul
7986baf7cf
build egl subdirs
2008-07-11 15:45:03 -06:00
Brian Paul
b101890c15
egl: add all EGL_*_BITs to ClientAPIsMask
2008-07-10 13:29:42 -06:00
Brian Paul
fb3867aec0
egl: implement xdri_eglGetProcAddress() for gallium
...
Plus comments, clean-ups.
2008-07-10 10:48:28 -06:00
Brian Paul
e3b13dba4d
egl: link libEGL w/ additional libs
2008-07-09 15:49:59 -06:00
Brian Paul
70b0a949b0
egl: misc updates/fixes
...
Set surface size when created.
Implement dri_find_dri_screen().
Look for "egl_xxx_dri.so" library before regular DRI driver.
2008-07-09 15:47:27 -06:00
Jakob Bornecrantz
28f3d390dd
egl: Fix demodriver
2008-07-03 12:10:36 +02:00
Robert Ellison
a1fb565ea7
egl: These changes allow an eglBindAPI(EGL_OPENGL_ES_API) to succeed, and to work correctly with GLES1 and GLES2.
...
- egl_xdri.c just sets the EGL_OPENGL_ES_BIT as well as the
EGL_OPENGL_BIT in ClientAPIsMask
- eglconfig.c allows the renderable type to include EGL_OPENGL_ES2_BIT
as well as EGL_OPENGL_ES_BIT.
- egl_xlib.c sets the EGL_NATIVE_RENDERABLE attribute to EGL_FALSE for
all softpipe configurations. (Otherwise, an eglChooseConfig() that
looks for particular values of EGL_NATIVE_RENDERABLE will fail.)
2008-06-27 07:17:02 -06:00
Brian Paul
be16f04e76
egl: added a debug msg
2008-06-13 13:58:08 -06:00
Brian Paul
e9b6ed395a
egl: only windows are renderable at this time
2008-06-10 16:14:35 -06:00
Brian Paul
f374734d61
egl: improved Makefile
2008-06-06 15:59:54 -06:00
Brian Paul
8dafe470fc
egl: EGL->DRI adaptor/driver
...
Allows regular DRI drivers to work with libEGL.
2008-06-06 15:52:47 -06:00
Brian Paul
d5cf57de2d
egl: new src/egl/drivers/Makefile
2008-06-05 14:11:39 -06:00
Brian Paul
f6bb2f87b9
egl: minor tweaks
2008-06-05 12:01:33 -06:00
Brian Paul
31e70fa275
comments in _eglMain()
2008-05-29 17:04:24 -06:00
Brian Paul
aa6e350bed
egl: pass args to _eglOpenDriver()
2008-05-28 13:03:59 -06:00
Brian Paul
0c8908c411
egl: added args string to _eglMain()
2008-05-28 12:56:36 -06:00
Brian Paul
17ec3b3cc5
prototype new code to map card number to driver name
2008-05-28 11:45:50 -06:00
Brian Paul
aa4ca9119d
link libEGLdri.so with libdrm
2008-05-28 11:44:47 -06:00
Jakob Bornecrantz
68ff873c20
egl: Make dri driver compile
2008-05-28 10:55:26 +01:00
Jakob Bornecrantz
003afbe5bd
egl: Make demo driver compile
2008-05-28 10:55:26 +01:00
Brian Paul
96a40345bb
include eglconfigutil.h
2008-05-27 16:58:23 -06:00
Brian Paul
07e92b1742
misc updates, clean-ups, remove dependency on mtypes.h
2008-05-27 16:49:11 -06:00
Brian Paul
fcce6c068c
s/GLuint/unsigned/
2008-05-27 13:47:44 -06: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
2a3e33865d
add support for LDFLAGS env var
2007-09-28 18:42:21 -06:00
Keith Whitwell
90ee7a4144
Gutsy oopses on touch of existing file. Workaround.
2007-08-07 10:18:30 +01:00
Brian Paul
883f9891cb
LIB_DIR is now just 'lib' or 'lib64'
...
Replaced $(LIB_DIR) with $(TOP)/$(LIB_DIR), use LIB_DIR in install targets.
Patch by Hanno Böck.
2006-07-13 02:50:27 +00:00
Brian Paul
3696f0ee1d
updates for using libdrm (Hanno Bock)
2006-06-03 15:17:07 +00:00
Dave Airlie
fb83a42d31
fixup stamp so driver updates drawable info
2005-12-30 10:12:26 +00:00
Dave Airlie
edf570da67
use card_type not isPCI
2005-12-29 00:30:53 +00:00
Brian Paul
f06ce1ba71
Rename eglDRIShowSurfaceMESA.
...
s/_eglAddMode/_eglAddNewMode/
2005-12-10 17:56:00 +00:00
Brian Paul
98d9bb66a4
updates to match other changes elsewhere
2005-12-10 17:55:15 +00:00
Brian Paul
5285c32a17
Put extension flags, string into separate struct.
2005-11-29 04:43:37 +00:00
Brian Paul
f576450cae
clean up the drmGetMap/drmMap code
2005-11-29 04:18:38 +00:00
Brian Paul
4683e8e954
apparently need to load colormap after setting the mode to make it work reliably
2005-11-29 03:00:02 +00:00
Brian Paul
3070a581fc
Lots of fixes, clean-ups, new comments, etc.
...
To set the FBdev video mode, need to add a \n char to the string.
2005-11-28 00:00:08 +00:00
Brian Paul
1ac1c1c423
use _egl_api struct, make some functions static
2005-11-24 04:05:27 +00:00
Jon Smirl
bf54a28384
Add missing egldri.h header file
2005-08-07 02:30:32 +00:00
Jon Smirl
485528f2ac
More EGL prep. No impact on anything outside of EGL
2005-08-05 03:33:59 +00:00
Jon Smirl
b507bd4160
New files for radeon egl driver.
...
Still a work in progress.
2005-08-04 22:23:34 +00:00
Brian Paul
5a0cb726d1
fix pbuffer sample code
2005-05-17 13:21:46 +00:00
Brian Paul
bb2c65200c
updated demoCreatePbufferSurface()
2005-05-17 02:15:38 +00:00
Brian Paul
d9789b7861
s/Atrib/Attrib/, set extension enable flags
2005-05-16 02:16:33 +00:00
Jon Smirl
d0ddf190aa
Fix compile error in demo egl driver
2005-05-14 03:49:55 +00:00
Jon Smirl
7012d01d88
First attempt at getting egl support up on dumb framebuffer.
...
Seems to be mostly working. Not all of egl API is implemented.
2005-05-13 18:31:35 +00:00
Brian Paul
c22990c29a
sync with latest EGL_MESA_screen_surface spec (EGLScreenMESA handles)
2005-05-04 03:33:21 +00:00
Brian Paul
adbff7e977
initial EGL code
2005-04-22 21:09:39 +00:00