Skip to content

Commit

Permalink
tests: bug_if on adreno drivers for fails in test_primitive_restart_l…
Browse files Browse the repository at this point in the history
…ist_topology_stream_output

this hardware exhibits nonconformant behavior

Signed-off-by: Mike Blumenkrantz <[email protected]>
  • Loading branch information
zmike committed Jan 21, 2025
1 parent 52d5cf9 commit 6f3d8fd
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 5 deletions.
14 changes: 14 additions & 0 deletions tests/d3d12_crosstest.h
Original file line number Diff line number Diff line change
Expand Up @@ -574,6 +574,11 @@ static inline bool is_amd_vulkan_device(ID3D12Device *device)
return false;
}

static inline bool is_adreno_device(ID3D12Device *device)
{
return false;
}

static inline bool is_vk_device_extension_supported(ID3D12Device *device, const char *ext)
{
return false;
Expand Down Expand Up @@ -730,6 +735,15 @@ static inline bool is_amd_vulkan_device(ID3D12Device *device)
properties.driverID == VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR ||
properties.driverID == VK_DRIVER_ID_AMD_PROPRIETARY;
}

static inline bool is_adreno_device(ID3D12Device *device)
{
VkPhysicalDeviceDriverPropertiesKHR properties;

get_driver_properties(device, &properties);
return properties.driverID == VK_DRIVER_ID_QUALCOMM_PROPRIETARY ||
properties.driverID == VK_DRIVER_ID_MESA_TURNIP;
}
#endif

static inline void parse_args(int argc, char **argv)
Expand Down
13 changes: 8 additions & 5 deletions tests/d3d12_streamout.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,10 @@ void test_primitive_restart_list_topology_stream_output(void)
get_buffer_readback_with_command_list(counter_buffer, DXGI_FORMAT_R32_UINT, &rb, queue, command_list);
counter = get_readback_uint(&rb, 0, 0, 0);

/* RDNA2 hardware bug from what we understand. */
bug_if(is_radv_device(context.device))
/* RDNA2 hardware bug from what we understand.
* adreno hardware omits degenerate triangles
*/
bug_if(is_radv_device(context.device) || is_adreno_device(context.device))
ok(counter == sizeof(expected_output), "Got unexpected counter %u, expected %u.\n",
counter, (unsigned int)sizeof(expected_output));

Expand All @@ -168,8 +170,10 @@ void test_primitive_restart_list_topology_stream_output(void)
const struct vec4 *expected = &expected_output[i];
data = get_readback_vec4(&rb, i, 0);

/* RDNA2 hardware bug from what we understand. */
bug_if(is_radv_device(context.device))
/* RDNA2 hardware bug from what we understand.
* adreno hardware omits degenerate triangles
*/
bug_if(is_radv_device(context.device) || is_adreno_device(context.device))
ok(compare_vec4(data, expected, 1),
"Got {%.8e, %.8e, %.8e, %.8e}, expected {%.8e, %.8e, %.8e, %.8e}.\n",
data->x, data->y, data->z, data->w, expected->x, expected->y, expected->z, expected->w);
Expand Down Expand Up @@ -452,4 +456,3 @@ void test_vertex_shader_stream_output_dxil(void)
{
test_vertex_shader_stream_output(true);
}

0 comments on commit 6f3d8fd

Please sign in to comment.