5 #include "flutter/testing/testing.h"
6 #include "gtest/gtest.h"
9 #include "impeller/renderer/backend/gles/test/mock_gles.h"
17 TEST(BufferBindingsGLESTest, BindUniformData) {
19 absl::flat_hash_map<std::string, GLint> uniform_bindings;
20 uniform_bindings[
"SHADERMETADATA.FOOBAR"] = 1;
21 bindings.SetUniformBindings(std::move(uniform_bindings));
22 auto mock_gles_impl = std::make_unique<MockGLESImpl>();
24 EXPECT_CALL(*mock_gles_impl, Uniform1fv(_, _, _)).Times(1);
26 std::shared_ptr<MockGLES> mock_gl = MockGLES::Init(std::move(mock_gles_impl));
27 std::vector<BufferResource> bound_buffers;
28 std::vector<TextureAndSampler> bound_textures;
31 .
name =
"shader_metadata",
35 .size =
sizeof(float),
36 .byte_length =
sizeof(
float)}}};
37 std::shared_ptr<ReactorGLES> reactor;
38 std::shared_ptr<Allocation> backing_store = std::make_shared<Allocation>();
39 ASSERT_TRUE(backing_store->Truncate(
Bytes{sizeof(float)}));
41 reactor, backing_store);
45 EXPECT_TRUE(bindings.
BindUniformData(mock_gl->GetProcTable(), bound_textures,
46 bound_buffers,
Range{0, 0},
Sets up stage bindings for single draw call in the OpenGLES backend.
bool BindUniformData(const ProcTableGLES &gl, const std::vector< TextureAndSampler > &bound_textures, const std::vector< BufferResource > &bound_buffers, Range texture_range, Range buffer_range)
TEST(AllocationSizeTest, CanCreateTypedAllocations)
Resource< BufferView > BufferResource