Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • compiler
  • translator
  • OutputVulkanGLSL.cpp
Find file
BlameHistoryPermalink
  • Shahbaz Youssefi's avatar
    Vulkan: Atomic counter buffer support · b82d8633
    Shahbaz Youssefi authored Jul 15, 2019
    Vulkan doesn't treat atomic counters especially, and they are emulated
    with atomic access to storage buffers.
    
    A single atomic counter buffer binding per pipeline is supported.  All
    the atomic counters identify an offset within this buffer.  The shader
    is modified to include a storage buffer definition with
    `uint counters[];` as the only field.
    
    A compiler pass replaces atomic counter definitions with variables that
    hold the corresponding offset parameter, as well as changing atomic_uint
    types to just uint (as the offset).  Where an atomic counter variable is
    used, it is replaced with the offset variable (plus the array index, if
    array).  At the same time, built-in `atomicCounter*` functions are
    replaced with a corresponding `atomic*` function and
    `memoryBarrierAtomicCounter` is replaced with `memoryBarrierBuffer`.
    
    Bug: angleproject:3566
    Change-Id: Iefb3d47de6a5cb3072bfa0cb94a46ac6a886d369
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704635
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    b82d8633
OutputVulkanGLSL.cpp 6.79 KB
EditWeb IDE
×

Replace OutputVulkanGLSL.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.