Skip to content
Snippets Groups Projects

vkd3d: Assorted fixes for MoltenVK, part 2.

Merged Giovanni Mascellani requested to merge giomasce/vkd3d:amiata into master
1 unresolved thread

The rest is in MR !531 (merged).

Merge request reports

Merge request pipeline #21464 skipped

Merge request pipeline skipped for d304422a

Merged by Alexandre JulliardAlexandre Julliard 1 year ago (Jan 24, 2024 9:55pm UTC)

Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Giovanni Mascellani approved this merge request

    approved this merge request

    • @@ -2899,6 +2899,7 @@ static void test_create_root_signature(void)
           descriptor_ranges[1].RegisterSpace = 0;
           descriptor_ranges[1].OffsetInDescriptorsFromTableStart = 16;
           hr = create_root_signature(device, &root_signature_desc, &root_signature);
      +    bug_if(is_mvk_device(device))
           ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
       
           /* A bounded range overlapping an unbounded one, mapped to the same
      @@ -2918,6 +2919,7 @@ static void test_create_root_signature(void)
           descriptor_ranges[1].RangeType = D3D12_DESCRIPTOR_RANGE_TYPE_SRV;
           descriptor_ranges[1].NumDescriptors = UINT_MAX;
           hr = create_root_signature(device, &root_signature_desc, &root_signature);
      +    bug_if(is_mvk_device(device))
           ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
       
           /* And unbounded range overlapping a bounded one, mapped to the same
      @@ -2926,6 +2928,7 @@ static void test_create_root_signature(void)
           descriptor_ranges[1].BaseShaderRegister = 0;
           descriptor_ranges[1].OffsetInDescriptorsFromTableStart = 15;
           hr = create_root_signature(device, &root_signature_desc, &root_signature);
      +    bug_if(is_mvk_device(device))
           ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
       
           refcount = ID3D12Device_Release(device);

      I don't think those are MVK bugs, actually. The test log suggests these fail with E_FAIL because the device lacks support for unbounded descriptor ranges, presumably because we don't have EXT_descriptor_indexing. Lack of support for unbounded descriptor ranges is fine as far as the test is concerned though; get_resource_binding_tier() returns D3D12_RESOURCE_BINDING_TIER_1, and the relevant tests check for that.

      The reason these fail on MVK is because we check the device capabilities before we check the basic validity of the root signature. We should probably do that at the end of d3d12_root_signature_info_from_desc() instead of inside d3d12_root_signature_info_count_descriptors().

      The test_unbounded_resource_arrays() and test_unbounded_samplers() tests should probably use get_resource_binding_tier() as well; I imagine they'll fail on D3D12_RESOURCE_BINDING_TIER_1 GPUs on Windows as well.

    • The reason these fail on MVK is because we check the device capabilities before we check the basic validity of the root signature. We should probably do that at the end of d3d12_root_signature_info_from_desc() instead of inside d3d12_root_signature_info_count_descriptors().

      Right, though I had to move the check even further than that, after ranges are checked for overlapping. This is what I could come up quickly with, but it is broken because it crashes other tests. Unfortunately resource mapping is still partially uncharted territory for me, so I'll leave this for when I have more time.

    • Please register or sign in to reply
  • added 5 commits

    • 02ad9fd8 - tests: Skip unbounded descriptor ranges tests when they're unsupported.
    • d611c323 - tests: Mark cull distance as buggy on MoltenVK.
    • f476ee87 - tests: Mark clip distance as unsupported on MoltenVK.
    • 5ccdc265 - tests: Mark a timestamp query test as buggy on MoltenVK.
    • 54ee5dc4 - tests: Mark count buffers as buggy on MoltenVK.

    Compare with previous version

  • Giovanni Mascellani added 163 commits

    added 163 commits

    • 54ee5dc4...bf628f0c - 157 commits from branch wine:master
    • 0e834d4d - tests: Mark loading from stencil as buggy on MoltenVK.
    • d8ded1a5 - tests: Skip unbounded descriptor ranges tests when they're unsupported.
    • 8679c25f - tests: Mark cull distance as buggy on MoltenVK.
    • 0c609af1 - tests: Mark clip distance as unsupported on MoltenVK.
    • b24762ab - tests: Mark a timestamp query test as buggy on MoltenVK.
    • 72c066aa - tests: Mark count buffers as buggy on MoltenVK.

    Compare with previous version

  • Henri Verbeet approved this merge request

    approved this merge request

  • Alexandre Julliard added 22 commits

    added 22 commits

    • 72c066aa...54f6e6dd - 16 commits from branch wine:master
    • 711ce4e6 - tests: Mark loading from stencil as buggy on MoltenVK.
    • 60e02464 - tests: Skip unbounded descriptor ranges tests when they're unsupported.
    • 9a83e568 - tests: Mark cull distance as buggy on MoltenVK.
    • 66cd2af1 - tests: Mark clip distance as unsupported on MoltenVK.
    • 5d4edba9 - tests: Mark a timestamp query test as buggy on MoltenVK.
    • d304422a - tests: Mark count buffers as buggy on MoltenVK.

    Compare with previous version

  • Alexandre Julliard approved this merge request

    approved this merge request

Please register or sign in to reply
Loading