Cleanup ideas for follow up: - we could probably reuse `check_texture2d_desc_()` / `check_texture3d_desc_()` in `check_resource_info()` - we could "merge" `check_readback_data_u32_()` + `check_texture_sub_resource_u32_()` with `check_texture2d_data()` + `check_texture3d_data()` + `check_resource_data()`. The former expect the sub resource to have a uniform color, the latter pass a `struct test_image` with the whole texture data to be compared.
These are just ideas, it's certainly possible that it's not worth it (i.e. my armchair guess is that the `check_resource_info()` one is simple enough, the readback one probably too messy)