Skip to content
Snippets Groups Projects

vkd3d: Only request properties and features when the corresponding extension is available.

Merged Giovanni Mascellani requested to merge giomasce/vkd3d:yellowstone into master
2 unresolved threads

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
  • Giovanni Mascellani approved this merge request

    approved this merge request

    • Subject: [PATCH 3/5] vkd3d: Do not automatically succeed if no extensions are
       available.
      
      On the contrary, as soon as there is a required extension this is
      a failure condition.

      Note that that doesn't really matter here though; we're checking which extensions are supported, which vkd3d_enable_extensions() will later use to build a list of extensions to pass to vkCreateDevice(). We'll skip printing some ERRs, and perhaps that's a reason to not exit early here, but it shouldn't matter in terms of vkd3d_check_extensions() results.

    • Yeah, I think it makes sense to have the errors emitted. I tweaked the commit message a bit.

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

    • 5e7fcdab - vkd3d: Do not automatically succeed if no extensions are available.
    • 88686219 - vkd3d: Init physical device information after checking available extensions.
    • 530644c3 - vkd3d: Only request properties and features when the corresponding extension is available.

    Compare with previous version

  • Conor McCarthy
    Conor McCarthy @cmccarthy started a thread on commit b3f31195
1539
1540 if (!(*vk_extensions = vkd3d_calloc(*vk_extension_count, sizeof(**vk_extensions))))
1541 return E_OUTOFMEMORY;
1542
1543 TRACE("Enumerating %u device extensions.\n", *vk_extension_count);
1544 if ((vr = VK_CALL(vkEnumerateDeviceExtensionProperties(physical_device, NULL, vk_extension_count, *vk_extensions))) < 0)
1545 {
1546 ERR("Failed to enumerate device extensions, vr %d.\n", vr);
1547 vkd3d_free(*vk_extensions);
1548 return hresult_from_vk_result(vr);
1549 }
1550
1551 optional_extensions = vkd3d_find_struct(create_info->next, OPTIONAL_DEVICE_EXTENSIONS_INFO);
1552 if (optional_extensions && optional_extensions->extension_count)
1553 {
1554 if (!(*user_extension_supported = vkd3d_calloc(optional_extensions->extension_count, sizeof(bool))))
  • Conor McCarthy approved this merge request

    approved this merge request

  • Henri Verbeet approved this merge request

    approved this merge request

  • Alexandre Julliard approved this merge request

    approved this merge request

  • Please register or sign in to reply
    Loading