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
  • tests
  • gl_tests
  • GLSLTest.cpp
Find file
BlameHistoryPermalink
  • Shahbaz Youssefi's avatar
    Vulkan: Translator pass to monomorphize problematic functions · dc99fc40
    Shahbaz Youssefi authored Jan 13, 2021
    With array of array of samplers and images, we currently require the
    shader*ArrayDynamicIndexing Vulkan features.  With atomic counters, we
    require the shaderStorageBufferArrayDynamicIndexing feature.
    
    The above features are required to enable passing opaque uniforms to
    functions.  This change introduces a translator pass that monomorphizes
    functions that receive atomic counters, or partially subscripted array
    of array of samplers or images, etc by removing those arguments and
    using the opaque uniform directly.
    
    Follow up changes will include:
    
    - Great simplification to RewriteStructSamplers, and removal of
      RewriteStructSamplersOld.  This will drop dependency to
      shaderSampledImageArrayDynamicIndexing and
      shaderStorageImageArrayDynamicIndexing.
    - Great simplification to RewriteAtomicCounters.  This will drop
      dependency to shaderStorageBufferArrayDynamicIndexing.
    - Emulation of imageAtomicExchange for r32f formats, but changing the
      qualifier to r32ui.
    
    Note that parts of RewriteStructSampler are obsolete with this change,
    but will be refactored as a follow up.
    
    Bug: angleproject:3881
    Bug: angleproject:4071
    Bug: angleproject:5535
    Change-Id: Ifd1435b2a31ebf364815046886aeded60297da79
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628127
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    dc99fc40
GLSLTest.cpp 305 KB
EditWeb IDE
×

Replace GLSLTest.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.