diff --git a/GPU/D3D11/TextureCacheD3D11.cpp b/GPU/D3D11/TextureCacheD3D11.cpp index 5dd5e50bf4..c04b353aa7 100644 --- a/GPU/D3D11/TextureCacheD3D11.cpp +++ b/GPU/D3D11/TextureCacheD3D11.cpp @@ -17,6 +17,7 @@ #include #include +#include #include diff --git a/libretro/README_WINDOWS.txt b/libretro/README_WINDOWS.txt new file mode 100644 index 0000000000..5f95e29844 --- /dev/null +++ b/libretro/README_WINDOWS.txt @@ -0,0 +1,31 @@ +Install msys. + +Follow the guide here to set up your MSYS installation for retroarch compilation: + +https://docs.libretro.com/development/retroarch/compilation/windows/ + +You can probably really skip most of the packages but you need make: + +pacman -S make + +"Install" the plugin in Retroarch. + +Then use the following in msys: + +cd libretro + +make platform=windows_msvc2019_desktop_x64 -j32 && cp ppsspp_libretro.* /d/retroarch/cores + +Note that the latter part copies the DLL/PDB into wherever retroarch reads it from. Might need to adjust the path, +and adjust -j32 depending on your number of logical CPUs - might not need that many threads (or you might need more...). + +(plain make without a platform parameter doesn't work - g++ isn't able to build the D3D11 stuff, or at least it fails to link). + +To debug from within MSVC, open retroarch.exe (or retroarch_debug.exe) as a Project/Solution, then open a few of the cpp files, +set some breakpoints and just launch using F5. + + + +Useful libretro/vulkan sample code: + +https://github.com/libretro/libretro-samples/blob/master/video/vulkan/vk_rendering/libretro-test.c diff --git a/libretro/libretro_vulkan.cpp b/libretro/libretro_vulkan.cpp index 09e08703fe..78789d3250 100644 --- a/libretro/libretro_vulkan.cpp +++ b/libretro/libretro_vulkan.cpp @@ -48,24 +48,24 @@ struct VkSwapchainKHR_T { }; static VkSwapchainKHR_T chain; -#define LIBRETRO_VK_WARP_LIST() \ - LIBRETRO_VK_WARP_FUNC(vkDestroyInstance); \ - LIBRETRO_VK_WARP_FUNC(vkCreateDevice); \ - LIBRETRO_VK_WARP_FUNC(vkDestroyDevice); \ - LIBRETRO_VK_WARP_FUNC(vkGetPhysicalDeviceSurfaceCapabilitiesKHR); \ - LIBRETRO_VK_WARP_FUNC(vkDestroySurfaceKHR); \ - LIBRETRO_VK_WARP_FUNC(vkCreateSwapchainKHR); \ - LIBRETRO_VK_WARP_FUNC(vkGetSwapchainImagesKHR); \ - LIBRETRO_VK_WARP_FUNC(vkAcquireNextImageKHR); \ - LIBRETRO_VK_WARP_FUNC(vkQueuePresentKHR); \ - LIBRETRO_VK_WARP_FUNC(vkDestroySwapchainKHR); \ - LIBRETRO_VK_WARP_FUNC(vkQueueSubmit); \ - LIBRETRO_VK_WARP_FUNC(vkQueueWaitIdle); \ - LIBRETRO_VK_WARP_FUNC(vkCmdPipelineBarrier); \ - LIBRETRO_VK_WARP_FUNC(vkCreateRenderPass) +#define LIBRETRO_VK_WARP_LIST() \ + LIBRETRO_VK_WARP_FUNC(vkDestroyInstance); \ + LIBRETRO_VK_WARP_FUNC(vkCreateDevice); \ + LIBRETRO_VK_WARP_FUNC(vkDestroyDevice); \ + LIBRETRO_VK_WARP_FUNC(vkGetPhysicalDeviceSurfaceCapabilitiesKHR); \ + LIBRETRO_VK_WARP_FUNC(vkDestroySurfaceKHR); \ + LIBRETRO_VK_WARP_FUNC(vkCreateSwapchainKHR); \ + LIBRETRO_VK_WARP_FUNC(vkGetSwapchainImagesKHR); \ + LIBRETRO_VK_WARP_FUNC(vkAcquireNextImageKHR); \ + LIBRETRO_VK_WARP_FUNC(vkQueuePresentKHR); \ + LIBRETRO_VK_WARP_FUNC(vkDestroySwapchainKHR); \ + LIBRETRO_VK_WARP_FUNC(vkQueueSubmit); \ + LIBRETRO_VK_WARP_FUNC(vkQueueWaitIdle); \ + LIBRETRO_VK_WARP_FUNC(vkCmdPipelineBarrier); \ + LIBRETRO_VK_WARP_FUNC(vkCreateRenderPass); -#define LIBRETRO_VK_WARP_FUNC(x) \ - extern PFN_##x x; \ +#define LIBRETRO_VK_WARP_FUNC(x) \ + extern PFN_##x x; \ PFN_##x x##_org LIBRETRO_VK_WARP_FUNC(vkGetInstanceProcAddr);