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
  • compiler_tests
  • RecordConstantPrecision_test.cpp
Find file
BlameHistoryPermalink
  • Olli Etuaho's avatar
    Prefix user-defined names in GLSL output · 855d964b
    Olli Etuaho authored May 17, 2017
    Now user-defined names are prefixed by _u in GLSL output in case name
    hashing is not on. Internal names such as names of temporary variables
    created in AST transformations are written out as such.
    
    This makes handling of internal function names and internal variable
    names consistent. It also removes the possibility of name conflicts
    between user-defined names and internal names in case name hashing is
    not on. In the same vein, it makes it safe to use GLSL reserved words
    that are not reserved in ESSL as variable names in case name hashing
    is not on.
    
    This also makes the GLSL output more consistent with how names are
    handled in HLSL output. Name hashing code is shared between
    VariableInfo and OutputGLSLBase to ensure names are handled
    consistently in both. The name that's used in the shader source for a
    given interface variable is written out to ShaderVariable::mappedName.
    
    An exception needs to be made for identifiers close to the length
    limit, since adding any prefix would take them over the limit. But
    they can be just written out as such, since we don't have any builtins
    or ANGLE internal variables that have as long names and could create a
    conflict.
    
    BUG=angleproject:2139
    BUG=angleproject:2038
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    
    Change-Id: Id6ed052c4fab2d091227dc9a3668083053b67a38
    Reviewed-on: https://chromium-review.googlesource.com/507647
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    855d964b
RecordConstantPrecision_test.cpp 3.34 KB
EditWeb IDE
×

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