Flutter Impeller
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);
16  }
17 
18  {
19  GLint value = 0;
20  gl.GetIntegerv(GL_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);
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);
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);
64  }
65 
66  if (gl.GetDescription()->IsES()) {
67  GLint value = 0;
68  gl.GetIntegerv(GL_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);
82  }
83 
84  if (gl.GetDescription()->IsES()) {
85  GLint value = 0;
86  gl.GetIntegerv(GL_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

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::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