• Show log

    Commit

  • Hash : 3892ac14
    Author : Stephen White
    Date : 2023-10-12T13:35:33

    Do not flush normal float constants to zero.
    
    It's ok to flush denormalized constants to zero.
    It's not ok to flush perfectly valid normal float constants >= FLT_MIN
    to zero.
    
    Two problems:
    
    1) Values when parsed as doubles with a value less than FLT_MIN are
    being flushed to zero. This is incorrect when the comparison is done
    in double, since some values below FLT_MIN in double are equal to
    FLT_MIN when cast to float. The fix is to perform the comparison in
    float.
    
    2) Values with a decimal exponent less than FLT_MIN_10_EXP are being
    flushed to zero. FLT_MIN_10_EXP is -37 but FLT_MIN is 1.1754943E-38.
    10^-37 may be the "minimum negative integer such that 10 raised to
    that power is a normalized float", but being constrained to powers of
    ten it's above FLT_MIN (which is 2^-126). Since this comparison is
    done before #1 above, it's only present (AFAIK) to ensure that the
    exponent will not make the pow() function overflow. Comparing against
    -38 (FLT_MIN_10_EXP - 1) instead will do the trick.
    
    Bug: angleproject:8373, dawn:2077
    Change-Id: I1ddf410c2caa9f0d1ba3529ace693dcd326a2cb3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4936714
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Stephen White <senorblanco@chromium.org>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags