Skip to content
Snippets Groups Projects

tests: Avoid some crashes on MoltenVK.

Merged Giovanni Mascellani requested to merge giomasce/vkd3d:yellowstone 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
    •      ok(SUCCEEDED(hr), "Failed to create query heap, type %u, hr %#x.\n", heap_desc.Type, hr);
      +    if (FAILED(hr))
      +    {
      +        ID3D12PipelineState_Release(pso);
      +        destroy_test_context(&context);
      +        return;
      +    }

      So that should have a "bug_if(is_mvk_device(device))", right?

      Subject: [PATCH 2/2] tests: Do not create a render target with 8 samples per
       pixel.

      In principle I think it's fine to test 4 samples instead of 8, but I also think the crash is something we'll want to fix. Note also that although 8 is required to be supported, D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS also exists; we could potentially check support for different sample counts and skip with bug_if() when a required count is unsupported.

    • So far my motivation was essentially just avoiding the crash, without really caring whether the bug is in vkd3d, in the driver or elsewhere, or solving anything. The idea is to at least have d3d12 give us a vague estimation of how far it is from being working properly ("vague" because of course the raw number itself has many shortcomings).

      However, I'll look into the issues you outline.

    • Please register or sign in to reply
  • In principle I think it's fine to test 4 samples instead of 8, but I also think the crash is something we'll want to fix. Note also that although 8 is required to be supported, D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS also exists; we could potentially check support for different sample counts and skip with bug_if() when a required count is unsupported.

    Actually, it's worth pointing out that this was a port of part of Wine's d3d11 test_sampleinfo_instruction() test, which takes a similar approach.

  • added 2 commits

    • af57176f - tests: Do not crash if a pipeline statistics query heap cannot be created.
    • a55628fb - tests: Do not crash if the render target doesn't support MSAA 8.

    Compare with previous version

  • Everything should be addressed now.

  • Looks good at first sight. Note that this does raise the minimum required version of the Vulkan headers from 1.2.139 to 1.2.148 though. I think that's fine, but please update configure.ac and the README.

  • added 2 commits

    • b64e512d - tests: Do not crash if a pipeline statistics query heap cannot be created.
    • 8a020fc8 - tests: Do not crash if the render target doesn't support MSAA 8.

    Compare with previous version

  • Henri Verbeet approved this merge request

    approved this merge request

  • Alexandre Julliard added 38 commits

    added 38 commits

    • 8a020fc8...d7427704 - 36 commits from branch wine:master
    • 6dfdbb5c - tests: Do not crash if a pipeline statistics query heap cannot be created.
    • d640b213 - tests: Do not crash if the render target doesn't support MSAA 8.

    Compare with previous version

  • Alexandre Julliard approved this merge request

    approved this merge request

Please register or sign in to reply
Loading