Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
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
6#include "gtest/gtest.h"
7
10
12 protected:
13 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
14};
15
16TEST_F(FlFramebufferTest, HasDepthStencil) {
17 g_autoptr(FlFramebuffer) framebuffer =
18 fl_framebuffer_new(GL_RGB, 100, 100, FALSE);
19
20 GLint depth_type = GL_NONE;
21 glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
22 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
23 &depth_type);
24 EXPECT_NE(depth_type, GL_NONE);
25
26 GLint stencil_type = GL_NONE;
27 glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
28 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
29 &stencil_type);
30 EXPECT_NE(stencil_type, GL_NONE);
31}
32
33TEST_F(FlFramebufferTest, ResourcesRemoved) {
34 EXPECT_CALL(epoxy, glGenFramebuffers);
35 EXPECT_CALL(epoxy, glGenTextures);
36 EXPECT_CALL(epoxy, glGenRenderbuffers);
37 FlFramebuffer* framebuffer = fl_framebuffer_new(GL_RGB, 100, 100, FALSE);
38
39 EXPECT_CALL(epoxy, glDeleteFramebuffers);
40 EXPECT_CALL(epoxy, glDeleteTextures);
41 EXPECT_CALL(epoxy, glDeleteRenderbuffers);
42 g_object_unref(framebuffer);
43}
44
46 EXPECT_CALL(epoxy, eglCreateImageKHR);
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}
::testing::NiceMock< flutter::testing::MockEpoxy > epoxy
g_autoptr(FlEngine) engine
FlFramebuffer * framebuffer
return TRUE
FlFramebuffer * fl_framebuffer_new(GLint format, size_t width, size_t height, gboolean shareable)
FlFramebuffer * fl_framebuffer_create_sibling(FlFramebuffer *self)
TEST_F(FlFramebufferTest, HasDepthStencil)