Stream API: rename createAcquiredImage => transformAcquiredImage.
This commit is contained in:
@@ -91,6 +91,10 @@ public:
|
||||
|
||||
virtual void destroyExternalTextureStorage(ExternalTexture* ets) noexcept = 0;
|
||||
|
||||
// The method allows platforms to convert a user-supplied external image object into a new type
|
||||
// (e.g. HardwareBuffer => EGLImage). It makes sense for the default implementation to do nothing.
|
||||
virtual AcquiredImage transformAcquiredImage(AcquiredImage source) noexcept { return source; }
|
||||
|
||||
// called to bind the platform-specific externalImage to a texture
|
||||
// texture points to a OpenGLDriver::GLTexture
|
||||
virtual bool setExternalImage(void* externalImage, void* texture) noexcept {
|
||||
@@ -108,12 +112,6 @@ public:
|
||||
|
||||
// called once before a SAMPLER_EXTERNAL texture is destroyed.
|
||||
virtual void destroyExternalImage(void* texture) noexcept {}
|
||||
|
||||
// allows platforms to convert the given image object into a new type (e.g. HardwareBuffer => EGLImage)
|
||||
// by default, performs no conversion.
|
||||
virtual AcquiredImage createAcquiredImage(void* hwbuffer, backend::StreamCallback cb, void* userData) noexcept {
|
||||
return {hwbuffer, cb, userData};
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace backend
|
||||
|
||||
@@ -1209,7 +1209,7 @@ void OpenGLDriver::setAcquiredImage(Handle<HwStream> sh, void* hwbuffer,
|
||||
scheduleRelease(std::move(glstream->user_thread.pending));
|
||||
slog.w << "Acquired image is set more than once per frame." << io::endl;
|
||||
}
|
||||
glstream->user_thread.pending = mPlatform.createAcquiredImage(hwbuffer, cb, userData);
|
||||
glstream->user_thread.pending = mPlatform.transformAcquiredImage({hwbuffer, cb, userData});
|
||||
}
|
||||
|
||||
void OpenGLDriver::updateStreams(DriverApi* driver) {
|
||||
|
||||
@@ -542,7 +542,10 @@ void PlatformEGL::destroyExternalImage(void* texture) noexcept {
|
||||
glDeleteTextures(1, &t->gl.id);
|
||||
}
|
||||
|
||||
backend::AcquiredImage PlatformEGL::createAcquiredImage(void* hwbuffer, backend::StreamCallback userCallback, void* userData) noexcept {
|
||||
backend::AcquiredImage PlatformEGL::transformAcquiredImage(backend::AcquiredImage source) noexcept {
|
||||
void* const hwbuffer = source.image;
|
||||
const backend::StreamCallback userCallback = source.callback;
|
||||
void* const userData = source.userData;
|
||||
|
||||
// Convert the AHardwareBuffer to EGLImage.
|
||||
EGLClientBuffer clientBuffer = eglGetNativeClientBufferANDROID((const AHardwareBuffer*) hwbuffer);
|
||||
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
void createExternalImageTexture(void* texture) noexcept final;
|
||||
void destroyExternalImage(void* texture) noexcept final;
|
||||
|
||||
backend::AcquiredImage createAcquiredImage(void* hwbuffer, backend::StreamCallback cb, void* userData) noexcept final;
|
||||
backend::AcquiredImage transformAcquiredImage(backend::AcquiredImage source) noexcept final;
|
||||
|
||||
int getOSVersion() const noexcept final;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user