-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The current API used a void* in Texture::setExternalImage to pass the platform specific image. This was a problem because on some platform like Android, there could be several types (EGLImageKHR and AHardwareBuffer), and with the void* there was no way to distinguish them on the backend / platform side. We now have a new Texture API which takes a Platform::ExternalImageHandle, which is a reference-counted handle to a Platform::ExternalImage. Platform::ExternalImage is an opaque type only known by the platform. This type must be created using a concrete Platform specific API, such as: PlatformEGL::createExternalImage PlatformEGLAndroid::createExternalImage PlatformCocoaGL::createExternalImage PlatformCocoaTouchGL::createExternalImage New types can easily be added in the future. There is no "destroy" call because the Platform::ExternalImageHandle is reference-counted and the client can let go of it as soon as it doesn't need it any longer (typically after calling Texture::setExternalImage). Platform::ExternalImage is a small structure that just anonymously wraps the concrete types. New internal driver APIs have been added to handle this functionality.
- Loading branch information
1 parent
68b3d9b
commit 4759d8c
Showing
22 changed files
with
462 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.