mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
broadcom/vc5: Fix padding of NPOT miplevels >= 2.
The power-of-two padded size that gets minified is based on level 1's dimensions, not level 0's, which starts to differ at a width of 9. Fixes all failures on texelFetch fs sampler2D 1x1x1-64x64x1
This commit is contained in:
parent
92fa89a08d
commit
a691fa4a1b
1 changed files with 8 additions and 3 deletions
|
|
@ -390,9 +390,14 @@ vc5_setup_slices(struct vc5_resource *rsc)
|
|||
uint32_t width = prsc->width0;
|
||||
uint32_t height = prsc->height0;
|
||||
uint32_t depth = prsc->depth0;
|
||||
uint32_t pot_width = util_next_power_of_two(width);
|
||||
uint32_t pot_height = util_next_power_of_two(height);
|
||||
uint32_t pot_depth = util_next_power_of_two(depth);
|
||||
/* Note that power-of-two padding is based on level 1. These are not
|
||||
* equivalent to just util_next_power_of_two(dimension), because at a
|
||||
* level 0 dimension of 9, the level 1 power-of-two padded value is 4,
|
||||
* not 8.
|
||||
*/
|
||||
uint32_t pot_width = 2 * util_next_power_of_two(u_minify(width, 1));
|
||||
uint32_t pot_height = 2 * util_next_power_of_two(u_minify(height, 1));
|
||||
uint32_t pot_depth = 2 * util_next_power_of_two(u_minify(depth, 1));
|
||||
uint32_t offset = 0;
|
||||
uint32_t utile_w = vc5_utile_width(rsc->cpp);
|
||||
uint32_t utile_h = vc5_utile_height(rsc->cpp);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue