Commit 06e8c208 authored by kylechar's avatar kylechar Committed by Commit Bot

Remove SkiaOutputSurfaceImplTest parameter

The test was parameterized so it would run with an offscreen surface on
all platforms in one version and a real XWindow on Linux in another
version. There is a crash due to not calling XInitThreads() on Linux
when using a real XWindow.

The version of the test with the real window doesn't seem to add much
value in terms of testing the SkiaOutputSurfaceImpl API. GPU tests will
ensure that SkiaRenderer works properly with platform window already.

Bug: 1069332
Change-Id: Ibad1db5c49cca67121828f6f3f6ed0d7081ee7ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2149513Reviewed-by: default avatarJonathan Backer <backer@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759313}
parent f033023a
...@@ -21,15 +21,10 @@ ...@@ -21,15 +21,10 @@
#include "components/viz/service/gl/gpu_service_impl.h" #include "components/viz/service/gl/gpu_service_impl.h"
#include "components/viz/test/test_gpu_service_holder.h" #include "components/viz/test/test_gpu_service_holder.h"
#include "gpu/command_buffer/service/service_utils.h" #include "gpu/command_buffer/service/service_utils.h"
#include "gpu/vulkan/buildflags.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_implementation.h" #include "ui/gl/gl_implementation.h"
#if BUILDFLAG(ENABLE_VULKAN)
#include "gpu/vulkan/tests/native_window.h"
#endif
namespace viz { namespace viz {
namespace { namespace {
...@@ -38,13 +33,11 @@ constexpr SkColor kOutputColor = SK_ColorRED; ...@@ -38,13 +33,11 @@ constexpr SkColor kOutputColor = SK_ColorRED;
} // namespace } // namespace
class SkiaOutputSurfaceImplTest : public testing::TestWithParam<bool> { class SkiaOutputSurfaceImplTest : public testing::Test {
public: public:
SkiaOutputSurfaceImplTest(); SkiaOutputSurfaceImplTest();
~SkiaOutputSurfaceImplTest() override; ~SkiaOutputSurfaceImplTest() override;
bool CreateNativeWindow() const { return GetParam(); }
GpuServiceImpl* GetGpuService() { GpuServiceImpl* GetGpuService() {
return TestGpuServiceHolder::GetInstance()->gpu_service(); return TestGpuServiceHolder::GetInstance()->gpu_service();
} }
...@@ -63,7 +56,6 @@ class SkiaOutputSurfaceImplTest : public testing::TestWithParam<bool> { ...@@ -63,7 +56,6 @@ class SkiaOutputSurfaceImplTest : public testing::TestWithParam<bool> {
void UnblockMainThread(); void UnblockMainThread();
protected: protected:
gfx::AcceleratedWidget accelerated_widget_ = gfx::kNullAcceleratedWidget;
gl::DisableNullDrawGLBindings enable_pixel_output_; gl::DisableNullDrawGLBindings enable_pixel_output_;
std::unique_ptr<SkiaOutputSurface> output_surface_; std::unique_ptr<SkiaOutputSurface> output_surface_;
cc::FakeOutputSurfaceClient output_surface_client_; cc::FakeOutputSurfaceClient output_surface_client_;
...@@ -78,33 +70,14 @@ SkiaOutputSurfaceImplTest::SkiaOutputSurfaceImplTest() ...@@ -78,33 +70,14 @@ SkiaOutputSurfaceImplTest::SkiaOutputSurfaceImplTest()
SkiaOutputSurfaceImplTest::~SkiaOutputSurfaceImplTest() { SkiaOutputSurfaceImplTest::~SkiaOutputSurfaceImplTest() {
output_surface_.reset(); output_surface_.reset();
if (accelerated_widget_ != gfx::kNullAcceleratedWidget) {
#if BUILDFLAG(ENABLE_VULKAN) && defined(USE_X11)
gpu::DestroyNativeWindow(accelerated_widget_);
#else
// TODO(backer): Support other platforms.
NOTREACHED();
#endif
}
} }
void SkiaOutputSurfaceImplTest::SetUpSkiaOutputSurfaceImpl() { void SkiaOutputSurfaceImplTest::SetUpSkiaOutputSurfaceImpl() {
gpu::SurfaceHandle surface_handle = gpu::kNullSurfaceHandle;
if (CreateNativeWindow()) {
#if BUILDFLAG(ENABLE_VULKAN) && defined(USE_X11)
accelerated_widget_ = gpu::CreateNativeWindow(kSurfaceRect);
surface_handle = accelerated_widget_;
#else
// TODO(backer): Support other platforms.
NOTREACHED();
#endif
}
RendererSettings settings; RendererSettings settings;
settings.use_skia_renderer = true; settings.use_skia_renderer = true;
output_surface_ = SkiaOutputSurfaceImpl::Create( output_surface_ = SkiaOutputSurfaceImpl::Create(
std::make_unique<SkiaOutputSurfaceDependencyImpl>(GetGpuService(), std::make_unique<SkiaOutputSurfaceDependencyImpl>(
surface_handle), GetGpuService(), gpu::kNullSurfaceHandle),
settings); settings);
output_surface_->BindToClient(&output_surface_client_); output_surface_->BindToClient(&output_surface_client_);
} }
...@@ -155,16 +128,7 @@ void SkiaOutputSurfaceImplTest::CopyRequestCallbackOnGpuThread( ...@@ -155,16 +128,7 @@ void SkiaOutputSurfaceImplTest::CopyRequestCallbackOnGpuThread(
UnblockMainThread(); UnblockMainThread();
} }
INSTANTIATE_TEST_SUITE_P(SkiaOutputSurfaceImplTest, TEST_F(SkiaOutputSurfaceImplTest, SubmitPaint) {
SkiaOutputSurfaceImplTest,
#if BUILDFLAG(ENABLE_VULKAN) && defined(USE_X11)
::testing::Values(false, true)
#else
::testing::Values(false)
#endif
);
TEST_P(SkiaOutputSurfaceImplTest, SubmitPaint) {
output_surface_->Reshape(kSurfaceRect.size(), 1, gfx::ColorSpace(), output_surface_->Reshape(kSurfaceRect.size(), 1, gfx::ColorSpace(),
gfx::BufferFormat::RGBX_8888, /*use_stencil=*/false); gfx::BufferFormat::RGBX_8888, /*use_stencil=*/false);
constexpr gfx::Rect output_rect(0, 0, 10, 10); constexpr gfx::Rect output_rect(0, 0, 10, 10);
...@@ -206,7 +170,7 @@ TEST_P(SkiaOutputSurfaceImplTest, SubmitPaint) { ...@@ -206,7 +170,7 @@ TEST_P(SkiaOutputSurfaceImplTest, SubmitPaint) {
// Draws two frames and calls Reshape() between the two frames changing the // Draws two frames and calls Reshape() between the two frames changing the
// color space. Verifies draw after color space change is successful. // color space. Verifies draw after color space change is successful.
TEST_P(SkiaOutputSurfaceImplTest, SupportsColorSpaceChange) { TEST_F(SkiaOutputSurfaceImplTest, SupportsColorSpaceChange) {
for (auto& color_space : {gfx::ColorSpace(), gfx::ColorSpace::CreateSRGB()}) { for (auto& color_space : {gfx::ColorSpace(), gfx::ColorSpace::CreateSRGB()}) {
output_surface_->Reshape(kSurfaceRect.size(), 1, color_space, output_surface_->Reshape(kSurfaceRect.size(), 1, color_space,
gfx::BufferFormat::RGBX_8888, gfx::BufferFormat::RGBX_8888,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment