mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-27 07:20:49 +00:00
Libretro/VK: Add a README for debugging, so I don't forget. Minor cleanups.
This commit is contained in:
parent
afb35c3be3
commit
ced83b4785
@ -17,6 +17,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
#include <cfloat>
|
||||
|
||||
#include <d3d11.h>
|
||||
|
||||
|
31
libretro/README_WINDOWS.txt
Normal file
31
libretro/README_WINDOWS.txt
Normal file
@ -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
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user