amber
amber copied to clipboard
Improve portability of samples in tests/cases: use supported vertex formats
E.g. draw_triangle_list.amber uses 3-channel 8bits-per-channel UNORM :
BUFFER vert_color DATA_TYPE R8G8B8_UNORM DATA
255 0 0
255 0 0
255 0 0
...
But, for example, Vulkan does not require R8G8B8_UNORM to be supported as a vertex format. See the checkmarks for VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT in the table "Mandatory format support: 1-3 byte-sized channels". VK_FORMAT_R8G8B8_UNORM has no checkmark.
So change that sample to a 4-channel format with same channel width and also UNORM. The next table "Mandatory format support: 4 byte-sized channels" shows that VK_FORMAT_R8G8B8A8_UNORM is required to be supported.
Review the other samples and update them to use only required vertext formats. This will improve portability of the test case.s
@sarahM0 how much of this is left? I know a bunch got changed with the doBuffer support?
I haven't check compute_.* tests, yet. And maybe a couple more are overlooked.
I just finished checking compute samples. Looks like they're mostly fine. I still need to check comput_push_const_.*.
These are not supported, but I think that's the point so I'm gonna leave them be (just add them to the suppression list for Dawn): "draw_triangle_list_in_r16g16b16a16_snorm_color_frame.vkscript", "draw_triangle_list_in_r16g16b16a16_uint_color_frame.vkscript", "draw_triangle_list_in_r32g32b32a32_sfloat_color_frame.vkscript", "draw_triangle_list_in_r8g8b8a8_snorm_color_frame.vkscript", "draw_triangle_list_in_r8g8b8a8_srgb_color_frame.vkscript",
Awesome, thank you for reviewing all of them.
Were you able to review the compute_push_const_* tests to determine if they needed changes? Sounds like this bug can be closed out and we can make specific bugs in the future if we find failing tests?