# 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