| Flutter Impeller |

capabilities_gles.h
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 #pragma once
6
7 #include <cstddef>
8
9 #include "flutter/fml/macros.h"
10 #include "impeller/core/shader_types.h"
11 #include "impeller/geometry/size.h"
12
13 namespace impeller {
14
15 class ProcTableGLES;
16
17 struct CapabilitiesGLES {
18 CapabilitiesGLES(const ProcTableGLES& gl);
19
20 // Must be at least 8.
21 size_t max_combined_texture_image_units = 8;
22
23 // Must be at least 16.
24 size_t max_cube_map_texture_size = 16;
25
26 // Must be at least 16.
27 size_t max_fragment_uniform_vectors = 16;
28
29 // Must be at least 1.
30 size_t max_renderbuffer_size = 1;
31
32 // Must be at least 8.
33 size_t max_texture_image_units = 8;
34
35 // Must be at least 64.
36 ISize max_texture_size = ISize{64, 64};
37
38 // Must be at least 8.
39 size_t max_varying_vectors = 8;
40
41 // Must be at least 8.
42 size_t max_vertex_attribs = 8;
43
44 // May be 0.
45 size_t max_vertex_texture_image_units = 0;
46
47 // Must be at least 128.
48 size_t max_vertex_uniform_vectors = 128;
49
50 // Must be at least display size.
51 ISize max_viewport_dims;
52
53 // May be 0.
54 size_t num_compressed_texture_formats = 0;
55
56 // May be 0.
57 size_t num_shader_binary_formats = 0;
58
59 size_t GetMaxTextureUnits(ShaderStage stage) const;
60 };
61
62 } // namespace impeller
impeller::CapabilitiesGLES::max_combined_texture_image_units
size_t max_combined_texture_image_units
Definition: capabilities_gles.h:21
impeller::CapabilitiesGLES::max_texture_image_units
size_t max_texture_image_units
Definition: capabilities_gles.h:33
impeller::CapabilitiesGLES::max_vertex_texture_image_units
size_t max_vertex_texture_image_units
Definition: capabilities_gles.h:45
impeller::ShaderStage
ShaderStage
Definition: shader_types.h:20
impeller::CapabilitiesGLES::max_texture_size
ISize max_texture_size
Definition: capabilities_gles.h:36
impeller::CapabilitiesGLES::max_vertex_attribs
size_t max_vertex_attribs
Definition: capabilities_gles.h:42
impeller::CapabilitiesGLES::max_renderbuffer_size
size_t max_renderbuffer_size
Definition: capabilities_gles.h:30
impeller::TSize< int64_t >
impeller::CapabilitiesGLES::max_vertex_uniform_vectors
size_t max_vertex_uniform_vectors
Definition: capabilities_gles.h:48
impeller::CapabilitiesGLES::max_varying_vectors
size_t max_varying_vectors
Definition: capabilities_gles.h:39
impeller::ProcTableGLES
Definition: proc_table_gles.h:188
impeller::CapabilitiesGLES
Definition: capabilities_gles.h:17
impeller::CapabilitiesGLES::CapabilitiesGLES
CapabilitiesGLES(const ProcTableGLES &gl)
Definition: capabilities_gles.cc:11
impeller::CapabilitiesGLES::num_shader_binary_formats
size_t num_shader_binary_formats
Definition: capabilities_gles.h:57
impeller::CapabilitiesGLES::max_cube_map_texture_size
size_t max_cube_map_texture_size
Definition: capabilities_gles.h:24
impeller::CapabilitiesGLES::max_fragment_uniform_vectors
size_t max_fragment_uniform_vectors
Definition: capabilities_gles.h:27
shader_types.h
impeller::CapabilitiesGLES::num_compressed_texture_formats
size_t num_compressed_texture_formats
Definition: capabilities_gles.h:54
impeller::CapabilitiesGLES::GetMaxTextureUnits
size_t GetMaxTextureUnits(ShaderStage stage) const
Definition: capabilities_gles.cc:91
impeller
Definition: aiks_context.cc:10
size.h
impeller::CapabilitiesGLES::max_viewport_dims
ISize max_viewport_dims
Definition: capabilities_gles.h:51