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);
65 struct fdl_slice *slice = &layout->slices[level];
66 uint32_t tile_mode = fdl_tile_mode(layout, level);
67 uint32_t pitch = fdl_pitch(layout, level);
85 slice->offset = layout->size;
94 if (level <= 1 || layout->slices[level - 1].size0 > 0xf000) {
97 slice->size0 = layout->slices[level - 1].size0;
103 layout->size += slice->size0 * depth * layers_in_level;
106 if (layout->layer_first) {
107 layout->layer_size = align(layout->size, 4096);
108 layout->size = layout->layer_size * array_size;