Skip to content

Commit aa0b834

Browse files
authored
Migrate to the new GpuSurfaceTexture API (#338)
1 parent 0a90dda commit aa0b834

6 files changed

+49
-47
lines changed

shell/platform/tizen/external_texture_surface_egl.cc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ namespace flutter {
2828

2929
ExternalTextureSurfaceEGL::ExternalTextureSurfaceEGL(
3030
ExternalTextureExtensionType gl_extension,
31-
FlutterDesktopGpuBufferTextureCallback texture_callback,
31+
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
3232
void* user_data)
3333
: ExternalTexture(gl_extension),
3434
texture_callback_(texture_callback),
@@ -48,28 +48,28 @@ bool ExternalTextureSurfaceEGL::PopulateTexture(
4848
if (!texture_callback_) {
4949
return false;
5050
}
51-
const FlutterDesktopGpuBuffer* gpu_buffer =
51+
const FlutterDesktopGpuSurfaceDescriptor* gpu_surface =
5252
texture_callback_(width, height, user_data_);
53-
if (!gpu_buffer) {
54-
FT_LOG(Info) << "gpu_buffer is null for texture ID: " << texture_id_;
53+
if (!gpu_surface) {
54+
FT_LOG(Info) << "gpu_surface is null for texture ID: " << texture_id_;
5555
return false;
5656
}
5757

58-
if (!gpu_buffer->buffer) {
58+
if (!gpu_surface->handle) {
5959
FT_LOG(Info) << "tbm_surface is null for texture ID: " << texture_id_;
60-
if (gpu_buffer->release_callback) {
61-
gpu_buffer->release_callback(gpu_buffer->release_context);
60+
if (gpu_surface->release_callback) {
61+
gpu_surface->release_callback(gpu_surface->release_context);
6262
}
6363
return false;
6464
}
6565
const tbm_surface_h tbm_surface =
66-
reinterpret_cast<tbm_surface_h>(const_cast<void*>(gpu_buffer->buffer));
66+
reinterpret_cast<tbm_surface_h>(gpu_surface->handle);
6767

6868
tbm_surface_info_s info;
6969
if (tbm_surface_get_info(tbm_surface, &info) != TBM_SURFACE_ERROR_NONE) {
7070
FT_LOG(Info) << "tbm_surface is invalid for texture ID: " << texture_id_;
71-
if (gpu_buffer->release_callback) {
72-
gpu_buffer->release_callback(gpu_buffer->release_context);
71+
if (gpu_surface->release_callback) {
72+
gpu_surface->release_callback(gpu_surface->release_context);
7373
}
7474
return false;
7575
}
@@ -131,8 +131,8 @@ bool ExternalTextureSurfaceEGL::PopulateTexture(
131131
FT_LOG(Error) << "Either EGL_TIZEN_image_native_surface or "
132132
"EGL_EXT_image_dma_buf_import shoule be supported.";
133133
}
134-
if (gpu_buffer->release_callback) {
135-
gpu_buffer->release_callback(gpu_buffer->release_context);
134+
if (gpu_surface->release_callback) {
135+
gpu_surface->release_callback(gpu_surface->release_context);
136136
}
137137
return false;
138138
}
@@ -169,8 +169,8 @@ bool ExternalTextureSurfaceEGL::PopulateTexture(
169169
opengl_texture->user_data = nullptr;
170170
opengl_texture->width = width;
171171
opengl_texture->height = height;
172-
if (gpu_buffer->release_callback) {
173-
gpu_buffer->release_callback(gpu_buffer->release_context);
172+
if (gpu_surface->release_callback) {
173+
gpu_surface->release_callback(gpu_surface->release_context);
174174
}
175175
return true;
176176
}

shell/platform/tizen/external_texture_surface_egl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class ExternalTextureSurfaceEGL : public ExternalTexture {
1515
public:
1616
ExternalTextureSurfaceEGL(
1717
ExternalTextureExtensionType gl_extension,
18-
FlutterDesktopGpuBufferTextureCallback texture_callback,
18+
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
1919
void* user_data);
2020

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

3434
private:
35-
FlutterDesktopGpuBufferTextureCallback texture_callback_ = nullptr;
35+
FlutterDesktopGpuSurfaceTextureCallback texture_callback_ = nullptr;
3636
void* user_data_ = nullptr;
3737
};
3838

shell/platform/tizen/external_texture_surface_evas_gl.cc

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace flutter {
1616

1717
ExternalTextureSurfaceEvasGL::ExternalTextureSurfaceEvasGL(
1818
ExternalTextureExtensionType gl_extension,
19-
FlutterDesktopGpuBufferTextureCallback texture_callback,
19+
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
2020
void* user_data)
2121
: ExternalTexture(gl_extension),
2222
texture_callback_(texture_callback),
@@ -36,28 +36,28 @@ bool ExternalTextureSurfaceEvasGL::PopulateTexture(
3636
if (!texture_callback_) {
3737
return false;
3838
}
39-
const FlutterDesktopGpuBuffer* gpu_buffer =
39+
const FlutterDesktopGpuSurfaceDescriptor* gpu_surface =
4040
texture_callback_(width, height, user_data_);
41-
if (!gpu_buffer) {
42-
FT_LOG(Info) << "gpu_buffer is null for texture ID: " << texture_id_;
41+
if (!gpu_surface) {
42+
FT_LOG(Info) << "gpu_surface is null for texture ID: " << texture_id_;
4343
return false;
4444
}
4545

46-
if (!gpu_buffer->buffer) {
46+
if (!gpu_surface->handle) {
4747
FT_LOG(Info) << "tbm_surface is null for texture ID: " << texture_id_;
48-
if (gpu_buffer->release_callback) {
49-
gpu_buffer->release_callback(gpu_buffer->release_context);
48+
if (gpu_surface->release_callback) {
49+
gpu_surface->release_callback(gpu_surface->release_context);
5050
}
5151
return false;
5252
}
5353
const tbm_surface_h tbm_surface =
54-
reinterpret_cast<tbm_surface_h>(const_cast<void*>(gpu_buffer->buffer));
54+
reinterpret_cast<tbm_surface_h>(gpu_surface->handle);
5555

5656
tbm_surface_info_s info;
5757
if (tbm_surface_get_info(tbm_surface, &info) != TBM_SURFACE_ERROR_NONE) {
5858
FT_LOG(Info) << "tbm_surface is invalid for texture ID: " << texture_id_;
59-
if (gpu_buffer->release_callback) {
60-
gpu_buffer->release_callback(gpu_buffer->release_context);
59+
if (gpu_surface->release_callback) {
60+
gpu_surface->release_callback(gpu_surface->release_context);
6161
}
6262
return false;
6363
}
@@ -71,14 +71,14 @@ bool ExternalTextureSurfaceEvasGL::PopulateTexture(
7171
} else if (state_->gl_extension == ExternalTextureExtensionType::kDmaBuffer) {
7272
FT_LOG(Error)
7373
<< "EGL_EXT_image_dma_buf_import is not supported this renderer.";
74-
if (gpu_buffer->release_callback) {
75-
gpu_buffer->release_callback(gpu_buffer->release_context);
74+
if (gpu_surface->release_callback) {
75+
gpu_surface->release_callback(gpu_surface->release_context);
7676
}
7777
return false;
7878
}
7979
if (!evasgl_src_image) {
80-
if (gpu_buffer->release_callback) {
81-
gpu_buffer->release_callback(gpu_buffer->release_context);
80+
if (gpu_surface->release_callback) {
81+
gpu_surface->release_callback(gpu_surface->release_context);
8282
}
8383
return false;
8484
}
@@ -110,8 +110,8 @@ bool ExternalTextureSurfaceEvasGL::PopulateTexture(
110110
opengl_texture->user_data = nullptr;
111111
opengl_texture->width = width;
112112
opengl_texture->height = height;
113-
if (gpu_buffer->release_callback) {
114-
gpu_buffer->release_callback(gpu_buffer->release_context);
113+
if (gpu_surface->release_callback) {
114+
gpu_surface->release_callback(gpu_surface->release_context);
115115
}
116116
return true;
117117
}

shell/platform/tizen/external_texture_surface_evas_gl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class ExternalTextureSurfaceEvasGL : public ExternalTexture {
1515
public:
1616
ExternalTextureSurfaceEvasGL(
1717
ExternalTextureExtensionType gl_extension,
18-
FlutterDesktopGpuBufferTextureCallback texture_callback,
18+
FlutterDesktopGpuSurfaceTextureCallback texture_callback,
1919
void* user_data);
2020

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

3434
private:
35-
FlutterDesktopGpuBufferTextureCallback texture_callback_ = nullptr;
35+
FlutterDesktopGpuSurfaceTextureCallback texture_callback_ = nullptr;
3636
void* user_data_ = nullptr;
3737
};
3838

shell/platform/tizen/flutter_tizen_texture_registrar.cc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ FlutterTizenTextureRegistrar::FlutterTizenTextureRegistrar(
2525
int64_t FlutterTizenTextureRegistrar::RegisterTexture(
2626
const FlutterDesktopTextureInfo* texture_info) {
2727
if (texture_info->type != kFlutterDesktopPixelBufferTexture &&
28-
texture_info->type != kFlutterDesktopGpuBufferTexture) {
29-
FT_LOG(Error) << "Attempted to register texture of unsupport type.";
28+
texture_info->type != kFlutterDesktopGpuSurfaceTexture) {
29+
FT_LOG(Error) << "Attempted to register texture of unsupported type.";
3030
return -1;
3131
}
3232

@@ -37,9 +37,9 @@ int64_t FlutterTizenTextureRegistrar::RegisterTexture(
3737
}
3838
}
3939

40-
if (texture_info->type == kFlutterDesktopGpuBufferTexture) {
41-
if (!texture_info->gpu_buffer_config.callback) {
42-
FT_LOG(Error) << "Invalid GPU buffer texture callback.";
40+
if (texture_info->type == kFlutterDesktopGpuSurfaceTexture) {
41+
if (!texture_info->gpu_surface_config.callback) {
42+
FT_LOG(Error) << "Invalid GPU surface texture callback.";
4343
return -1;
4444
}
4545
}
@@ -116,7 +116,7 @@ FlutterTizenTextureRegistrar::CreateExternalTexture(
116116
#else
117117
return nullptr;
118118
#endif
119-
case kFlutterDesktopGpuBufferTexture:
119+
case kFlutterDesktopGpuSurfaceTexture:
120120
ExternalTextureExtensionType gl_extension =
121121
ExternalTextureExtensionType::kNone;
122122
if (engine_->renderer() && engine_->renderer()->IsSupportedExtension(
@@ -129,13 +129,13 @@ FlutterTizenTextureRegistrar::CreateExternalTexture(
129129
}
130130
if (renderer_type == FlutterDesktopRendererType::kEvasGL) {
131131
return std::make_unique<ExternalTextureSurfaceEvasGL>(
132-
gl_extension, texture_info->gpu_buffer_config.callback,
133-
texture_info->gpu_buffer_config.user_data);
132+
gl_extension, texture_info->gpu_surface_config.callback,
133+
texture_info->gpu_surface_config.user_data);
134134
}
135135
#ifndef WEARABLE_PROFILE
136136
return std::make_unique<ExternalTextureSurfaceEGL>(
137-
gl_extension, texture_info->gpu_buffer_config.callback,
138-
texture_info->gpu_buffer_config.user_data);
137+
gl_extension, texture_info->gpu_surface_config.callback,
138+
texture_info->gpu_surface_config.user_data);
139139
#else
140140
return nullptr;
141141
#endif

shell/platform/tizen/flutter_tizen_texture_registrar_unittests.cc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ TEST_F(FlutterTizenTextureRegistrarTest, RegisterUnregisterTexture) {
5454
FlutterTizenTextureRegistrar registrar(engine_);
5555

5656
FlutterDesktopTextureInfo texture_info = {};
57-
texture_info.type = kFlutterDesktopGpuBufferTexture;
58-
texture_info.gpu_buffer_config.callback =
57+
texture_info.type = kFlutterDesktopGpuSurfaceTexture;
58+
texture_info.gpu_surface_config.callback =
5959
[](size_t width, size_t height,
60-
void* user_data) -> const FlutterDesktopGpuBuffer* { return nullptr; };
60+
void* user_data) -> const FlutterDesktopGpuSurfaceDescriptor* {
61+
return nullptr;
62+
};
6163

6264
int64_t registered_texture_id = 0;
6365
bool register_called = false;

0 commit comments

Comments
 (0)