Records
-
class CommandBuffer -
class CommandBufferPool -
class CommandBufferSequencer -
class CommandBufferSequencerListener -
class ComputeShader -
class DescriptorSetAllocation -
class DescriptorSetAllocator -
class DescriptorSetAllocatorCache -
class DescriptorSetLayout -
class DescriptorSetPool -
class FrameManager -
class Framebuffer -
class FramebufferAllocator -
class GpuMemSlab -
class GpuMemSuballocation -
class ImageCache -
class MeshManager -
class MeshShaderBinding -
class ModelData -
class NaiveBuffer -
class NaiveImage -
class Pipeline -
class PipelineLayoutCache -
class PipelineLayoutSpec -
class RenderPass -
class RenderPassCache -
class ShaderModuleResourceLayout -
class TraceEndOnScopeClose -
class UniformBufferPool
Functions
-
float EstimateZTranslation (const Camera & camera, const mat4 & object_transform)glm matrices are column-major; use glm::row/glm::column accessors for clarity
Defined at line 14 of file ../../src/ui/lib/escher/impl/z_sort.cc
-
float EstimateZTranslation (const mat4 camera_transform, const mat4 & object_transform)|camera_transform| - a matrix concatenating a camera's projection and view
matrices. The projection matrix may be omitted if it does not change the
orientation of the world.
Defined at line 19 of file ../../src/ui/lib/escher/impl/z_sort.cc
-
void GenerateShaderModuleResourceLayoutFromSpirv (std::vector<uint32_t> spirv, ShaderStage stage, ShaderModuleResourceLayout * layout_out)Defined at line 40 of file ../../src/ui/lib/escher/third_party/granite/vk/shader_utils.cc
-
bool CheckImageCreateInfoValidity (vk::PhysicalDevice device, const vk::ImageCreateInfo & info)Check if the given vk::ImageCreateInfo is valid for the device.
Defined at line 10 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
template <class CameraDesc>bool ZCompare (const CameraDesc & camera_desc, const Object & a, const Object & b)Returns |true| if object |a| is behind (has a greater z than) object |b|.
|camera_desc| - either a |Camera| or a |mat4| concatenating a camera's
projection and view matrices.
TODO(rosswang): more sophisticated sorting is required for edge cases
Defined at line 30 of file ../../src/ui/lib/escher/impl/z_sort.h
-
template <class Index, class CameraDesc>void ZSort (std::vector<Index> * indices, const std::vector<Object> & objects, const CameraDesc & camera_desc)Defined at line 36 of file ../../src/ui/lib/escher/impl/z_sort.h
-
vk::BufferImageCopy GetDefaultBufferImageCopy (size_t width, size_t height)Create a default vk::BufferImageCopy object for a width x height image.
Defined at line 194 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
std::vector<vk::Format> GetSupportedDepthFormats (vk::PhysicalDevice device, std::vector<vk::Format> desired_formats)Filter the |desired_formats| list to contain only those formats which support
optimal tiling.
Defined at line 57 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
std::set<size_t> GetSupportedColorSampleCounts (vk::SampleCountFlags flags)Get all the MSAA sample counts from the vk::SampleCountFlags
Defined at line 69 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
FormatResult GetSupportedDepthFormat (vk::PhysicalDevice device)Defined at line 84 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
FormatResult GetSupportedDepthStencilFormat (vk::PhysicalDevice device)Pick the lowest precision depth/stencil format that supports optimal tiling.
Defined at line 95 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
template <class S, class T>S * GetFromStructChain (T * from)Defined at line 106 of file ../../src/ui/lib/escher/impl/vulkan_utils.h
-
uint32_t GetMemoryTypeIndex (vk::PhysicalDevice device, uint32_t type_bits, vk::MemoryPropertyFlags required_properties)Search through all memory types specified by |type_bits| and return the index
of the first one that has all necessary flags. Returns memoryTypeCount of
|device|'s memory properties if nones is found.
Defined at line 107 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
uint32_t GetMemoryTypeIndices (vk::PhysicalDevice device, uint32_t type_bits, vk::MemoryPropertyFlags required_flags)Search through all memory types specified by |type_bits| and return a bit-mask containing only
those which match |required_flags|. In other words, the returned bits will be a subset of the
input |type_bits|.
Defined at line 121 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
template <class S, class T>const S * GetFromStructChain (const T * from)Defined at line 121 of file ../../src/ui/lib/escher/impl/vulkan_utils.h
-
PipelineLayoutSpec GeneratePipelineLayoutSpec (const std::array<ShaderModulePtr, EnumCount<ShaderStage>()> & shader_modules, const SamplerPtr & immutable_sampler)Defined at line 191 of file ../../src/ui/lib/escher/third_party/granite/vk/shader_utils.cc
-
std::vector<vk::PushConstantRange> ConsolidatePushConstantRanges (const std::vector<vk::PushConstantRange> & ranges)Given an array of raw push constants, consolidate overlapping and equivalent ranges.
The resulting array of push constants may therefore have fewer ranges and with each
range potentially having more than one associated shader stage flag.
Any two (or more) ranges that overlap will be merged into a single range, with the
resulting range's stage flags containing each of the flags for the ranges that it
was created from.
Defined at line 148 of file ../../src/ui/lib/escher/third_party/granite/vk/shader_utils.cc
-
uint32_t GetMemoryTypeIndices (const vk::PhysicalDeviceMemoryProperties & properties, uint32_t type_bits, vk::MemoryPropertyFlags required_flags)Defined at line 127 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
uint32_t SampleCountFlagBitsToInt (vk::SampleCountFlagBits bits)Return the sample-count corresponding to the specified flag-bits.
Defined at line 143 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
vk::SampleCountFlagBits SampleCountFlagBitsFromInt (uint32_t sample_count)Return flag-bits corresponding to the specified sample count. Explode if
an invalid value is provided.
Defined at line 155 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
void ClipToRect (vk::Rect2D * clippee, const vk::Rect2D & clipper)Clip |clippee| so that it is completely contained within |clipper|.
Defined at line 177 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc
-
bool IsYuvConversionSupported (vk::PhysicalDevice devicevk::Format format)Check if an Ycbcr format can be used to create VkSamplerYcbcrConversion
using the Vulkan physical device.
Defined at line 209 of file ../../src/ui/lib/escher/impl/vulkan_utils.cc