Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util: Add power-of-two divisor support to compute_fast_udiv_info | Marek Olšák | 2018-10-10 | 1 | -0/+21 |
| | | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Marek Olšák <[email protected]> | ||||
* | util: Generalize fast integer division to be variable bit-width | Jason Ekstrand | 2018-10-10 | 1 | -32/+30 |
| | | | | | | | | | | | | | | | There's nothing inherently fixed-width in the code. All that's required to generalize it is to make everything internally 64-bit and pass UINT_BITS in as a parameter to util_compute_fast_[us]div_info. With that, it can now handle 8, 16, 32, and 64-bit integer division by a constant. We also add support for division by 1 and by other powers of 2. This is useful if you want to divide by a uniform value in a shader where you have the opportunity to adjust the uniform on the CPU before passing it in. Reviewed-by: Marek Olšák <[email protected]> | ||||
* | util: import public domain code for integer division by a constant | Marek Olšák | 2018-10-10 | 1 | -0/+224 |
Compilers can use this to generate optimal code for integer division by a constant. Additionally, an unsigned division by a uniform that is constant but not known at compile time can still be optimized by passing 2-4 division factors to the shader as uniforms and executing one of the fast_udiv* variants. The signed division algorithm doesn't have this capability. Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Marek Olšák <[email protected]> |