| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Common | ||
| D3D8 | ||
| D3D9 | ||
| Main | ||
| OpenGL | ||
| Reactor | ||
| Renderer | ||
| Shader | ||
| SwiftShader | ||
| Android.mk | ||
| SwiftShader.workspace | ||
| swiftshader.gni |
The ETC2 decoder spec has a slight difference with the EAC decoder spec when it comes to handling the 0 multiplier corner case. For ETC2, we have (OpenGL ES 3.0 spec, section C.1.3): "An encoder is not allowed to produce a multiplier of zero, but the decoder should still be able to handle also this case (and produce 0 x modifier = 0 in that case)." For EAC, we have (OpenGL ES 3.0 spec, section C.1.5): "If the multiplier value is zero, we should set the multiplier to 1.0/8.0" In order to take this into account, the EAC decoded output can no longer be represented by an 8 bit value, but must be represented by a minimum of 11 bits, as the spec requires. For now, the EAC decoder decodes EAC into a 32 bit integer format, which then gets converted to a 32 bit float format internally. Eventually, it would be possible for the EAC decoder to decode the image to a signed 16 bit integer internal format, if it was supported. Fixes all failures in: dEQP-GLES3.functional.texture.wrap* Change-Id: I32106383ade56e375229231ff230a2574791caa6 Reviewed-on: https://swiftshader-review.googlesource.com/15188Tested-by:Alexis Hétu <sugoi@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Common | Loading commit data... | |
| D3D8 | Loading commit data... | |
| D3D9 | Loading commit data... | |
| Main | Loading commit data... | |
| OpenGL | Loading commit data... | |
| Reactor | Loading commit data... | |
| Renderer | Loading commit data... | |
| Shader | Loading commit data... | |
| SwiftShader | Loading commit data... | |
| Android.mk | Loading commit data... | |
| SwiftShader.workspace | Loading commit data... | |
| swiftshader.gni | Loading commit data... |