Flutter Impeller
runtime_types.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
#include <optional>
9
#include <string>
10
11
namespace
impeller
{
12
13
enum
RuntimeUniformType
{
14
kBoolean
,
15
kSignedByte
,
16
kUnsignedByte
,
17
kSignedShort
,
18
kUnsignedShort
,
19
kSignedInt
,
20
kUnsignedInt
,
21
kSignedInt64
,
22
kUnsignedInt64
,
23
kHalfFloat
,
24
kFloat
,
25
kDouble
,
26
kSampledImage
,
27
};
28
29
enum class
RuntimeShaderStage
{
30
kVertex
,
31
kFragment
,
32
kCompute
,
33
kTessellationControl
,
34
kTessellationEvaluation
,
35
};
36
37
struct
RuntimeUniformDimensions
{
38
size_t
rows
= 0;
39
size_t
cols
= 0;
40
};
41
42
struct
RuntimeUniformDescription
{
43
std::string
name
;
44
size_t
location
= 0u;
45
RuntimeUniformType
type
=
RuntimeUniformType::kFloat
;
46
RuntimeUniformDimensions
dimensions
;
47
size_t
bit_width
;
48
std::optional<size_t>
array_elements
;
49
50
/// @brief Computes the total number of bytes that this uniform requires.
51
size_t
GetSize
()
const
;
52
};
53
54
}
// namespace impeller
impeller::RuntimeUniformDescription::GetSize
size_t GetSize() const
Computes the total number of bytes that this uniform requires.
Definition:
runtime_types.cc:9
impeller::RuntimeUniformDescription
Definition:
runtime_types.h:42
impeller::kBoolean
@ kBoolean
Definition:
runtime_types.h:14
impeller::kFloat
@ kFloat
Definition:
runtime_types.h:24
impeller::RuntimeShaderStage
RuntimeShaderStage
Definition:
runtime_types.h:29
impeller::kUnsignedShort
@ kUnsignedShort
Definition:
runtime_types.h:18
impeller::RuntimeUniformDimensions::cols
size_t cols
Definition:
runtime_types.h:39
impeller::RuntimeUniformDescription::dimensions
RuntimeUniformDimensions dimensions
Definition:
runtime_types.h:46
impeller::kSignedByte
@ kSignedByte
Definition:
runtime_types.h:15
impeller::RuntimeUniformDimensions::rows
size_t rows
Definition:
runtime_types.h:38
impeller::kSampledImage
@ kSampledImage
Definition:
runtime_types.h:26
impeller::RuntimeUniformDimensions
Definition:
runtime_types.h:37
impeller::RuntimeShaderStage::kVertex
@ kVertex
impeller::kSignedInt
@ kSignedInt
Definition:
runtime_types.h:19
impeller::RuntimeShaderStage::kFragment
@ kFragment
impeller::RuntimeShaderStage::kTessellationEvaluation
@ kTessellationEvaluation
impeller::RuntimeUniformType
RuntimeUniformType
Definition:
runtime_types.h:13
impeller::RuntimeUniformDescription::name
std::string name
Definition:
runtime_types.h:43
impeller::kUnsignedByte
@ kUnsignedByte
Definition:
runtime_types.h:16
impeller::kUnsignedInt64
@ kUnsignedInt64
Definition:
runtime_types.h:22
impeller::kHalfFloat
@ kHalfFloat
Definition:
runtime_types.h:23
impeller::kUnsignedInt
@ kUnsignedInt
Definition:
runtime_types.h:20
impeller::RuntimeUniformDescription::type
RuntimeUniformType type
Definition:
runtime_types.h:45
impeller::kSignedShort
@ kSignedShort
Definition:
runtime_types.h:17
impeller::RuntimeUniformDescription::location
size_t location
Definition:
runtime_types.h:44
impeller::RuntimeUniformDescription::bit_width
size_t bit_width
Definition:
runtime_types.h:47
impeller::kDouble
@ kDouble
Definition:
runtime_types.h:25
impeller::kSignedInt64
@ kSignedInt64
Definition:
runtime_types.h:21
impeller::RuntimeShaderStage::kCompute
@ kCompute
impeller::RuntimeUniformDescription::array_elements
std::optional< size_t > array_elements
Definition:
runtime_types.h:48
impeller::RuntimeShaderStage::kTessellationControl
@ kTessellationControl
impeller
Definition:
aiks_context.cc:10
impeller
core
runtime_types.h
Generated by
1.8.17