Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions shell/platform/tizen/external_texture_surface_egl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace flutter {

ExternalTextureSurfaceEGL::ExternalTextureSurfaceEGL(
ExternalTextureExtensionType gl_extension,
FlutterDesktopGpuBufferTextureCallback texture_callback,
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
void* user_data)
: ExternalTexture(gl_extension),
texture_callback_(texture_callback),
Expand All @@ -48,28 +48,28 @@ bool ExternalTextureSurfaceEGL::PopulateTexture(
if (!texture_callback_) {
return false;
}
const FlutterDesktopGpuBuffer* gpu_buffer =
const FlutterDesktopGpuSurfaceDescriptor* gpu_surface =
texture_callback_(width, height, user_data_);
if (!gpu_buffer) {
FT_LOG(Info) << "gpu_buffer is null for texture ID: " << texture_id_;
if (!gpu_surface) {
FT_LOG(Info) << "gpu_surface is null for texture ID: " << texture_id_;
return false;
}

if (!gpu_buffer->buffer) {
if (!gpu_surface->handle) {
FT_LOG(Info) << "tbm_surface is null for texture ID: " << texture_id_;
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
const tbm_surface_h tbm_surface =
reinterpret_cast<tbm_surface_h>(const_cast<void*>(gpu_buffer->buffer));
reinterpret_cast<tbm_surface_h>(gpu_surface->handle);

tbm_surface_info_s info;
if (tbm_surface_get_info(tbm_surface, &info) != TBM_SURFACE_ERROR_NONE) {
FT_LOG(Info) << "tbm_surface is invalid for texture ID: " << texture_id_;
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
Expand Down Expand Up @@ -131,8 +131,8 @@ bool ExternalTextureSurfaceEGL::PopulateTexture(
FT_LOG(Error) << "Either EGL_TIZEN_image_native_surface or "
"EGL_EXT_image_dma_buf_import shoule be supported.";
}
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
Expand Down Expand Up @@ -169,8 +169,8 @@ bool ExternalTextureSurfaceEGL::PopulateTexture(
opengl_texture->user_data = nullptr;
opengl_texture->width = width;
opengl_texture->height = height;
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return true;
}
Expand Down
4 changes: 2 additions & 2 deletions shell/platform/tizen/external_texture_surface_egl.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class ExternalTextureSurfaceEGL : public ExternalTexture {
public:
ExternalTextureSurfaceEGL(
ExternalTextureExtensionType gl_extension,
FlutterDesktopGpuBufferTextureCallback texture_callback,
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
void* user_data);

virtual ~ExternalTextureSurfaceEGL();
Expand All @@ -32,7 +32,7 @@ class ExternalTextureSurfaceEGL : public ExternalTexture {
FlutterOpenGLTexture* opengl_texture) override;

private:
FlutterDesktopGpuBufferTextureCallback texture_callback_ = nullptr;
FlutterDesktopGpuSurfaceTextureCallback texture_callback_ = nullptr;
void* user_data_ = nullptr;
};

Expand Down
32 changes: 16 additions & 16 deletions shell/platform/tizen/external_texture_surface_evas_gl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace flutter {

ExternalTextureSurfaceEvasGL::ExternalTextureSurfaceEvasGL(
ExternalTextureExtensionType gl_extension,
FlutterDesktopGpuBufferTextureCallback texture_callback,
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
void* user_data)
: ExternalTexture(gl_extension),
texture_callback_(texture_callback),
Expand All @@ -36,28 +36,28 @@ bool ExternalTextureSurfaceEvasGL::PopulateTexture(
if (!texture_callback_) {
return false;
}
const FlutterDesktopGpuBuffer* gpu_buffer =
const FlutterDesktopGpuSurfaceDescriptor* gpu_surface =
texture_callback_(width, height, user_data_);
if (!gpu_buffer) {
FT_LOG(Info) << "gpu_buffer is null for texture ID: " << texture_id_;
if (!gpu_surface) {
FT_LOG(Info) << "gpu_surface is null for texture ID: " << texture_id_;
return false;
}

if (!gpu_buffer->buffer) {
if (!gpu_surface->handle) {
FT_LOG(Info) << "tbm_surface is null for texture ID: " << texture_id_;
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
const tbm_surface_h tbm_surface =
reinterpret_cast<tbm_surface_h>(const_cast<void*>(gpu_buffer->buffer));
reinterpret_cast<tbm_surface_h>(gpu_surface->handle);

tbm_surface_info_s info;
if (tbm_surface_get_info(tbm_surface, &info) != TBM_SURFACE_ERROR_NONE) {
FT_LOG(Info) << "tbm_surface is invalid for texture ID: " << texture_id_;
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
Expand All @@ -71,14 +71,14 @@ bool ExternalTextureSurfaceEvasGL::PopulateTexture(
} else if (state_->gl_extension == ExternalTextureExtensionType::kDmaBuffer) {
FT_LOG(Error)
<< "EGL_EXT_image_dma_buf_import is not supported this renderer.";
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
if (!evasgl_src_image) {
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return false;
}
Expand Down Expand Up @@ -110,8 +110,8 @@ bool ExternalTextureSurfaceEvasGL::PopulateTexture(
opengl_texture->user_data = nullptr;
opengl_texture->width = width;
opengl_texture->height = height;
if (gpu_buffer->release_callback) {
gpu_buffer->release_callback(gpu_buffer->release_context);
if (gpu_surface->release_callback) {
gpu_surface->release_callback(gpu_surface->release_context);
}
return true;
}
Expand Down
4 changes: 2 additions & 2 deletions shell/platform/tizen/external_texture_surface_evas_gl.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class ExternalTextureSurfaceEvasGL : public ExternalTexture {
public:
ExternalTextureSurfaceEvasGL(
ExternalTextureExtensionType gl_extension,
FlutterDesktopGpuBufferTextureCallback texture_callback,
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
void* user_data);

virtual ~ExternalTextureSurfaceEvasGL();
Expand All @@ -32,7 +32,7 @@ class ExternalTextureSurfaceEvasGL : public ExternalTexture {
FlutterOpenGLTexture* opengl_texture) override;

private:
FlutterDesktopGpuBufferTextureCallback texture_callback_ = nullptr;
FlutterDesktopGpuSurfaceTextureCallback texture_callback_ = nullptr;
void* user_data_ = nullptr;
};

Expand Down
20 changes: 10 additions & 10 deletions shell/platform/tizen/flutter_tizen_texture_registrar.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ FlutterTizenTextureRegistrar::FlutterTizenTextureRegistrar(
int64_t FlutterTizenTextureRegistrar::RegisterTexture(
const FlutterDesktopTextureInfo* texture_info) {
if (texture_info->type != kFlutterDesktopPixelBufferTexture &&
texture_info->type != kFlutterDesktopGpuBufferTexture) {
FT_LOG(Error) << "Attempted to register texture of unsupport type.";
texture_info->type != kFlutterDesktopGpuSurfaceTexture) {
FT_LOG(Error) << "Attempted to register texture of unsupported type.";
return -1;
}

Expand All @@ -37,9 +37,9 @@ int64_t FlutterTizenTextureRegistrar::RegisterTexture(
}
}

if (texture_info->type == kFlutterDesktopGpuBufferTexture) {
if (!texture_info->gpu_buffer_config.callback) {
FT_LOG(Error) << "Invalid GPU buffer texture callback.";
if (texture_info->type == kFlutterDesktopGpuSurfaceTexture) {
if (!texture_info->gpu_surface_config.callback) {
FT_LOG(Error) << "Invalid GPU surface texture callback.";
return -1;
}
}
Expand Down Expand Up @@ -116,7 +116,7 @@ FlutterTizenTextureRegistrar::CreateExternalTexture(
#else
return nullptr;
#endif
case kFlutterDesktopGpuBufferTexture:
case kFlutterDesktopGpuSurfaceTexture:
ExternalTextureExtensionType gl_extension =
ExternalTextureExtensionType::kNone;
if (engine_->renderer() && engine_->renderer()->IsSupportedExtension(
Expand All @@ -129,13 +129,13 @@ FlutterTizenTextureRegistrar::CreateExternalTexture(
}
if (renderer_type == FlutterDesktopRendererType::kEvasGL) {
return std::make_unique<ExternalTextureSurfaceEvasGL>(
gl_extension, texture_info->gpu_buffer_config.callback,
texture_info->gpu_buffer_config.user_data);
gl_extension, texture_info->gpu_surface_config.callback,
texture_info->gpu_surface_config.user_data);
}
#ifndef WEARABLE_PROFILE
return std::make_unique<ExternalTextureSurfaceEGL>(
gl_extension, texture_info->gpu_buffer_config.callback,
texture_info->gpu_buffer_config.user_data);
gl_extension, texture_info->gpu_surface_config.callback,
texture_info->gpu_surface_config.user_data);
#else
return nullptr;
#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,12 @@ TEST_F(FlutterTizenTextureRegistrarTest, RegisterUnregisterTexture) {
FlutterTizenTextureRegistrar registrar(engine_);

FlutterDesktopTextureInfo texture_info = {};
texture_info.type = kFlutterDesktopGpuBufferTexture;
texture_info.gpu_buffer_config.callback =
texture_info.type = kFlutterDesktopGpuSurfaceTexture;
texture_info.gpu_surface_config.callback =
[](size_t width, size_t height,
void* user_data) -> const FlutterDesktopGpuBuffer* { return nullptr; };
void* user_data) -> const FlutterDesktopGpuSurfaceDescriptor* {
return nullptr;
};

int64_t registered_texture_id = 0;
bool register_called = false;
Expand Down