KhronosGroup / KhronosGroup/OpenCL-CTS
flush result to zero if the image linear sample value is a denormal value
- Dominant language
- C++
- Stars
- 232
- Forks
- 235
- Avg merge
- 8d 7h
- Merged PRs (30d)
- 18
Description
https://github.com/KhronosGroup/OpenCL-CTS/blob/0876ea10be4783340683c9970c5899ac8ed1d6ab/test_common/harness/imageHelpers.cpp#L2183
if the value of `upLeftA[i] * weights[0][0][0])` is a denormal number, some implement may already flush to zero.
Let's assume that:
`upLeftA[i] * weights[0][0][0] = 1.174e -38` (denormal number)
`upRightA[i] * weights[1][0][0] = 1.174e -38` (denormal number)
`...`
`lowRightB[i] * weights[1][1][1] = 1.174e -38` (denormal number)
for CPU, `outData[i] = 9.392e -38` (not denormal number)
but for some GPU which does't support denormal number,`outData[i]` may flush to zero.
So , I suggest that cts should check whether each component is a denormal number rather than `outData[i]`.
Thanks
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at test_common/harness/imageHelpers.cpp:2183 and inspect how the image interpolation result is validated. Check the individual weighted component values for denormal handling rather than only the final outData value. Done means the conformance check accounts for implementations that flush denormal intermediate values to zero, with the affected image tests passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100