| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Log an error in case we get an unknown format, not in case for XRGB32.
I botched the edit of Roberts patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When creating an EGLImage from a struct wl_buffer * this ensures
that we create an XRGB8888 image if the wayland buffer doesn't have an
alpha channel. To determine if a wl_buffer has a valid alpha channel
this patch adds an internal wayland_drm_buffer_has_alpha() function.
It's important to get the internal format for an EGLImage right so that
if a GL texture is later created from the image then the GL driver will
know if it should sample the alpha from the texture or flatten it to
a constant of 1.0.
This avoids needing fragment program workarounds in wayland compositors
to manually ignore the alpha component of textures created from wayland
buffers.
krh: Edited to use wl_buffer_get_format() instead of wl_buffer_has_alpha().
Reviewed-by: Kristian Høgsberg <[email protected]>
|
|
|
|
|
| |
Argh, I merged an older broken version of the swapbuffer change instead of
Frederiks fixed version. This diffs gets us back to the right version.
|
| |
|
| |
|
|
|
|
| |
EGL_BAD_PARAMETER should be returned when any of the coordinates is negative.
|
|
|
|
| |
Signed-off-by: Fredrik Höglund <[email protected]>
|
|
|
|
|
|
|
|
|
| |
v2: Handle EGL_POST_SUB_BUFFER_SUPPORTED_NV in
_eglParseSurfaceAttribList()
Signed-off-by: Fredrik Höglund <[email protected]>
[olv: remove #ifdef checks]
|
| |
|
|
|
|
|
|
|
| |
There is no point in having them when we distribute eglext.h.
As for unofficial extensions, there is a chance that we might remove some of
them evetually. Keeping the #ifdef's for now should make that easier.
|
|
|
|
|
| |
We never support this unofficial extension, and it has been removed from
Android recently. There is no point in keeping it.
|
|
|
|
|
|
|
| |
Free the device_name, reported by Pekka Paalanen.
Destroy wayland display and drm resources,
if created by dri2_initialize_wayland.
|
|
|
|
|
|
| |
Wrong pointers are passed to glXDestroyContext.
Spotted by Brian Paul.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
| |
Add i915_dri and i965_dri to libGLES_mesa's LOCAL_REQUIRED_MODULES when
enabled.
|
|
|
|
| |
Keep the top-level Android.mk away from building modules.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Us poor souls who cross compile mesa want to be able to specify which pkg-config to pick, or at least just change one place.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
|
|
|
|
|
|
|
| |
The null platform has no window or pixmap surface (but pbuffer surface).
And the only valid display is EGL_DEFAULT_DISPLAY. It is useful for
offscreen rendering. It works everywhere becase no window system is
required.
|
|
|
|
|
|
|
| |
We've had a hack to fix this in Gentoo on Solaris for a while.
Signed-off-by: Matt Turner <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
|
|
|
|
| |
Make sure that we've sent the frame request that we're going to block on.
|
|
|
|
| |
HAL_PIXEL_FORMAT_RGBA_8888 maps to __DRI_IMAGE_FORMAT_ABGR8888.
|
| |
|
| |
|
| |
|
|
|
|
| |
c661ecce introduced some not-yet-upstream stuff.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Was only used in platform_wayland, and the remaining egl stack
uses _EGLSurface::Type with one of EGL_{WINDOW,PIXMAP,PBUFFER}_BIT.
|
|
|
|
|
|
| |
This is a simple change thanks to allocateBuffer.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
Check the surface type is EGL_WINDOW_BIT before doing anything, in
preparation for pbuffer support.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
Move the loop to parse attachments to its own function.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
| |
Since they are needed for display autodetection.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40443
|
|
|
|
|
|
|
| |
Add rules to build egl_dri2 and make it a built-in EGL driver of
libGLES_mesa.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
[olv: with assorted minor changes, mostly suggested during the review]
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
| |
This builds the static library libmesa_egl from core EGL.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
|
| |
Add EGL_ANDROID_image_native_buffer and EGL_ANDROID_swap_rectangle.
There is no spec for them though.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
This is Android Gingerbread platform.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
Needed since commit 85fe9484.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40145
|
|
|
|
|
|
|
| |
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
4501a5d6e8d00fd0d87625352ed5ba1a8861f72e.
|
|
|
|
| |
Reviewed-by: Kristian Høgsberg <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EGL doesnt define howto manage different native platforms.
So mesa has a builtime configurable default platform,
whith non-standard envvar (EGL_PLATFORM) overwrites.
This caused unneeded bugreports, when EGL_PLATFORM was forgotten.
Detection is grouped into basic types of NativeDisplays (which itself
needs to be detected). The final decision is based on characteristcs
of these basic types:
File Desciptor based platforms (fbdev):
- fstat(2) to check for being a fd that belongs to a character device
- check kernel subsystem (todo)
Pointer to structuctures (x11, wayland, drm/gbm):
- mincore(2) to check whether its valid pointer to some memory.
- magic elements (e.g. pointers to exported symbols):
o wayland display stores interface type pointer (first elm.)
o gbm stores pointer to its constructor (first elm.)
o x11 as a fallback (FIXME?)
Reviewed-by: Kristian Høgsberg <[email protected]>
|
| |
|
| |
|