Files
ARMSX3/.gitignore
T
jpolo1224 1eb63137e3 ARMSX3: Android port of RPCS3, proof of concept
Adds an Android build of the RPCS3 core plus a Compose UI, and fixes several
things that stopped it working on ARM64.

Renderer:
- Emit concrete bounds for runtime sized arrays in uniform blocks when
  VK_EXT_shader_uniform_buffer_unsized_array is missing. Adreno does not have
  the extension, so every game pipeline failed with VK_ERROR_UNKNOWN and only
  overlays drew.
- Probe and request that extension properly instead of chaining its feature
  struct unconditionally.
- Hand VMA the Vulkan function pointers it needs under VK_NO_PROTOTYPES.
- Rebuild the surface and swapchain when the window is lost instead of killing
  the RSX thread.
- Only create a GLES context when the GL renderer is actually selected.

SPU:
- Sum instead of taking an absolute difference in the ARM64 block verification
  checksum. The difference collides on the near identical job binaries an SPU
  job manager streams through one local store address, so a cached block could
  run against another job's code.

Threading:
- Implement thread affinity on Android using sched_setaffinity.
- Add an ARM big.LITTLE core arrangement so SPU and RSX threads land on the
  fast cores.

Misc:
- Detect the host CPU for the LLVM JIT instead of pinning cortex-a34.
- Fall back to the default audio device when cubeb cannot enumerate.
2026-08-06 08:59:52 -04:00

164 lines
2.4 KiB
Plaintext

# Compiled Object files
*.slo
*.lo
*.o
# Compiled Dynamic libraries
*.so
# Compiled Static libraries
*.lai
*.la
*.a
*.opensdf
*.sdf
*.suo
*.tlog
*.idb
*.pdb
*.obj
*.ilk
*.pch
*.log
*.exe
*.dll
*.elf
*.lastbuildstate
*.unsuccessfulbuild
*.res
*.dump
*.wav
/build
/build-*
/lib
/tmp
/ipch
/packages
/rpcs3/Debug
/rpcs3/Release
!/bin
/bin/*
# Audio DLLs
!/bin/soft_oal.dll
!/bin/xaudio2_9redist.dll
# Test Programs
!/bin/test/
# Themes
!/bin/GuiConfigs/
/bin/GuiConfigs/*.ini
/bin/GuiConfigs/*.ini.*
/bin/GuiConfigs/*.dat
/bin/GuiConfigs/*.dat.*
# Visual Studio Files
.vs/*
.vscode/*
*.ipch
*.vspx
*.psess
*.VC.*
*.vcxproj.user
enc_temp_folder/*
CMakeSettings.json
*PVS-Studio*
PVS/*
# Zed Editor files
.zed/*
# Ignore other system generated files
x64/*
rpcs3/x64/*
rpcs3/git-version.h
# cmake
Makefile
*CMakeFiles*
CMakeCache.txt
*cmake_install.cmake*
CPackConfig.cmake
CPackSourceConfig.cmake
compile_commands.json
# cotire
rpcs3/cotire/*
rpcs3/rpcs3_*_cotire.cmake
rpcs3/Emu/rpcs3_emu_CXX_Release_cotire.cmake
rpcs3/Emu/rpcs3_emu_CXX_cotire.cmake
# kdevelop
*.kdev4
.kdev4/*
# Qt
moc_*.cpp
qrc_*.cpp
rpcs3_automoc.cpp
ui_*.h
rpcs3/rpcs3_autogen/*
# QtCreator
CMakeLists.txt.user
*.autosave
# Sublime Text
*.sublime-project
*.sublime-workspace
# CLion
/.idea/*
/cmake-build-*/
# macOS
.DS_Store
# yaml-cpp
yaml-cpp.pc
_ReSharper.*/
CMakeUserPresets.json
.cache/
.lldbinit
# --- ARMSX3 (Android port) ---
# Gradle / Android Studio build output
android/**/build/
android/**/.gradle/
android/**/.cxx/
android/**/local.properties
android/**/*.iml
.idea/
# Built native libraries. libarmsx3-core.so alone is ~98 MB stripped; these are
# build products and must not enter git history. See BUILDING.md.
android/**/jniLibs/**/*.so
android/**/cpp/**/*.so
# Discord Social SDK is proprietary and has no published license, so it is not
# redistributed here. Fetch it from Discord's developer portal into
# app/libs/ and app/src/main/cpp/discord_sdk/ before building that flavour.
android/**/libs/discord_partner_sdk.aar
android/**/discord_sdk/
# Signing material
*.keystore
*.jks
android/**/keystore.properties
# Secrets kept out of source (see RA user-agent handling)
**/ra_ua_secret.h
# Third party checkouts. Not submodules, clone these yourself before building.
# librashader https://github.com/SnowflakePowered/librashader
# libadrenotools https://github.com/bylaws/libadrenotools
3rdparty/librashader/
android/app-upstream/
android/**/cpp/libadrenotools/