GPCS4/Doc/UsefulLinks.md
2022-04-07 10:53:42 +08:00

2.4 KiB

Useful articles, posts, source code and other links

System:

A Deep dive into (implicit) Thread Local Storage
https://chao-tic.github.io/blog/2018/12/25/tls

FreeBSD 9.0 (PS4 system is based on this version)
https://github.com/freebsd/freebsd/tree/stable/9

FreeBSD libc TLS implement
https://github.com/freebsd/freebsd/blob/stable/9/lib/libc/gen/tls.c#L201

Executing *BSD ELFs on Windows
http://ghettohaxxx-blog.azurewebsites.net/executing-bsd-elfs-in-windows/

(ELF) Relocations, Relocations
https://www.mindfruit.co.uk/2012/06/relocations-relocations.html?m=1

uplift (ELF loader/parser)
https://github.com/idc/uplift

PS4 Module Loader (for IDA, can be used as NID database)
https://github.com/SocraticBliss/ps4_module_loader

ELF relocation and linking
https://eli.thegreenplace.net/2011/08/25/load-time-relocation-of-shared-libraries https://eli.thegreenplace.net/2011/11/03/position-independent-code-pic-in-shared-libraries https://eli.thegreenplace.net/2011/11/11/position-independent-code-pic-in-shared-libraries-on-x64

Stack unwind/.eh_frame parse
http://blog.reverberate.org/2018/08/07/bloaty-1.0.html
http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html
https://www.airs.com/blog/archives/460
https://github.com/tomhughes/libdwarf

elfstuff (ELF loader/parser)
https://github.com/shuffle2/elfstuff

PKG/PFS file format
https://psdevwiki.com/ps4/Package_Files
https://psdevwiki.com/ps4/PFS
https://github.com/pearlxcore/PS4-PKG-Tool

Graphics:

Flipping the Vulkan viewport
https://www.saschawillems.de/blog/2019/03/29/flipping-the-vulkan-viewport/

Rendering a fullscreen quad without buffers
https://www.saschawillems.de/blog/2016/08/13/vulkan-tutorial-on-rendering-a-fullscreen-quad-without-buffers/

Barriers In Vulkan : They Are Not That Difficult
https://cpp-rendering.io/barriers-vulkan-not-difficult/

Leveraging asynchronous queues for concurrent execution
https://gpuopen.com/concurrent-execution-asynchronous-queues/

Synchronization Examples
https://github.com/KhronosGroup/Vulkan-Docs/wiki/Synchronization-Examples

Official HLSL to SPIR-V Feature Mapping Manual
https://github.com/Microsoft/DirectXShaderCompiler/blob/master/docs/SPIR-V.rst

Specialization Constants
https://gavinkg.github.io/ILearnVulkanFromScratch-CN/mdroot/Vulkan%20%E8%BF%9B%E9%98%B6/%E5%90%91%20Shader%20%E4%BC%A0%E8%BE%93%E6%95%B0%E6%8D%AE/Specialization%20Constants.html