vkd3d: Assorted fixes for MoltenVK, part 2.
The rest is in MR !531 (merged).
Merge request reports
Activity
@@ -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.
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.
Toggle commit listadded 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.
Toggle commit list-
54ee5dc4...bf628f0c - 157 commits from branch
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.
Toggle commit list-
72c066aa...54f6e6dd - 16 commits from branch