Skip to content
Snippets Groups Projects

tests/hlsl: Native 16-bit tests part 5.

Closed Conor McCarthy requested to merge cmccarthy/vkd3d:test_16bit into master
1 unresolved thread

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
    • These should probably be tested on NVIDIA too. AMD converts out-of-bounds float to half INF, but WARP clamps to 65504.0. Also the float -> (u)int16 results are a bit odd since they are clamped to 32 bits and truncated on both AMD and WARP.

    • Hmm, if the behavior in such edge cases is not really consistent on Windows, do we really care about enforcing it? Are games known to depend on it? If not, I think we can just test with in-range numbers.

    • That may be the case for float-to-half, but WARP may be broken so it depends on the NVIDIA results. If AMD, NVIDIA and perhaps intel all do the same thing, some games may depend on it.

      For float-to-int, AMD and WARP are consistent.

    • Please register or sign in to reply
  • Giovanni Mascellani approved this merge request

    approved this merge request

  • I managed to get ahold of an NVIDIA RTX 4060 mobile GPU, these are the results on Windows:

    shader_runner.c:1242: cast-to-int.shader_test:124: Test failed: Got {0xfffffffe, 0xfffffffe, 0x00007fff, 0x00007fff}, expected {0xfffffffe, 0x00000000, 0xffffffff, 0x00000000} at (0, 0).
    shader_runner.c:1230: cast-to-int.shader_test:127: Test failed: Got {0xfffffffe, 0xfffffffe, 0x00007fff, 0x00007fff}, expected {0x00000004, 0x00000006, 0x00000002, 0xffff8003} at (0, 0).
    shader_runner.c:1230: cast-to-int.shader_test:130: Test failed: Got {0x00000000, 0x00000000, 0xffff8000, 0xffff8000}, expected {0xfffffffc, 0xfffffffa, 0xfffffffe, 0x00007ffd} at (0, 0).
    shader_runner.c:1230: cast-to-uint.shader_test:87: Test failed: Got {0x0000fffe, 0x0000fffe, 0x0000ffff, 0x0000ffff}, expected {0x0000fffe, 0x00000000, 0x0000ffff, 0x00000000} at (0, 0).
    shader_runner.c:1230: cast-to-uint.shader_test:90: Test failed: Got {0x0000fffe, 0x00000006, 0x0000ffff, 0x00008003}, expected {0x00000004, 0x00000006, 0x00000002, 0x00008003} at (0, 0).
    shader_runner.c:1242: cast-64-bit.shader_test:128: Test failed: Got {0xfffffffe, 0xfffffffe, 0x00007fff, 0x00007fff}, expected {0xfffffffe, 0xfffffffe, 0xffffffff, 0xffffffff} at (0, 0).
    shader_runner.c:1230: cast-64-bit.shader_test:131: Test failed: Got {0xfffffffe, 0xfffffffe, 0x00007fff, 0x00007fff}, expected {0x00000004, 0x00000006, 0x00000002, 0xffff8003} at (0, 0).
    shader_runner.c:1230: cast-64-bit.shader_test:134: Test failed: Got {0x00000000, 0x00000000, 0xffff8000, 0xffff8000}, expected {0xfffffffc, 0xfffffffa, 0xfffffffe, 0x00007ffd} at (0, 0).
    shader_runner.c:1230: cast-64-bit.shader_test:156: Test failed: Got {0x0000fffe, 0x0000fffe, 0x0000ffff, 0x0000ffff}, expected {0x0000fffe, 0x00000006, 0x0000ffff, 0x00000003} at (0, 0).
    shader_runner.c:1230: cast-64-bit.shader_test:159: Test failed: Got {0x0000fffe, 0x00000006, 0x0000ffff, 0x00008003}, expected {0x00000004, 0x00000006, 0x00000002, 0x00008003} at (0, 0).

    All the failures above happen in the Compiling SM6.0-SM6.2 shaders with dxcompiler and executing with d3d12.dll section. There are no failures in cast-to-half.shader_test.

  • Giovanni Mascellani mentioned in merge request !1455 (merged)

    mentioned in merge request !1455 (merged)

  • Superseded by !1455 (merged).

  • closed

Please register or sign in to reply
Loading