Lines Matching defs:layout
33 fdl5_layout(struct fdl_layout *layout, enum pipe_format format,
39 layout->width0 = width0;
40 layout->height0 = height0;
41 layout->depth0 = depth0;
43 layout->cpp = util_format_get_blocksize(format);
44 layout->cpp *= nr_samples;
45 layout->cpp_shift = ffs(layout->cpp) - 1;
47 layout->format = format;
48 layout->nr_samples = nr_samples;
49 layout->layer_first = !is_3d;
51 uint32_t heightalign = layout->cpp == 1 ? 32 : 16;
52 /* in layer_first layout, the level (slice) contains just one
55 uint32_t layers_in_level = layout->layer_first ? 1 : array_size;
58 if (layout->cpp < 4 && layout->tile_mode)
59 fdl_set_pitchalign(layout, fdl_cpp_shift(layout) + 7);
61 fdl_set_pitchalign(layout, fdl_cpp_shift(layout) + 6);
64 struct fdl_slice *slice = &layout->slices[level];
65 uint32_t tile_mode = fdl_tile_mode(layout, level);
66 uint32_t pitch = fdl_pitch(layout, level);
84 slice->offset = layout->size;
95 (level > 1 && layout->slices[level - 1].size0 > 0xf000)))
97 else if (level == 0 || layout->layer_first || alignment == 1)
100 slice->size0 = layout->slices[level - 1].size0;
102 layout->size += slice->size0 * u_minify(depth0, level) * layers_in_level;