Add ImageFrame and GlTexture view providers to Ahwb GpuBuffer storage
- ImageFrame views are backed by CPU locks of the AHWB. - GlTextureViews are managed through a GlTextureBuffer connected to the AHWB allocation. This improves the latency of heterogeneous access sequences, but makes `ImageFrame > ImageFrame` sequences slower due to CPU locking. PiperOrigin-RevId: 481982546
This commit is contained in:
parent
f2821d840d
commit
43345160c5
|
@ -378,8 +378,11 @@ cc_library(
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
deps = [
|
deps = [
|
||||||
|
":gl_texture_buffer",
|
||||||
":gpu_buffer_format",
|
":gpu_buffer_format",
|
||||||
":gpu_buffer_storage",
|
":gpu_buffer_storage",
|
||||||
|
":image_frame_view",
|
||||||
|
"//mediapipe/framework/formats:image_frame",
|
||||||
"@com_google_absl//absl/strings:str_format",
|
"@com_google_absl//absl/strings:str_format",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -65,6 +65,7 @@ class GlTextureView {
|
||||||
friend class GpuBuffer;
|
friend class GpuBuffer;
|
||||||
friend class GlTextureBuffer;
|
friend class GlTextureBuffer;
|
||||||
friend class GpuBufferStorageCvPixelBuffer;
|
friend class GpuBufferStorageCvPixelBuffer;
|
||||||
|
friend class GpuBufferStorageAhwb;
|
||||||
GlTextureView(GlContext* context, GLenum target, GLuint name, int width,
|
GlTextureView(GlContext* context, GLenum target, GLuint name, int width,
|
||||||
int height, std::shared_ptr<GpuBuffer> gpu_buffer, int plane,
|
int height, std::shared_ptr<GpuBuffer> gpu_buffer, int plane,
|
||||||
DetachFn detach, DoneWritingFn done_writing)
|
DetachFn detach, DoneWritingFn done_writing)
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include "mediapipe/framework/port/gmock.h"
|
#include "mediapipe/framework/port/gmock.h"
|
||||||
#include "mediapipe/framework/port/gtest.h"
|
#include "mediapipe/framework/port/gtest.h"
|
||||||
#include "mediapipe/framework/tool/test_util.h"
|
#include "mediapipe/framework/tool/test_util.h"
|
||||||
|
#include "mediapipe/gpu/gpu_buffer_storage_ahwb.h"
|
||||||
#include "mediapipe/gpu/gpu_buffer_storage_image_frame.h"
|
#include "mediapipe/gpu/gpu_buffer_storage_image_frame.h"
|
||||||
#include "mediapipe/gpu/gpu_test_base.h"
|
#include "mediapipe/gpu/gpu_test_base.h"
|
||||||
#include "stb_image.h"
|
#include "stb_image.h"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user