Skip to content
GitLab
Projects Groups 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
    • Contributors
    • Graph
    • Compare
  • Issues 24
    • Issues 24
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • 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

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • glvnd
  • libglvnd
  • Merge requests
  • !12

Implement support for allowing vendor libraries to overwrite libglvnd entrypoints

  • Review changes

  • Download
  • Email 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