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
  • ParseContext.cpp
Find file
BlameHistoryPermalink
  • Olli Etuaho's avatar
    Implement location layout qualifier for uniforms · 6ca2b65c
    Olli Etuaho authored Feb 19, 2017
    This is a complete implementation of the uniform location layout
    qualifier. Uniform location set in the shader is plumbed to shader
    linking, which does several link-time checks for conflicts and
    recursively applies the location to struct members.
    
    Validate that location is consistent as specified in the table in
    section 9.2.1 of the ESSL 3.10.4 spec. The location set in the shader
    overrides the one set via the CHROMIUM_bind_uniform_location API.
    
    Location conflicts must be checked even if the uniforms are not
    statically used. Because of this unused uniforms are now recorded
    during uniform linking. After linking checks are done, unused uniforms
    are pruned from the program state.
    
    Location is validated against the maximum number of uniform locations
    at compile time as specified in section 4.4.3 of the ESSL 3.10.4 spec.
    
    All dEQP uniform location tests don't yet pass due to unrelated bugs.
    
    BUG=angleproject:1442
    TEST=angle_end2end_tests, dEQP-GLES31.functional.uniform_location.*
    
    Change-Id: I1f968e971f521fbc804b01e1a7c2b4d14f24d20f
    Reviewed-on: https://chromium-review.googlesource.com/447942Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    6ca2b65c
ParseContext.cpp 161 KB
EditWeb IDE
×

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