Bug 189535 - [WHLSL] The standard library should be fully tested
Summary: [WHLSL] The standard library should be fully tested
Status: RESOLVED MOVED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Thomas Denney
URL:
Keywords:
Depends on:
Blocks: 176199
  Show dependency treegraph
 
Reported: 2018-09-11 18:54 PDT by Thomas Denney
Modified: 2018-10-13 14:54 PDT (History)
2 users (show)

See Also:


Attachments
WIP (1.37 KB, patch)
2018-09-11 18:54 PDT, Thomas Denney
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Denney 2018-09-11 18:54:09 PDT
[WHLSL] The standard library should be fully tested
Comment 1 Thomas Denney 2018-09-11 18:54:46 PDT
Created attachment 349500 [details]
WIP
Comment 2 Thomas Denney 2018-09-11 19:00:05 PDT
We cannot remove the preparation stage that type checks the standard library in full (which makes running tests *much* faster) without ensuring that every function in the standard library is tested to ensure that each standard library function actually gets type checked.
Comment 3 Myles C. Maxfield 2018-09-21 18:16:23 PDT
There are a couple functions that I'm not very confident that their behavior matches HLSL:

firstbithigh()
firstbitlow()
countbits()
reversebits()
all the texturing functions

Also, these functions are implemented in a suboptimal way:

log2()
log10()
exp2()
fmod()
isordered()

Also: fma() and mad() are implemented identically, and I'm not sure if this is right.
Comment 4 Thomas Denney 2018-09-21 18:57:18 PDT
(In reply to Myles C. Maxfield from comment #3)
> There are a couple functions that I'm not very confident that their behavior
> matches HLSL:
> 
> firstbithigh()
> firstbitlow()
> countbits()
> reversebits()
> all the texturing functions
> 
> Also, these functions are implemented in a suboptimal way:
> 
> log2()
> log10()
> exp2()
> fmod()
> isordered()
> 
> Also: fma() and mad() are implemented identically, and I'm not sure if this
> is right.

Likewise I’m pretty sure that isnormal isn’t implement correctly (it currently returns isNaN).
Comment 5 Myles C. Maxfield 2018-10-13 14:30:56 PDT
Migrated to https://api.github.com/repos/gpuweb/WHLSL/issues/36
Comment 6 Myles C. Maxfield 2018-10-13 14:54:37 PDT
https://github.com/gpuweb/WHLSL/issues/36