Edit

kc3-lang/angle/src/libANGLE/renderer/vulkan/README.md

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2019-10-17 14:34:02
    Hash : beacd8c8
    Message : Vulkan: Rename format fields. Renames 'angleFormat' to 'intendedFormat'. Also renames 'bufferFormat' and 'imageFormat' to 'actualImageFormat' and 'actualBufferFormat'. This renaming should make it clearer to the reader what the meaning of the different format fields are. Intended format is the front-end format and the actual formats are the formats we pass to Vulkan. Also updates the documentation. Bug: angleproject:4009 Change-Id: If61bf7250e88f7ed3d452718574c963d718e27b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866077 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • src/libANGLE/renderer/vulkan/README.md
  • # ANGLE: Vulkan Back-end
    
    ANGLE's Vulkan back-end implementation lives in this folder.
    
    [Vulkan](https://www.khronos.org/vulkan/) is an explicit graphics API. It has a lot in common with
    other explicit APIs such as Microsoft's [D3D12][D3D12 Guide] and Apple's
    [Metal](https://developer.apple.com/metal/). Compared to APIs like OpenGL or D3D11 explicit APIs can
    offer a number of significant benefits:
    
     * Lower API call CPU overhead.
     * A smaller API surface with more direct hardware control.
     * Better support for multi-core programming.
     * Vulkan in particular has open-source tooling and tests.
    
    [D3D12 Guide]: https://docs.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-programming-guide
    
    ## Back-end Design
    
    The [`RendererVk`](RendererVk.cpp) class represents an `EGLDisplay`. `RendererVk` owns shared global
    resources like the [VkDevice][VkDevice], [VkQueue][VkQueue], the [Vulkan format tables](vk_format_utils.h)
    and [internal Vulkan shaders](shaders). The [ContextVk](ContextVk.cpp) class implements the back-end
    of a front-end OpenGL Context. ContextVk processes state changes and handles action commands like
    `glDrawArrays` and `glDrawElements`.
    
    Implementation details can be found in the `doc` directory.
    
    - [Fast OpenGL State Transitions](doc/FastOpenGLStateTransitions.md)
    - [Shader Module Compilation](doc/ShaderModuleCompilation.md)
    - [OpenGL Line Segment Rasterization](doc/OpenGLLineSegmentRasterization.md)
    - [Format Tables and Emulation](doc/FormatTablesAndEmulation.md)
    
    [VkDevice]: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkDevice.html
    [VkQueue]: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/VkQueue.html