| Flutter Impeller |

Public Member Functions | Public Attributes | List of all members
impeller::CapabilitiesGLES Struct Reference

`#include <capabilities_gles.h>`

## Public Member Functions
| CapabilitiesGLES (const ProcTableGLES &gl)
size_t | GetMaxTextureUnits (ShaderStage stage) const

## Public Attributes
size_t | max_combined_texture_image_units = 8
size_t | max_cube_map_texture_size = 16
size_t | max_fragment_uniform_vectors = 16
size_t | max_renderbuffer_size = 1
size_t | max_texture_image_units = 8
ISize | max_texture_size = ISize{64, 64}
size_t | max_varying_vectors = 8
size_t | max_vertex_attribs = 8
size_t | max_vertex_texture_image_units = 0
size_t | max_vertex_uniform_vectors = 128
ISize | max_viewport_dims
size_t | num_compressed_texture_formats = 0
size_t | num_shader_binary_formats = 0

## Detailed Description

Definition at line 17 of file capabilities_gles.h.

## Constructor & Destructor Documentation

## ◆ CapabilitiesGLES()

impeller::CapabilitiesGLES::CapabilitiesGLES | ( | const ProcTableGLES & | gl | ) |

Definition at line 11 of file capabilities_gles.cc.

11 {
12 {
13 GLint value = 0;
14 gl.GetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &value);
15 max_combined_texture_image_units = value;
16 }
17
18 {
19 GLint value = 0;
20 gl.GetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, &value);
21 max_cube_map_texture_size = value;
22 }
23
24 if (gl.GetDescription()->IsES()) {
25 GLint value = 0;
26 gl.GetIntegerv(GL_MAX_FRAGMENT_UNIFORM_VECTORS, &value);
27 max_fragment_uniform_vectors = value;
28 }
29
30 {
31 GLint value = 0;
32 gl.GetIntegerv(GL_MAX_RENDERBUFFER_SIZE, &value);
33 max_renderbuffer_size = value;
34 }
35
36 {
37 GLint value = 0;
38 gl.GetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &value);
39 max_texture_image_units = value;
40 }
41
42 {
43 GLint value = 0;
44 gl.GetIntegerv(GL_MAX_TEXTURE_SIZE, &value);
45 max_texture_size = ISize{value, value};
46 }
47
48 if (gl.GetDescription()->IsES()) {
49 GLint value = 0;
50 gl.GetIntegerv(GL_MAX_VARYING_VECTORS, &value);
51 max_varying_vectors = value;
52 }
53
54 {
55 GLint value = 0;
56 gl.GetIntegerv(GL_MAX_VERTEX_ATTRIBS, &value);
57 max_vertex_attribs = value;
58 }
59
60 {
61 GLint value = 0;
62 gl.GetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, &value);
63 max_vertex_texture_image_units = value;
64 }
65
66 if (gl.GetDescription()->IsES()) {
67 GLint value = 0;
68 gl.GetIntegerv(GL_MAX_VERTEX_UNIFORM_VECTORS, &value);
69 max_vertex_uniform_vectors = value;
70 }
71
72 {
73 GLint values[2] = {};
74 gl.GetIntegerv(GL_MAX_VIEWPORT_DIMS, values);
75 max_viewport_dims = ISize{values[0], values[1]};
76 }
77
78 {
79 GLint value = 0;
80 gl.GetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &value);
81 num_compressed_texture_formats = value;
82 }
83
84 if (gl.GetDescription()->IsES()) {
85 GLint value = 0;
86 gl.GetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &value);
87 num_shader_binary_formats = value;
88 }
89 }

References impeller::ProcTableGLES::GetDescription(), impeller::DescriptionGLES::IsES(), max_combined_texture_image_units, max_cube_map_texture_size, max_fragment_uniform_vectors, max_renderbuffer_size, max_texture_image_units, max_texture_size, max_varying_vectors, max_vertex_attribs, max_vertex_texture_image_units, max_vertex_uniform_vectors, max_viewport_dims, num_compressed_texture_formats, and num_shader_binary_formats.

## Member Function Documentation

## ◆ GetMaxTextureUnits()

size_t impeller::CapabilitiesGLES::GetMaxTextureUnits | ( | ShaderStage | stage | ) | const

Definition at line 91 of file capabilities_gles.cc.

91 {
92 switch (stage) {
93 case ShaderStage::kVertex:
94 return max_vertex_texture_image_units;
95 case ShaderStage::kFragment:
96 return max_texture_image_units;
97 case ShaderStage::kUnknown:
98 case ShaderStage::kTessellationControl:
99 case ShaderStage::kTessellationEvaluation:
100 case ShaderStage::kCompute:
101 return 0u;
102 }
103 FML_UNREACHABLE();
104 }

References impeller::kCompute, impeller::kFragment, impeller::kTessellationControl, impeller::kTessellationEvaluation, impeller::kUnknown, impeller::kVertex, max_texture_image_units, and max_vertex_texture_image_units.

## Member Data Documentation

## ◆ max_combined_texture_image_units

size_t impeller::CapabilitiesGLES::max_combined_texture_image_units = 8

Definition at line 21 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_cube_map_texture_size

size_t impeller::CapabilitiesGLES::max_cube_map_texture_size = 16

Definition at line 24 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_fragment_uniform_vectors

size_t impeller::CapabilitiesGLES::max_fragment_uniform_vectors = 16

Definition at line 27 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_renderbuffer_size

size_t impeller::CapabilitiesGLES::max_renderbuffer_size = 1

Definition at line 30 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_texture_image_units

size_t impeller::CapabilitiesGLES::max_texture_image_units = 8

Definition at line 33 of file capabilities_gles.h.

Referenced by CapabilitiesGLES(), and GetMaxTextureUnits().

## ◆ max_texture_size

ISize impeller::CapabilitiesGLES::max_texture_size = ISize{64, 64}

Definition at line 36 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_varying_vectors

size_t impeller::CapabilitiesGLES::max_varying_vectors = 8

Definition at line 39 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_vertex_attribs

size_t impeller::CapabilitiesGLES::max_vertex_attribs = 8

Definition at line 42 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_vertex_texture_image_units

size_t impeller::CapabilitiesGLES::max_vertex_texture_image_units = 0

Definition at line 45 of file capabilities_gles.h.

Referenced by CapabilitiesGLES(), and GetMaxTextureUnits().

## ◆ max_vertex_uniform_vectors

size_t impeller::CapabilitiesGLES::max_vertex_uniform_vectors = 128

Definition at line 48 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ max_viewport_dims

ISize impeller::CapabilitiesGLES::max_viewport_dims

Definition at line 51 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ num_compressed_texture_formats

size_t impeller::CapabilitiesGLES::num_compressed_texture_formats = 0

Definition at line 54 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

## ◆ num_shader_binary_formats

size_t impeller::CapabilitiesGLES::num_shader_binary_formats = 0

Definition at line 57 of file capabilities_gles.h.

Referenced by CapabilitiesGLES().

The documentation for this struct was generated from the following files:

- impeller/renderer/backend/gles/capabilities_gles.h
- impeller/renderer/backend/gles/capabilities_gles.cc

impeller::CapabilitiesGLES::max_combined_texture_image_units
size_t max_combined_texture_image_units
Definition: capabilities_gles.h:21
impeller::ShaderStage::kUnknown
@ kUnknown
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::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::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::ShaderStage::kTessellationEvaluation
@ kTessellationEvaluation
impeller::ShaderStage::kFragment
@ kFragment
impeller::ISize
TSize< int64_t > ISize
Definition: size.h:136
impeller::ShaderStage::kVertex
@ kVertex
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::ShaderStage::kCompute
@ kCompute
impeller::CapabilitiesGLES::max_fragment_uniform_vectors
size_t max_fragment_uniform_vectors
Definition: capabilities_gles.h:27
impeller::ShaderStage::kTessellationControl
@ kTessellationControl
impeller::CapabilitiesGLES::num_compressed_texture_formats
size_t num_compressed_texture_formats
Definition: capabilities_gles.h:54
impeller::CapabilitiesGLES::max_viewport_dims
ISize max_viewport_dims
Definition: capabilities_gles.h:51