Flutter Engine
 
Loading...
Searching...
No Matches
fl_framebuffer_test.cc
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "gtest/gtest.h"
6
9
10TEST(FlFramebufferTest, HasDepthStencil) {
11 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
12
13 g_autoptr(FlFramebuffer) framebuffer =
14 fl_framebuffer_new(GL_RGB, 100, 100, FALSE);
15
16 GLint depth_type = GL_NONE;
17 glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
18 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
19 &depth_type);
20 EXPECT_NE(depth_type, GL_NONE);
21
22 GLint stencil_type = GL_NONE;
23 glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
24 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
25 &stencil_type);
26 EXPECT_NE(stencil_type, GL_NONE);
27}
28
29TEST(FlFramebufferTest, ResourcesRemoved) {
30 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
31
32 EXPECT_CALL(epoxy, glGenFramebuffers);
33 EXPECT_CALL(epoxy, glGenTextures);
34 EXPECT_CALL(epoxy, glGenRenderbuffers);
35 FlFramebuffer* framebuffer = fl_framebuffer_new(GL_RGB, 100, 100, FALSE);
36
37 EXPECT_CALL(epoxy, glDeleteFramebuffers);
38 EXPECT_CALL(epoxy, glDeleteTextures);
39 EXPECT_CALL(epoxy, glDeleteRenderbuffers);
40 g_object_unref(framebuffer);
41}
42
43TEST(FlFramebufferTest, Sibling) {
44 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
45
46 EXPECT_CALL(epoxy, eglCreateImage);
47 g_autoptr(FlFramebuffer) framebuffer =
48 fl_framebuffer_new(GL_RGB, 100, 100, TRUE);
49 g_autoptr(FlFramebuffer) sibling = fl_framebuffer_create_sibling(framebuffer);
50}
g_autoptr(GMutexLocker) locker
return TRUE
FlFramebuffer * fl_framebuffer_new(GLint format, size_t width, size_t height, gboolean shareable)
FlFramebuffer * fl_framebuffer_create_sibling(FlFramebuffer *self)
TEST(FlFramebufferTest, HasDepthStencil)