Metal doesn't support resource casting, so writing BC7 blocks from compute requires a temp buffer + blit. Workaround: alias a buffer and compressed texture on the same Metal heap allocation, then write blocks in the GPU's native X-first Morton swizzle order. ~20% faster on M4.
6Apr 16, 2026, 11:18 AM