Revert "[MappableSI] Convert CameraBufferFactory to use MappableSI."
This reverts commit fbc70a7c9b
.
Reason for revert: This blocks some models to open the Camera app
Original change's description:
> [MappableSI] Convert CameraBufferFactory to use MappableSI.
>
> Refactor CameraBufferFactory::ResolveStreamBufferFormat() to create
> MappableSI instead of GpuMemoryBuffer.
>
> This is ChromeOS only change.
>
> Follow up CLs will convert rest of CrOs media capture code
> to use MappableSI.
>
> Bug: 40264379
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5758193
> Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
> Commit-Queue: vikas soni <vikassoni@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1340598}
(cherry picked from commit 4747cbc7b3ca500b9332cd159359dbdd43373a6f)
Bug: 361010222
Change-Id: I1a2faaead8f8a5ce995bcda2b5610d429a0f49e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5796430
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Dorah Kim <dorahkim@google.com>
Cr-Commit-Position: refs/heads/main@{#1345206}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
2b15c55869
commit
d13c604016
media/capture
@ -488,7 +488,6 @@ test("capture_unittests") {
|
||||
":test_support",
|
||||
"//base/test:test_support",
|
||||
"//build:chromeos_buildflags",
|
||||
"//components/viz/test:test_support",
|
||||
"//gpu:test_support",
|
||||
"//gpu/command_buffer/client",
|
||||
"//media:test_support",
|
||||
|
@ -8,12 +8,3 @@ include_rules = [
|
||||
"+third_party/cros_system_api",
|
||||
"+third_party/libsync",
|
||||
]
|
||||
|
||||
specific_include_rules = {
|
||||
"camera_device_delegate_unittest.cc": [
|
||||
"+components/viz/test/test_context_provider.h",
|
||||
],
|
||||
"camera_hal_delegate_unittest.cc": [
|
||||
"+components/viz/test/test_context_provider.h",
|
||||
],
|
||||
}
|
||||
|
@ -96,9 +96,9 @@ ChromiumPixelFormat CameraBufferFactory::ResolveStreamBufferFormat(
|
||||
return kUnsupportedFormat;
|
||||
}
|
||||
for (const auto& f : cr_formats) {
|
||||
auto shared_image = CreateSharedImage(
|
||||
auto buffer = CreateGpuMemoryBuffer(
|
||||
gfx::Size(kDummyBufferWidth, kDummyBufferHeight), f.gfx_format, usage);
|
||||
if (shared_image) {
|
||||
if (buffer) {
|
||||
resolved_format_usages_[key] = f;
|
||||
return f;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include "base/test/bind.h"
|
||||
#include "base/test/task_environment.h"
|
||||
#include "base/time/time.h"
|
||||
#include "components/viz/test/test_context_provider.h"
|
||||
#include "media/capture/video/chromeos/camera_buffer_factory.h"
|
||||
#include "media/capture/video/chromeos/camera_device_context.h"
|
||||
#include "media/capture/video/chromeos/camera_hal_delegate.h"
|
||||
@ -170,9 +169,6 @@ class CameraDeviceDelegateTest : public ::testing::Test {
|
||||
void SetUp() override {
|
||||
VideoCaptureDeviceFactoryChromeOS::SetGpuBufferManager(
|
||||
&mock_gpu_memory_buffer_manager_);
|
||||
test_sii_ = base::MakeRefCounted<gpu::TestSharedImageInterface>();
|
||||
test_sii_->UseTestGMBInSharedImageCreationWithBufferUsage();
|
||||
VideoCaptureDeviceFactoryChromeOS::SetSharedImageInterface(test_sii_);
|
||||
camera_hal_delegate_ = std::make_unique<CameraHalDelegate>(ui_task_runner_);
|
||||
if (!camera_hal_delegate_->Init()) {
|
||||
LOG(ERROR) << "Failed to initialize CameraHalDelegate";
|
||||
@ -187,7 +183,6 @@ class CameraDeviceDelegateTest : public ::testing::Test {
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
VideoCaptureDeviceFactoryChromeOS::SetSharedImageInterface(nullptr);
|
||||
camera_device_delegate_.reset();
|
||||
camera_hal_delegate_.reset();
|
||||
task_environment_.RunUntilIdle();
|
||||
@ -431,34 +426,22 @@ class CameraDeviceDelegateTest : public ::testing::Test {
|
||||
.WillOnce(
|
||||
Invoke(this, &CameraDeviceDelegateTest::ConfigureFakeStreams));
|
||||
|
||||
// CameraBufferFactory::ResolveStreamBufferFormat() is now using
|
||||
// ::CreateSharedImage() instead of ::CreateGpuMemoryBuffer(). Hence adding
|
||||
// some expectations here.
|
||||
EXPECT_CALL(*test_sii_,
|
||||
DoCreateSharedImage(
|
||||
_, viz::MultiPlaneFormat::kNV12, gpu::kNullSurfaceHandle,
|
||||
gfx::BufferUsage::VEA_READ_CAMERA_AND_CPU_READ_WRITE))
|
||||
.Times(1);
|
||||
EXPECT_CALL(*test_sii_,
|
||||
DoCreateSharedImage(
|
||||
_, viz::SinglePlaneFormat::kR_8, gpu::kNullSurfaceHandle,
|
||||
gfx::BufferUsage::CAMERA_AND_CPU_READ_WRITE))
|
||||
.Times(AtMost(1));
|
||||
EXPECT_CALL(*test_sii_,
|
||||
DoCreateSharedImage(
|
||||
gfx::Size(kJpegMaxBufferSize, 1),
|
||||
viz::SinglePlaneFormat::kR_8, gpu::kNullSurfaceHandle,
|
||||
gfx::BufferUsage::CAMERA_AND_CPU_READ_WRITE))
|
||||
.Times(AtMost(1));
|
||||
|
||||
// Note that ::CreateGpuMemoryBuffer() is currently being used by
|
||||
// StreamBufferManager.
|
||||
ON_CALL(mock_gpu_memory_buffer_manager_,
|
||||
CreateGpuMemoryBuffer(_, gfx::BufferFormat::R_8,
|
||||
gfx::BufferUsage::CAMERA_AND_CPU_READ_WRITE,
|
||||
gpu::kNullSurfaceHandle, nullptr))
|
||||
.WillByDefault(Invoke(&unittest_internal::MockGpuMemoryBufferManager::
|
||||
CreateFakeGpuMemoryBuffer));
|
||||
EXPECT_CALL(mock_gpu_memory_buffer_manager_,
|
||||
CreateGpuMemoryBuffer(
|
||||
_, gfx::BufferFormat::YUV_420_BIPLANAR,
|
||||
gfx::BufferUsage::VEA_READ_CAMERA_AND_CPU_READ_WRITE,
|
||||
gpu::kNullSurfaceHandle, nullptr))
|
||||
.Times(1)
|
||||
.WillOnce(Invoke(&unittest_internal::MockGpuMemoryBufferManager::
|
||||
CreateFakeGpuMemoryBuffer));
|
||||
EXPECT_CALL(
|
||||
mock_gpu_memory_buffer_manager_,
|
||||
CreateGpuMemoryBuffer(_, gfx::BufferFormat::R_8,
|
||||
gfx::BufferUsage::CAMERA_AND_CPU_READ_WRITE,
|
||||
gpu::kNullSurfaceHandle, nullptr))
|
||||
.Times(AtMost(1))
|
||||
.WillOnce(Invoke(&unittest_internal::MockGpuMemoryBufferManager::
|
||||
CreateFakeGpuMemoryBuffer));
|
||||
EXPECT_CALL(mock_gpu_memory_buffer_manager_,
|
||||
CreateGpuMemoryBuffer(
|
||||
gfx::Size(kDefaultWidth, kDefaultHeight),
|
||||
@ -468,6 +451,14 @@ class CameraDeviceDelegateTest : public ::testing::Test {
|
||||
.Times(1)
|
||||
.WillOnce(Invoke(&unittest_internal::MockGpuMemoryBufferManager::
|
||||
CreateFakeGpuMemoryBuffer));
|
||||
EXPECT_CALL(mock_gpu_memory_buffer_manager_,
|
||||
CreateGpuMemoryBuffer(
|
||||
gfx::Size(kJpegMaxBufferSize, 1), gfx::BufferFormat::R_8,
|
||||
gfx::BufferUsage::CAMERA_AND_CPU_READ_WRITE,
|
||||
gpu::kNullSurfaceHandle, nullptr))
|
||||
.Times(AtMost(1))
|
||||
.WillOnce(Invoke(&unittest_internal::MockGpuMemoryBufferManager::
|
||||
CreateFakeGpuMemoryBuffer));
|
||||
}
|
||||
|
||||
void SetUpExpectationUntilCapturing(
|
||||
@ -562,7 +553,6 @@ class CameraDeviceDelegateTest : public ::testing::Test {
|
||||
testing::StrictMock<unittest_internal::MockCameraModule> mock_camera_module_;
|
||||
testing::NiceMock<unittest_internal::MockVendorTagOps> mock_vendor_tag_ops_;
|
||||
unittest_internal::MockGpuMemoryBufferManager mock_gpu_memory_buffer_manager_;
|
||||
scoped_refptr<gpu::TestSharedImageInterface> test_sii_;
|
||||
|
||||
testing::StrictMock<MockCameraDevice> mock_camera_device_;
|
||||
mojo::Receiver<cros::mojom::Camera3DeviceOps> mock_camera_device_receiver_;
|
||||
|
@ -19,10 +19,10 @@
|
||||
#include "base/task/thread_pool.h"
|
||||
#include "base/test/bind.h"
|
||||
#include "base/test/task_environment.h"
|
||||
#include "components/viz/test/test_context_provider.h"
|
||||
#include "media/capture/video/chromeos/mock_camera_module.h"
|
||||
#include "media/capture/video/chromeos/mock_vendor_tag_ops.h"
|
||||
#include "media/capture/video/chromeos/video_capture_device_factory_chromeos.h"
|
||||
#include "media/capture/video/mock_gpu_memory_buffer_manager.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
@ -50,9 +50,8 @@ class CameraHalDelegateTest : public ::testing::Test {
|
||||
CameraHalDelegateTest& operator=(const CameraHalDelegateTest&) = delete;
|
||||
|
||||
void SetUp() override {
|
||||
test_sii_ = base::MakeRefCounted<gpu::TestSharedImageInterface>();
|
||||
test_sii_->UseTestGMBInSharedImageCreationWithBufferUsage();
|
||||
VideoCaptureDeviceFactoryChromeOS::SetSharedImageInterface(test_sii_);
|
||||
VideoCaptureDeviceFactoryChromeOS::SetGpuBufferManager(
|
||||
&mock_gpu_memory_buffer_manager_);
|
||||
camera_hal_delegate_ = std::make_unique<CameraHalDelegate>(
|
||||
base::SingleThreadTaskRunner::GetCurrentDefault());
|
||||
if (!camera_hal_delegate_->Init()) {
|
||||
@ -65,7 +64,6 @@ class CameraHalDelegateTest : public ::testing::Test {
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
VideoCaptureDeviceFactoryChromeOS::SetSharedImageInterface(nullptr);
|
||||
camera_hal_delegate_.reset();
|
||||
task_environment_.RunUntilIdle();
|
||||
}
|
||||
@ -80,7 +78,7 @@ class CameraHalDelegateTest : public ::testing::Test {
|
||||
std::unique_ptr<CameraHalDelegate> camera_hal_delegate_;
|
||||
testing::StrictMock<unittest_internal::MockCameraModule> mock_camera_module_;
|
||||
testing::StrictMock<unittest_internal::MockVendorTagOps> mock_vendor_tag_ops_;
|
||||
scoped_refptr<gpu::TestSharedImageInterface> test_sii_;
|
||||
unittest_internal::MockGpuMemoryBufferManager mock_gpu_memory_buffer_manager_;
|
||||
|
||||
private:
|
||||
std::unique_ptr<base::RunLoop> run_loop_;
|
||||
@ -241,11 +239,14 @@ TEST_F(CameraHalDelegateTest, GetBuiltinCameraInfo) {
|
||||
.WillOnce(
|
||||
Return(static_cast<int32_t>(cros::mojom::EntryType::TYPE_BYTE)));
|
||||
|
||||
EXPECT_CALL(*test_sii_,
|
||||
DoCreateSharedImage(
|
||||
_, viz::MultiPlaneFormat::kNV12, gpu::kNullSurfaceHandle,
|
||||
gfx::BufferUsage::VEA_READ_CAMERA_AND_CPU_READ_WRITE))
|
||||
.Times(1);
|
||||
EXPECT_CALL(mock_gpu_memory_buffer_manager_,
|
||||
CreateGpuMemoryBuffer(
|
||||
_, gfx::BufferFormat::YUV_420_BIPLANAR,
|
||||
gfx::BufferUsage::VEA_READ_CAMERA_AND_CPU_READ_WRITE,
|
||||
gpu::kNullSurfaceHandle, nullptr))
|
||||
.Times(1)
|
||||
.WillOnce(Invoke(&unittest_internal::MockGpuMemoryBufferManager::
|
||||
CreateFakeGpuMemoryBuffer));
|
||||
|
||||
std::vector<VideoCaptureDeviceInfo> devices_info;
|
||||
base::RunLoop run_loop;
|
||||
|
Reference in New Issue
Block a user