From 293a1e0fa1e9cff056a5df3efa1638a4f4eb4897 Mon Sep 17 00:00:00 2001 From: maruhiro Date: Sat, 1 Sep 2018 10:48:43 +0900 Subject: [PATCH] =?utf8?q?SDL=5FVulkan=5FGetInstanceExtensions=20=E6=96=B0?= =?utf8?q?=E8=A6=8F=E8=BF=BD=E5=8A=A0=20https://wiki.libsdl.org/SDL=5FVulk?= =?utf8?q?an=5FGetInstanceExtensions?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- CategoryAPI.html | 1 + CategoryVulkan.html | 2 +- SDL_Vulkan_GetInstanceExtensions.html | 70 +++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 SDL_Vulkan_GetInstanceExtensions.html diff --git a/CategoryAPI.html b/CategoryAPI.html index 513721c..40b9243 100644 --- a/CategoryAPI.html +++ b/CategoryAPI.html @@ -679,6 +679,7 @@
  • SDL_VideoInit
  • SDL_VideoQuit
  • SDL_Vulkan_CreateSurface
  • +
  • SDL_Vulkan_GetInstanceExtensions
  • SDL_Vulkan_GetVkGetInstanceProcAddr
  • SDL_Vulkan_LoadLibrary
  • SDL_Vulkan_UnloadLibrary
  • diff --git a/CategoryVulkan.html b/CategoryVulkan.html index c16c126..f00756f 100644 --- a/CategoryVulkan.html +++ b/CategoryVulkan.html @@ -31,7 +31,7 @@
    1. SDL_Vulkan_CreateSurface
    2. SDL_Vulkan_GetDrawableSize -
    3. SDL_Vulkan_GetInstanceExtensions +
    4. SDL_Vulkan_GetInstanceExtensions
    5. SDL_Vulkan_GetVkGetInstanceProcAddr
    6. SDL_Vulkan_LoadLibrary
    7. SDL_Vulkan_UnloadLibrary diff --git a/SDL_Vulkan_GetInstanceExtensions.html b/SDL_Vulkan_GetInstanceExtensions.html new file mode 100644 index 0000000..4dc17a8 --- /dev/null +++ b/SDL_Vulkan_GetInstanceExtensions.html @@ -0,0 +1,70 @@ + + + + + + + + +SDL_Vulkan_GetInstanceExtensions + + +–ÚŽŸ - API(‹@”\•Ê) - Vulkan - SDL_Vulkan_GetInstanceExtensions +
      +

      SDL_Vulkan_GetInstanceExtensions

      +SDL_Vulkan_CreateSurface‚Å•K—v‚ÈVulkanƒCƒ“ƒXƒ^ƒ“ƒXƒCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚Ì–¼‘O‚𓾂é +

      \•¶

      +SDL_bool SDL_Vulkan_GetInstanceExtensions(SDL_Window* window, unsigned int* pCount, const char** pNames) +

      ˆø”

      + + + + +
      windowVulkanƒCƒ“ƒXƒ^ƒ“ƒXƒCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚ð•K—v‚Æ‚·‚éƒEƒBƒ“ƒhƒE («—ˆ”pŽ~‚³‚ê‚é)
      pCountƒCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚̐”‚ð‘ã“ü‚·‚éunsigned intƒ|ƒCƒ“ƒ^
      namesNULL‚Ü‚½‚ÍVulkanƒCƒ“ƒXƒ^ƒ“ƒXƒCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚Ì”z—ñ‚ð‘‚«ž‚Þƒ|ƒCƒ“ƒ^
      +

      –ß‚è’l

      +¬Œ÷‚Ì‚Æ‚«SDL_TRUE, Ž¸”s‚Ì‚Æ‚«SDL_FALSE‚ð–ß‚·. +

      ƒTƒ“ƒvƒ‹ƒR[ƒh

      +

      + +

      +unsigned int count;
      +if (!SDL_Vulkan_GetInstanceExtensions(window, &count, nullptr)) handle_error();
      +
      +std::vector<const char*> extensions = {
      +    VK_EXT_DEBUG_REPORT_EXTENSION_NAME // ƒTƒ“ƒvƒ‹‚Æ‚µ‚ĒljÁ‚·‚éƒCƒNƒXƒeƒ“ƒVƒ‡ƒ“
      +};
      +size_t additional_extension_count = extensions.size();
      +extensions.resize(additional_extension_count + count);
      +
      +if (!SDL_Vulkan_GetInstanceExtensions(window, &count, extensions.data() + additional_extension_count)) handle_error();
      +
      +// Now we can make the Vulkan instance
      +VkInstanceCreateInfo create_info = {};
      +create_info.enabledExtensionCount = static_cast<uint32_t>(extensions.size());
      +create_info.ppEnabledExtensionNames = extensions.data();
      +
      +VkInstance instance;
      +VkResult result = vkCreateInstance(&create_info, nullptr, &instance);
      +
      + +

      Ú×

      +

      +pName‚ªNULL‚È‚ç‚Î, •K—v‚ÈVulkanƒCƒ“ƒXƒ^ƒ“ƒXƒCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚̐”‚ªpCount‚É‘ã“ü‚³‚ê‚é. +NULL‚Å‚È‚¯‚ê‚Î, pCount‚É‚ÍpNames”z—ñ‚Ì—v‘f”‚ւ̃|ƒCƒ“ƒ^‚Å‚ ‚é•K—v‚ª‚ ‚é. ‚»‚µ‚Ä, ŠÖ”‚̌Ăяo‚µŒã‚ÍŽÀÛ‚ɏ‘‚«ž‚ñ‚¾pName‚̐”‚ªã‘‚«‚³‚ê‚é. +pCount‚ª•K—v‚ȃCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚̐”‚æ‚菭‚È‚¯‚ê‚Î, pCountŒÂ‚܂ŏ‘‚«ž‚Ü‚ê‚é. +pCount‚ª•K—v‚ȃCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚̐”‚æ‚菬‚³‚¯‚ê‚Î, SDL_FALSE‚ð–ß‚·‚Ì‚Å‘S‚ẴCƒNƒXƒeƒ“ƒVƒ‡ƒ“‚ª“¾‚ç‚ê‚È‚©‚Á‚½‚±‚Æ‚ª‚í‚©‚é. +

      +

      +ƒƒ‚: window‚ÍSDL 2.0.8‚Å‚Í•K—v‚¾‚ª, ‚±‚̈ø”‚͏«—ˆ”pŽ~‚³‚ê‚é—\’è‚Å‚ ‚é. +

      +

      ƒo[ƒWƒ‡ƒ“

      +

      +2.0.8ˆÈ~ +

      +

      ŠÖ˜A€–Ú(ŠÖ”)

      +SDL_Vulkan_CreateSurface
      +

      SDL Wiki‚ւ̃Šƒ“ƒN

      +SDL_Vulkan_GetInstanceExtensions - SDL Wiki +
      + + -- 2.11.0