# Only reviewed source/build roots are eligible for this standalone repository.
/*
!/.gitignore
!/.gitattributes
!/LICENSE
!/README.md
!/build.sh
!/run.sh
!/port_features.json
!/src/
!/gpu/
!/scripts/
!/tests/
!/third_party/
!/fsr4_shaders/
!/docs/
!/packaging/
!/LAB_README.md
!/tools/
!/templates/
!/references/

# Original games, private state, diagnostics and generated outputs at any depth.
**/out/
**/build/
**/dist/
**/original/
**/references/
**/Reference/
**/analysis/
**/savedata/
**/saves/
**/user/
**/cache/
**/caches/
**/captures/
**/screenshots/
**/__pycache__/
**/CMakeFiles/
**/.agents/
**/.codex/
**/.ghidra/
AGENTS.md
CLAUDE.md
*PORTING_LOG*
*NEXT_SESSION*
*RESUME*
*.pkg
*.prx
*.sprx
*.self
*.elf
*.sfo
*.cpk
*.usm
*.g1t
*.g1m
*.at9
*.pfs
*.iso
*.bin
*.spv
*.ttf
*.o
*.obj
*.a
*.so
*.so.*
*.dll
*.exe
*.pyc
*.gcda
*.gcno
*.log
*.trace
*.dump
*.raw
*.ini
*.cache
*.png
*.jpg
*.jpeg
*.webp
*.mp4
*.mkv
*.mov
*.zip
*.tar
*.gz
*.7z
*.orig
*.bak
*.patch
CMakeCache.txt
compile_commands.json
.env
.env.*
*.pem
*.key
*.p12
*.pfx
id_rsa*
id_ed25519*
credentials*
secrets*

# Reviewed release artwork and screenshot. Reinitialized clean repos must stage them.
!/gpu/assets/overlay.png
!/docs/images/sample.png

# FSR4 4320-tier shaders were added after the original 1080/2160 allowlist.
# Permit this exact reviewed shader family, not arbitrary SPIR-V files.
!/fsr4_shaders/fsr4_model_v07_i8_*_4320_*.spv

# Exact licensed dependency binaries; all other binary data stays ignored.
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_1080_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_2160_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_balanced_initializers.bin
!/fsr4_shaders/fsr4_model_v07_i8_balanced_pre_weights.bin
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_1080_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_2160_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_drs_initializers.bin
!/fsr4_shaders/fsr4_model_v07_i8_drs_pre_weights.bin
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_1080_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_2160_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_native_initializers.bin
!/fsr4_shaders/fsr4_model_v07_i8_native_pre_weights.bin
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_1080_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_2160_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_performance_initializers.bin
!/fsr4_shaders/fsr4_model_v07_i8_performance_pre_weights.bin
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_1080_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_2160_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_quality_initializers.bin
!/fsr4_shaders/fsr4_model_v07_i8_quality_pre_weights.bin
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_1080_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass1.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass10.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass11.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass12.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass2.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass3.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass4.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass5.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass6.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass7.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass8.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pass9.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_post.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_2160_pre.spv
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_initializers.bin
!/fsr4_shaders/fsr4_model_v07_i8_ultraperf_pre_weights.bin
!/fsr4_shaders/rcas.spv
!/fsr4_shaders/spd_auto_exposure.spv
!/gpu/third_party/fonts/DejaVuSans.ttf
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_compute_inpainting_pyramid.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_debug_view.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_disocclusion_mask.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_game_motion_vector_field.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_inpainting.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_optical_flow_vector_field.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_reconstruct_and_dilate.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_reconstruct_previous_depth.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_fi_ffx_frameinterpolation_setup.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_compute_luminance_pyramid.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_compute_optical_flow_advanced_pass_v5.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_compute_scd_divergence.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_filter_optical_flow_pass_v5.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_generate_scd_histogram.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_prepare_luma.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3framegeneration-q2-v1/fsr3_3_1_6_of_ffx_opticalflow_scale_optical_flow_advanced_pass_v5.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_accumulate.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_accumulate_sharpen.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_autogen_reactive.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_debug_view.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_luma_instability.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_luma_pyramid.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_prepare_inputs.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_prepare_reactivity.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_rcas.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_shading_change.spv
!/gpu/third_party/fsr-vulkan/generated/ffx-2.3.0/vk/fsr3upscaler-q2-v2/fsr3_3_1_5_shading_change_pyramid.spv

# This exact .pkg-named file is a reviewed Docker/Podman build recipe,
# not a PS4 game or update package. All other *.pkg files stay ignored.
!/packaging/linux/Containerfile.pkg

# Private Lab infrastructure; AGENTS.md is force-staged for this PRIVATE repo only.
!/templates/PORTING_LOG.template.md
# references/ contains vendored read-only upstream source, excluded from game exports.

# Local developer diagnostics, not public port source.
/tools/
