Namespaces
Enumerations
enum class ResourceType
| Name | Value | Comments |
|---|---|---|
| kResource | 1 |
Abstract base classes. |
| kImage | 1 << 2 |
Concrete subclasses. |
| kImageView | 1 << 3 |
Concrete subclasses. |
| kSampler | 1 << 4 |
Concrete subclasses. |
| kTexture | 1 << 5 |
Concrete subclasses. |
| kFramebuffer | 1 << 6 |
Concrete subclasses. |
| kBuffer | 1 << 7 |
Concrete subclasses. |
| kMesh | 1 << 8 |
Concrete subclasses. |
| kRenderPass | 1 << 9 |
Concrete subclasses. |
| kPipelineLayout | 1 << 10 |
Concrete subclasses. |
| kShaderProgram | 1 << 11 |
Concrete subclasses. |
| kFrame | 1 << 12 |
Concrete subclasses. |
| kImplModelPipelineCache | 1 << 27 |
Resources defined in escher::impl namespace. |
| kImplModelDisplayList | 1 << 28 |
Resources defined in escher::impl namespace. |
| kImplDescriptorSetAllocation | 1 << 29 |
Resources defined in escher::impl namespace. |
| kImplFramebuffer | 1 << 30 |
Resources defined in escher::impl namespace. |
| kImplRenderPass | 1 << 31 |
Resources defined in escher::impl namespace. |
All subclasses of Resource are represented here.
Defined at line 13 of file ../../src/ui/lib/escher/resources/resource_type_info.h
enum class ShaderStage : uint8_t
| Name | Value |
|---|---|
| kVertex | 0 |
| kTessellationControl | 1 |
| kTessellationEvaluation | 2 |
| kGeometry | 3 |
| kFragment | 4 |
| kCompute | 5 |
| kEnumCount | 6 |
Defined at line 14 of file ../../src/ui/lib/escher/vk/shader_stage.h
enum class TestEnumBits : uint8_t
| Name | Value | Comments |
|---|---|---|
| test1 | 1 | -- |
| test2 | 2 | -- |
| test3 | 4 | -- |
| kAllFlags | 7 |
test1 | test2 | test3 |
Simple enum class with only a few members
in sequential order with no gaps.
Defined at line 17 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
enum class MeshAttribute : uint32_t
| Name | Value | Comments |
|---|---|---|
| kPosition2D | 1 |
vec2. Position of the vertex, to be transformed by model-view-projection |
| kPosition3D | 1 << 1 |
vec3. Position of the vertex, to be transformed by model-view-projection |
| kPositionOffset | 1 << 2 |
vec2. Scalable position offset. If this is present, add (some scaled |
| kUV | 1 << 3 |
vec2. UV surface parameterization, often used as texture coordinates. |
| kPerimeterPos | 1 << 4 |
float. Parameterization around the perimeter of an shape, which varies from |
| kBlendWeight1 | 1 << 5 |
float. Describes how much this vertex should be affected by some |
| kStride | 1 << 6 |
Pseudo-attribute, used to obtain the vertex stride for the mesh. |
These are the attributes which can be present in a MeshSpec. Each of them has a semantic meaning
which is distinct from its representation. For example, kPosition2 and kUV are both represented
as vec2, but the data meant for one shouldn't be confused with the other.
Defined at line 18 of file ../../src/ui/lib/escher/shape/mesh_spec.h
enum class ColorSpace : uint32_t
| Name | Value | Comments |
|---|---|---|
| kInvalid | 0 |
Not a valid color space type. |
| kSrgb | 1 |
sRGB |
| kRec601Ntsc | 2 |
601 NTSC ("525 line") YCbCr primaries, narrow |
| kRec601NtscFullRange | 3 |
601 NTSC ("525 line") YCbCr primaries, wide |
| kRec601Pal | 4 |
601 PAL ("625 line") YCbCr primaries, narrow |
| kRec601PalFullRange | 5 |
601 PAL ("625 line") YCbCr primaries, wide |
| kRec709 | 6 |
709 YCbCr (not RGB) |
| kRec2020 | 7 |
2020 YCbCr (not RGB, not YcCbcCrc) |
| kRec2100 | 8 |
2100 YCbCr (not RGB, not ICtCp) |
| kPassThrough | 9 |
Either the pixel format doesn't represent a color, or it's in an |
| kDoNotCare | 0xFFFFFFFE |
The sysmem client is explicitly indicating that the sysmem client does |
Color spaces used in Escher images.
This corresponds to Fuchsia sysmem |ColorSpaceType| enum.
Similar to Fuchsia |ColorSpaceType|, This list has a separate entry for each
variant of a color space standard, since different variants may use
different samplers and thus different render passes.
So should we ever add support for the RGB variant of 709, for example, we'd
add a separate entry to this list for that variant. Similarly for the RGB
variants of 2020 or 2100. Similarly for the YcCbcCrc variant of 2020.
Similarly for the ICtCp variant of 2100.
Defined at line 24 of file ../../src/ui/lib/escher/vk/color_space.h
enum class LargeEnumBits : uint16_t
| Name | Value |
|---|---|
| large1 | 1U << 0 |
| large2 | 1U << 1 |
| large3 | 1U << 2 |
| large4 | 1U << 3 |
| large5 | 1U << 4 |
| large6 | 1U << 5 |
| large7 | 1U << 6 |
| large8 | 1U << 7 |
| large9 | 1U << 8 |
| large10 | 1U << 9 |
| large11 | 1U << 10 |
| large12 | 1U << 11 |
| large13 | 1U << 12 |
| kAllFlags | 0x1FFF |
More complex enum class with many more members
but likewise in sequential order with no gaps.
Defined at line 27 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
enum class SparseEnumBits : uint32_t
| Name | Value |
|---|---|
| sparse1 | 1U << 2 |
| sparse2 | 1U << 5 |
| sparse3 | 1U << 9 |
| sparse4 | 1U << 12 |
| sparse5 | 1U << 17 |
| sparse6 | 1U << 29 |
| kAllFlags | sparse1 | sparse2 | sparse3 | sparse4 | sparse5 | sparse6 |
Enum class where there are gaps between members.
Defined at line 46 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
Records
-
class BatchGpuDownloader -
class BatchGpuDownloaderTest_CallbackTriggeredOnEmptyDownloader_Test -
class BatchGpuDownloaderTest_CreateDestroyDownloader_Test -
class BatchGpuDownloaderTest_DISABLED_ReadAfterWriteSucceeds_Test -
class BatchGpuDownloaderTest_InitializeUploaderAndDownloader_Test -
class BatchGpuDownloaderTest_InvalidDownloader_Test -
class BatchGpuDownloaderTest_LazyInitializationTest_Test -
class BatchGpuDownloaderTest_MultipleReadToSameBuffer_Test -
class BatchGpuDownloaderTest_ReadBufferTest_Test -
class BatchGpuDownloaderTest_ReadImageTest_Test -
class BatchGpuDownloaderTest_ReadTheSameImageTwice_Test -
class BatchGpuDownloaderTest_SubmitEmptyDownloader_Test -
class BatchGpuDownloaderTest_SubmitToCommandBuffer_Test -
class BatchGpuDownloaderTest_SupportAllCommandBufferTypes_Test -
class BatchGpuUploader -
class Bitmap -
class BitmapWithStorage -
class BlockAllocator -
class Buffer -
class BufferCache -
class BufferCache_CreateBuffer_Test -
class BufferCache_CreateDestroyCache_Test -
class BufferCache_DontRecycleLargeBuffer_Test -
class BufferCache_RecycleBuffer_Test -
class BufferCache_RecycleMany_Test -
class BufferCache_SlightlyLargerBufferShouldRecycle_Test -
class BufferCache_SmallerBufferShouldNotRecycle_Test -
class BufferFactory -
class BufferFactoryAdapter -
class BufferTest_CreateWithPreExistingMemory_Test -
class ColorBgra -
class ColorConversionParams -
class ColorHistogram -
class ColorRgba -
class CommandBuffer -
class CommandBufferPipelineState -
class DebugFont -
class DefaultObjectPoolPolicy -
class DefaultShaderProgramFactory -
class EnumFlags -
class Escher -
class FenceListener -
class FenceQueue -
class FenceSetListener -
class Frame -
class Framebuffer -
class GpuAllocator -
class GpuMem -
class HackFilesystem -
class HackFilesystemWatcher -
class Hash -
class HashCache -
class HashCacheItem -
class HashCacheObjectPoolPolicy -
class HashMapHasher -
class HashMapHasher -
class HashMapHasher -
class Hashable -
class Hasher -
class Image -
class ImageConstraintsInfo -
class ImageFactory -
class ImageFactoryAdapter -
class ImageInfo -
class ImageLayoutUpdater -
class ImageView -
class ImageViewAllocator -
class IntrusiveList -
class IntrusiveListItem -
class MeshAttributeBindingLocations -
class MeshSpec -
class NaiveGpuAllocator -
class ObjectPool -
class Ownable -
class Owner -
class PipelineBuilder -
class PipelineLayout -
class ReadbackTest -
class Rectangle2D -
class RectangleCompositor -
class RectangleCompositorParameterizedOpacityTest -
class RectangleCompositorParameterizedOpacityTest_TransparencyTest_Test -
class RectangleCompositorTest -
class RectangleCompositorTest_ColorConversionTest_Test -
class RectangleCompositorTest_MultiRenderableTest_Test -
class RectangleCompositorTest_OverlapTest_Test -
class RectangleCompositorTest_RotatedTextureTest_Test -
class RectangleCompositorTest_SetsAFBCCompatibleConstraints_Test -
class RectangleCompositorTest_SimpleTextureNonStandardUVsTest_Test -
class RectangleCompositorTest_SimpleTextureTest_Test -
class RectangleCompositorTest_SingleRenderableTest_Test -
class RectangleCompositorTest_StressTest_Test -
class RectangleCompositorTest_TransparencyFlagOffTest_Test -
class RectangleCompositorTest_TwoColorTextureTest_Test -
class Reffable -
class RenderFuncs -
class RenderPass -
class RenderPassInfo -
class Renderer -
class Resource -
class ResourceManager -
class ResourceRecycler -
class Sampler -
class SamplerCache -
class Semaphore -
class ShaderModule -
class ShaderModuleListener -
class ShaderModuleTemplate -
class ShaderProgram -
class ShaderProgramData -
class ShaderProgramFactory -
class ShaderVariantArgs -
class StackAllocator -
class Stopwatch -
class Texture -
class TimestampProfiler -
class Tracer -
class Trait -
class TypeInfo -
class TypedReffable -
class UniformAllocation -
class UniformBlockAllocator -
class VmaGpuAllocator -
class VulkanContext -
class VulkanDeviceQueues -
class VulkanInstance -
class VulkanLimits -
class VulkanSwapchain -
class VulkanSwapchainHelper -
class VulkanTester -
class ray4
Functions
-
bool CompareFloat (floatf0,floatf1,floatepsilon)Returns true iff |f0| and |f1| are the same within optional |epsilon|.
Defined at line 15 of file ../../src/ui/lib/escher/util/epsilon_compare.cc
-
void GlslangInitializeProcess ()Defined at line 12 of file ../../src/ui/lib/escher/escher_process_init.cc
-
void GlslangFinalizeProcess ()Defined at line 14 of file ../../src/ui/lib/escher/escher_process_init.cc
-
ColorSpace GetDefaultColorSpace (vk::Format format)Textures created by Escher (e.g. output textures, textures for testing
purposes) will use the default color space defined by this function and will
be only determined by the image format (i.e. whether it is a YUV image).
Defined at line 11 of file ../../src/ui/lib/escher/vk/color_space.cc
-
std::ostream & operator<< (std::ostream & os, const ColorRgba & c)Color printing.
Defined at line 11 of file ../../src/ui/lib/escher/types/color.cc
-
template <typename E>typename std::underlying_type<E>::type EnumCast (E x)Defined at line 13 of file ../../src/ui/lib/escher/util/enum_cast.h
-
std::ostream & operator<< (std::ostream & os, const ColorBgra & c)Defined at line 15 of file ../../src/ui/lib/escher/types/color.cc
-
template <typename T, typename... Args>fxl::RefPtr<T> Make (Args &&... args)Convenient syntax for instantiating a new Reffable object. For example,
assuming that Foo inherits from Reffable or fxl::RefCountedThreadSafe:
fxl::RefPtr
<Foo
> foo = Make
<Foo
>(int_arg, "string_arg");
Defined at line 16 of file ../../src/ui/lib/escher/base/make.h
-
template <typename E>size_t EnumCount ()Return the number of elements in an enum, which must properly define
kEnumCount: they should start at zero and monotonically increase by 1,
so that kEnumCount is equal to the number of previous values in the enum.
Defined at line 16 of file ../../src/ui/lib/escher/util/enum_count.h
-
uint64_t hash_fnv_1a_64 (const uint8_t *data,size_tlen,uint64_tprevious)FNV-1a 64-bit Hash (http://www.isthe.com/chongo/tech/comp/fnv/index.html)
Defined at line 17 of file ../../src/ui/lib/escher/util/hash_fnv_1a.h
-
size_t AlignedToNext (size_t position, size_t alignment)If |position| is already aligned to |alignment|, return it. Otherwise,
return the next-larger value that is so aligned. |alignment| must be
positive; the result is undefined otherwise.
Defined at line 18 of file ../../src/ui/lib/escher/util/align.h
-
template <typename E>E EnumCycle (E e, bool reverse)Cycle through an enum's values, safely wrapping around in either direction.
The enum must meet the requirements of EnumCount().
Defined at line 19 of file ../../src/ui/lib/escher/util/enum_utils.h
-
template <typename IntT>IntT RotateLeft (IntT val, size_t len)Rotate the value the specified number of bits to the left. In other words,
this is a bit-shift where any high-order bits that are "shifted out" are
"rotated in" as the low-order bytes instead of being discarded.
Defined at line 20 of file ../../src/ui/lib/escher/util/bit_ops.h
-
bool CompareMatrix (glm::mat4m0,glm::mat4m1,floatepsilon)Defined at line 23 of file ../../src/ui/lib/escher/util/epsilon_compare.cc
-
std::pair<escher::SemaphorePtr, zx::event> NewSemaphoreEventPair (escher::Escher * escher)Create a new escher::Semaphore and a corresponding zx::event using
the VK_KHR_EXTERNAL_SEMAPHORE_FD extension. If it fails, both elements
of the pair will be null.
Defined at line 18 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
zx::event GetEventForSemaphore (VulkanDeviceQueues * device, const escher::SemaphorePtr & semaphore)Exports a Semaphore into an event.
Defined at line 38 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
std::ostream & operator<< (std::ostream & str, const vec2 & )Defined at line 45 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const vec3 & )Defined at line 49 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
escher::SemaphorePtr GetSemaphoreForEvent (VulkanDeviceQueues * device, zx::event event)Imports an event into a Semaphore.
Defined at line 52 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
std::ostream & operator<< (std::ostream & str, const vec4 & )Defined at line 53 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const mat2 & )Defined at line 23 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const mat4 & )Defined at line 34 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
Tracer * GetTracer ()Defined at line 58 of file ../../src/ui/lib/escher/util/tracer.cc
-
uint32_t GetMeshAttributeSize (MeshAttribute attr)Return the per-vertex size of the specified attribute, as documented above
(e.g. kPosition2D == sizeof(vec2)).
Defined at line 22 of file ../../src/ui/lib/escher/shape/mesh_spec.cc
-
TestEnumFlags operator| (TestEnumBits bit1, TestEnumBits bit2)Defined at line 23 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
-
TestEnumFlags operator~ (TestEnumBits bit)Defined at line 23 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
-
bool CompileAndWriteShader (HackFilesystemPtr filesystem, ShaderProgramData program_data)Compiles all of the provided shader modules and writes out their spirv
to disk in the source tree.
Defined at line 23 of file ../../src/ui/tools/paper_shader_compiler/main.cc
-
uint8_t * AlignedToNext (uint8_t * ptr, size_t alignment)Defined at line 24 of file ../../src/ui/lib/escher/util/align.h
-
TexturePtr CreateWhiteTexture (EscherWeakPtr escher, BatchGpuUploader * gpu_uploader)Default 1x1 texture for Renderables with no texture.
Defined at line 25 of file ../../src/ui/lib/escher/test/flatland/rectangle_compositor_unittest.cc
-
vk::ShaderStageFlagBits ShaderStageToFlags (ShaderStage stage)Defined at line 25 of file ../../src/ui/lib/escher/vk/shader_stage.h
-
void WriteEvent (std::ostream & str, const Tracer::Event & event)Defined at line 26 of file ../../src/ui/lib/escher/util/tracer.cc
-
int32_t CountLeadingZeros (uint32_t value)Defined at line 27 of file ../../src/ui/lib/escher/util/bit_ops.h
-
int32_t CountTrailingZeros (uint32_t value)Defined at line 28 of file ../../src/ui/lib/escher/util/bit_ops.h
-
uint32_t CountOnes (uint32_t value)Defined at line 29 of file ../../src/ui/lib/escher/util/bit_ops.h
-
template <typename T>T * NextAlignedPtr (void * ptr)Defined at line 29 of file ../../src/ui/lib/escher/util/align.h
-
template <typename E>std::array<E, EnumCount<E>()> EnumArray ()Return an array populated with all of the enum's values. The enum must meet the requirements
of EnumCount().
Defined at line 30 of file ../../src/ui/lib/escher/util/enum_utils.h
-
void ESCHER_DCHECK_VK_RESULT (typename vk::Result result)Defined at line 32 of file ../../src/ui/lib/escher/impl/vulkan_utils.h
-
TexturePtr CreateFourColorTexture (EscherWeakPtr escher, BatchGpuUploader * gpu_uploader)2x2 texture with white, red, green and blue pixels.
Defined at line 34 of file ../../src/ui/lib/escher/test/flatland/rectangle_compositor_unittest.cc
-
template <typename T>T * NextAlignedTriviallyDestructiblePtr (void * ptr)Defined at line 35 of file ../../src/ui/lib/escher/util/align.h
-
template <typename T>T ESCHER_DCHECK_VK_RESULT (typename vk::ResultValue<T> result)Panic if operation was unsuccessful, on debug mode only.
Defined at line 38 of file ../../src/ui/lib/escher/impl/vulkan_utils.h
-
LargeEnumFlags operator| (LargeEnumBits bit1, LargeEnumBits bit2)Defined at line 43 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
-
LargeEnumFlags operator~ (LargeEnumBits bit)Defined at line 43 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
-
void ESCHER_CHECKED_VK_RESULT (typename vk::Result result)Defined at line 43 of file ../../src/ui/lib/escher/impl/vulkan_utils.h
-
TexturePtr CreateTwoColorTexture (EscherWeakPtrescher,BatchGpuUploader *gpu_uploader,uint32_twidth,uint32_theight)WxH texture with red(top) and green(bottom) pixels.
Defined at line 43 of file ../../src/ui/lib/escher/test/flatland/rectangle_compositor_unittest.cc
-
template <typename ColorT>std::ostream & operator<< (std::ostream & os, const ColorHistogram<ColorT> & histogram)Defined at line 47 of file ../../src/ui/lib/escher/types/color_histogram.h
-
template <typename T>T ESCHER_CHECKED_VK_RESULT (typename vk::ResultValue<T> result)Panic if operation was unsuccessful.
Defined at line 49 of file ../../src/ui/lib/escher/impl/vulkan_utils.h
-
SparseEnumFlags operator| (SparseEnumBits bit1, SparseEnumBits bit2)Defined at line 55 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
-
SparseEnumFlags operator~ (SparseEnumBits bit)Defined at line 55 of file ../../src/ui/lib/escher/test/util/enum_flags_unittest.cc
-
MeshAttributes operator| (MeshAttribute bit0, MeshAttribute bit1)Defined at line 56 of file ../../src/ui/lib/escher/shape/mesh_spec.h
-
std::ostream & operator<< (std::ostream & str, const Rectangle2D & )Defined at line 57 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
uint32_t GetMeshAttributeOffset (const MeshAttributes & attributes, MeshAttribute attr)Return the byte-offset of the specified attribute |attr| within a vertex that contains all of the
attributes specified by |attributes|. For example, if |attributes| is "kPosition3D | kUV" and
|attr| is "kUV" then the result will be 12, because the UV coordinates will immediately follow
the vec3 position, and sizeof(vec3) == 12.
NOTE: this can also be used to find the stride of the vertex. In the above
example, if we replace |attr| with "kStride", then the result will be 20,
because the vertex consists of a vec3 position followed by vec2 UV coords,
and sizeof(vec3) + sizeof(vec2) == 20.
Defined at line 58 of file ../../src/ui/lib/escher/shape/mesh_spec.cc
-
bool operator== (const ColorRgba & a, const ColorRgba & b)Color equality.
Defined at line 59 of file ../../src/ui/lib/escher/types/color.h
-
bool operator== (const ColorBgra & a, const ColorBgra & b)Defined at line 62 of file ../../src/ui/lib/escher/types/color.h
-
TexturePtr CreateDepthBuffer (Escher * escher, const ImagePtr & output_image)Defined at line 62 of file ../../src/ui/lib/escher/test/flatland/rectangle_compositor_unittest.cc
-
std::ostream & operator<< (std::ostream & str, const MeshAttribute & attr)Debugging.
Defined at line 63 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
int32_t CountLeadingOnes (uint32_t value)Defined at line 64 of file ../../src/ui/lib/escher/util/bit_ops.h
-
int32_t CountTrailingOnes (uint32_t value)Defined at line 66 of file ../../src/ui/lib/escher/util/bit_ops.h
-
template <typename T>void ForEachBitIndex (uint32_t value, const T & func)Invoke |func| with the index of each non-zero bit in |value|.
Defined at line 70 of file ../../src/ui/lib/escher/util/bit_ops.h
-
zx::vmo ExportMemoryAsVmo (escher::Escher * escher, const escher::GpuMemPtr & mem)Export the escher::GpuMem as a zx::vmo.
Defined at line 70 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
bool operator< (const ColorRgba & a, const ColorRgba & b)Color ordering. There is no guarantee that two colors will sort the same
way when represented as different formats. For example, if A and B are
instances of ColorRgba and A
<
B, then if they are mapped to equivalent
instances of ColorBgra A` and B`, it is possible that B` > A`. The rationale
is that although this guarantee would be easy to provide for RGBA and BGRA,
it can't be provided for HSV without converting to something RGB-like.
Defined at line 72 of file ../../src/ui/lib/escher/types/color.h
-
bool operator< (const ColorBgra & a, const ColorBgra & b)Defined at line 75 of file ../../src/ui/lib/escher/types/color.h
-
bool VulkanIsSupported ()This attempts to create a VkInstance and then a VkDevice, and returns true
if successful and false otherwise. These are both destroyed before the
function returns. Therefore, this shouldn't be called from production code
where fast startup time is an issue.
Defined at line 85 of file ../../src/ui/lib/escher/util/check_vulkan_support.cc
-
std::ostream & operator<< (std::ostream & str, const ShaderStage & )Defined at line 164 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const mat3 & ) -
std::pair<escher::GpuMemPtr, escher::ImagePtr> GenerateExportableMemImage (vk::Devicedevice,escher::ResourceManager *resource_manager,const escher::ImageInfo &image_info)Generate an escher Image and GPU memory dedicated to that image.
The GPU memory will be exportable as a vmo object in Fuchsia by calling
escher::ExportMemoryAsVmo function.
Defined at line 82 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
template <typename BitT>EnumFlags<BitT> operator& (BitT bit, const EnumFlags<BitT> & flags)Defined at line 83 of file ../../src/ui/lib/escher/util/enum_flags.h
-
template <typename T>void ForEachBitRange (uint32_t value, const T & func)Invoke |func| for each contiguous range of non-zero bits in |value|. Two
arguments are passed to each invocation of |func|:
- the index of the initial bit of the range
- the number of bits in the range
Defined at line 83 of file ../../src/ui/lib/escher/util/bit_ops.h
-
ray4 operator* (const glm::mat4 & matrix, const ray4 & ray)Defined at line 85 of file ../../src/ui/lib/escher/geometry/types.h
-
template <typename BitT>EnumFlags<BitT> operator| (BitT bit, const EnumFlags<BitT> & flags)Defined at line 88 of file ../../src/ui/lib/escher/util/enum_flags.h
-
std::ostream & operator<< (std::ostream & str, const MeshAttributes & attributes)Defined at line 90 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
template <typename BitT>EnumFlags<BitT> operator^ (BitT bit, const EnumFlags<BitT> & flags)Defined at line 93 of file ../../src/ui/lib/escher/util/enum_flags.h
-
template <typename T>void SetBitsAtAndAboveIndex (T * input, uint32_t index)Set to 1 all bits in |input| at and above |index|.
Defined at line 98 of file ../../src/ui/lib/escher/util/bit_ops.h
-
vk::Format SysmemPixelFormatTypeToVkFormat (fuchsia::sysmem::PixelFormatType pixel_format)Converts sysmem pixel format to equivalent vk::Format.
Defined at line 120 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
std::ostream & operator<< (std::ostream & str, const impl::ShaderModuleResourceLayout & )Defined at line 153 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
vk::ImageFormatConstraintsInfoFUCHSIA GetDefaultImageFormatConstraintsInfo (const vk::ImageCreateInfo & create_info)Given a VkImageCreateInfo with a specific format, this returns the default
VkImageFormatConstraintsInfoFUCHSIA which could be used in
VkImageConstraintsInfoFUCHSIA to set Vulkan drivers sysmem constraints.
- The |format| field of VkImageCreateInfo cannot be |eUndefined|, and
the |usage| field cannot be null.
- It will only request format features based on |usage| field.
- It will not request any extra sysmem pixel format.
- It will use SRGB color space for images with SRGB formats, otherwise it
will use REC709 for YUV formats.
Defined at line 160 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
std::ostream & operator<< (std::ostream & str, const ShaderVariantArgs & )Defined at line 327 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const impl::DescriptorSetLayout & )Defined at line 142 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
ColorSpace FromSysmemColorSpace (fuchsia::sysmem::ColorSpaceType sysmem_color_space)Converts sysmem ColorSpace enum to Escher ColorSpace enum.
Defined at line 202 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
std::ostream & operator<< (std::ostream & str, const ImageInfo & )Debugging.
Defined at line 130 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const VulkanDeviceQueues::Caps & )Defined at line 195 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const MeshSpec & spec)Defined at line 113 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
bool operator== (const MeshSpec & spec1, const MeshSpec & spec2)Inline function definitions.
Defined at line 143 of file ../../src/ui/lib/escher/shape/mesh_spec.h
-
ImageConstraintsInfo GetDefaultImageConstraintsInfo (const vk::ImageCreateInfo & create_info, bool allow_protected_memory)Given a VkImageCreateInfo with or without a specific format, this returns the
default VkImageConstraintsInfoFUCHSIA which could be used to set Vulkan
drivers sysmem constraints.
- If the |format| is not |eUndefined|, the generated constraints info will
only support that given format. Otherwise, the generated constraints info
will include support for all the Scenic-preferred RGBA and YUV formats.
- All the other assumptions are the same as |GetDefaultImageFormatConstraintsInfo|.
Defined at line 175 of file ../../src/ui/lib/escher/util/fuchsia_utils.cc
-
std::ostream & operator<< (std::ostream & str, const impl::PipelineLayoutSpec & )Defined at line 183 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const RenderPassInfo & )Defined at line 308 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const RenderPassInfo::AttachmentInfo & )Defined at line 303 of file ../../src/ui/lib/escher/impl/debug_print.cc
-
std::ostream & operator<< (std::ostream & str, const CommandBufferPipelineState::StaticState & )Defined at line 270 of file ../../src/ui/lib/escher/impl/debug_print.cc
Variables
const std::vector<std::string> kFlatlandShaderPaths
Defined at line 9 of file ../../src/ui/lib/escher/flatland/flatland_static_config.cc
const std::vector<std::string> kPaperRendererShaderPaths
Defined at line 9 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc
const ShaderProgramData kFlatlandStandardProgram
Defined at line 13 of file ../../src/ui/lib/escher/flatland/flatland_static_config.cc
const ShaderProgramData kFlatlandColorConversionProgram
Defined at line 18 of file ../../src/ui/lib/escher/flatland/flatland_static_config.cc
const std::vector<std::string> kPaperRendererShaderSpirvPaths
Defined at line 22 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc
const ShaderProgramData kAmbientLightProgramData
Defined at line 24 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc
const ShaderProgramData kNoLightingProgramData
Defined at line 35 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc
const ShaderProgramData kPointLightProgramData
Defined at line 47 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc
const ShaderProgramData kShadowVolumeGeometryProgramData
Defined at line 58 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc
const ShaderProgramData kShadowVolumeGeometryDebugProgramData
Defined at line 69 of file ../../src/ui/lib/escher/paper/paper_renderer_static_config.cc