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
  • libANGLE
  • renderer
  • gl
  • ContextGL.cpp
Find file
BlameHistoryPermalink
  • Jiawei Shao's avatar
    ES3.1: Set unordered access view related resource limits on D3D11 · d0a7d10f
    Jiawei Shao authored May 07, 2018
    This patch sets the implementation-dependent resources limits related
    to unordered access views (images, shader storage blocks, atomic
    counter buffers and fragment shader outputs) on D3D11 back-ends.
    
    For pixel shaders, the render targets and unordered access views share
    the same resource slots when being written out, so we plan to allocate
    these slots as follows:
    - As there are 8 slots for UAVs and RTVs in feature level 11_0, currently
      we assign 1 slot for atomic counter buffer and 7 slots that are shared
      among images, shader storage blocks and fragment shader outputs.
    - As there are 64 slots for UAVs and RTVs in feature level 11_1, currently
      we assign 4 slots for atomic counter buffers and 60 slots that are
      shared among images, shader storage blocks and fragment shader
      outputs.
    
    We also limit the maximum number of draw buffers to 7 if we create ES 3.1
    context on D3D11 feature level is 11_0 because the value of combined shader
    output resources is 7.
    
    This patch also labels several dEQP cases from "FAIL" to "SKIP" because
    since the resource limits on ssbos, atomic counter buffers and images
    in rendering pipeline are set in D3D11 back-ends, the GLSL programs in
    these cases can pass all the related link checks, thus these cases will
    crash due to reaching the unimplemented parts when they are running on
    ANGLE D3D11 back-ends.
    
    BUG=angleproject:2345
    TEST=dEQP-GLES31.functional.state_query.integer.max_compute_atomic_counter_buffers_*
         dEQP-GLES31.functional.state_query.integer.max_compute_shader_storage_blocks_*
         dEQP-GLES31.functional.state_query.integer.max_atomic_counter_buffer_bindings_*
         dEQP-GLES31.functional.state_query.integer.max_combined_atomic_counter_buffers_*
         dEQP-GLES31.functional.state_query.integer.max_image_units_*
         dEQP-GLES31.functional.state_query.integer.max_combined_image_uniforms_*
         dEQP-GLES31.functional.state_query.integer.max_shader_storage_buffer_bindings_*
         dEQP-GLES31.functional.state_query.integer.max_combined_shader_storage_blocks_*
         dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_*
    
    Change-Id: I56a4e6c60d4f6f5bd6f238ae8ce425fb5072a4a3
    Reviewed-on: https://chromium-review.googlesource.com/1046372Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    d0a7d10f
ContextGL.cpp 14.3 KB
EditWeb IDE
×

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