History log of /external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4fa799ae04c02b77176797c854f9d1b9b4290a2e 25-Oct-2016 Eric Engestrom <eric@engestrom.ch> egl/dri2: swap_buffers_with_damage falls back to swap_buffers

Since commit 0a606a400fe3 ("egl: add eglSwapBuffersWithDamageKHR"),
Android has been broken because the function eglSwapBuffersWithDamageKHR
is provided regardless of the extension being present. Also, the Android
meta-EGL always advertises the extension regardless of the underlying
EGL implementation. As there doesn't seem to be a simple way
conditionally make the EGL function ptr NULL, just implement a brain
dead version of eglSwapBuffersWithDamage{KHR,EXT}.

Cc: 13.0 <mesa-stable@lists.freedesktop.org>
CC: Rob Clark <robdclark@gmail.com>
Suggested-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Rob Herring <robh@kernel.org>
[Emil Velikov: copy the original commit message from Rob's patch]
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
f1cc478d89986c87f01fdaae510335965e19493c 01-May-2015 Axel Davy <axel.davy@ens.fr> egl/x11: move dri2_x11_swrast_create_image_khr to egl_dri2_fallback.h

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>

Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
c524f3ef9155caba6cd4f9fc72485426b1da76fd 06-May-2014 Sarah Sharp <sarah.a.sharp@linux.intel.com> egl: Add EGL_CHROMIUM_sync_control extension.

Chromium defined a new GL extension (that isn't registered with Khronos).
We need to add an EGL extension for it, so we can migrate ChromeOS on
Intel systems to use EGL instead of GLX.

http://git.chromium.org/gitweb/?p=chromium/src/third_party/khronos.git;a=commitdiff;h=27cbfdab35c601f70aa150581ad1448d0401f447

The EGL_CHROMIUM_sync_control extension is similar to the GLX extension
OML_sync_control, but only defines one function,
eglGetSyncValuesCHROMIUM, which is equivalent to glXGetSyncValuesOML.

http://www.opengl.org/registry/specs/OML/glx_sync_control.txt

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: Jamey Sharp <jamey@minilop.net>
Cc: Ian Romanick <idr@freedesktop.org>
Cc: Stéphane Marchesin <stephane.marchesin@gmail.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
6d1f83ec09164bd805c90785635bbcf861b403e5 07-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/main: Stop using EGLNative types internally

Internally, much of the EGL code uses EGLNativeDisplayType,
EGLNativeWindowType, and EGLPixmapType. However, the EGLNative type
often does not match the variable's actual type.

The concept of EGLNative types are a bad match for Linux, as explained
below. And the EGL platform extensions don't use EGLNative types at all.
Those extensions attempt to solve cross-platform issues by moving the
EGL API away from the EGLNative types.

The core of the problem is that eglplatform.h can define each EGLNative
type once only, but Linux supports multiple EGL platforms.

To work around the problem, Mesa's eglplatform.h contains multiple
definitions of each EGLNative type, selected by feature macros. Mesa
expects EGL clients to set the feature macro approrpiately. But the
feature macros don't work when a single codebase must be built with
support for multiple EGL platforms, *such as Mesa itself*.

When building libEGL, autotools chooses the EGLNative typedefs based on
the first element of '--with-egl-platforms'. For example,
'--with-egl-platforms=x11,drm,wayland' defines the following:

typedef Display* EGLNativeDisplayType;
typedef Window EGLNativeWindowType;
typedef Pixmap EGLNativePixmapType;

Clearly, this doesn't work well for Wayland and GBM. Mesa works around
the problem by casting the EGLNative types to different things in
different files.

For sanity's sake, and to prepare for the EGL platform extensions, this
patch removes from egl/main and egl/dri2 all internal use of the
EGLNative types. It replaces them with 'void*' and checks each explicit
cast with a static assertion. Also, the patch touches egl_gallium the
minimal amount to keep it compatible with eglapi.h.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
eadd5e0c0a3c4b24c25e6368ea0a8352a8fd0701 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreateWaylandBufferFromImageWL by display, not driver

Add dri2_egl_display_vtbl::create_wayland_buffer_from_image, set it for
each platform, and let egl_dri2 dispatch
eglCreateWaylandBufferFromImageWL to that.

This prepares for the EGL platform extensions.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
688a0e8e73b916438878b4fc2271453ee79ec7a6 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglPostSubBufferNV by display, not driver

Add dri2_egl_display_vtbl::post_sub_buffer, set it for each
platform, and let egl_dri2 dispatch eglPostSubBufferNV to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
75d398ed9309c0cb8179380bd317d8f935618df7 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapBuffersRegionNOK by display, not driver

Add dri2_egl_display_vtbl::swap_buffers_region, set it for each
platform, and let egl_dri2 dispatch eglSwapBuffersRegionNOK to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
bc2cbc0951ded883dc610672a6f6d4cca5d99502 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCopyBuffers by display, not driver

Add dri2_egl_display_vtbl::copy_buffers, set it for each
platform, and let egl_dri2 dispatch eglCopyBuffers to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
3fdfbd2572ea42f3ef71db032b31cc87ea274e11 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch API.QueryBufferAge by display, not driver

Add dri2_egl_display_vtbl::query_buffer_age, set it for each
platform, and let egl_dri2 dispatch API.QueryBufferAge to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
bf20076bafcf0809529ae470fb12af5eae12b33d 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreatePbufferSurface by display, not driver

Add dri2_egl_display_vtbl::create_pbuffer_surface, set it for each
platform, and let egl_dri2 dispatch eglCreatePbufferSurface to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
bc8b07a65722ad25aa52aa4918b51e236a13b09e 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglCreatePixmapSurface by display, not driver

Add dri2_egl_display_vtbl::create_pbuffer_surface, set it for each
platform, and let egl_dri2 dispatch eglCreatePixmapSurface to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
d03948a76634392455ae53fbf975d09c58bfc7aa 29-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapBuffersWithDamage by display, not driver

Add dri2_egl_display_vtbl::swap_buffers_with_damage, set it for each
platform, and let egl_dri2 dispatch eglSwapBuffersWithDamageEXT to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h
8b9298af0a3bce1360cc2c020b31470b37b660fe 28-Jan-2014 Chad Versace <chad.versace@linux.intel.com> egl/dri2: Dispatch eglSwapInterval by display, not driver

Add dri2_egl_display_vtbl::swap_interval, set it for each platform, and
let egl_dri2 dispatch eglSwapInterval to that.

This prepares for the EGL platform extensions.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
/external/mesa3d/src/egl/drivers/dri2/egl_dri2_fallbacks.h