Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • L libglvnd
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 25
    • Issues 25
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • glvnd
  • libglvnd
  • Merge requests
  • !12

Implement support for allowing vendor libraries to overwrite libglvnd entrypoints

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Kyle Brenneman requested to merge github/fork/bnguyen0/master into master Jan 24, 2014
  • Overview 0
  • Commits 16
  • Pipelines 0
  • Changes 33

Created by: bnguyen0

Vendor libraries may wish to override the default libglvnd entrypoints with custom code for performance reasons. The following series of changes implements the infrastructure to make this possible.

Commits 69c1d70b and abc5c9a5 refactor mapi's assembly dispatch generation to be more general-purpose, allowing libglvnd to restore the default entrypoints when no context is current.

Commit fdf67a7d defines the ABI that vendor libraries may use to write custom code to libglvnd's entrypoints.

This optimization may cause conflicts if a process attempts to make current to more than one vendor's context at the same time, when one or more of those vendors implements custom entrypoint code. To work around this issue, users may set the __GLVND_DISALLOW_PATCHING environment variable to turn this optimization off.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/bnguyen0/master