Records

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