/* Pitch fixed in this commit, but offsets broken. Will be fixed in
* following commits.
*/
-#if 0
{
.format = PIPE_FORMAT_R8G8B8A8_UNORM,
.layout = {
},
},
},
-#endif
/* UBWC: Height comes from POT-aligned level 0. */
{
.format = PIPE_FORMAT_R8G8B8A8_UNORM,
},
},
},
+
+ /* UBWC: Get at minimum height of a level across cpps */
+ {
+ .format = PIPE_FORMAT_R16_UINT,
+ .layout = {
+ .tile_mode = TILE6_3,
+ .ubwc = true,
+ .width0 = 16384, .height0 = 1,
+ .slices = {
+ { .offset = 0, .pitch = 32768 },
+ { .offset = 524288, .pitch = 16384 },
+ { .offset = 786432, .pitch = 8192 },
+ { .offset = 917504, .pitch = 4096 },
+ { .offset = 983040, .pitch = 2048 },
+ { .offset = 1015808, .pitch = 1024 },
+ { .offset = 1032192, .pitch = 512 },
+ { .offset = 1040384, .pitch = 256 },
+ { .offset = 1044480, .pitch = 256 },
+ { .offset = 1048576, .pitch = 256 },
+ { .offset = 1052672, .pitch = 256 },
+ { .offset = 1056768, .pitch = 256 },
+ { .offset = 1060864, .pitch = 256 },
+ { .offset = 1064960, .pitch = 256 },
+ { .offset = 1069056, .pitch = 256 },
+ },
+ .ubwc_slices = {
+ { .offset = 0, .pitch = 1024 },
+ { .offset = 65536, .pitch = 512 },
+ { .offset = 98304, .pitch = 256 },
+ { .offset = 114688, .pitch = 128 },
+ { .offset = 122880, .pitch = 64 },
+ { .offset = 126976, .pitch = 64 },
+ { .offset = 131072, .pitch = 64 },
+ { .offset = 135168, .pitch = 64 },
+ { .offset = 139264, .pitch = 64 },
+ { .offset = 143360, .pitch = 64 },
+ { .offset = 147456, .pitch = 64 },
+ { .offset = 151552, .pitch = 64 },
+ { .offset = 155648, .pitch = 64 },
+ { .offset = 159744, .pitch = 64 },
+ { .offset = 163840, .pitch = 64 },
+ },
+ },
+ },
+ {
+ .format = PIPE_FORMAT_R8G8B8A8_UNORM,
+ .layout = {
+ .tile_mode = TILE6_3,
+ .ubwc = true,
+ .width0 = 16384, .height0 = 1,
+ .slices = {
+ { .offset = 0, .pitch = 65536 },
+ { .offset = 1048576, .pitch = 32768 },
+ { .offset = 1572864, .pitch = 16384 },
+ { .offset = 1835008, .pitch = 8192 },
+ { .offset = 1966080, .pitch = 4096 },
+ { .offset = 2031616, .pitch = 2048 },
+ { .offset = 2064384, .pitch = 1024 },
+ { .offset = 2080768, .pitch = 512 },
+ { .offset = 2088960, .pitch = 256 },
+ { .offset = 2093056, .pitch = 256 },
+ { .offset = 2097152, .pitch = 256 },
+ { .offset = 2101248, .pitch = 256 },
+ { .offset = 2105344, .pitch = 256 },
+ { .offset = 2109440, .pitch = 256 },
+ { .offset = 2113536, .pitch = 256 },
+ },
+ .ubwc_slices = {
+ { .offset = 0, .pitch = 1024 },
+ { .offset = 65536, .pitch = 512 },
+ { .offset = 98304, .pitch = 256 },
+ { .offset = 114688, .pitch = 128 },
+ { .offset = 122880, .pitch = 64 },
+ { .offset = 126976, .pitch = 64 },
+ { .offset = 131072, .pitch = 64 },
+ { .offset = 135168, .pitch = 64 },
+ { .offset = 139264, .pitch = 64 },
+ { .offset = 143360, .pitch = 64 },
+ { .offset = 147456, .pitch = 64 },
+ { .offset = 151552, .pitch = 64 },
+ { .offset = 155648, .pitch = 64 },
+ { .offset = 159744, .pitch = 64 },
+ { .offset = 163840, .pitch = 64 },
+ },
+ },
+ },
+ {
+ .format = PIPE_FORMAT_R32G32B32A32_FLOAT,
+ .layout = {
+ .tile_mode = TILE6_3,
+ .ubwc = true,
+ .width0 = 16384, .height0 = 1,
+ .slices = {
+ { .offset = 0, .pitch = 262144 },
+ { .offset = 4194304, .pitch = 131072 },
+ { .offset = 6291456, .pitch = 65536 },
+ { .offset = 7340032, .pitch = 32768 },
+ { .offset = 7864320, .pitch = 16384 },
+ { .offset = 8126464, .pitch = 8192 },
+ { .offset = 8257536, .pitch = 4096 },
+ { .offset = 8323072, .pitch = 2048 },
+ { .offset = 8355840, .pitch = 1024 },
+ { .offset = 8372224, .pitch = 1024 },
+ { .offset = 8388608, .pitch = 1024 },
+ { .offset = 8404992, .pitch = 1024 },
+ { .offset = 8421376, .pitch = 1024 },
+ { .offset = 8437760, .pitch = 1024 },
+ { .offset = 8454144, .pitch = 1024 },
+ },
+ .ubwc_slices = {
+ { .offset = 0, .pitch = 4096 },
+ { .offset = 262144, .pitch = 2048 },
+ { .offset = 393216, .pitch = 1024 },
+ { .offset = 458752, .pitch = 512 },
+ { .offset = 491520, .pitch = 256 },
+ { .offset = 507904, .pitch = 128 },
+ { .offset = 516096, .pitch = 64 },
+ { .offset = 520192, .pitch = 64 },
+ { .offset = 524288, .pitch = 64 },
+ { .offset = 528384, .pitch = 64 },
+ { .offset = 532480, .pitch = 64 },
+ { .offset = 536576, .pitch = 64 },
+ { .offset = 540672, .pitch = 64 },
+ { .offset = 544768, .pitch = 64 },
+ { .offset = 548864, .pitch = 64 },
+ },
+ },
+ },
};
static bool test_layout(const struct testcase *testcase)