Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • scripts
  • egl.xml
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Re-land "Load correct libGLESv2 on Linux and Mac." · 4638dc9d
    Jamie Madill authored Dec 17, 2018
    Re-land fixes build to ensure commit_id is built before libEGL.
    
    libEGL was implicitly loading libGLESv2 on startup. This is bad
    because on platforms like Linux and Mac we could sometimes use the
    incorrect rpath. This in turn meant we needed workarounds like using
    "_angle" extensions to our shared objects to get the correct loading
    behaviour.
    
    Fix this by loading libGLESv2 dynamically in libEGL. We build the
    loader automatically from egl.xml. The loader itself is lazily
    initialized on every EGL entry point call. This is necessary because
    on Linux, etc, there is no equivalent to Windows' DLLMain.
    
    We also use an EGL.h with different generation options so we have the
    proper function pointer types. A README is included for instructions
    on how to regenerate EGL.h.
    
    The entry point generation script is refactored into a helper class
    that is used in the loader generator. Also adds the libGLESv2 versions
    of the EGL entry points in the DEF file on Windows. This allows them to
    be imported properly in 32-bit configurations.
    
    Also fixes up some errors in ANGLE's entry point definitions. Also
    includes a clang-format disable rule for the Khronos headers.
    
    This CL will help us to run ANGLE tests against native drivers.
    
    Bug: angleproject:2871
    Bug: chromium:915731
    Change-Id: I4192a938d1f4117cea1bf1399c98bda7ac25ddab
    Reviewed-on: https://chromium-review.googlesource.com/c/1380511Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    4638dc9d
egl.xml 164 KB
EditWeb IDE
×

Replace egl.xml

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.