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
  • ConstantFoldingOverflow_test.cpp
Find file
BlameHistoryPermalink
  • Olli Etuaho's avatar
    Handle constant folding arithmetic involving infinity · 2d73665d
    Olli Etuaho authored Nov 30, 2016
    Constant folding arithmetic operations that involve infinity are now
    handled correctly in the cases where the result is infinity or zero.
    The implementation mostly relies on C++ to implement IEEE float
    arithmetic correctly so that unnecessary overhead is avoided.
    
    Constant folding arithmetic operations that result in overflow now
    issue a warning but result in infinity. This is not mandated by the
    spec but is a reasonable choice since it is the behavior of the
    default IEEE rounding mode.
    
    Constant folding arithmetic operations that result in NaN in IEEE will
    generate a warning but the NaN is kept. This is also not mandated by
    the spec, but is among the allowed behaviors.
    
    There's no special handling for ESSL 1.00. ESSL 1.00 doesn't really
    have the concept of NaN, but since it is not feasible to control
    generating NaNs at shader run time either way, it should not be a big
    issue if constant folding may generate them as well.
    
    TEST=angle_unittests
    BUG=chromium:661857
    
    Change-Id: I06116c6fdd02f224939d4a651e4e62f2fd4c98a8
    Reviewed-on: https://chromium-review.googlesource.com/414911Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    2d73665d
ConstantFoldingOverflow_test.cpp 2.15 KB
EditWeb IDE
×

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