Signed-off-by: Giovanni Mascellani gmascellani@codeweavers.com --- Here again, I'd be happy if anybody could help navigating the Vulkan specification to determine if the problem lies with NVIDIA drivers not converting NaNs properly, or with us not translating the shader properly. --- tests/d3d12.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/d3d12.c b/tests/d3d12.c index d32e4cba..b85a8826 100644 --- a/tests/d3d12.c +++ b/tests/d3d12.c @@ -9943,6 +9943,7 @@ static void test_shader_instructions(void) bool is_float64; bool is_todo; bool skip_on_warp; + bool bug_on_nvidia; } uint_tests[] = { @@ -10191,8 +10192,8 @@ static void test_shader_instructions(void) {&ps_dge, {.d = {{1.5, 1.0}}}, {{0xffffffff}}, true}, {&ps_dlt, {.d = {{0.0, 1.0}}}, {{0xffffffff}}, true}, {&ps_dlt, {.d = {{1.0, 1.0}}}, {{0x00000000}}, true}, - {&ps_dtou, {.d = {{ -NAN}}}, {{ 0, 0 }}, true}, - {&ps_dtou, {.d = {{ NAN}}}, {{ 0, 0 }}, true}, + {&ps_dtou, {.d = {{ -NAN}}}, {{ 0, 0 }}, true, false, false, true}, + {&ps_dtou, {.d = {{ NAN}}}, {{ 0, 0 }}, true, false, false, true}, {&ps_dtou, {.d = {{-INFINITY}}}, {{ 0, ~0u}}, true}, {&ps_dtou, {.d = {{ INFINITY}}}, {{~0u, 0 }}, true}, {&ps_dtou, {.d = {{ -1.0}}}, {{ 0, 1 }}, true}, @@ -10609,6 +10610,7 @@ static void test_shader_instructions(void)
transition_resource_state(command_list, context.render_target, D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_COPY_SOURCE); + bug_if(uint_tests[i].bug_on_nvidia && is_nvidia_device(context.device)) check_sub_resource_uvec4(context.render_target, 0, queue, command_list, &uint_tests[i].output.u);
reset_command_list(command_list, context.allocator);