From 332027d24fa04c7c91878cd88298f7f7f0b5d1e6 Mon Sep 17 00:00:00 2001 From: NixAJ Date: Sun, 23 Jun 2024 02:42:45 +0200 Subject: [PATCH] Updated Premake Integration - Removed Premake5.exe - Added light wrapper utilities for typical premake operations - Added Quill as dependency (New Logger Library) - Updated all existing premake files to use new light wrapper utilities --- Dependencies/Dependencies.lua | 21 +- Dependencies/FidelityFX-SDK/FidelityFX.lua | 46 - Dependencies/base64/base64.lua | 9 +- Dependencies/catch2/catch2.lua | 43 +- Dependencies/dxcompiler/dxcompiler.lua | 49 +- Dependencies/enkiTS/enkiTS.lua | 39 +- Dependencies/entt/entt.lua | 9 +- .../FidelityFX/CMakeLists.txt | 0 .../FidelityFX/LICENSE.txt | 0 .../FidelityFX/common.cmake | 0 .../FidelityFX/readme.md | 0 .../FidelityFX/sample.cmake | 0 .../FidelityFX/sdk/BuildFidelityFXSDK.bat | 0 .../sdk/BuildFidelityFXSDKSolution.bat | 0 .../FidelityFX/sdk/CMakeLists.txt | 0 .../include/FidelityFX/gpu/blur/ffx_blur.h | 0 .../FidelityFX/gpu/blur/ffx_blur_blur.h | 0 .../gpu/blur/ffx_blur_callbacks_glsl.h | 0 .../gpu/blur/ffx_blur_callbacks_hlsl.h | 0 .../FidelityFX/gpu/blur/ffx_blur_resources.h | 0 .../FidelityFX/gpu/cacao/ffx_cacao_apply.h | 0 .../gpu/cacao/ffx_cacao_callbacks_glsl.h | 0 .../gpu/cacao/ffx_cacao_callbacks_hlsl.h | 0 .../FidelityFX/gpu/cacao/ffx_cacao_defines.h | 0 .../gpu/cacao/ffx_cacao_edge_sensitive_blur.h | 0 .../gpu/cacao/ffx_cacao_importance_map.h | 0 .../FidelityFX/gpu/cacao/ffx_cacao_prepare.h | 0 .../gpu/cacao/ffx_cacao_resources.h | 0 .../gpu/cacao/ffx_cacao_ssao_generation.h | 0 .../FidelityFX/gpu/cacao/ffx_cacao_upscale.h | 0 .../FidelityFX/gpu/cacao/ffx_cacao_utils.h | 0 .../sdk/include/FidelityFX/gpu/cas/ffx_cas.h | 0 .../gpu/cas/ffx_cas_callbacks_glsl.h | 0 .../gpu/cas/ffx_cas_callbacks_hlsl.h | 0 .../FidelityFX/gpu/cas/ffx_cas_resources.h | 0 .../FidelityFX/gpu/cas/ffx_cas_sharpen.h | 0 .../gpu/classifier/ffx_classifier_common.h | 0 .../classifier/ffx_classifier_reflections.h | 0 ...fx_classifier_reflections_callbacks_glsl.h | 0 ...fx_classifier_reflections_callbacks_hlsl.h | 0 .../ffx_classifier_reflections_common.h | 0 .../gpu/classifier/ffx_classifier_resources.h | 0 .../gpu/classifier/ffx_classifier_shadows.h | 0 .../ffx_classifier_shadows_callbacks_glsl.h | 0 .../ffx_classifier_shadows_callbacks_hlsl.h | 0 .../ffx_denoiser_reflections_callbacks_glsl.h | 0 .../ffx_denoiser_reflections_callbacks_hlsl.h | 0 .../ffx_denoiser_reflections_common.h | 0 .../ffx_denoiser_reflections_config.h | 0 .../ffx_denoiser_reflections_prefilter.h | 0 .../ffx_denoiser_reflections_reproject.h | 0 ...fx_denoiser_reflections_resolve_temporal.h | 0 .../gpu/denoiser/ffx_denoiser_resources.h | 0 .../ffx_denoiser_shadows_callbacks_glsl.h | 0 .../ffx_denoiser_shadows_callbacks_hlsl.h | 0 .../denoiser/ffx_denoiser_shadows_filter.h | 0 .../denoiser/ffx_denoiser_shadows_prepare.h | 0 .../ffx_denoiser_shadows_tileclassification.h | 0 .../gpu/denoiser/ffx_denoiser_shadows_util.h | 0 .../include/FidelityFX/gpu/dof/ffx_dof_blur.h | 0 .../gpu/dof/ffx_dof_callbacks_glsl.h | 0 .../gpu/dof/ffx_dof_callbacks_hlsl.h | 0 .../FidelityFX/gpu/dof/ffx_dof_common.h | 0 .../FidelityFX/gpu/dof/ffx_dof_composite.h | 0 .../FidelityFX/gpu/dof/ffx_dof_dilate_depth.h | 0 .../gpu/dof/ffx_dof_downsample_color.h | 0 .../gpu/dof/ffx_dof_downsample_depth.h | 0 .../FidelityFX/gpu/dof/ffx_dof_resources.h | 0 .../include/FidelityFX/gpu/ffx_common_types.h | 0 .../sdk/include/FidelityFX/gpu/ffx_core.h | 0 .../sdk/include/FidelityFX/gpu/ffx_core_cpu.h | 0 .../include/FidelityFX/gpu/ffx_core_glsl.h | 0 .../FidelityFX/gpu/ffx_core_gpu_common.h | 0 .../FidelityFX/gpu/ffx_core_gpu_common_half.h | 0 .../include/FidelityFX/gpu/ffx_core_hlsl.h | 0 .../FidelityFX/gpu/ffx_core_portability.h | 0 .../include/FidelityFX/gpu/fsr1/ffx_fsr1.h | 0 .../gpu/fsr1/ffx_fsr1_callbacks_glsl.h | 0 .../gpu/fsr1/ffx_fsr1_callbacks_hlsl.h | 0 .../FidelityFX/gpu/fsr1/ffx_fsr1_easu.h | 0 .../FidelityFX/gpu/fsr1/ffx_fsr1_rcas.h | 0 .../FidelityFX/gpu/fsr1/ffx_fsr1_resources.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_accumulate.h | 0 .../gpu/fsr2/ffx_fsr2_callbacks_glsl.h | 0 .../gpu/fsr2/ffx_fsr2_callbacks_hlsl.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_common.h | 0 .../fsr2/ffx_fsr2_compute_luminance_pyramid.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_depth_clip.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_lock.h | 0 .../fsr2/ffx_fsr2_postprocess_lock_status.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_rcas.h | 0 ...ruct_dilated_velocity_and_previous_depth.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_reproject.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_resources.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_sample.h | 0 .../gpu/fsr2/ffx_fsr2_tcr_autogen.h | 0 .../FidelityFX/gpu/fsr2/ffx_fsr2_upsample.h | 0 .../include/FidelityFX/gpu/lens/ffx_lens.h | 0 .../gpu/lens/ffx_lens_callbacks_glsl.h | 0 .../gpu/lens/ffx_lens_callbacks_hlsl.h | 0 .../FidelityFX/gpu/lens/ffx_lens_resources.h | 0 .../sdk/include/FidelityFX/gpu/lpm/ffx_lpm.h | 0 .../gpu/lpm/ffx_lpm_callbacks_glsl.h | 0 .../gpu/lpm/ffx_lpm_callbacks_hlsl.h | 0 .../FidelityFX/gpu/lpm/ffx_lpm_filter.h | 0 .../FidelityFX/gpu/lpm/ffx_lpm_resources.h | 0 .../gpu/parallelsort/ffx_parallelsort.h | 0 .../ffx_parallelsort_callbacks_glsl.h | 0 .../ffx_parallelsort_callbacks_hlsl.h | 0 .../parallelsort/ffx_parallelsort_common.h | 0 .../parallelsort/ffx_parallelsort_reduce.h | 0 .../parallelsort/ffx_parallelsort_resources.h | 0 .../gpu/parallelsort/ffx_parallelsort_scan.h | 0 .../parallelsort/ffx_parallelsort_scan_add.h | 0 .../parallelsort/ffx_parallelsort_scatter.h | 0 .../ffx_parallelsort_setup_indirect_args.h | 0 .../gpu/parallelsort/ffx_parallelsort_sum.h | 0 .../ffx_denoiser_reflections_common.h | 0 .../ffx_denoiser_reflections_config.h | 0 .../sdk/include/FidelityFX/gpu/spd/ffx_spd.h | 0 .../gpu/spd/ffx_spd_callbacks_glsl.h | 0 .../gpu/spd/ffx_spd_callbacks_hlsl.h | 0 .../FidelityFX/gpu/spd/ffx_spd_downsample.h | 0 .../FidelityFX/gpu/spd/ffx_spd_resources.h | 0 .../gpu/sssr/ffx_sssr_callbacks_glsl.h | 0 .../gpu/sssr/ffx_sssr_callbacks_hlsl.h | 0 .../gpu/sssr/ffx_sssr_classify_tiles.h | 0 .../FidelityFX/gpu/sssr/ffx_sssr_common.h | 0 .../gpu/sssr/ffx_sssr_depth_downsample.h | 0 .../FidelityFX/gpu/sssr/ffx_sssr_intersect.h | 0 .../ffx_sssr_prepare_blue_noise_texture.h | 0 .../gpu/sssr/ffx_sssr_prepare_indirect_args.h | 0 .../FidelityFX/gpu/sssr/ffx_sssr_resources.h | 0 .../FidelityFX/gpu/vrs/ffx_variable_shading.h | 0 .../gpu/vrs/ffx_vrs_callbacks_glsl.h | 0 .../gpu/vrs/ffx_vrs_callbacks_hlsl.h | 0 .../FidelityFX/gpu/vrs/ffx_vrs_resources.h | 0 .../FidelityFX/host/backends/dx12/d3dx12.h | 0 .../FidelityFX/host/backends/dx12/ffx_dx12.h | 0 .../FidelityFX/host/backends/dx12/license.txt | 0 .../FidelityFX/host/backends/vk/ffx_vk.h | 0 .../sdk/include/FidelityFX/host/ffx_assert.h | 0 .../sdk/include/FidelityFX/host/ffx_blur.h | 0 .../sdk/include/FidelityFX/host/ffx_cacao.h | 0 .../sdk/include/FidelityFX/host/ffx_cas.h | 0 .../include/FidelityFX/host/ffx_classifier.h | 0 .../include/FidelityFX/host/ffx_denoiser.h | 0 .../sdk/include/FidelityFX/host/ffx_dof.h | 0 .../sdk/include/FidelityFX/host/ffx_error.h | 0 .../sdk/include/FidelityFX/host/ffx_fsr1.h | 0 .../sdk/include/FidelityFX/host/ffx_fsr2.h | 0 .../sdk/include/FidelityFX/host/ffx_fx.h | 0 .../include/FidelityFX/host/ffx_interface.h | 0 .../sdk/include/FidelityFX/host/ffx_lens.h | 0 .../sdk/include/FidelityFX/host/ffx_lpm.h | 0 .../FidelityFX/host/ffx_parallelsort.h | 0 .../sdk/include/FidelityFX/host/ffx_spd.h | 0 .../sdk/include/FidelityFX/host/ffx_sssr.h | 0 .../sdk/include/FidelityFX/host/ffx_types.h | 0 .../sdk/include/FidelityFX/host/ffx_util.h | 0 .../sdk/include/FidelityFX/host/ffx_vrs.h | 0 ...ur_pass_08c36ed355cbf75b5b3a06746b677dff.h | 0 ...ur_pass_0ee8d3c24b25abd8c0111d5bab37ca9d.h | 0 ...ur_pass_0f5ce871a0f73c20196d667115f738f8.h | 0 ...ur_pass_15397821cd414ef16c13014118c6f710.h | 0 ...ur_pass_15b69efa775ee4be6a5e668350b5bbe5.h | 0 ...s_16bit_0b3884833bdb5b1759b2cd481dd15a82.h | 0 ...s_16bit_0b5daae9a618c3325b6897410e7abfb5.h | 0 ...s_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h | 0 ...s_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h | 0 ...s_16bit_20af91e6eb67e724e464b25c79a3bde8.h | 0 ...s_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h | 0 ...s_16bit_28d62953944245793e722a0c091ae2ef.h | 0 ...s_16bit_2d2477cd8f89de124ee546a629d62343.h | 0 ...s_16bit_41e4ab2ef999db9c444304ca55c39563.h | 0 ...s_16bit_45e77d64ff30a668ae0875f8052aa6d5.h | 0 ...s_16bit_466f453608719779b74190bd8e8140e3.h | 0 ...s_16bit_49e1794b22a460ea5c04532e58bda746.h | 0 ...s_16bit_4bbbd426998ce4e10143e6ecee64860b.h | 0 ...s_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h | 0 ...s_16bit_6674ce486791e0b6e31ac60c69481822.h | 0 ...s_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h | 0 ...s_16bit_780604d4f74e4dc367e15b37e151eed6.h | 0 ...s_16bit_7e27063ad6ef494180b56ed7df9f6e51.h | 0 ...s_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h | 0 ...s_16bit_8752f8ecfb9771ed735306503b734169.h | 0 ...s_16bit_a5c7086b5cab60d6283335f0adb868ec.h | 0 ...s_16bit_a779de0428ca77552550182162e91170.h | 0 ...s_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h | 0 ...s_16bit_aed08a7046c7f78adc248d78d9f46fdb.h | 0 ...s_16bit_b4390e5af68a647984c919143dcaf66a.h | 0 ...s_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h | 0 ...s_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h | 0 ...s_16bit_d8b6062a16dfdb1bb766c10cba207661.h | 0 ...s_16bit_ddd65283385cd9ae93f92c8810a0b386.h | 0 ...s_16bit_fcacc252582c151bfbcb9bfb718d0abc.h | 0 .../ffx_blur_pass_16bit_permutations.h | 0 ...ur_pass_2cc4f1afbd334881d303d53fa7634c22.h | 0 ...ur_pass_3cc08832e971b3c49884bb4f762f81c5.h | 0 ...ur_pass_449f64024d4ea1fa87fd7d45f4fd6ea1.h | 0 ...ur_pass_4f33c90537ccfcd88227c1ee45387604.h | 0 ...ur_pass_605e19bd0f006d0853a76bb2fdbf9ba2.h | 0 ...ur_pass_74b354b222983f11bd9929ec18b52c94.h | 0 ...ur_pass_98b9eeec5de25cccfdf65aa589251c8b.h | 0 ...ur_pass_9c57455774abdb9161988f0895f04a49.h | 0 ...ur_pass_9db49b14ef44e4c8d6d9325fdc6c381f.h | 0 ...ur_pass_a28c9d640a1a6456cd79189910722bc9.h | 0 ...ur_pass_a59c6f0d4182f2d8eba05a07641c6b03.h | 0 ...ur_pass_a83cfa196153635dc1693f1a5352631a.h | 0 ...ur_pass_b893781d9dc26d35507978f2de33cc70.h | 0 ...ur_pass_c69db080a3afed649a481cb307d7ef5c.h | 0 ...ur_pass_cc10929b5caf2ff6b4311eddd7b77e1d.h | 0 ...ur_pass_cd28c267f2525ff1476ce4b632d6b2c0.h | 0 ...ur_pass_cf65e9513ab3c4e5b9caa677dcb3d667.h | 0 ...ur_pass_dd19d8b4d70103102f6e208328657b21.h | 0 ...ur_pass_de797f24c56cb766eb60dd532f985c94.h | 0 ...ur_pass_e32b1d123a5441cab23fdb7b98b73bd9.h | 0 ...ur_pass_e6bea97e3aca5c291628435e80c2f147.h | 0 ...ur_pass_e8a69698bf7a0d191e9f22ed3f24a13c.h | 0 ...ur_pass_eb019c44bca440721fc3102573392d9c.h | 0 ...ur_pass_ef698dac7e633c771a3a82f0fb96086e.h | 0 ...ur_pass_ef765219d3e69e3ec966f4e9d8418b94.h | 0 .../permutations/ffx_blur_pass_permutations.h | 0 ..._wave64_08c36ed355cbf75b5b3a06746b677dff.h | 0 ..._wave64_0ee8d3c24b25abd8c0111d5bab37ca9d.h | 0 ..._wave64_0f5ce871a0f73c20196d667115f738f8.h | 0 ..._wave64_15397821cd414ef16c13014118c6f710.h | 0 ..._wave64_15b69efa775ee4be6a5e668350b5bbe5.h | 0 ...4_16bit_0b3884833bdb5b1759b2cd481dd15a82.h | 0 ...4_16bit_0b5daae9a618c3325b6897410e7abfb5.h | 0 ...4_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h | 0 ...4_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h | 0 ...4_16bit_20af91e6eb67e724e464b25c79a3bde8.h | 0 ...4_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h | 0 ...4_16bit_28d62953944245793e722a0c091ae2ef.h | 0 ...4_16bit_2d2477cd8f89de124ee546a629d62343.h | 0 ...4_16bit_41e4ab2ef999db9c444304ca55c39563.h | 0 ...4_16bit_45e77d64ff30a668ae0875f8052aa6d5.h | 0 ...4_16bit_466f453608719779b74190bd8e8140e3.h | 0 ...4_16bit_49e1794b22a460ea5c04532e58bda746.h | 0 ...4_16bit_4bbbd426998ce4e10143e6ecee64860b.h | 0 ...4_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h | 0 ...4_16bit_6674ce486791e0b6e31ac60c69481822.h | 0 ...4_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h | 0 ...4_16bit_780604d4f74e4dc367e15b37e151eed6.h | 0 ...4_16bit_7e27063ad6ef494180b56ed7df9f6e51.h | 0 ...4_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h | 0 ...4_16bit_8752f8ecfb9771ed735306503b734169.h | 0 ...4_16bit_a5c7086b5cab60d6283335f0adb868ec.h | 0 ...4_16bit_a779de0428ca77552550182162e91170.h | 0 ...4_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h | 0 ...4_16bit_aed08a7046c7f78adc248d78d9f46fdb.h | 0 ...4_16bit_b4390e5af68a647984c919143dcaf66a.h | 0 ...4_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h | 0 ...4_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h | 0 ...4_16bit_d8b6062a16dfdb1bb766c10cba207661.h | 0 ...4_16bit_ddd65283385cd9ae93f92c8810a0b386.h | 0 ...4_16bit_fcacc252582c151bfbcb9bfb718d0abc.h | 0 .../ffx_blur_pass_wave64_16bit_permutations.h | 0 ..._wave64_2cc4f1afbd334881d303d53fa7634c22.h | 0 ..._wave64_3cc08832e971b3c49884bb4f762f81c5.h | 0 ..._wave64_449f64024d4ea1fa87fd7d45f4fd6ea1.h | 0 ..._wave64_4f33c90537ccfcd88227c1ee45387604.h | 0 ..._wave64_605e19bd0f006d0853a76bb2fdbf9ba2.h | 0 ..._wave64_74b354b222983f11bd9929ec18b52c94.h | 0 ..._wave64_98b9eeec5de25cccfdf65aa589251c8b.h | 0 ..._wave64_9c57455774abdb9161988f0895f04a49.h | 0 ..._wave64_9db49b14ef44e4c8d6d9325fdc6c381f.h | 0 ..._wave64_a28c9d640a1a6456cd79189910722bc9.h | 0 ..._wave64_a59c6f0d4182f2d8eba05a07641c6b03.h | 0 ..._wave64_a83cfa196153635dc1693f1a5352631a.h | 0 ..._wave64_b893781d9dc26d35507978f2de33cc70.h | 0 ..._wave64_c69db080a3afed649a481cb307d7ef5c.h | 0 ..._wave64_cc10929b5caf2ff6b4311eddd7b77e1d.h | 0 ..._wave64_cd28c267f2525ff1476ce4b632d6b2c0.h | 0 ..._wave64_cf65e9513ab3c4e5b9caa677dcb3d667.h | 0 ..._wave64_dd19d8b4d70103102f6e208328657b21.h | 0 ..._wave64_de797f24c56cb766eb60dd532f985c94.h | 0 ..._wave64_e32b1d123a5441cab23fdb7b98b73bd9.h | 0 ..._wave64_e6bea97e3aca5c291628435e80c2f147.h | 0 ..._wave64_e8a69698bf7a0d191e9f22ed3f24a13c.h | 0 ..._wave64_eb019c44bca440721fc3102573392d9c.h | 0 ..._wave64_ef698dac7e633c771a3a82f0fb96086e.h | 0 ..._wave64_ef765219d3e69e3ec966f4e9d8418b94.h | 0 .../ffx_blur_pass_wave64_permutations.h | 0 ...lf_pass_1200da1372bf8ff814f24279855b55c5.h | 0 ...s_16bit_bb1241b0f99e00f018c26a3a31f51adf.h | 0 ...y_non_smart_half_pass_16bit_permutations.h | 0 ...o_apply_non_smart_half_pass_permutations.h | 0 ..._wave64_1200da1372bf8ff814f24279855b55c5.h | 0 ...4_16bit_bb1241b0f99e00f018c26a3a31f51adf.h | 0 ...mart_half_pass_wave64_16bit_permutations.h | 0 ..._non_smart_half_pass_wave64_permutations.h | 0 ...s_16bit_86c4a87a6e2e2a02953074b6cf184a24.h | 0 ..._apply_non_smart_pass_16bit_permutations.h | 0 ...rt_pass_7411418c360cb2452b3b3a8cb2c5a192.h | 0 ..._cacao_apply_non_smart_pass_permutations.h | 0 ...4_16bit_86c4a87a6e2e2a02953074b6cf184a24.h | 0 ...non_smart_pass_wave64_16bit_permutations.h | 0 ..._wave64_7411418c360cb2452b3b3a8cb2c5a192.h | 0 ...apply_non_smart_pass_wave64_permutations.h | 0 ...s_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h | 0 .../ffx_cacao_apply_pass_16bit_permutations.h | 0 ...ly_pass_b997b314f1a80b5924282a6a19517de2.h | 0 .../ffx_cacao_apply_pass_permutations.h | 0 ...4_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h | 0 ...cao_apply_pass_wave64_16bit_permutations.h | 0 ..._wave64_b997b314f1a80b5924282a6a19517de2.h | 0 ...ffx_cacao_apply_pass_wave64_permutations.h | 0 ...s_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h | 0 ...ear_load_counter_pass_16bit_permutations.h | 0 ...er_pass_31190c0e53a6de1f16e3f960df24de4a.h | 0 ...cao_clear_load_counter_pass_permutations.h | 0 ...4_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h | 0 ...d_counter_pass_wave64_16bit_permutations.h | 0 ..._wave64_31190c0e53a6de1f16e3f960df24de4a.h | 0 ...ar_load_counter_pass_wave64_permutations.h | 0 ...s_16bit_226d702b2e428437d09ae3913a5f6729.h | 0 ...sensitive_blur_1_pass_16bit_permutations.h | 0 ..._1_pass_2e706a59f856af80261a2044236031cd.h | 0 ..._edge_sensitive_blur_1_pass_permutations.h | 0 ...4_16bit_226d702b2e428437d09ae3913a5f6729.h | 0 ...ve_blur_1_pass_wave64_16bit_permutations.h | 0 ..._wave64_2e706a59f856af80261a2044236031cd.h | 0 ...ensitive_blur_1_pass_wave64_permutations.h | 0 ...s_16bit_fad219ef895164f887a0a9edea29fa39.h | 0 ...sensitive_blur_2_pass_16bit_permutations.h | 0 ..._2_pass_7a7a1cfa220a249d06efdf6203e009d5.h | 0 ..._edge_sensitive_blur_2_pass_permutations.h | 0 ...4_16bit_fad219ef895164f887a0a9edea29fa39.h | 0 ...ve_blur_2_pass_wave64_16bit_permutations.h | 0 ..._wave64_7a7a1cfa220a249d06efdf6203e009d5.h | 0 ...ensitive_blur_2_pass_wave64_permutations.h | 0 ...s_16bit_aa8f50d137e7a0840e4251fad209aa43.h | 0 ...sensitive_blur_3_pass_16bit_permutations.h | 0 ..._3_pass_6e4a075a2bca4487af666b82b819b1fe.h | 0 ..._edge_sensitive_blur_3_pass_permutations.h | 0 ...4_16bit_aa8f50d137e7a0840e4251fad209aa43.h | 0 ...ve_blur_3_pass_wave64_16bit_permutations.h | 0 ..._wave64_6e4a075a2bca4487af666b82b819b1fe.h | 0 ...ensitive_blur_3_pass_wave64_permutations.h | 0 ...s_16bit_b94a39190a679434d20de8d9f2004647.h | 0 ...sensitive_blur_4_pass_16bit_permutations.h | 0 ..._4_pass_c9153c988a55576efba4a88818b74d76.h | 0 ..._edge_sensitive_blur_4_pass_permutations.h | 0 ...4_16bit_b94a39190a679434d20de8d9f2004647.h | 0 ...ve_blur_4_pass_wave64_16bit_permutations.h | 0 ..._wave64_c9153c988a55576efba4a88818b74d76.h | 0 ...ensitive_blur_4_pass_wave64_permutations.h | 0 ...s_16bit_5520a856ebbabdc04470dce56d7fd86d.h | 0 ...sensitive_blur_5_pass_16bit_permutations.h | 0 ..._5_pass_3a0b97ae5e3fe8f5533e17fb0b344a04.h | 0 ..._edge_sensitive_blur_5_pass_permutations.h | 0 ...4_16bit_5520a856ebbabdc04470dce56d7fd86d.h | 0 ...ve_blur_5_pass_wave64_16bit_permutations.h | 0 ..._wave64_3a0b97ae5e3fe8f5533e17fb0b344a04.h | 0 ...ensitive_blur_5_pass_wave64_permutations.h | 0 ...s_16bit_861260e0f23a95ff2b53383da32085ce.h | 0 ...sensitive_blur_6_pass_16bit_permutations.h | 0 ..._6_pass_6313a559c0973bb4fb022e1c62e132cb.h | 0 ..._edge_sensitive_blur_6_pass_permutations.h | 0 ...4_16bit_861260e0f23a95ff2b53383da32085ce.h | 0 ...ve_blur_6_pass_wave64_16bit_permutations.h | 0 ..._wave64_6313a559c0973bb4fb022e1c62e132cb.h | 0 ...ensitive_blur_6_pass_wave64_permutations.h | 0 ...s_16bit_11a1adc82d9ea9fe57be9add559426a7.h | 0 ...sensitive_blur_7_pass_16bit_permutations.h | 0 ..._7_pass_7bd849b96a4ca6aeb7ab72cbe628566b.h | 0 ..._edge_sensitive_blur_7_pass_permutations.h | 0 ...4_16bit_11a1adc82d9ea9fe57be9add559426a7.h | 0 ...ve_blur_7_pass_wave64_16bit_permutations.h | 0 ..._wave64_7bd849b96a4ca6aeb7ab72cbe628566b.h | 0 ...ensitive_blur_7_pass_wave64_permutations.h | 0 ...s_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h | 0 ...sensitive_blur_8_pass_16bit_permutations.h | 0 ..._8_pass_6650d2c2d949fbd8d48ba37b0efa2860.h | 0 ..._edge_sensitive_blur_8_pass_permutations.h | 0 ...4_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h | 0 ...ve_blur_8_pass_wave64_16bit_permutations.h | 0 ..._wave64_6650d2c2d949fbd8d48ba37b0efa2860.h | 0 ...ensitive_blur_8_pass_wave64_permutations.h | 0 ...s_16bit_b63e8ba69edb84c86926bea0d2969d3a.h | 0 ...importance_map_a_pass_16bit_permutations.h | 0 ..._a_pass_8506cfe4d4690e4c18f1c42702f1fdc4.h | 0 ...erate_importance_map_a_pass_permutations.h | 0 ...4_16bit_b63e8ba69edb84c86926bea0d2969d3a.h | 0 ...nce_map_a_pass_wave64_16bit_permutations.h | 0 ..._wave64_8506cfe4d4690e4c18f1c42702f1fdc4.h | 0 ...mportance_map_a_pass_wave64_permutations.h | 0 ...s_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h | 0 ...importance_map_b_pass_16bit_permutations.h | 0 ..._b_pass_c1c7edd70ab37bfc5f3ea8b4720418ee.h | 0 ...erate_importance_map_b_pass_permutations.h | 0 ...4_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h | 0 ...nce_map_b_pass_wave64_16bit_permutations.h | 0 ..._wave64_c1c7edd70ab37bfc5f3ea8b4720418ee.h | 0 ...mportance_map_b_pass_wave64_permutations.h | 0 ...s_16bit_b8f04178952fd9d85d343944ea431724.h | 0 ...e_importance_map_pass_16bit_permutations.h | 0 ...ap_pass_82bd7722da926c6273cf7d52ce315e2c.h | 0 ...enerate_importance_map_pass_permutations.h | 0 ...4_16bit_b8f04178952fd9d85d343944ea431724.h | 0 ...tance_map_pass_wave64_16bit_permutations.h | 0 ..._wave64_82bd7722da926c6273cf7d52ce315e2c.h | 0 ..._importance_map_pass_wave64_permutations.h | 0 ...q0_pass_11994e08051382ca70fa5050efa79d27.h | 0 ...s_16bit_3e71246e3c1aeeed237508880dd03671.h | 0 ...acao_generate_q0_pass_16bit_permutations.h | 0 .../ffx_cacao_generate_q0_pass_permutations.h | 0 ..._wave64_11994e08051382ca70fa5050efa79d27.h | 0 ...4_16bit_3e71246e3c1aeeed237508880dd03671.h | 0 ...nerate_q0_pass_wave64_16bit_permutations.h | 0 ...cao_generate_q0_pass_wave64_permutations.h | 0 ...s_16bit_6c93a968eca4fbf7d82effe4a5d18396.h | 0 ...acao_generate_q1_pass_16bit_permutations.h | 0 ...q1_pass_31ef992f289187db31d214be7a52d2ca.h | 0 .../ffx_cacao_generate_q1_pass_permutations.h | 0 ...4_16bit_6c93a968eca4fbf7d82effe4a5d18396.h | 0 ...nerate_q1_pass_wave64_16bit_permutations.h | 0 ..._wave64_31ef992f289187db31d214be7a52d2ca.h | 0 ...cao_generate_q1_pass_wave64_permutations.h | 0 ...s_16bit_67f168f2a0ee47b6eaf615b17b8394da.h | 0 ...acao_generate_q2_pass_16bit_permutations.h | 0 ...q2_pass_f8b14cfcbf8b5daacd2519308a2bf6bb.h | 0 .../ffx_cacao_generate_q2_pass_permutations.h | 0 ...4_16bit_67f168f2a0ee47b6eaf615b17b8394da.h | 0 ...nerate_q2_pass_wave64_16bit_permutations.h | 0 ..._wave64_f8b14cfcbf8b5daacd2519308a2bf6bb.h | 0 ...cao_generate_q2_pass_wave64_permutations.h | 0 ...s_16bit_32a25924f09f81d36c2644448c08c342.h | 0 ...generate_q3_base_pass_16bit_permutations.h | 0 ...se_pass_39ed28aefd4f0b9072a4c0dc0d423a98.h | 0 ...cacao_generate_q3_base_pass_permutations.h | 0 ...4_16bit_32a25924f09f81d36c2644448c08c342.h | 0 ...e_q3_base_pass_wave64_16bit_permutations.h | 0 ..._wave64_39ed28aefd4f0b9072a4c0dc0d423a98.h | 0 ...enerate_q3_base_pass_wave64_permutations.h | 0 ...s_16bit_b3eab2a2ec50b9cded6926bf3388a677.h | 0 ...acao_generate_q3_pass_16bit_permutations.h | 0 ...q3_pass_d6fa595400c5f92b38134c0bb528a884.h | 0 .../ffx_cacao_generate_q3_pass_permutations.h | 0 ...4_16bit_b3eab2a2ec50b9cded6926bf3388a677.h | 0 ...nerate_q3_pass_wave64_16bit_permutations.h | 0 ..._wave64_d6fa595400c5f92b38134c0bb528a884.h | 0 ...cao_generate_q3_pass_wave64_permutations.h | 0 ...s_16bit_5052e4b69d49a570e3e14998ceed2704.h | 0 ..._depths_and_mips_pass_16bit_permutations.h | 0 ...ps_pass_64b9e65188ce8d0766731bf7ee746da5.h | 0 ...ampled_depths_and_mips_pass_permutations.h | 0 ...4_16bit_5052e4b69d49a570e3e14998ceed2704.h | 0 ..._and_mips_pass_wave64_16bit_permutations.h | 0 ..._wave64_64b9e65188ce8d0766731bf7ee746da5.h | 0 ...depths_and_mips_pass_wave64_permutations.h | 0 ...s_16bit_98ef787b856c550d5d5bd6ffb99afe15.h | 0 ...pled_depths_half_pass_16bit_permutations.h | 0 ...lf_pass_6a1717bc6493786fc5d3e68a35ae4ca2.h | 0 ...ownsampled_depths_half_pass_permutations.h | 0 ...4_16bit_98ef787b856c550d5d5bd6ffb99afe15.h | 0 ...pths_half_pass_wave64_16bit_permutations.h | 0 ..._wave64_6a1717bc6493786fc5d3e68a35ae4ca2.h | 0 ...led_depths_half_pass_wave64_permutations.h | 0 ...s_16bit_7136f86a945d6eab268f71092afa8dc4.h | 0 ...wnsampled_depths_pass_16bit_permutations.h | 0 ...hs_pass_737a7aa259da7594d79576c2ee1baa5c.h | 0 ...are_downsampled_depths_pass_permutations.h | 0 ...4_16bit_7136f86a945d6eab268f71092afa8dc4.h | 0 ...ed_depths_pass_wave64_16bit_permutations.h | 0 ..._wave64_737a7aa259da7594d79576c2ee1baa5c.h | 0 ...nsampled_depths_pass_wave64_permutations.h | 0 ...s_16bit_f3f831ddded0327e68b249ac37d54ee0.h | 0 ...om_input_normals_pass_16bit_permutations.h | 0 ...ls_pass_9639a3a9e72092c01065a4a419be25e9.h | 0 ...als_from_input_normals_pass_permutations.h | 0 ...4_16bit_f3f831ddded0327e68b249ac37d54ee0.h | 0 ...t_normals_pass_wave64_16bit_permutations.h | 0 ..._wave64_9639a3a9e72092c01065a4a419be25e9.h | 0 ...m_input_normals_pass_wave64_permutations.h | 0 ...s_16bit_8f062fad9319440fa14ee41199428143.h | 0 ...nsampled_normals_pass_16bit_permutations.h | 0 ...ls_pass_26e4479aeda57fdab79a62fb45328c1a.h | 0 ...re_downsampled_normals_pass_permutations.h | 0 ...4_16bit_8f062fad9319440fa14ee41199428143.h | 0 ...d_normals_pass_wave64_16bit_permutations.h | 0 ..._wave64_26e4479aeda57fdab79a62fb45328c1a.h | 0 ...sampled_normals_pass_wave64_permutations.h | 0 ...s_16bit_51fe59c88cf97a5227ca5548ce1efd43.h | 0 ..._depths_and_mips_pass_16bit_permutations.h | 0 ...ps_pass_4685822535eae3a4b3fdc73658e4b7a5.h | 0 ...native_depths_and_mips_pass_permutations.h | 0 ...4_16bit_51fe59c88cf97a5227ca5548ce1efd43.h | 0 ..._and_mips_pass_wave64_16bit_permutations.h | 0 ..._wave64_4685822535eae3a4b3fdc73658e4b7a5.h | 0 ...depths_and_mips_pass_wave64_permutations.h | 0 ...s_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h | 0 ...tive_depths_half_pass_16bit_permutations.h | 0 ...lf_pass_2d48c74cd0606bafd90f35e8816d1574.h | 0 ...are_native_depths_half_pass_permutations.h | 0 ...4_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h | 0 ...pths_half_pass_wave64_16bit_permutations.h | 0 ..._wave64_2d48c74cd0606bafd90f35e8816d1574.h | 0 ...ive_depths_half_pass_wave64_permutations.h | 0 ...s_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h | 0 ...re_native_depths_pass_16bit_permutations.h | 0 ...hs_pass_6da417aea3359d11b7a6b343ab253597.h | 0 ..._prepare_native_depths_pass_permutations.h | 0 ...4_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h | 0 ...ve_depths_pass_wave64_16bit_permutations.h | 0 ..._wave64_6da417aea3359d11b7a6b343ab253597.h | 0 ...e_native_depths_pass_wave64_permutations.h | 0 ...s_16bit_bbfd84bbd243ce69d50c58156f3ead67.h | 0 ...om_input_normals_pass_16bit_permutations.h | 0 ...ls_pass_d772accf13e16b5f38a224bad0235680.h | 0 ...als_from_input_normals_pass_permutations.h | 0 ...4_16bit_bbfd84bbd243ce69d50c58156f3ead67.h | 0 ...t_normals_pass_wave64_16bit_permutations.h | 0 ..._wave64_d772accf13e16b5f38a224bad0235680.h | 0 ...m_input_normals_pass_wave64_permutations.h | 0 ...ls_pass_0f136d139584c1882b13f5f69482a981.h | 0 ...s_16bit_cda151d4d196eaf2706a8a2779193842.h | 0 ...e_native_normals_pass_16bit_permutations.h | 0 ...prepare_native_normals_pass_permutations.h | 0 ..._wave64_0f136d139584c1882b13f5f69482a981.h | 0 ...4_16bit_cda151d4d196eaf2706a8a2779193842.h | 0 ...e_normals_pass_wave64_16bit_permutations.h | 0 ..._native_normals_pass_wave64_permutations.h | 0 ...s_16bit_6735863dfc553a80926c7e55eae81480.h | 0 ...s_16bit_7f5556d857837346fe91fe0185e975bb.h | 0 ...le_bilateral_5x5_pass_16bit_permutations.h | 0 ...x5_pass_354a52eb970e14018c7aa438e2904841.h | 0 ...x5_pass_f7a51d1a46ca1f5cca1eb42e92a59fb2.h | 0 ..._upscale_bilateral_5x5_pass_permutations.h | 0 ...4_16bit_6735863dfc553a80926c7e55eae81480.h | 0 ...4_16bit_7f5556d857837346fe91fe0185e975bb.h | 0 ...teral_5x5_pass_wave64_16bit_permutations.h | 0 ..._wave64_354a52eb970e14018c7aa438e2904841.h | 0 ..._wave64_f7a51d1a46ca1f5cca1eb42e92a59fb2.h | 0 ...e_bilateral_5x5_pass_wave64_permutations.h | 0 ...en_pass_10bb96e410a90edecde1fa977ebe1a20.h | 0 ...s_16bit_3650fb3819f7db54097b35a945ca60e4.h | 0 ...s_16bit_55ce7b8c793d52914e2a4c14a89521e3.h | 0 ...s_16bit_9971d619f0f75a4542ccd5a19ffd4674.h | 0 ...s_16bit_9cd353fd093b50f9687386f43f934d42.h | 0 ...s_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h | 0 ...s_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h | 0 ...s_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h | 0 ...s_16bit_cef01ba1580769ca1bd8aa9c316b4136.h | 0 ...s_16bit_daa00b1f40dcc70943b3df1118b101f6.h | 0 ...s_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h | 0 .../ffx_cas_sharpen_pass_16bit_permutations.h | 0 ...en_pass_2ff92cac3c980a5172bea9a0ebd58c8d.h | 0 ...en_pass_34f572d4a633e2d7876dcdf102f34a4b.h | 0 ...en_pass_3ad7e3c0030e134c7f746753a7a2b2f5.h | 0 ...en_pass_732b7e7a488ee20f156397ec732202d9.h | 0 ...en_pass_9102acf8867fa2fa002b6c2bb9b67813.h | 0 ...en_pass_94deaa36d9f911cf8338829f771a4451.h | 0 ...en_pass_a33ae44ae22477131a379b703e383264.h | 0 ...en_pass_a815b565d207681093d2aca8e5d43390.h | 0 ...en_pass_af668f91c65a5976c01b99f55e42b9e0.h | 0 .../ffx_cas_sharpen_pass_permutations.h | 0 ..._wave64_10bb96e410a90edecde1fa977ebe1a20.h | 0 ...4_16bit_3650fb3819f7db54097b35a945ca60e4.h | 0 ...4_16bit_55ce7b8c793d52914e2a4c14a89521e3.h | 0 ...4_16bit_9971d619f0f75a4542ccd5a19ffd4674.h | 0 ...4_16bit_9cd353fd093b50f9687386f43f934d42.h | 0 ...4_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h | 0 ...4_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h | 0 ...4_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h | 0 ...4_16bit_cef01ba1580769ca1bd8aa9c316b4136.h | 0 ...4_16bit_daa00b1f40dcc70943b3df1118b101f6.h | 0 ...4_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h | 0 ...s_sharpen_pass_wave64_16bit_permutations.h | 0 ..._wave64_2ff92cac3c980a5172bea9a0ebd58c8d.h | 0 ..._wave64_34f572d4a633e2d7876dcdf102f34a4b.h | 0 ..._wave64_3ad7e3c0030e134c7f746753a7a2b2f5.h | 0 ..._wave64_732b7e7a488ee20f156397ec732202d9.h | 0 ..._wave64_9102acf8867fa2fa002b6c2bb9b67813.h | 0 ..._wave64_94deaa36d9f911cf8338829f771a4451.h | 0 ..._wave64_a33ae44ae22477131a379b703e383264.h | 0 ..._wave64_a815b565d207681093d2aca8e5d43390.h | 0 ..._wave64_af668f91c65a5976c01b99f55e42b9e0.h | 0 ...ffx_cas_sharpen_pass_wave64_permutations.h | 0 ...s_16bit_032706baa7070dc78ae92335347b0833.h | 0 ...s_16bit_c1fc5617269ec991320f3ceae8575bc6.h | 0 ...fier_reflections_pass_16bit_permutations.h | 0 ...ns_pass_72fedef5bf3e9aeacf58fa606e5e8bcc.h | 0 ...ns_pass_84272f7589d223922932ddceff5016b0.h | 0 ...classifier_reflections_pass_permutations.h | 0 ...4_16bit_032706baa7070dc78ae92335347b0833.h | 0 ...4_16bit_c1fc5617269ec991320f3ceae8575bc6.h | 0 ...flections_pass_wave64_16bit_permutations.h | 0 ..._wave64_72fedef5bf3e9aeacf58fa606e5e8bcc.h | 0 ..._wave64_84272f7589d223922932ddceff5016b0.h | 0 ...ier_reflections_pass_wave64_permutations.h | 0 ...s_16bit_76aa6779d6615090aa3cea512512fed8.h | 0 ...s_16bit_bd97567590633e48f922cec46147c13b.h | 0 ...s_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h | 0 ...s_16bit_f7b057284c8181978c9a7b90fbbdc448.h | 0 ...assifier_shadows_pass_16bit_permutations.h | 0 ...ws_pass_5f8193b973b86dae71ccc50c7f3cf043.h | 0 ...ws_pass_61261a8dd31d0da6b8a3c60f685ad881.h | 0 ...ws_pass_67894cb39a8c4844a354107f782ca0e5.h | 0 ...ws_pass_7b2bc5c70c7b2bddf296e0f0b38ada14.h | 0 ...ffx_classifier_shadows_pass_permutations.h | 0 ...4_16bit_76aa6779d6615090aa3cea512512fed8.h | 0 ...4_16bit_bd97567590633e48f922cec46147c13b.h | 0 ...4_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h | 0 ...4_16bit_f7b057284c8181978c9a7b90fbbdc448.h | 0 ...r_shadows_pass_wave64_16bit_permutations.h | 0 ..._wave64_5f8193b973b86dae71ccc50c7f3cf043.h | 0 ..._wave64_61261a8dd31d0da6b8a3c60f685ad881.h | 0 ..._wave64_67894cb39a8c4844a354107f782ca0e5.h | 0 ..._wave64_7b2bc5c70c7b2bddf296e0f0b38ada14.h | 0 ...ssifier_shadows_pass_wave64_permutations.h | 0 ...s_16bit_aba37f09f56279498c9092fa81f7b285.h | 0 ...r_soft_shadows_0_pass_16bit_permutations.h | 0 ..._0_pass_3252fd928c05ddb6fdc312ae0dd16a43.h | 0 ..._filter_soft_shadows_0_pass_permutations.h | 0 ...4_16bit_aba37f09f56279498c9092fa81f7b285.h | 0 ...shadows_0_pass_wave64_16bit_permutations.h | 0 ..._wave64_3252fd928c05ddb6fdc312ae0dd16a43.h | 0 ..._soft_shadows_0_pass_wave64_permutations.h | 0 ...s_16bit_b75a87a13ae4eb80abb89c85eb41e490.h | 0 ...r_soft_shadows_1_pass_16bit_permutations.h | 0 ..._1_pass_80680d88f4df0d3082b94b9f4a7a5e09.h | 0 ..._filter_soft_shadows_1_pass_permutations.h | 0 ...4_16bit_b75a87a13ae4eb80abb89c85eb41e490.h | 0 ...shadows_1_pass_wave64_16bit_permutations.h | 0 ..._wave64_80680d88f4df0d3082b94b9f4a7a5e09.h | 0 ..._soft_shadows_1_pass_wave64_permutations.h | 0 ...s_16bit_9e647e112cb7ca634955bae628fc5d37.h | 0 ...r_soft_shadows_2_pass_16bit_permutations.h | 0 ..._2_pass_378a92041f751bf4566155510bb4b482.h | 0 ..._filter_soft_shadows_2_pass_permutations.h | 0 ...4_16bit_9e647e112cb7ca634955bae628fc5d37.h | 0 ...shadows_2_pass_wave64_16bit_permutations.h | 0 ..._wave64_378a92041f751bf4566155510bb4b482.h | 0 ..._soft_shadows_2_pass_wave64_permutations.h | 0 ...s_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h | 0 ...lter_reflections_pass_16bit_permutations.h | 0 ...ns_pass_83d79e7994ac464957efc6472732172e.h | 0 ..._prefilter_reflections_pass_permutations.h | 0 ...4_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h | 0 ...flections_pass_wave64_16bit_permutations.h | 0 ..._wave64_83d79e7994ac464957efc6472732172e.h | 0 ...ter_reflections_pass_wave64_permutations.h | 0 ...s_16bit_f8cb7a0364535594fe9d830b83fd2b02.h | 0 ...pare_shadow_mask_pass_16bit_permutations.h | 0 ...sk_pass_f76457a39882ed0838d8c63aeeb36d7c.h | 0 ...er_prepare_shadow_mask_pass_permutations.h | 0 ...4_16bit_f8cb7a0364535594fe9d830b83fd2b02.h | 0 ...adow_mask_pass_wave64_16bit_permutations.h | 0 ..._wave64_f76457a39882ed0838d8c63aeeb36d7c.h | 0 ...are_shadow_mask_pass_wave64_permutations.h | 0 ...s_16bit_d6aa34d7c50771de3362bf114518bec9.h | 0 ...ject_reflections_pass_16bit_permutations.h | 0 ...ns_pass_976f0482a7fe17aee86f0d24c3170a6b.h | 0 ..._reproject_reflections_pass_permutations.h | 0 ...4_16bit_d6aa34d7c50771de3362bf114518bec9.h | 0 ...flections_pass_wave64_16bit_permutations.h | 0 ..._wave64_976f0482a7fe17aee86f0d24c3170a6b.h | 0 ...ect_reflections_pass_wave64_permutations.h | 0 ...s_16bit_52863fb7b02c4dc7c093edaac41a36fe.h | 0 ...oral_reflections_pass_16bit_permutations.h | 0 ...ns_pass_4dd2246b34a7fabdf74067b6349a4f68.h | 0 ...e_temporal_reflections_pass_permutations.h | 0 ...4_16bit_52863fb7b02c4dc7c093edaac41a36fe.h | 0 ...flections_pass_wave64_16bit_permutations.h | 0 ..._wave64_4dd2246b34a7fabdf74067b6349a4f68.h | 0 ...ral_reflections_pass_wave64_permutations.h | 0 ...s_16bit_02392f9c302ebb34eb59e813102b7d16.h | 0 ...s_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h | 0 ...e_classification_pass_16bit_permutations.h | 0 ...on_pass_9e17dc63a8a3237b0cfde3217d8df955.h | 0 ...on_pass_a91147b74bc330fe5e3e4f6a97530559.h | 0 ...ws_tile_classification_pass_permutations.h | 0 ...4_16bit_02392f9c302ebb34eb59e813102b7d16.h | 0 ...4_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h | 0 ...ification_pass_wave64_16bit_permutations.h | 0 ..._wave64_9e17dc63a8a3237b0cfde3217d8df955.h | 0 ..._wave64_a91147b74bc330fe5e3e4f6a97530559.h | 0 ..._classification_pass_wave64_permutations.h | 0 ...s_16bit_0dd62a0092f4a1382c13f834c60c487e.h | 0 ...s_16bit_1826926405ff512b8ffa950cbe4ec6c8.h | 0 .../ffx_dof_blur_pass_16bit_permutations.h | 0 ...ur_pass_5fda7ca35fb7e0569fcc63aeba9cd461.h | 0 ...ur_pass_b01d5f59b2eedfb0bcc6c777432d5ec7.h | 0 .../ffx_dof_blur_pass_permutations.h | 0 ...4_16bit_0dd62a0092f4a1382c13f834c60c487e.h | 0 ...4_16bit_1826926405ff512b8ffa950cbe4ec6c8.h | 0 ..._dof_blur_pass_wave64_16bit_permutations.h | 0 ..._wave64_5fda7ca35fb7e0569fcc63aeba9cd461.h | 0 ..._wave64_b01d5f59b2eedfb0bcc6c777432d5ec7.h | 0 .../ffx_dof_blur_pass_wave64_permutations.h | 0 ...s_16bit_01dc4df92d672adecd7536683c417d54.h | 0 ...s_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h | 0 ...fx_dof_composite_pass_16bit_permutations.h | 0 ...te_pass_788f9f4c5d669f22d2c0408ed740c925.h | 0 ...te_pass_fcff7ae56c85dc6f5bdc357092f31b6a.h | 0 .../ffx_dof_composite_pass_permutations.h | 0 ...4_16bit_01dc4df92d672adecd7536683c417d54.h | 0 ...4_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h | 0 ...composite_pass_wave64_16bit_permutations.h | 0 ..._wave64_788f9f4c5d669f22d2c0408ed740c925.h | 0 ..._wave64_fcff7ae56c85dc6f5bdc357092f31b6a.h | 0 ...x_dof_composite_pass_wave64_permutations.h | 0 ...s_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h | 0 .../ffx_dof_dilate_pass_16bit_permutations.h | 0 ...te_pass_efed63cb90e91ecc6ccc5c2854159173.h | 0 .../ffx_dof_dilate_pass_permutations.h | 0 ...4_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h | 0 ...of_dilate_pass_wave64_16bit_permutations.h | 0 ..._wave64_efed63cb90e91ecc6ccc5c2854159173.h | 0 .../ffx_dof_dilate_pass_wave64_permutations.h | 0 ...s_16bit_7793a5891ad85768a02f8ca6caa11346.h | 0 ...downsample_color_pass_16bit_permutations.h | 0 ...or_pass_9226c0d85bea1c6bc6d89013bccb1af8.h | 0 ...x_dof_downsample_color_pass_permutations.h | 0 ...4_16bit_7793a5891ad85768a02f8ca6caa11346.h | 0 ...ple_color_pass_wave64_16bit_permutations.h | 0 ..._wave64_9226c0d85bea1c6bc6d89013bccb1af8.h | 0 ...ownsample_color_pass_wave64_permutations.h | 0 ...s_16bit_22237156f20b7e38b8f381ac363b578d.h | 0 ...s_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h | 0 ...downsample_depth_pass_16bit_permutations.h | 0 ...th_pass_2c320d82f30a0a55ba879e40c8010a10.h | 0 ...th_pass_d7bedcab6a82e49eb1372208433eff39.h | 0 ...x_dof_downsample_depth_pass_permutations.h | 0 ...4_16bit_22237156f20b7e38b8f381ac363b578d.h | 0 ...4_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h | 0 ...ple_depth_pass_wave64_16bit_permutations.h | 0 ..._wave64_2c320d82f30a0a55ba879e40c8010a10.h | 0 ..._wave64_d7bedcab6a82e49eb1372208433eff39.h | 0 ...ownsample_depth_pass_wave64_permutations.h | 0 ...su_pass_0ab2330896f4186cdac7246134218901.h | 0 ...su_pass_11618bd7a15709296ce37e3ce359bc99.h | 0 ...s_16bit_0a74e9d78c23c9af798172fdff06b90a.h | 0 ...s_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h | 0 ...s_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h | 0 ...s_16bit_ab4ca463f7238c5ab4883989d9501bd2.h | 0 .../ffx_fsr1_easu_pass_16bit_permutations.h | 0 ...su_pass_21b3ea00725cfd6388f122c309d6960a.h | 0 ...su_pass_2d8ff36661aea7a18db54db7298650d6.h | 0 .../ffx_fsr1_easu_pass_permutations.h | 0 ..._wave64_0ab2330896f4186cdac7246134218901.h | 0 ..._wave64_11618bd7a15709296ce37e3ce359bc99.h | 0 ...4_16bit_0a74e9d78c23c9af798172fdff06b90a.h | 0 ...4_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h | 0 ...4_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h | 0 ...4_16bit_ab4ca463f7238c5ab4883989d9501bd2.h | 0 ...fsr1_easu_pass_wave64_16bit_permutations.h | 0 ..._wave64_21b3ea00725cfd6388f122c309d6960a.h | 0 ..._wave64_2d8ff36661aea7a18db54db7298650d6.h | 0 .../ffx_fsr1_easu_pass_wave64_permutations.h | 0 ...s_16bit_086a124ac87bb4442eb4207eed8636ac.h | 0 ...s_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h | 0 .../ffx_fsr1_rcas_pass_16bit_permutations.h | 0 ...as_pass_22d4143bd1d9b43a963eafbb0ccb7870.h | 0 ...as_pass_383771747daa24356d9148d29cfbf350.h | 0 .../ffx_fsr1_rcas_pass_permutations.h | 0 ...4_16bit_086a124ac87bb4442eb4207eed8636ac.h | 0 ...4_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h | 0 ...fsr1_rcas_pass_wave64_16bit_permutations.h | 0 ..._wave64_22d4143bd1d9b43a963eafbb0ccb7870.h | 0 ..._wave64_383771747daa24356d9148d29cfbf350.h | 0 .../ffx_fsr1_rcas_pass_wave64_permutations.h | 0 ...te_pass_0990e9f53eb03aae4cfff77b5e1b1974.h | 0 ...te_pass_0e036f1bfab74620f24f3fc35b2a080f.h | 0 ...te_pass_10f9ca568c6746630201a8cfd0dec087.h | 0 ...s_16bit_011a4cf531b86059c4466c445fa60e00.h | 0 ...s_16bit_12354a4d35484dcbf21a82c2d2a2e506.h | 0 ...s_16bit_1f3f6a26fef776547dafccaa363d304e.h | 0 ...s_16bit_403d30d57a7507ae2a83027b0618a22c.h | 0 ...s_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h | 0 ...s_16bit_4d21166704cff391d964388846231cad.h | 0 ...s_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h | 0 ...s_16bit_5bfa34ff83db0c6145733708aea5a9d1.h | 0 ...s_16bit_78550d05d93aabddbab359cde070a52f.h | 0 ...s_16bit_7cf329dae8fab3299fbf81caa897fc82.h | 0 ...s_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h | 0 ...s_16bit_809907fdcfe68cd8238aa36c58501efb.h | 0 ...s_16bit_8328f4f86651af8383130f42f17d5c98.h | 0 ...s_16bit_89a79052f15bc9cb6bd4d7df2963106d.h | 0 ...s_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h | 0 ...s_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h | 0 ...s_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h | 0 ...s_16bit_9f9a79bac46d8051d974c8361506a7c7.h | 0 ...s_16bit_a350efdd6172c098a738ba2f27337a6d.h | 0 ...s_16bit_b509ae341f3b3bb7b9a87b67c8991517.h | 0 ...s_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h | 0 ...s_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h | 0 ...s_16bit_cd4fb5e1edc8133dddbf099016571919.h | 0 ...s_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h | 0 ..._fsr2_accumulate_pass_16bit_permutations.h | 0 ...te_pass_1c4ec2a9de9183d1ef9d67b2d67a4916.h | 0 ...te_pass_1e5fea5b9e4cc13cac7c5c42ca6286fb.h | 0 ...te_pass_23941396b5da258210ef2d11a72ee538.h | 0 ...te_pass_335a80728c480180fa7e234fded3f57e.h | 0 ...te_pass_39295ce848df2142ca455eb774294fd9.h | 0 ...te_pass_430c759bda888218cdea04b2858c4137.h | 0 ...te_pass_5cc06057987ac30e6500a6d9d6c26d94.h | 0 ...te_pass_5e781315bedeaa5b9521f708a99fcacc.h | 0 ...te_pass_6b943acef043a3ccf84282dd1c9db3f8.h | 0 ...te_pass_72fcac094ebcaff3cfeda3ad814dc113.h | 0 ...te_pass_775fe6d88732ea46f33e10e48b840f7c.h | 0 ...te_pass_807508471488f9571c0c51d350efc589.h | 0 ...te_pass_a03c6af592e0480b02425fa4d221710b.h | 0 ...te_pass_a6000bedb54cd8b59259e300f9adc79d.h | 0 ...te_pass_a8f555cedee2ae1ee3a419de963657c1.h | 0 ...te_pass_e0df91126b22be1a82e668110090f858.h | 0 ...te_pass_edcd820046f60015aaf94df7a363164d.h | 0 ...te_pass_eebe3f28be4f5377303e3810153bb13c.h | 0 ...te_pass_f2f2d1bc1b5297c00a7dd941da664055.h | 0 ...te_pass_f8110316bde093f4d56a4d980226b7c9.h | 0 ...te_pass_fbb3f0d9bd72a3ea295f4dc27982c94b.h | 0 .../ffx_fsr2_accumulate_pass_permutations.h | 0 ..._wave64_0990e9f53eb03aae4cfff77b5e1b1974.h | 0 ..._wave64_0e036f1bfab74620f24f3fc35b2a080f.h | 0 ..._wave64_10f9ca568c6746630201a8cfd0dec087.h | 0 ...4_16bit_011a4cf531b86059c4466c445fa60e00.h | 0 ...4_16bit_12354a4d35484dcbf21a82c2d2a2e506.h | 0 ...4_16bit_1f3f6a26fef776547dafccaa363d304e.h | 0 ...4_16bit_403d30d57a7507ae2a83027b0618a22c.h | 0 ...4_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h | 0 ...4_16bit_4d21166704cff391d964388846231cad.h | 0 ...4_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h | 0 ...4_16bit_5bfa34ff83db0c6145733708aea5a9d1.h | 0 ...4_16bit_78550d05d93aabddbab359cde070a52f.h | 0 ...4_16bit_7cf329dae8fab3299fbf81caa897fc82.h | 0 ...4_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h | 0 ...4_16bit_809907fdcfe68cd8238aa36c58501efb.h | 0 ...4_16bit_8328f4f86651af8383130f42f17d5c98.h | 0 ...4_16bit_89a79052f15bc9cb6bd4d7df2963106d.h | 0 ...4_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h | 0 ...4_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h | 0 ...4_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h | 0 ...4_16bit_9f9a79bac46d8051d974c8361506a7c7.h | 0 ...4_16bit_a350efdd6172c098a738ba2f27337a6d.h | 0 ...4_16bit_b509ae341f3b3bb7b9a87b67c8991517.h | 0 ...4_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h | 0 ...4_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h | 0 ...4_16bit_cd4fb5e1edc8133dddbf099016571919.h | 0 ...4_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h | 0 ...ccumulate_pass_wave64_16bit_permutations.h | 0 ..._wave64_1c4ec2a9de9183d1ef9d67b2d67a4916.h | 0 ..._wave64_1e5fea5b9e4cc13cac7c5c42ca6286fb.h | 0 ..._wave64_23941396b5da258210ef2d11a72ee538.h | 0 ..._wave64_335a80728c480180fa7e234fded3f57e.h | 0 ..._wave64_39295ce848df2142ca455eb774294fd9.h | 0 ..._wave64_430c759bda888218cdea04b2858c4137.h | 0 ..._wave64_5cc06057987ac30e6500a6d9d6c26d94.h | 0 ..._wave64_5e781315bedeaa5b9521f708a99fcacc.h | 0 ..._wave64_6b943acef043a3ccf84282dd1c9db3f8.h | 0 ..._wave64_72fcac094ebcaff3cfeda3ad814dc113.h | 0 ..._wave64_775fe6d88732ea46f33e10e48b840f7c.h | 0 ..._wave64_807508471488f9571c0c51d350efc589.h | 0 ..._wave64_a03c6af592e0480b02425fa4d221710b.h | 0 ..._wave64_a6000bedb54cd8b59259e300f9adc79d.h | 0 ..._wave64_a8f555cedee2ae1ee3a419de963657c1.h | 0 ..._wave64_e0df91126b22be1a82e668110090f858.h | 0 ..._wave64_edcd820046f60015aaf94df7a363164d.h | 0 ..._wave64_eebe3f28be4f5377303e3810153bb13c.h | 0 ..._wave64_f2f2d1bc1b5297c00a7dd941da664055.h | 0 ..._wave64_f8110316bde093f4d56a4d980226b7c9.h | 0 ..._wave64_fbb3f0d9bd72a3ea295f4dc27982c94b.h | 0 ...fsr2_accumulate_pass_wave64_permutations.h | 0 ...s_16bit_82ee9b49309c39f2759745e2a240a3f8.h | 0 ...autogen_reactive_pass_16bit_permutations.h | 0 ...ve_pass_d303067f5e3f729a7d5626e1014fbcd5.h | 0 ..._fsr2_autogen_reactive_pass_permutations.h | 0 ...4_16bit_82ee9b49309c39f2759745e2a240a3f8.h | 0 ..._reactive_pass_wave64_16bit_permutations.h | 0 ..._wave64_d303067f5e3f729a7d5626e1014fbcd5.h | 0 ...utogen_reactive_pass_wave64_permutations.h | 0 ...s_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h | 0 ...uminance_pyramid_pass_16bit_permutations.h | 0 ...id_pass_dc90781c08a67cd61bc9ac5b39f787fc.h | 0 ...pute_luminance_pyramid_pass_permutations.h | 0 ...4_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h | 0 ...e_pyramid_pass_wave64_16bit_permutations.h | 0 ..._wave64_dc90781c08a67cd61bc9ac5b39f787fc.h | 0 ...minance_pyramid_pass_wave64_permutations.h | 0 ...s_16bit_17c08766678024b757077fe20319af22.h | 0 ...s_16bit_2e7180151d47c5dba94a66d89627e9d3.h | 0 ...s_16bit_82768660d8313d690164e7f40352bc83.h | 0 ...s_16bit_986b506def36a655d90207ce904f68e1.h | 0 ...s_16bit_cfa975d05ebe6c5d02c3206432a2e855.h | 0 ...s_16bit_def8e87039cdd217cb4c798bbe3000b9.h | 0 ...s_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h | 0 ...s_16bit_fe3c133e58a7a10c00198c94033c9a04.h | 0 ..._fsr2_depth_clip_pass_16bit_permutations.h | 0 ...ip_pass_2e9135bf4631e278b4e935f8182a1b42.h | 0 ...ip_pass_501f8d5a21730dc23c8e35980113f258.h | 0 ...ip_pass_652cbd10962b9bff89f57632d3db4665.h | 0 ...ip_pass_b37ac32ed61bf8d861ee72d067e200db.h | 0 ...ip_pass_bdace09eabad9104ded34bc698d601d7.h | 0 ...ip_pass_c1eb21fc940f3969839954b389328d68.h | 0 ...ip_pass_c463bf7b993e83ce2bfd40bb04a73a52.h | 0 ...ip_pass_ca4757ee37d2efbe4fab82a8cca3f3e5.h | 0 .../ffx_fsr2_depth_clip_pass_permutations.h | 0 ...4_16bit_17c08766678024b757077fe20319af22.h | 0 ...4_16bit_2e7180151d47c5dba94a66d89627e9d3.h | 0 ...4_16bit_82768660d8313d690164e7f40352bc83.h | 0 ...4_16bit_986b506def36a655d90207ce904f68e1.h | 0 ...4_16bit_cfa975d05ebe6c5d02c3206432a2e855.h | 0 ...4_16bit_def8e87039cdd217cb4c798bbe3000b9.h | 0 ...4_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h | 0 ...4_16bit_fe3c133e58a7a10c00198c94033c9a04.h | 0 ...epth_clip_pass_wave64_16bit_permutations.h | 0 ..._wave64_2e9135bf4631e278b4e935f8182a1b42.h | 0 ..._wave64_501f8d5a21730dc23c8e35980113f258.h | 0 ..._wave64_652cbd10962b9bff89f57632d3db4665.h | 0 ..._wave64_b37ac32ed61bf8d861ee72d067e200db.h | 0 ..._wave64_bdace09eabad9104ded34bc698d601d7.h | 0 ..._wave64_c1eb21fc940f3969839954b389328d68.h | 0 ..._wave64_c463bf7b993e83ce2bfd40bb04a73a52.h | 0 ..._wave64_ca4757ee37d2efbe4fab82a8cca3f3e5.h | 0 ...fsr2_depth_clip_pass_wave64_permutations.h | 0 ...s_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h | 0 ...s_16bit_a52197128a48ed3e918ac274fc4373cc.h | 0 .../ffx_fsr2_lock_pass_16bit_permutations.h | 0 ...ck_pass_58ae598722e20fb1521e5331dea8bae3.h | 0 ...ck_pass_6dccce5a06361aec1ccffe2e42aa4dac.h | 0 .../ffx_fsr2_lock_pass_permutations.h | 0 ...4_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h | 0 ...4_16bit_a52197128a48ed3e918ac274fc4373cc.h | 0 ...fsr2_lock_pass_wave64_16bit_permutations.h | 0 ..._wave64_58ae598722e20fb1521e5331dea8bae3.h | 0 ..._wave64_6dccce5a06361aec1ccffe2e42aa4dac.h | 0 .../ffx_fsr2_lock_pass_wave64_permutations.h | 0 ...s_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h | 0 .../ffx_fsr2_rcas_pass_16bit_permutations.h | 0 ...as_pass_95e7faa447b4e867ae430266ee555aa4.h | 0 .../ffx_fsr2_rcas_pass_permutations.h | 0 ...4_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h | 0 ...fsr2_rcas_pass_wave64_16bit_permutations.h | 0 ..._wave64_95e7faa447b4e867ae430266ee555aa4.h | 0 .../ffx_fsr2_rcas_pass_wave64_permutations.h | 0 ...s_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h | 0 ...s_16bit_0b541155a76c4cb727291e60be3ed663.h | 0 ...s_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h | 0 ...s_16bit_4736c98c3db3d218596c5f9b245f9540.h | 0 ...s_16bit_4ad437864d230c241d6df5b67ba2b113.h | 0 ...s_16bit_71d5a96e0faf73659215f64d4d8e5089.h | 0 ...s_16bit_72b17f87cc8796230511034dfc6919c9.h | 0 ...s_16bit_72b6973622762ced21a2b105dc25f363.h | 0 ...s_16bit_73e4c1a4fff79e2988366f8430bb931f.h | 0 ...s_16bit_7e0095f7d55b31d61828620d3dd53f39.h | 0 ...s_16bit_82de6c56d129c738a7e31e72d8221835.h | 0 ...s_16bit_842cf7b01b40cef0925e3904501cce93.h | 0 ...s_16bit_8c0a07e7b247305146a6a91cdc751081.h | 0 ...s_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h | 0 ...s_16bit_9cb6d0a61acf686c73c948b580539e1f.h | 0 ...s_16bit_b37a8f7e104f93eecba2ad7053a8474b.h | 0 ...t_previous_depth_pass_16bit_permutations.h | 0 ...th_pass_2f70862189586ac7d21ede5fe6a1e249.h | 0 ...th_pass_343ae3ec3504477ef4eb05bcb1e5059a.h | 0 ...th_pass_5002ac749992c93e2e6c4b7077a9756d.h | 0 ...th_pass_58f0a8f1088ebad2f9c8bba16dfc776e.h | 0 ...th_pass_6ebba9681b47190d59308f747f91bb9c.h | 0 ...th_pass_6f664fa44a2606e550cdeff6e1a49b45.h | 0 ...th_pass_7f025f43cc6125709f2b72e3f59495ab.h | 0 ...th_pass_8ad19580f820b3477075babd9714a91f.h | 0 ...th_pass_a3cf0e6618d0e99f0160abd44e743cb2.h | 0 ...th_pass_a9cc013215d59b9b947a35569bad0f97.h | 0 ...th_pass_aa36d13c7876dd47da304575ef9c6e2c.h | 0 ...th_pass_ac6eaaf95e92b0112cf83eb48d8a6ca6.h | 0 ...th_pass_be3d9d4f65f9f461b48900a91aa09b5a.h | 0 ...th_pass_d01eb7557ead70435a206eb862e42b87.h | 0 ...th_pass_dfc72a1c0f80394eebcc238d1d88c3e0.h | 0 ...th_pass_e439e83ea8155563262c75c3e805b4ee.h | 0 ...nstruct_previous_depth_pass_permutations.h | 0 ...4_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h | 0 ...4_16bit_0b541155a76c4cb727291e60be3ed663.h | 0 ...4_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h | 0 ...4_16bit_4736c98c3db3d218596c5f9b245f9540.h | 0 ...4_16bit_4ad437864d230c241d6df5b67ba2b113.h | 0 ...4_16bit_71d5a96e0faf73659215f64d4d8e5089.h | 0 ...4_16bit_72b17f87cc8796230511034dfc6919c9.h | 0 ...4_16bit_72b6973622762ced21a2b105dc25f363.h | 0 ...4_16bit_73e4c1a4fff79e2988366f8430bb931f.h | 0 ...4_16bit_7e0095f7d55b31d61828620d3dd53f39.h | 0 ...4_16bit_82de6c56d129c738a7e31e72d8221835.h | 0 ...4_16bit_842cf7b01b40cef0925e3904501cce93.h | 0 ...4_16bit_8c0a07e7b247305146a6a91cdc751081.h | 0 ...4_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h | 0 ...4_16bit_9cb6d0a61acf686c73c948b580539e1f.h | 0 ...4_16bit_b37a8f7e104f93eecba2ad7053a8474b.h | 0 ...ous_depth_pass_wave64_16bit_permutations.h | 0 ..._wave64_2f70862189586ac7d21ede5fe6a1e249.h | 0 ..._wave64_343ae3ec3504477ef4eb05bcb1e5059a.h | 0 ..._wave64_5002ac749992c93e2e6c4b7077a9756d.h | 0 ..._wave64_58f0a8f1088ebad2f9c8bba16dfc776e.h | 0 ..._wave64_6ebba9681b47190d59308f747f91bb9c.h | 0 ..._wave64_6f664fa44a2606e550cdeff6e1a49b45.h | 0 ..._wave64_7f025f43cc6125709f2b72e3f59495ab.h | 0 ..._wave64_8ad19580f820b3477075babd9714a91f.h | 0 ..._wave64_a3cf0e6618d0e99f0160abd44e743cb2.h | 0 ..._wave64_a9cc013215d59b9b947a35569bad0f97.h | 0 ..._wave64_aa36d13c7876dd47da304575ef9c6e2c.h | 0 ..._wave64_ac6eaaf95e92b0112cf83eb48d8a6ca6.h | 0 ..._wave64_be3d9d4f65f9f461b48900a91aa09b5a.h | 0 ..._wave64_d01eb7557ead70435a206eb862e42b87.h | 0 ..._wave64_dfc72a1c0f80394eebcc238d1d88c3e0.h | 0 ..._wave64_e439e83ea8155563262c75c3e805b4ee.h | 0 ..._previous_depth_pass_wave64_permutations.h | 0 ...s_16bit_4d28ce40642ee6b9398eeb81f061d514.h | 0 ...s_16bit_9ef900348d8420a71c7f917ad8e97c80.h | 0 ...fsr2_tcr_autogen_pass_16bit_permutations.h | 0 ...en_pass_278c91eeed67d2b81d5be4a40351664f.h | 0 ...en_pass_e813bfb0bd6c4d146c29f2ac18e43e51.h | 0 .../ffx_fsr2_tcr_autogen_pass_permutations.h | 0 ...4_16bit_4d28ce40642ee6b9398eeb81f061d514.h | 0 ...4_16bit_9ef900348d8420a71c7f917ad8e97c80.h | 0 ...r_autogen_pass_wave64_16bit_permutations.h | 0 ..._wave64_278c91eeed67d2b81d5be4a40351664f.h | 0 ..._wave64_e813bfb0bd6c4d146c29f2ac18e43e51.h | 0 ...sr2_tcr_autogen_pass_wave64_permutations.h | 0 ...s_16bit_b1da9245616e374ba2b5b1b93ee854c2.h | 0 .../ffx_lens_pass_16bit_permutations.h | 0 ...ns_pass_c92691ef55f053e5bcf8ec62930825f8.h | 0 .../permutations/ffx_lens_pass_permutations.h | 0 ...4_16bit_b1da9245616e374ba2b5b1b93ee854c2.h | 0 .../ffx_lens_pass_wave64_16bit_permutations.h | 0 ..._wave64_c92691ef55f053e5bcf8ec62930825f8.h | 0 .../ffx_lens_pass_wave64_permutations.h | 0 ...s_16bit_ae73a771e31f2cef1ac68723293a719e.h | 0 .../ffx_lpm_filter_pass_16bit_permutations.h | 0 ...er_pass_6a7f138a1894f2743ceaef850ab4aec7.h | 0 .../ffx_lpm_filter_pass_permutations.h | 0 ...4_16bit_ae73a771e31f2cef1ac68723293a719e.h | 0 ...pm_filter_pass_wave64_16bit_permutations.h | 0 ..._wave64_6a7f138a1894f2743ceaef850ab4aec7.h | 0 .../ffx_lpm_filter_pass_wave64_permutations.h | 0 ...s_16bit_5b4666dc306868898ea8393dcea69bcb.h | 0 ...allelsort_reduce_pass_16bit_permutations.h | 0 ...ce_pass_76fbf9d3d25f4ce0bf0267ac22fbbb51.h | 0 ...fx_parallelsort_reduce_pass_permutations.h | 0 ...4_16bit_5b4666dc306868898ea8393dcea69bcb.h | 0 ...rt_reduce_pass_wave64_16bit_permutations.h | 0 ..._wave64_76fbf9d3d25f4ce0bf0267ac22fbbb51.h | 0 ...llelsort_reduce_pass_wave64_permutations.h | 0 ...dd_pass_03fde795efe63102b2396e5dd855f169.h | 0 ...s_16bit_78095d34b04a6a9954f96e5cdcceb90f.h | 0 ...lelsort_scan_add_pass_16bit_permutations.h | 0 ..._parallelsort_scan_add_pass_permutations.h | 0 ..._wave64_03fde795efe63102b2396e5dd855f169.h | 0 ...4_16bit_78095d34b04a6a9954f96e5cdcceb90f.h | 0 ..._scan_add_pass_wave64_16bit_permutations.h | 0 ...elsort_scan_add_pass_wave64_permutations.h | 0 ...s_16bit_58e7b063f50d7fd9a747876a7414d7ba.h | 0 ...arallelsort_scan_pass_16bit_permutations.h | 0 ...an_pass_81d966ac20a3f61a8ddcdbc964794297.h | 0 .../ffx_parallelsort_scan_pass_permutations.h | 0 ...4_16bit_58e7b063f50d7fd9a747876a7414d7ba.h | 0 ...sort_scan_pass_wave64_16bit_permutations.h | 0 ..._wave64_81d966ac20a3f61a8ddcdbc964794297.h | 0 ...rallelsort_scan_pass_wave64_permutations.h | 0 ...s_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h | 0 ...s_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h | 0 ...llelsort_scatter_pass_16bit_permutations.h | 0 ...er_pass_18dc86ffca3bc936e56249604df2d9f2.h | 0 ...er_pass_28506f8a9b9a259e6ff3998d6d805eaa.h | 0 ...x_parallelsort_scatter_pass_permutations.h | 0 ...4_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h | 0 ...4_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h | 0 ...t_scatter_pass_wave64_16bit_permutations.h | 0 ..._wave64_18dc86ffca3bc936e56249604df2d9f2.h | 0 ..._wave64_28506f8a9b9a259e6ff3998d6d805eaa.h | 0 ...lelsort_scatter_pass_wave64_permutations.h | 0 ...s_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h | 0 ...up_indirect_args_pass_16bit_permutations.h | 0 ...gs_pass_b1a8186347c730bf35e45bf1ec13b497.h | 0 ...rt_setup_indirect_args_pass_permutations.h | 0 ...4_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h | 0 ...rect_args_pass_wave64_16bit_permutations.h | 0 ..._wave64_b1a8186347c730bf35e45bf1ec13b497.h | 0 ...p_indirect_args_pass_wave64_permutations.h | 0 ...s_16bit_216a92299e05c11a1e76872eec7d4091.h | 0 ...parallelsort_sum_pass_16bit_permutations.h | 0 ...um_pass_d6f510cff7d7592d6fad7e71a905af25.h | 0 .../ffx_parallelsort_sum_pass_permutations.h | 0 ...4_16bit_216a92299e05c11a1e76872eec7d4091.h | 0 ...lsort_sum_pass_wave64_16bit_permutations.h | 0 ..._wave64_d6f510cff7d7592d6fad7e71a905af25.h | 0 ...arallelsort_sum_pass_wave64_permutations.h | 0 ...s_16bit_19c2d828018507763689e2c818da36c0.h | 0 ...s_16bit_1b956abb0cdcd744010577807d3e825f.h | 0 ...s_16bit_2ac4df2b65bf853494d213cc1ed27c85.h | 0 ...s_16bit_2dcc135fa031a5f818348e69f5b58faf.h | 0 ...s_16bit_37e1738fd1a919c63b0a94a83a87a494.h | 0 ...s_16bit_4baf66795114f974c2b546aca71b2e91.h | 0 ...s_16bit_5fc8c6307874026ce663aee6f92c1f33.h | 0 ...s_16bit_9da22ae4adbaab28a989fa361934a2ac.h | 0 ...s_16bit_9feeba671f045e755197855770d43c6e.h | 0 ...s_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h | 0 ...s_16bit_f0d6bee33f072ff4407e5102d04c7641.h | 0 ...s_16bit_f3db230d999f3392ac83638c480a0a3c.h | 0 ...x_spd_downsample_pass_16bit_permutations.h | 0 ...le_pass_1aa4209744f32241339ab1a79960ed74.h | 0 ...le_pass_31f1ef1382edd12e3518d6c2699c5e8c.h | 0 ...le_pass_35405b2c2d0d478aa6dc7f7dca997d48.h | 0 ...le_pass_3f6bcc8004da44cf4a21b42f01e17c38.h | 0 ...le_pass_461d293ac6a2ee15caa9458226a40a8b.h | 0 ...le_pass_5465da32916b73b72b45e9ae4116c0ba.h | 0 ...le_pass_93f831bc1aa2a4dca97eb3341d142f03.h | 0 ...le_pass_9bf84f558cde687bad42c17ed1602d4a.h | 0 ...le_pass_a1ee28707e23f14670a1e3f559a85abd.h | 0 ...le_pass_b9eab752aaf4ec786d4ca8d654518d08.h | 0 ...le_pass_c066b458eaa0b57aa1b763888a383b18.h | 0 ...le_pass_c3217cd872267a6527133ec838d9ebd4.h | 0 .../ffx_spd_downsample_pass_permutations.h | 0 ...4_16bit_19c2d828018507763689e2c818da36c0.h | 0 ...4_16bit_1b956abb0cdcd744010577807d3e825f.h | 0 ...4_16bit_2ac4df2b65bf853494d213cc1ed27c85.h | 0 ...4_16bit_2dcc135fa031a5f818348e69f5b58faf.h | 0 ...4_16bit_37e1738fd1a919c63b0a94a83a87a494.h | 0 ...4_16bit_4baf66795114f974c2b546aca71b2e91.h | 0 ...4_16bit_5fc8c6307874026ce663aee6f92c1f33.h | 0 ...4_16bit_9da22ae4adbaab28a989fa361934a2ac.h | 0 ...4_16bit_9feeba671f045e755197855770d43c6e.h | 0 ...4_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h | 0 ...4_16bit_f0d6bee33f072ff4407e5102d04c7641.h | 0 ...4_16bit_f3db230d999f3392ac83638c480a0a3c.h | 0 ...ownsample_pass_wave64_16bit_permutations.h | 0 ..._wave64_1aa4209744f32241339ab1a79960ed74.h | 0 ..._wave64_31f1ef1382edd12e3518d6c2699c5e8c.h | 0 ..._wave64_35405b2c2d0d478aa6dc7f7dca997d48.h | 0 ..._wave64_3f6bcc8004da44cf4a21b42f01e17c38.h | 0 ..._wave64_461d293ac6a2ee15caa9458226a40a8b.h | 0 ..._wave64_5465da32916b73b72b45e9ae4116c0ba.h | 0 ..._wave64_93f831bc1aa2a4dca97eb3341d142f03.h | 0 ..._wave64_9bf84f558cde687bad42c17ed1602d4a.h | 0 ..._wave64_a1ee28707e23f14670a1e3f559a85abd.h | 0 ..._wave64_b9eab752aaf4ec786d4ca8d654518d08.h | 0 ..._wave64_c066b458eaa0b57aa1b763888a383b18.h | 0 ..._wave64_c3217cd872267a6527133ec838d9ebd4.h | 0 ..._spd_downsample_pass_wave64_permutations.h | 0 ...s_16bit_019d887b8cac960872393714416c57f6.h | 0 ...s_16bit_58c54af7805d9269215e127be986d130.h | 0 ...r_classify_tiles_pass_16bit_permutations.h | 0 ...es_pass_19f4ac8525a041d8bb6ddae74c2ec2a7.h | 0 ...es_pass_5187947b42daae4032cc982efaac301e.h | 0 ...fx_sssr_classify_tiles_pass_permutations.h | 0 ...4_16bit_019d887b8cac960872393714416c57f6.h | 0 ...4_16bit_58c54af7805d9269215e127be986d130.h | 0 ...ify_tiles_pass_wave64_16bit_permutations.h | 0 ..._wave64_19f4ac8525a041d8bb6ddae74c2ec2a7.h | 0 ..._wave64_5187947b42daae4032cc982efaac301e.h | 0 ..._classify_tiles_pass_wave64_permutations.h | 0 ...s_16bit_17f6c30839c607ccf7fbba4f13b7af81.h | 0 ...s_16bit_5d87a86f251ab54826571c3f962735ee.h | 0 ...depth_downsample_pass_16bit_permutations.h | 0 ...le_pass_965116e121ba3d276b783d5d6cf252b7.h | 0 ...le_pass_f30b9c59e61e1bd58e7a543c31d0fc2c.h | 0 ..._sssr_depth_downsample_pass_permutations.h | 0 ...4_16bit_17f6c30839c607ccf7fbba4f13b7af81.h | 0 ...4_16bit_5d87a86f251ab54826571c3f962735ee.h | 0 ...ownsample_pass_wave64_16bit_permutations.h | 0 ..._wave64_965116e121ba3d276b783d5d6cf252b7.h | 0 ..._wave64_f30b9c59e61e1bd58e7a543c31d0fc2c.h | 0 ...epth_downsample_pass_wave64_permutations.h | 0 ...s_16bit_aaa350f9560609843dd14fdd799137e2.h | 0 ...s_16bit_f901ae5e902c4490d7ecbd18951dc674.h | 0 ...x_sssr_intersect_pass_16bit_permutations.h | 0 ...ct_pass_3dd8815b40bd48cdaeecb8b8e7c5032b.h | 0 ...ct_pass_ca9fdb447b9505fc97fa39a7d37d237a.h | 0 .../ffx_sssr_intersect_pass_permutations.h | 0 ...4_16bit_aaa350f9560609843dd14fdd799137e2.h | 0 ...4_16bit_f901ae5e902c4490d7ecbd18951dc674.h | 0 ...intersect_pass_wave64_16bit_permutations.h | 0 ..._wave64_3dd8815b40bd48cdaeecb8b8e7c5032b.h | 0 ..._wave64_ca9fdb447b9505fc97fa39a7d37d237a.h | 0 ..._sssr_intersect_pass_wave64_permutations.h | 0 ...s_16bit_3d88a49205af4d76a808a3161ed4d556.h | 0 ...ue_noise_texture_pass_16bit_permutations.h | 0 ...re_pass_7480e3891a5c50fcd07e9a49c3659772.h | 0 ...are_blue_noise_texture_pass_permutations.h | 0 ...4_16bit_3d88a49205af4d76a808a3161ed4d556.h | 0 ...e_texture_pass_wave64_16bit_permutations.h | 0 ..._wave64_7480e3891a5c50fcd07e9a49c3659772.h | 0 ...e_noise_texture_pass_wave64_permutations.h | 0 ...s_16bit_ffee5de94bf8ff0dcd208b3456513238.h | 0 ...re_indirect_args_pass_16bit_permutations.h | 0 ...gs_pass_61ddd2dc95b1b449b812ff8a24a84bd2.h | 0 ..._prepare_indirect_args_pass_permutations.h | 0 ...4_16bit_ffee5de94bf8ff0dcd208b3456513238.h | 0 ...rect_args_pass_wave64_16bit_permutations.h | 0 ..._wave64_61ddd2dc95b1b449b812ff8a24a84bd2.h | 0 ...e_indirect_args_pass_wave64_permutations.h | 0 ...en_pass_00e83ff17bc5ee9978142fae818fb34d.h | 0 ...s_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h | 0 ...s_16bit_23b977d8f9494272b013c1671ca67732.h | 0 ...s_16bit_38cca9868e82ecebb35738daa199c47b.h | 0 ...s_16bit_60fa56db56241b778b24073aa9e101a2.h | 0 ...s_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h | 0 ...s_16bit_a1699f9433892f534833d057df1816e9.h | 0 ...ffx_vrs_imagegen_pass_16bit_permutations.h | 0 ...en_pass_1afbfca2cd353be6c31fa807a62208a0.h | 0 ...en_pass_56a03f6f9e1f5396a5767d6ddebe380d.h | 0 ...en_pass_8e4ce92280acd3dfc4f1de311eb0580b.h | 0 ...en_pass_ac8addbfa47504857f9e74fce56fe4b7.h | 0 ...en_pass_ef2a39bb8013901e48ad2c3d955c10b9.h | 0 .../ffx_vrs_imagegen_pass_permutations.h | 0 ..._wave64_00e83ff17bc5ee9978142fae818fb34d.h | 0 ...4_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h | 0 ...4_16bit_23b977d8f9494272b013c1671ca67732.h | 0 ...4_16bit_38cca9868e82ecebb35738daa199c47b.h | 0 ...4_16bit_60fa56db56241b778b24073aa9e101a2.h | 0 ...4_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h | 0 ...4_16bit_a1699f9433892f534833d057df1816e9.h | 0 ..._imagegen_pass_wave64_16bit_permutations.h | 0 ..._wave64_1afbfca2cd353be6c31fa807a62208a0.h | 0 ..._wave64_56a03f6f9e1f5396a5767d6ddebe380d.h | 0 ..._wave64_8e4ce92280acd3dfc4f1de311eb0580b.h | 0 ..._wave64_ac8addbfa47504857f9e74fce56fe4b7.h | 0 ..._wave64_ef2a39bb8013901e48ad2c3d955c10b9.h | 0 ...fx_vrs_imagegen_pass_wave64_permutations.h | 0 .../blob_accessors/ffx_blur_shaderblobs.cpp | 0 .../blob_accessors/ffx_blur_shaderblobs.h | 0 .../blob_accessors/ffx_cacao_shaderblobs.cpp | 0 .../blob_accessors/ffx_cacao_shaderblobs.h | 0 .../blob_accessors/ffx_cas_shaderblobs.cpp | 0 .../blob_accessors/ffx_cas_shaderblobs.h | 0 .../ffx_classifier_shaderblobs.cpp | 0 .../ffx_classifier_shaderblobs.h | 0 .../ffx_denoiser_shaderblobs.cpp | 0 .../blob_accessors/ffx_denoiser_shaderblobs.h | 0 .../blob_accessors/ffx_dof_shaderblobs.cpp | 0 .../blob_accessors/ffx_dof_shaderblobs.h | 0 .../blob_accessors/ffx_fsr1_shaderblobs.cpp | 0 .../blob_accessors/ffx_fsr1_shaderblobs.h | 0 .../blob_accessors/ffx_fsr2_shaderblobs.cpp | 0 .../blob_accessors/ffx_fsr2_shaderblobs.h | 0 .../blob_accessors/ffx_lens_shaderblobs.cpp | 0 .../blob_accessors/ffx_lens_shaderblobs.h | 0 .../blob_accessors/ffx_lpm_shaderblobs.cpp | 0 .../blob_accessors/ffx_lpm_shaderblobs.h | 0 .../ffx_parallelsort_shaderblobs.cpp | 0 .../ffx_parallelsort_shaderblobs.h | 0 .../blob_accessors/ffx_spd_shaderblobs.cpp | 0 .../blob_accessors/ffx_spd_shaderblobs.h | 0 .../blob_accessors/ffx_sssr_shaderblobs.cpp | 0 .../blob_accessors/ffx_sssr_shaderblobs.h | 0 .../blob_accessors/ffx_vrs_shaderblobs.cpp | 0 .../blob_accessors/ffx_vrs_shaderblobs.h | 0 .../src/backends/shared/ffx_shader_blobs.cpp | 0 .../src/backends/shared/ffx_shader_blobs.h | 0 .../sdk/src/backends/vk/CMakeLists.txt | 0 .../sdk/src/backends/vk/CMakeShadersBLUR.txt | 0 .../sdk/src/backends/vk/CMakeShadersCACAO.txt | 0 .../sdk/src/backends/vk/CMakeShadersCAS.txt | 0 .../backends/vk/CMakeShadersClassifier.txt | 0 .../sdk/src/backends/vk/CMakeShadersDOF.txt | 0 .../src/backends/vk/CMakeShadersDenoiser.txt | 0 .../sdk/src/backends/vk/CMakeShadersFSR1.txt | 0 .../sdk/src/backends/vk/CMakeShadersFSR2.txt | 0 .../sdk/src/backends/vk/CMakeShadersLENS.txt | 0 .../sdk/src/backends/vk/CMakeShadersLPM.txt | 0 .../backends/vk/CMakeShadersParallelSort.txt | 0 .../sdk/src/backends/vk/CMakeShadersSPD.txt | 0 .../sdk/src/backends/vk/CMakeShadersSSSR.txt | 0 .../sdk/src/backends/vk/CMakeShadersVRS.txt | 0 .../FidelityFX/sdk/src/backends/vk/ffx_vk.cpp | 0 .../vk/shaders/blur/ffx_blur_pass.glsl | 0 .../ffx_cacao_apply_non_smart_half_pass.glsl | 0 .../cacao/ffx_cacao_apply_non_smart_pass.glsl | 0 .../shaders/cacao/ffx_cacao_apply_pass.glsl | 0 .../ffx_cacao_clear_load_counter_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_1_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_2_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_3_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_4_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_5_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_6_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_7_pass.glsl | 0 .../ffx_cacao_edge_sensitive_blur_8_pass.glsl | 0 ..._cacao_generate_importance_map_a_pass.glsl | 0 ..._cacao_generate_importance_map_b_pass.glsl | 0 ...fx_cacao_generate_importance_map_pass.glsl | 0 .../cacao/ffx_cacao_generate_q0_pass.glsl | 0 .../cacao/ffx_cacao_generate_q1_pass.glsl | 0 .../cacao/ffx_cacao_generate_q2_pass.glsl | 0 .../ffx_cacao_generate_q3_base_pass.glsl | 0 .../cacao/ffx_cacao_generate_q3_pass.glsl | 0 ...pare_downsampled_depths_and_mips_pass.glsl | 0 ..._prepare_downsampled_depths_half_pass.glsl | 0 ...cacao_prepare_downsampled_depths_pass.glsl | 0 ...mpled_normals_from_input_normals_pass.glsl | 0 ...acao_prepare_downsampled_normals_pass.glsl | 0 ...o_prepare_native_depths_and_mips_pass.glsl | 0 ...cacao_prepare_native_depths_half_pass.glsl | 0 .../ffx_cacao_prepare_native_depths_pass.glsl | 0 ...ative_normals_from_input_normals_pass.glsl | 0 ...ffx_cacao_prepare_native_normals_pass.glsl | 0 .../ffx_cacao_upscale_bilateral_5x5_pass.glsl | 0 .../vk/shaders/cas/ffx_cas_sharpen_pass.glsl | 0 .../ffx_classifier_reflections_pass.glsl | 0 .../ffx_classifier_shadows_pass.glsl | 0 ...x_denoiser_filter_soft_shadows_0_pass.glsl | 0 ...x_denoiser_filter_soft_shadows_1_pass.glsl | 0 ...x_denoiser_filter_soft_shadows_2_pass.glsl | 0 ...x_denoiser_prefilter_reflections_pass.glsl | 0 ...ffx_denoiser_prepare_shadow_mask_pass.glsl | 0 ...x_denoiser_reproject_reflections_pass.glsl | 0 ...ser_resolve_temporal_reflections_pass.glsl | 0 ...iser_shadows_tile_classification_pass.glsl | 0 .../vk/shaders/dof/ffx_dof_blur_pass.glsl | 0 .../shaders/dof/ffx_dof_composite_pass.glsl | 0 .../vk/shaders/dof/ffx_dof_dilate_pass.glsl | 0 .../dof/ffx_dof_downsample_color_pass.glsl | 0 .../dof/ffx_dof_downsample_depth_pass.glsl | 0 .../vk/shaders/fsr1/ffx_fsr1_easu_pass.glsl | 0 .../vk/shaders/fsr1/ffx_fsr1_rcas_pass.glsl | 0 .../fsr2/ffx_fsr2_accumulate_pass.glsl | 0 .../fsr2/ffx_fsr2_autogen_reactive_pass.glsl | 0 ...x_fsr2_compute_luminance_pyramid_pass.glsl | 0 .../fsr2/ffx_fsr2_depth_clip_pass.glsl | 0 .../vk/shaders/fsr2/ffx_fsr2_lock_pass.glsl | 0 .../vk/shaders/fsr2/ffx_fsr2_rcas_pass.glsl | 0 ..._fsr2_reconstruct_previous_depth_pass.glsl | 0 .../fsr2/ffx_fsr2_tcr_autogen_pass.glsl | 0 .../vk/shaders/lens/ffx_lens_pass.glsl | 0 .../vk/shaders/lpm/ffx_lpm_filter_pass.glsl | 0 .../ffx_parallelsort_reduce_pass.glsl | 0 .../ffx_parallelsort_scan_add_pass.glsl | 0 .../ffx_parallelsort_scan_pass.glsl | 0 .../ffx_parallelsort_scatter_pass.glsl | 0 ...parallelsort_setup_indirect_args_pass.glsl | 0 .../ffx_parallelsort_sum_pass.glsl | 0 .../shaders/spd/ffx_spd_downsample_pass.glsl | 0 .../sssr/ffx_sssr_classify_tiles_pass.glsl | 0 .../sssr/ffx_sssr_depth_downsample_pass.glsl | 0 .../shaders/sssr/ffx_sssr_intersect_pass.glsl | 0 ..._sssr_prepare_blue_noise_texture_pass.glsl | 0 .../ffx_sssr_prepare_indirect_args_pass.glsl | 0 .../vk/shaders/vrs/ffx_vrs_imagegen_pass.glsl | 0 .../sdk/src/components/blur/CMakeLists.txt | 0 .../sdk/src/components/blur/ffx_blur.cpp | 0 .../src/components/blur/ffx_blur_private.h | 0 .../sdk/src/components/cacao/CMakeLists.txt | 0 .../sdk/src/components/cacao/ffx_cacao.cpp | 0 .../src/components/cacao/ffx_cacao_private.h | 0 .../sdk/src/components/cas/CMakeLists.txt | 0 .../sdk/src/components/cas/ffx_cas.cpp | 0 .../sdk/src/components/cas/ffx_cas_private.h | 0 .../src/components/classifier/CMakeLists.txt | 0 .../components/classifier/ffx_classifier.cpp | 0 .../classifier/ffx_classifier_private.h | 0 .../src/components/denoiser/CMakeLists.txt | 0 .../src/components/denoiser/ffx_denoiser.cpp | 0 .../denoiser/ffx_denoiser_private.h | 0 .../sdk/src/components/dof/CMakeLists.txt | 0 .../sdk/src/components/dof/ffx_dof.cpp | 0 .../sdk/src/components/dof/ffx_dof_private.h | 0 .../sdk/src/components/fsr1/CMakeLists.txt | 0 .../sdk/src/components/fsr1/ffx_fsr1.cpp | 0 .../src/components/fsr1/ffx_fsr1_private.h | 0 .../sdk/src/components/fsr2/CMakeLists.txt | 0 .../sdk/src/components/fsr2/ffx_fsr2.cpp | 0 .../components/fsr2/ffx_fsr2_maximum_bias.h | 0 .../src/components/fsr2/ffx_fsr2_private.h | 0 .../sdk/src/components/lens/CMakeLists.txt | 0 .../sdk/src/components/lens/ffx_lens.cpp | 0 .../src/components/lens/ffx_lens_private.h | 0 .../sdk/src/components/lpm/CMakeLists.txt | 0 .../sdk/src/components/lpm/ffx_lpm.cpp | 0 .../sdk/src/components/lpm/ffx_lpm_private.h | 0 .../components/parallelsort/CMakeLists.txt | 0 .../parallelsort/ffx_parallelsort.cpp | 0 .../parallelsort/ffx_parallelsort_private.h | 0 .../sdk/src/components/spd/CMakeLists.txt | 0 .../sdk/src/components/spd/ffx_spd.cpp | 0 .../sdk/src/components/spd/ffx_spd_private.h | 0 .../sdk/src/components/sssr/CMakeLists.txt | 0 .../sdk/src/components/sssr/ffx_sssr.cpp | 0 .../src/components/sssr/ffx_sssr_private.h | 0 ...n_128x128_OptimizedFor_2d2d2d2d_128spp.cpp | 0 ...on_128x128_OptimizedFor_2d2d2d2d_16spp.cpp | 0 ...ion_128x128_OptimizedFor_2d2d2d2d_1spp.cpp | 0 ...n_128x128_OptimizedFor_2d2d2d2d_256spp.cpp | 0 ...ion_128x128_OptimizedFor_2d2d2d2d_2spp.cpp | 0 ...on_128x128_OptimizedFor_2d2d2d2d_32spp.cpp | 0 ...ion_128x128_OptimizedFor_2d2d2d2d_4spp.cpp | 0 ...on_128x128_OptimizedFor_2d2d2d2d_64spp.cpp | 0 ...ion_128x128_OptimizedFor_2d2d2d2d_8spp.cpp | 0 .../sdk/src/components/vrs/CMakeLists.txt | 0 .../sdk/src/components/vrs/ffx_vrs.cpp | 0 .../sdk/src/components/vrs/ffx_vrs_private.h | 0 .../FidelityFX/sdk/src/shared/ffx_assert.cpp | 0 .../sdk/src/shared/ffx_object_management.cpp | 0 .../sdk/src/shared/ffx_object_management.h | 0 .../FidelityFX/shaders/Common.hlsl | 0 .../FidelityFX/shaders/Declarations.h | 0 .../FidelityFX/shaders/Intersect.hlsl | 0 .../FidelityFX/shaders/VrsOverlay.hlsl | 0 .../FidelityFX/shaders/apply_reflections.hlsl | 0 .../shaders/blur_baseline_filters_cs.hlsl | 0 .../shaders/blur_compare_filters_cs.hlsl | 0 .../shaders/blur_gaussian_blur_kernels.h | 0 .../FidelityFX/shaders/common_types.h | 0 .../FidelityFX/shaders/commonintersect.hlsl | 0 .../shaders/copy_depth_and_reset_buffers.hlsl | 0 .../shaders/copydebugraytracing.hlsl | 0 .../FidelityFX/shaders/copydepth.hlsl | 0 .../FidelityFX/shaders/copytexture.hlsl | 0 .../FidelityFX/shaders/debugtiles.hlsl | 0 .../FidelityFX/shaders/display_ssao.hlsl | 0 .../shaders/ffx_parallelsort_reduce_pass.hlsl | 0 .../ffx_parallelsort_scan_add_pass.hlsl | 0 .../shaders/ffx_parallelsort_scan_pass.hlsl | 0 .../ffx_parallelsort_scatter_pass.hlsl | 0 ...parallelsort_setup_indirect_args_pass.hlsl | 0 .../shaders/ffx_parallelsort_sum_pass.hlsl | 0 .../FidelityFX/shaders/ffx_sssr_intersect.h | 0 .../FidelityFX/shaders/fpslimiter.hlsl | 0 .../FidelityFX/shaders/fullscreen.hlsl | 0 .../FidelityFX/shaders/gbufferps.hlsl | 0 .../shaders/lightfunctionscommon.hlsl | 0 .../FidelityFX/shaders/lighting.hlsl | 0 .../FidelityFX/shaders/lightingcommon.h | 0 .../FidelityFX/shaders/motionvectorsps.hlsl | 0 .../shaders/parallelsort/ffx_common_types.h | 0 .../shaders/parallelsort/ffx_core.h | 0 .../shaders/parallelsort/ffx_core_cpu.h | 0 .../shaders/parallelsort/ffx_core_glsl.h | 0 .../parallelsort/ffx_core_gpu_common.h | 0 .../parallelsort/ffx_core_gpu_common_half.h | 0 .../shaders/parallelsort/ffx_core_hlsl.h | 0 .../parallelsort/ffx_core_portability.h | 0 .../ffx_parallelsort_callbacks_hlsl.h | 0 .../parallelsort/ffx_parallelsort_common.h | 0 .../parallelsort/ffx_parallelsort_reduce.h | 0 .../parallelsort/ffx_parallelsort_resources.h | 0 .../parallelsort/ffx_parallelsort_scan.h | 0 .../parallelsort/ffx_parallelsort_scan_add.h | 0 .../parallelsort/ffx_parallelsort_scatter.h | 0 .../ffx_parallelsort_setup_indirect_args.h | 0 .../parallelsort/ffx_parallelsort_sum.h | 0 .../parallelsort/ffx_parallelsort.h | 0 .../shaders/parallelsort/parallelsortcommon.h | 0 .../FidelityFX/shaders/parallelsort_common.h | 0 .../FidelityFX/shaders/parallelsort_cs.hlsl | 0 .../shaders/parallelsort_verify.hlsl | 0 .../parallelsortsetupindirectargs.hlsl | 0 .../FidelityFX/shaders/particlecommon.h | 0 .../FidelityFX/shaders/particleemit.hlsl | 0 .../FidelityFX/shaders/particlerender.hlsl | 0 .../FidelityFX/shaders/particlerendercommon.h | 0 .../shaders/particlesimulation.hlsl | 0 .../shaders/particlesimulationcommon.h | 0 .../shaders/prepare_blue_noise.hlsl | 0 .../shaders/prepare_indirect_args_hw.hlsl | 0 .../shaders/prepare_indirect_args_hybrid.hlsl | 0 .../shaders/primary_ray_tracing.hlsl | 0 .../shaders/rasterlightfunctions.hlsl | 0 .../FidelityFX/shaders/rastershadowps.hlsl | 0 .../FidelityFX/shaders/raytracingcommon.hlsl | 0 .../shaders/raytracinglightfunctions.hlsl | 0 .../FidelityFX/shaders/resolveraytracing.hlsl | 0 .../FidelityFX/shaders/sample_ggx_vndf.h | 0 .../FidelityFX/shaders/shadercommon.h | 0 .../FidelityFX/shaders/shadowFiltering.h | 0 .../FidelityFX/shaders/simulationbindings.h | 0 .../FidelityFX/shaders/skydome.hlsl | 0 .../FidelityFX/shaders/skydomecommon.h | 0 .../FidelityFX/shaders/skydomeproc.hlsl | 0 .../FidelityFX/shaders/spd_common.h | 0 .../shaders/spd_cs_downsampler.hlsl | 0 .../shaders/spd_ps_downsampler.hlsl | 0 .../shaders/spd_verify_results.hlsl | 0 .../shaders/sssr_apply_reflections.hlsl | 0 .../shaders/sssr_apply_reflections_common.h | 0 .../FidelityFX/shaders/surfacerendercommon.h | 0 .../FidelityFX/shaders/taa.hlsl | 0 .../FidelityFX/shaders/taaPost.hlsl | 0 .../FidelityFX/shaders/taacommon.h | 0 .../FidelityFX/shaders/tonemappercommon.h | 0 .../FidelityFX/shaders/tonemappers.hlsl | 0 .../FidelityFX/shaders/tonemapping.hlsl | 0 .../FidelityFX/shaders/traceshadows.hlsl | 0 .../FidelityFX/shaders/transferFunction.h | 0 .../FidelityFX/shaders/transformVS.hlsl | 0 .../FidelityFX/shaders/translucencyps.hlsl | 0 .../FidelityFX/shaders/ui.hlsl | 0 .../FidelityFX/shaders/uicommon.h | 0 .../FidelityFX/shaders/upscalecommon.h | 0 .../FidelityFX/shaders/upscalecs.hlsl | 0 .../FidelityFX/shaders/upscaler.h | 0 .../VERSION.txt | 0 Dependencies/fidelityfx/fidelityfx.lua | 37 + Dependencies/glfw/glfw.lua | 100 +- Dependencies/gli/gli.lua | 9 +- Dependencies/glm/glm.lua | 11 +- Dependencies/imgui/imgui.lua | 40 +- Dependencies/json/json.lua | 10 +- Dependencies/luau/luau.lua | 375 +-- Dependencies/quill/CMakeLists.txt | 252 ++ Dependencies/{spdlog => quill}/LICENSE | 19 +- Dependencies/quill/cmake/FindSphinx.cmake | 11 + .../quill/cmake/SetCommonCompileOptions.cmake | 23 + Dependencies/quill/quill.lua | 6 + Dependencies/quill/quill/Backend.h | 173 + Dependencies/quill/quill/BackendTscClock.h | 94 + Dependencies/quill/quill/Frontend.h | 211 ++ Dependencies/quill/quill/LogMacros.h | 284 ++ Dependencies/quill/quill/Logger.h | 320 ++ Dependencies/quill/quill/UserClockSource.h | 38 + Dependencies/quill/quill/Utility.h | 88 + .../quill/quill/backend/BackendManager.h | 80 + .../quill/quill/backend/BackendOptions.h | 177 ++ .../quill/quill/backend/BackendUtilities.h | 152 + .../quill/quill/backend/BackendWorker.h | 1303 ++++++++ .../quill/quill/backend/BacktraceStorage.h | 136 + .../quill/quill/backend/PatternFormatter.h | 509 +++ Dependencies/quill/quill/backend/RdtscClock.h | 212 ++ .../quill/quill/backend/SignalHandler.h | 374 +++ .../quill/quill/backend/StringFromTime.h | 533 ++++ .../quill/quill/backend/TimestampFormatter.h | 214 ++ .../quill/quill/backend/TransitEvent.h | 93 + .../quill/quill/backend/TransitEventBuffer.h | 211 ++ .../quill/bundled/fmt}/args.h | 49 +- .../quill/bundled/fmt}/chrono.h | 1285 ++++---- .../quill/bundled/fmt}/color.h | 214 +- .../quill/bundled/fmt}/compile.h | 230 +- .../quill/bundled/fmt}/core.h | 2639 +++++++--------- .../quill/bundled/fmt}/format-inl.h | 457 ++- .../quill/bundled/fmt}/format.h | 2808 +++++++++-------- .../bundled => quill/quill/bundled/fmt}/os.h | 247 +- .../quill/bundled/fmt}/ostream.h | 174 +- Dependencies/quill/quill/bundled/fmt/printf.h | 675 ++++ .../quill/bundled/fmt}/ranges.h | 414 +-- Dependencies/quill/quill/bundled/fmt/std.h | 537 ++++ .../quill/bundled/fmt}/xchar.h | 162 +- Dependencies/quill/quill/core/Attributes.h | 114 + .../quill/quill/core/BoundedSPSCQueue.h | 327 ++ Dependencies/quill/quill/core/Codec.h | 435 +++ Dependencies/quill/quill/core/Common.h | 89 + .../quill/quill/core/DynamicFormatArgStore.h | 122 + Dependencies/quill/quill/core/Filesystem.h | 63 + Dependencies/quill/quill/core/FormatBuffer.h | 110 + .../quill/quill/core/FrontendOptions.h | 44 + Dependencies/quill/quill/core/LogLevel.h | 156 + Dependencies/quill/quill/core/LoggerBase.h | 141 + Dependencies/quill/quill/core/LoggerManager.h | 228 ++ Dependencies/quill/quill/core/MacroMetadata.h | 218 ++ Dependencies/quill/quill/core/MathUtils.h | 57 + Dependencies/quill/quill/core/QuillError.h | 55 + Dependencies/quill/quill/core/Rdtsc.h | 92 + Dependencies/quill/quill/core/SinkManager.h | 152 + .../quill/quill/core/ThreadContextManager.h | 384 +++ .../quill/quill/core/ThreadUtilities.h | 197 ++ Dependencies/quill/quill/core/TimeUtilities.h | 104 + .../quill/quill/core/UnboundedSPSCQueue.h | 261 ++ Dependencies/quill/quill/filters/Filter.h | 69 + Dependencies/quill/quill/sinks/ConsoleSink.h | 457 +++ Dependencies/quill/quill/sinks/FileSink.h | 369 +++ .../quill/quill/sinks/JsonConsoleSink.h | 76 + Dependencies/quill/quill/sinks/JsonFileSink.h | 91 + Dependencies/quill/quill/sinks/NullSink.h | 36 + .../quill/quill/sinks/RotatingFileSink.h | 796 +++++ Dependencies/quill/quill/sinks/Sink.h | 192 ++ Dependencies/quill/quill/sinks/StreamSink.h | 195 ++ Dependencies/quill/quill/std/Array.h | 124 + Dependencies/quill/quill/std/Deque.h | 136 + Dependencies/quill/quill/std/FilesystemPath.h | 90 + Dependencies/quill/quill/std/ForwardList.h | 146 + Dependencies/quill/quill/std/List.h | 135 + Dependencies/quill/quill/std/Map.h | 195 ++ Dependencies/quill/quill/std/Optional.h | 119 + Dependencies/quill/quill/std/Pair.h | 124 + Dependencies/quill/quill/std/Set.h | 146 + Dependencies/quill/quill/std/Tuple.h | 78 + Dependencies/quill/quill/std/UnorderedMap.h | 203 ++ Dependencies/quill/quill/std/UnorderedSet.h | 149 + Dependencies/quill/quill/std/Vector.h | 133 + Dependencies/refl-cpp/refl-cpp.lua | 10 +- Dependencies/robinhood/robinhood.lua | 10 +- Dependencies/spdlog/Version-1.13.0 | 0 Dependencies/spdlog/include/spdlog/async.h | 100 - .../spdlog/include/spdlog/async_logger-inl.h | 84 - .../spdlog/include/spdlog/async_logger.h | 74 - Dependencies/spdlog/include/spdlog/cfg/argv.h | 40 - Dependencies/spdlog/include/spdlog/cfg/env.h | 36 - .../spdlog/include/spdlog/cfg/helpers-inl.h | 107 - .../spdlog/include/spdlog/cfg/helpers.h | 29 - .../spdlog/include/spdlog/common-inl.h | 68 - Dependencies/spdlog/include/spdlog/common.h | 411 --- .../include/spdlog/details/backtracer-inl.h | 63 - .../include/spdlog/details/backtracer.h | 45 - .../include/spdlog/details/circular_q.h | 113 - .../include/spdlog/details/console_globals.h | 28 - .../include/spdlog/details/file_helper-inl.h | 152 - .../include/spdlog/details/file_helper.h | 61 - .../include/spdlog/details/fmt_helper.h | 141 - .../include/spdlog/details/log_msg-inl.h | 44 - .../spdlog/include/spdlog/details/log_msg.h | 40 - .../spdlog/details/log_msg_buffer-inl.h | 54 - .../include/spdlog/details/log_msg_buffer.h | 32 - .../include/spdlog/details/mpmc_blocking_q.h | 177 -- .../include/spdlog/details/null_mutex.h | 35 - .../spdlog/include/spdlog/details/os-inl.h | 585 ---- .../spdlog/include/spdlog/details/os.h | 123 - .../spdlog/details/periodic_worker-inl.h | 26 - .../include/spdlog/details/periodic_worker.h | 57 - .../include/spdlog/details/registry-inl.h | 265 -- .../spdlog/include/spdlog/details/registry.h | 122 - .../spdlog/details/synchronous_factory.h | 22 - .../spdlog/details/tcp_client-windows.h | 135 - .../include/spdlog/details/tcp_client.h | 127 - .../include/spdlog/details/thread_pool-inl.h | 127 - .../include/spdlog/details/thread_pool.h | 117 - .../spdlog/details/udp_client-windows.h | 98 - .../include/spdlog/details/udp_client.h | 81 - .../include/spdlog/details/windows_include.h | 11 - .../spdlog/include/spdlog/fmt/bin_to_hex.h | 224 -- .../spdlog/fmt/bundled/fmt.license.rst | 27 - .../include/spdlog/fmt/bundled/locale.h | 2 - .../include/spdlog/fmt/bundled/printf.h | 640 ---- .../spdlog/include/spdlog/fmt/bundled/std.h | 171 - .../spdlog/include/spdlog/fmt/chrono.h | 23 - .../spdlog/include/spdlog/fmt/compile.h | 23 - Dependencies/spdlog/include/spdlog/fmt/fmt.h | 34 - Dependencies/spdlog/include/spdlog/fmt/ostr.h | 23 - .../spdlog/include/spdlog/fmt/ranges.h | 23 - Dependencies/spdlog/include/spdlog/fmt/std.h | 24 - .../spdlog/include/spdlog/fmt/xchar.h | 23 - .../spdlog/include/spdlog/formatter.h | 17 - Dependencies/spdlog/include/spdlog/fwd.h | 18 - .../spdlog/include/spdlog/logger-inl.h | 198 -- Dependencies/spdlog/include/spdlog/logger.h | 379 --- .../include/spdlog/pattern_formatter-inl.h | 1268 -------- .../spdlog/include/spdlog/pattern_formatter.h | 118 - .../include/spdlog/sinks/android_sink.h | 137 - .../include/spdlog/sinks/ansicolor_sink-inl.h | 135 - .../include/spdlog/sinks/ansicolor_sink.h | 115 - .../include/spdlog/sinks/base_sink-inl.h | 59 - .../spdlog/include/spdlog/sinks/base_sink.h | 51 - .../spdlog/sinks/basic_file_sink-inl.h | 42 - .../include/spdlog/sinks/basic_file_sink.h | 65 - .../include/spdlog/sinks/callback_sink.h | 56 - .../include/spdlog/sinks/daily_file_sink.h | 252 -- .../spdlog/include/spdlog/sinks/dist_sink.h | 81 - .../include/spdlog/sinks/dup_filter_sink.h | 92 - .../include/spdlog/sinks/hourly_file_sink.h | 191 -- .../spdlog/include/spdlog/sinks/kafka_sink.h | 119 - .../spdlog/include/spdlog/sinks/mongo_sink.h | 108 - .../spdlog/include/spdlog/sinks/msvc_sink.h | 68 - .../spdlog/include/spdlog/sinks/null_sink.h | 41 - .../include/spdlog/sinks/ostream_sink.h | 43 - .../spdlog/include/spdlog/sinks/qt_sinks.h | 304 -- .../include/spdlog/sinks/ringbuffer_sink.h | 67 - .../spdlog/sinks/rotating_file_sink-inl.h | 144 - .../include/spdlog/sinks/rotating_file_sink.h | 89 - .../spdlog/include/spdlog/sinks/sink-inl.h | 22 - .../spdlog/include/spdlog/sinks/sink.h | 34 - .../spdlog/sinks/stdout_color_sinks-inl.h | 38 - .../include/spdlog/sinks/stdout_color_sinks.h | 49 - .../include/spdlog/sinks/stdout_sinks-inl.h | 126 - .../include/spdlog/sinks/stdout_sinks.h | 84 - .../spdlog/include/spdlog/sinks/syslog_sink.h | 103 - .../include/spdlog/sinks/systemd_sink.h | 121 - .../spdlog/include/spdlog/sinks/tcp_sink.h | 75 - .../spdlog/include/spdlog/sinks/udp_sink.h | 69 - .../include/spdlog/sinks/win_eventlog_sink.h | 260 -- .../include/spdlog/sinks/wincolor_sink-inl.h | 163 - .../include/spdlog/sinks/wincolor_sink.h | 82 - .../spdlog/include/spdlog/spdlog-inl.h | 92 - Dependencies/spdlog/include/spdlog/spdlog.h | 352 --- .../spdlog/include/spdlog/stopwatch.h | 62 - Dependencies/spdlog/include/spdlog/tweakme.h | 141 - Dependencies/spdlog/include/spdlog/version.h | 11 - Dependencies/spdlog/spdlog.lua | 33 - Dependencies/spdlog/src/async.cpp | 11 - .../spdlog/src/bundled_fmtlib_format.cpp | 49 - Dependencies/spdlog/src/cfg.cpp | 8 - Dependencies/spdlog/src/color_sinks.cpp | 55 - Dependencies/spdlog/src/file_sinks.cpp | 20 - Dependencies/spdlog/src/spdlog.cpp | 28 - Dependencies/spdlog/src/stdout_sinks.cpp | 37 - Dependencies/tracyprofiler/tracy.lua | 43 +- Dependencies/typesafe/typesafe.lua | 12 +- Dependencies/utfcpp/utfcpp.lua | 10 +- Dependencies/vulkan.lua | 19 +- Premake/ProjectUtil.lua | 487 ++- Source/Base/Base.lua | 37 +- Source/Base/Base/Container/StringTable.cpp | 206 +- Source/Base/Base/Container/StringTable.h | 55 +- Source/Base/Base/Memory/Allocator.h | 4 +- .../Base/Base/Memory/BufferRangeAllocator.cpp | 2 +- Source/Base/Base/Memory/FileWriter.h | 2 +- Source/Base/Base/Memory/StackAllocator.cpp | 8 +- Source/Base/Base/Platform.h | 4 - Source/Base/Base/Util/CPUInfo.cpp | 20 +- Source/Base/Base/Util/DebugHandler.h | 92 +- Source/Engine-Tests/Engine-Tests.lua | 17 + .../Engine-Tests}/Example.cpp | 0 Source/FileFormat/FileFormat.lua | 26 +- .../FileFormat/Novus/ClientDB/ClientDB.cpp | 9 + .../FileFormat/Novus/ClientDB/ClientDB.h | 593 ++-- .../FileFormat/Novus/ClientDB/Definitions.h | 587 +++- .../FileFormat/FileFormat/Novus/Map/Map.cpp | 2 +- .../FileFormat/Novus/Map/MapChunk.cpp | 2 +- .../FileFormat/Novus/Model/ComplexModel.cpp | 22 +- .../FileFormat/Novus/Model/MapObject.cpp | 2 +- .../FileFormat/FileFormat/Warcraft/DB2/Wdc3.h | 3 + .../FileFormat/Warcraft/Parsers/AdtParser.cpp | 14 +- .../FileFormat/Warcraft/Parsers/M2Parser.cpp | 11 +- .../FileFormat/Warcraft/Parsers/M2Parser.h | 1 + .../FileFormat/Warcraft/Parsers/Wdc3Parser.h | 4 +- .../FileFormat/Warcraft/Parsers/WdtParser.cpp | 2 +- .../FileFormat/Warcraft/Parsers/WmoParser.cpp | 2 +- Source/Generate/Generate.lua | 7 +- Source/Input/Input.lua | 28 +- Source/Input/Input/KeybindGroup.cpp | 8 +- Source/Modules.lua | 38 + Source/Network/Network.lua | 39 +- Source/Network/Network/Client.cpp | 4 +- Source/Network/Network/Server.cpp | 8 +- Source/Network/Network/Socket.cpp | 6 +- Source/Projects.lua | 32 - Source/Renderer/Renderer.lua | 36 +- Source/Renderer/Renderer/CommandList.cpp | 56 +- Source/Renderer/Renderer/DescriptorSet.cpp | 10 +- Source/Renderer/Renderer/DescriptorSet.h | 2 +- Source/Renderer/Renderer/Font.cpp | 6 +- Source/Renderer/Renderer/GPUVector.h | 18 +- Source/Renderer/Renderer/RenderGraph.cpp | 4 +- .../Renderer/Renderer/RenderGraphBuilder.cpp | 14 +- .../Renderer/RenderGraphResources.cpp | 60 +- Source/Renderer/Renderer/RenderPass.h | 2 +- Source/Renderer/Renderer/RenderStates.h | 22 +- .../Vulkan/Backend/BufferHandlerVK.cpp | 20 +- .../Vulkan/Backend/CommandListHandlerVK.cpp | 16 +- .../Vulkan/Backend/DescriptorAllocatorVK.cpp | 4 +- .../Vulkan/Backend/DescriptorSetBuilderVK.cpp | 18 +- .../Vulkan/Backend/FormatConverterVK.cpp | 32 +- .../Vulkan/Backend/ImageHandlerVK.cpp | 68 +- .../Vulkan/Backend/PipelineHandlerVK.cpp | 20 +- .../Vulkan/Backend/RenderDeviceVK.cpp | 48 +- .../Vulkan/Backend/SamplerHandlerVK.cpp | 2 +- .../Vulkan/Backend/SemaphoreHandlerVK.cpp | 2 +- .../Vulkan/Backend/ShaderHandlerVK.cpp | 14 +- .../Vulkan/Backend/ShaderHandlerVK.h | 12 +- .../Vulkan/Backend/TextureHandlerVK.cpp | 58 +- .../Vulkan/Backend/TimeQueryHandlerVK.cpp | 14 +- .../Vulkan/Backend/UploadBufferHandlerVK.cpp | 46 +- .../Renderers/Vulkan/Backend/ffx_vk.cpp | 51 +- .../Renderer/Renderers/Vulkan/RendererVK.cpp | 58 +- Source/ShaderCooker/ShaderCooker.lua | 36 +- .../ShaderCooker/ShaderCooker/DxcBridge.cpp | 22 +- .../ShaderCooker/ShaderCooker/Lexer/Lexer.h | 2 +- .../ShaderCooker/Parser/Parser.cpp | 4 +- .../ShaderCooker/ShaderCooker/Parser/Parser.h | 2 +- .../ShaderCooker/ShaderCooker/ShaderCache.cpp | 2 +- .../ShaderCooker/ShaderCompiler.cpp | 13 +- Source/UnitTests/UnitTests.lua | 5 - premake5.exe | Bin 1568256 -> 0 bytes premake5.lua | 87 +- 1758 files changed, 20972 insertions(+), 17461 deletions(-) delete mode 100644 Dependencies/FidelityFX-SDK/FidelityFX.lua rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/LICENSE.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/common.cmake (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/readme.md (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sample.cmake (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/BuildFidelityFXSDK.bat (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/BuildFidelityFXSDKSolution.bat (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_blur.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_apply.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_defines.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_edge_sensitive_blur.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_importance_map.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_prepare.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_ssao_generation.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_upscale.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_utils.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_sharpen.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_config.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_prefilter.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_reproject.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_resolve_temporal.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_filter.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_prepare.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_tileclassification.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_util.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_blur.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_composite.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_dilate_depth.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_color.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_depth.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_common_types.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_cpu.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common_half.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_portability.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_easu.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_rcas.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_accumulate.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_compute_luminance_pyramid.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_depth_clip.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_lock.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_postprocess_lock_status.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_rcas.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reconstruct_dilated_velocity_and_previous_depth.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reproject.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_sample.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_tcr_autogen.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_upsample.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_filter.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_reduce.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan_add.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scatter.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_setup_indirect_args.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_sum.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_config.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_downsample.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_classify_tiles.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_depth_downsample.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_intersect.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_blue_noise_texture.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_indirect_args.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_variable_shading.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/d3dx12.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/ffx_dx12.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/license.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/backends/vk/ffx_vk.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_assert.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_blur.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_cacao.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_cas.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_classifier.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_denoiser.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_dof.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_error.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_fx.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_interface.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_lens.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_lpm.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_parallelsort.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_spd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_sssr.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_types.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_util.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/include/FidelityFX/host/ffx_vrs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_08c36ed355cbf75b5b3a06746b677dff.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_0ee8d3c24b25abd8c0111d5bab37ca9d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_0f5ce871a0f73c20196d667115f738f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_15397821cd414ef16c13014118c6f710.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_15b69efa775ee4be6a5e668350b5bbe5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b3884833bdb5b1759b2cd481dd15a82.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b5daae9a618c3325b6897410e7abfb5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_20af91e6eb67e724e464b25c79a3bde8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_28d62953944245793e722a0c091ae2ef.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_2d2477cd8f89de124ee546a629d62343.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_41e4ab2ef999db9c444304ca55c39563.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_45e77d64ff30a668ae0875f8052aa6d5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_466f453608719779b74190bd8e8140e3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_49e1794b22a460ea5c04532e58bda746.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_4bbbd426998ce4e10143e6ecee64860b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6674ce486791e0b6e31ac60c69481822.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_780604d4f74e4dc367e15b37e151eed6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_7e27063ad6ef494180b56ed7df9f6e51.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_8752f8ecfb9771ed735306503b734169.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a5c7086b5cab60d6283335f0adb868ec.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a779de0428ca77552550182162e91170.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_aed08a7046c7f78adc248d78d9f46fdb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_b4390e5af68a647984c919143dcaf66a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_d8b6062a16dfdb1bb766c10cba207661.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ddd65283385cd9ae93f92c8810a0b386.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_fcacc252582c151bfbcb9bfb718d0abc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_2cc4f1afbd334881d303d53fa7634c22.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_3cc08832e971b3c49884bb4f762f81c5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_449f64024d4ea1fa87fd7d45f4fd6ea1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_4f33c90537ccfcd88227c1ee45387604.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_605e19bd0f006d0853a76bb2fdbf9ba2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_74b354b222983f11bd9929ec18b52c94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_98b9eeec5de25cccfdf65aa589251c8b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_9c57455774abdb9161988f0895f04a49.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_9db49b14ef44e4c8d6d9325fdc6c381f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_a28c9d640a1a6456cd79189910722bc9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_a59c6f0d4182f2d8eba05a07641c6b03.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_a83cfa196153635dc1693f1a5352631a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_b893781d9dc26d35507978f2de33cc70.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_c69db080a3afed649a481cb307d7ef5c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_cc10929b5caf2ff6b4311eddd7b77e1d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_cd28c267f2525ff1476ce4b632d6b2c0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_cf65e9513ab3c4e5b9caa677dcb3d667.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_dd19d8b4d70103102f6e208328657b21.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_de797f24c56cb766eb60dd532f985c94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_e32b1d123a5441cab23fdb7b98b73bd9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_e6bea97e3aca5c291628435e80c2f147.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_e8a69698bf7a0d191e9f22ed3f24a13c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_eb019c44bca440721fc3102573392d9c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_ef698dac7e633c771a3a82f0fb96086e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_ef765219d3e69e3ec966f4e9d8418b94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_08c36ed355cbf75b5b3a06746b677dff.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0ee8d3c24b25abd8c0111d5bab37ca9d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0f5ce871a0f73c20196d667115f738f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15397821cd414ef16c13014118c6f710.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15b69efa775ee4be6a5e668350b5bbe5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b3884833bdb5b1759b2cd481dd15a82.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b5daae9a618c3325b6897410e7abfb5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_20af91e6eb67e724e464b25c79a3bde8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_28d62953944245793e722a0c091ae2ef.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_2d2477cd8f89de124ee546a629d62343.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_41e4ab2ef999db9c444304ca55c39563.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_45e77d64ff30a668ae0875f8052aa6d5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_466f453608719779b74190bd8e8140e3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_49e1794b22a460ea5c04532e58bda746.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_4bbbd426998ce4e10143e6ecee64860b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6674ce486791e0b6e31ac60c69481822.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_780604d4f74e4dc367e15b37e151eed6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_7e27063ad6ef494180b56ed7df9f6e51.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_8752f8ecfb9771ed735306503b734169.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a5c7086b5cab60d6283335f0adb868ec.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a779de0428ca77552550182162e91170.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_aed08a7046c7f78adc248d78d9f46fdb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_b4390e5af68a647984c919143dcaf66a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_d8b6062a16dfdb1bb766c10cba207661.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ddd65283385cd9ae93f92c8810a0b386.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_fcacc252582c151bfbcb9bfb718d0abc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_2cc4f1afbd334881d303d53fa7634c22.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_3cc08832e971b3c49884bb4f762f81c5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_449f64024d4ea1fa87fd7d45f4fd6ea1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_4f33c90537ccfcd88227c1ee45387604.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_605e19bd0f006d0853a76bb2fdbf9ba2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_74b354b222983f11bd9929ec18b52c94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_98b9eeec5de25cccfdf65aa589251c8b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9c57455774abdb9161988f0895f04a49.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9db49b14ef44e4c8d6d9325fdc6c381f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a28c9d640a1a6456cd79189910722bc9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a59c6f0d4182f2d8eba05a07641c6b03.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a83cfa196153635dc1693f1a5352631a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_b893781d9dc26d35507978f2de33cc70.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_c69db080a3afed649a481cb307d7ef5c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cc10929b5caf2ff6b4311eddd7b77e1d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cd28c267f2525ff1476ce4b632d6b2c0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cf65e9513ab3c4e5b9caa677dcb3d667.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_dd19d8b4d70103102f6e208328657b21.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_de797f24c56cb766eb60dd532f985c94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e32b1d123a5441cab23fdb7b98b73bd9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e6bea97e3aca5c291628435e80c2f147.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e8a69698bf7a0d191e9f22ed3f24a13c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_eb019c44bca440721fc3102573392d9c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef698dac7e633c771a3a82f0fb96086e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef765219d3e69e3ec966f4e9d8418b94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_1200da1372bf8ff814f24279855b55c5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_bb1241b0f99e00f018c26a3a31f51adf.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_1200da1372bf8ff814f24279855b55c5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_bb1241b0f99e00f018c26a3a31f51adf.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_86c4a87a6e2e2a02953074b6cf184a24.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_7411418c360cb2452b3b3a8cb2c5a192.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_86c4a87a6e2e2a02953074b6cf184a24.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_7411418c360cb2452b3b3a8cb2c5a192.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_b997b314f1a80b5924282a6a19517de2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_b997b314f1a80b5924282a6a19517de2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_31190c0e53a6de1f16e3f960df24de4a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_31190c0e53a6de1f16e3f960df24de4a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_226d702b2e428437d09ae3913a5f6729.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_2e706a59f856af80261a2044236031cd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_226d702b2e428437d09ae3913a5f6729.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_2e706a59f856af80261a2044236031cd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_fad219ef895164f887a0a9edea29fa39.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_7a7a1cfa220a249d06efdf6203e009d5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_fad219ef895164f887a0a9edea29fa39.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_7a7a1cfa220a249d06efdf6203e009d5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_aa8f50d137e7a0840e4251fad209aa43.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_6e4a075a2bca4487af666b82b819b1fe.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_aa8f50d137e7a0840e4251fad209aa43.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_6e4a075a2bca4487af666b82b819b1fe.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_b94a39190a679434d20de8d9f2004647.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_c9153c988a55576efba4a88818b74d76.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_b94a39190a679434d20de8d9f2004647.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_c9153c988a55576efba4a88818b74d76.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_5520a856ebbabdc04470dce56d7fd86d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_3a0b97ae5e3fe8f5533e17fb0b344a04.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_5520a856ebbabdc04470dce56d7fd86d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_3a0b97ae5e3fe8f5533e17fb0b344a04.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_861260e0f23a95ff2b53383da32085ce.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_6313a559c0973bb4fb022e1c62e132cb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_861260e0f23a95ff2b53383da32085ce.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_6313a559c0973bb4fb022e1c62e132cb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_11a1adc82d9ea9fe57be9add559426a7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_7bd849b96a4ca6aeb7ab72cbe628566b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_11a1adc82d9ea9fe57be9add559426a7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_7bd849b96a4ca6aeb7ab72cbe628566b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_6650d2c2d949fbd8d48ba37b0efa2860.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_6650d2c2d949fbd8d48ba37b0efa2860.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_b63e8ba69edb84c86926bea0d2969d3a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_8506cfe4d4690e4c18f1c42702f1fdc4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_b63e8ba69edb84c86926bea0d2969d3a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_8506cfe4d4690e4c18f1c42702f1fdc4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_c1c7edd70ab37bfc5f3ea8b4720418ee.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_c1c7edd70ab37bfc5f3ea8b4720418ee.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_b8f04178952fd9d85d343944ea431724.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_82bd7722da926c6273cf7d52ce315e2c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_b8f04178952fd9d85d343944ea431724.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_82bd7722da926c6273cf7d52ce315e2c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_11994e08051382ca70fa5050efa79d27.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_3e71246e3c1aeeed237508880dd03671.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_11994e08051382ca70fa5050efa79d27.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_3e71246e3c1aeeed237508880dd03671.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_6c93a968eca4fbf7d82effe4a5d18396.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_31ef992f289187db31d214be7a52d2ca.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_6c93a968eca4fbf7d82effe4a5d18396.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_31ef992f289187db31d214be7a52d2ca.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_67f168f2a0ee47b6eaf615b17b8394da.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_f8b14cfcbf8b5daacd2519308a2bf6bb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_67f168f2a0ee47b6eaf615b17b8394da.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_f8b14cfcbf8b5daacd2519308a2bf6bb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_32a25924f09f81d36c2644448c08c342.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_39ed28aefd4f0b9072a4c0dc0d423a98.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_32a25924f09f81d36c2644448c08c342.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_39ed28aefd4f0b9072a4c0dc0d423a98.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_b3eab2a2ec50b9cded6926bf3388a677.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_d6fa595400c5f92b38134c0bb528a884.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_b3eab2a2ec50b9cded6926bf3388a677.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_d6fa595400c5f92b38134c0bb528a884.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_5052e4b69d49a570e3e14998ceed2704.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_64b9e65188ce8d0766731bf7ee746da5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_5052e4b69d49a570e3e14998ceed2704.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_64b9e65188ce8d0766731bf7ee746da5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_98ef787b856c550d5d5bd6ffb99afe15.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_6a1717bc6493786fc5d3e68a35ae4ca2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_98ef787b856c550d5d5bd6ffb99afe15.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_6a1717bc6493786fc5d3e68a35ae4ca2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_7136f86a945d6eab268f71092afa8dc4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_737a7aa259da7594d79576c2ee1baa5c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_7136f86a945d6eab268f71092afa8dc4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_737a7aa259da7594d79576c2ee1baa5c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_f3f831ddded0327e68b249ac37d54ee0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_9639a3a9e72092c01065a4a419be25e9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_f3f831ddded0327e68b249ac37d54ee0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_9639a3a9e72092c01065a4a419be25e9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_8f062fad9319440fa14ee41199428143.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_26e4479aeda57fdab79a62fb45328c1a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_8f062fad9319440fa14ee41199428143.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_26e4479aeda57fdab79a62fb45328c1a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_51fe59c88cf97a5227ca5548ce1efd43.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_4685822535eae3a4b3fdc73658e4b7a5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_51fe59c88cf97a5227ca5548ce1efd43.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_4685822535eae3a4b3fdc73658e4b7a5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_2d48c74cd0606bafd90f35e8816d1574.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_2d48c74cd0606bafd90f35e8816d1574.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_6da417aea3359d11b7a6b343ab253597.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_6da417aea3359d11b7a6b343ab253597.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_bbfd84bbd243ce69d50c58156f3ead67.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_d772accf13e16b5f38a224bad0235680.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_bbfd84bbd243ce69d50c58156f3ead67.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_d772accf13e16b5f38a224bad0235680.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_0f136d139584c1882b13f5f69482a981.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_cda151d4d196eaf2706a8a2779193842.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_0f136d139584c1882b13f5f69482a981.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_cda151d4d196eaf2706a8a2779193842.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_6735863dfc553a80926c7e55eae81480.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_7f5556d857837346fe91fe0185e975bb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_354a52eb970e14018c7aa438e2904841.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_f7a51d1a46ca1f5cca1eb42e92a59fb2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_6735863dfc553a80926c7e55eae81480.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_7f5556d857837346fe91fe0185e975bb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_354a52eb970e14018c7aa438e2904841.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_f7a51d1a46ca1f5cca1eb42e92a59fb2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_10bb96e410a90edecde1fa977ebe1a20.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_3650fb3819f7db54097b35a945ca60e4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_55ce7b8c793d52914e2a4c14a89521e3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9971d619f0f75a4542ccd5a19ffd4674.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9cd353fd093b50f9687386f43f934d42.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_cef01ba1580769ca1bd8aa9c316b4136.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_daa00b1f40dcc70943b3df1118b101f6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_2ff92cac3c980a5172bea9a0ebd58c8d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_34f572d4a633e2d7876dcdf102f34a4b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_3ad7e3c0030e134c7f746753a7a2b2f5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_732b7e7a488ee20f156397ec732202d9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_9102acf8867fa2fa002b6c2bb9b67813.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_94deaa36d9f911cf8338829f771a4451.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a33ae44ae22477131a379b703e383264.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a815b565d207681093d2aca8e5d43390.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_af668f91c65a5976c01b99f55e42b9e0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_10bb96e410a90edecde1fa977ebe1a20.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_3650fb3819f7db54097b35a945ca60e4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_55ce7b8c793d52914e2a4c14a89521e3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9971d619f0f75a4542ccd5a19ffd4674.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9cd353fd093b50f9687386f43f934d42.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_cef01ba1580769ca1bd8aa9c316b4136.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_daa00b1f40dcc70943b3df1118b101f6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_2ff92cac3c980a5172bea9a0ebd58c8d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_34f572d4a633e2d7876dcdf102f34a4b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_3ad7e3c0030e134c7f746753a7a2b2f5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_732b7e7a488ee20f156397ec732202d9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_9102acf8867fa2fa002b6c2bb9b67813.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_94deaa36d9f911cf8338829f771a4451.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a33ae44ae22477131a379b703e383264.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a815b565d207681093d2aca8e5d43390.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_af668f91c65a5976c01b99f55e42b9e0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_032706baa7070dc78ae92335347b0833.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_c1fc5617269ec991320f3ceae8575bc6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_72fedef5bf3e9aeacf58fa606e5e8bcc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_84272f7589d223922932ddceff5016b0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_032706baa7070dc78ae92335347b0833.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_c1fc5617269ec991320f3ceae8575bc6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_72fedef5bf3e9aeacf58fa606e5e8bcc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_84272f7589d223922932ddceff5016b0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_76aa6779d6615090aa3cea512512fed8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_bd97567590633e48f922cec46147c13b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_f7b057284c8181978c9a7b90fbbdc448.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_5f8193b973b86dae71ccc50c7f3cf043.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_61261a8dd31d0da6b8a3c60f685ad881.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_67894cb39a8c4844a354107f782ca0e5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_7b2bc5c70c7b2bddf296e0f0b38ada14.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_76aa6779d6615090aa3cea512512fed8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_bd97567590633e48f922cec46147c13b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_f7b057284c8181978c9a7b90fbbdc448.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_5f8193b973b86dae71ccc50c7f3cf043.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_61261a8dd31d0da6b8a3c60f685ad881.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_67894cb39a8c4844a354107f782ca0e5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_7b2bc5c70c7b2bddf296e0f0b38ada14.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_aba37f09f56279498c9092fa81f7b285.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_3252fd928c05ddb6fdc312ae0dd16a43.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_aba37f09f56279498c9092fa81f7b285.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_3252fd928c05ddb6fdc312ae0dd16a43.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_b75a87a13ae4eb80abb89c85eb41e490.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_80680d88f4df0d3082b94b9f4a7a5e09.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_b75a87a13ae4eb80abb89c85eb41e490.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_80680d88f4df0d3082b94b9f4a7a5e09.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_9e647e112cb7ca634955bae628fc5d37.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_378a92041f751bf4566155510bb4b482.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_9e647e112cb7ca634955bae628fc5d37.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_378a92041f751bf4566155510bb4b482.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_83d79e7994ac464957efc6472732172e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_83d79e7994ac464957efc6472732172e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_f8cb7a0364535594fe9d830b83fd2b02.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_f76457a39882ed0838d8c63aeeb36d7c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_f8cb7a0364535594fe9d830b83fd2b02.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_f76457a39882ed0838d8c63aeeb36d7c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_d6aa34d7c50771de3362bf114518bec9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_976f0482a7fe17aee86f0d24c3170a6b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_d6aa34d7c50771de3362bf114518bec9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_976f0482a7fe17aee86f0d24c3170a6b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_52863fb7b02c4dc7c093edaac41a36fe.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_4dd2246b34a7fabdf74067b6349a4f68.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_52863fb7b02c4dc7c093edaac41a36fe.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_4dd2246b34a7fabdf74067b6349a4f68.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_02392f9c302ebb34eb59e813102b7d16.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_9e17dc63a8a3237b0cfde3217d8df955.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_a91147b74bc330fe5e3e4f6a97530559.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_02392f9c302ebb34eb59e813102b7d16.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_9e17dc63a8a3237b0cfde3217d8df955.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_a91147b74bc330fe5e3e4f6a97530559.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_0dd62a0092f4a1382c13f834c60c487e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_1826926405ff512b8ffa950cbe4ec6c8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_5fda7ca35fb7e0569fcc63aeba9cd461.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_b01d5f59b2eedfb0bcc6c777432d5ec7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_0dd62a0092f4a1382c13f834c60c487e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_1826926405ff512b8ffa950cbe4ec6c8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_5fda7ca35fb7e0569fcc63aeba9cd461.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_b01d5f59b2eedfb0bcc6c777432d5ec7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_01dc4df92d672adecd7536683c417d54.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_788f9f4c5d669f22d2c0408ed740c925.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_fcff7ae56c85dc6f5bdc357092f31b6a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_01dc4df92d672adecd7536683c417d54.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_788f9f4c5d669f22d2c0408ed740c925.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_fcff7ae56c85dc6f5bdc357092f31b6a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_efed63cb90e91ecc6ccc5c2854159173.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_efed63cb90e91ecc6ccc5c2854159173.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_7793a5891ad85768a02f8ca6caa11346.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_9226c0d85bea1c6bc6d89013bccb1af8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_7793a5891ad85768a02f8ca6caa11346.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_9226c0d85bea1c6bc6d89013bccb1af8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_22237156f20b7e38b8f381ac363b578d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_2c320d82f30a0a55ba879e40c8010a10.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_d7bedcab6a82e49eb1372208433eff39.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_22237156f20b7e38b8f381ac363b578d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_2c320d82f30a0a55ba879e40c8010a10.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_d7bedcab6a82e49eb1372208433eff39.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_0ab2330896f4186cdac7246134218901.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_11618bd7a15709296ce37e3ce359bc99.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_0a74e9d78c23c9af798172fdff06b90a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_ab4ca463f7238c5ab4883989d9501bd2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_21b3ea00725cfd6388f122c309d6960a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_2d8ff36661aea7a18db54db7298650d6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_0ab2330896f4186cdac7246134218901.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_11618bd7a15709296ce37e3ce359bc99.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_0a74e9d78c23c9af798172fdff06b90a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_ab4ca463f7238c5ab4883989d9501bd2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_21b3ea00725cfd6388f122c309d6960a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_2d8ff36661aea7a18db54db7298650d6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_086a124ac87bb4442eb4207eed8636ac.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_22d4143bd1d9b43a963eafbb0ccb7870.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_383771747daa24356d9148d29cfbf350.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_086a124ac87bb4442eb4207eed8636ac.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_22d4143bd1d9b43a963eafbb0ccb7870.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_383771747daa24356d9148d29cfbf350.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0990e9f53eb03aae4cfff77b5e1b1974.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0e036f1bfab74620f24f3fc35b2a080f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_10f9ca568c6746630201a8cfd0dec087.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_011a4cf531b86059c4466c445fa60e00.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_12354a4d35484dcbf21a82c2d2a2e506.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_1f3f6a26fef776547dafccaa363d304e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_403d30d57a7507ae2a83027b0618a22c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4d21166704cff391d964388846231cad.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_5bfa34ff83db0c6145733708aea5a9d1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_78550d05d93aabddbab359cde070a52f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7cf329dae8fab3299fbf81caa897fc82.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_809907fdcfe68cd8238aa36c58501efb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8328f4f86651af8383130f42f17d5c98.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_89a79052f15bc9cb6bd4d7df2963106d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f9a79bac46d8051d974c8361506a7c7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_a350efdd6172c098a738ba2f27337a6d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b509ae341f3b3bb7b9a87b67c8991517.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_cd4fb5e1edc8133dddbf099016571919.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1c4ec2a9de9183d1ef9d67b2d67a4916.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1e5fea5b9e4cc13cac7c5c42ca6286fb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_23941396b5da258210ef2d11a72ee538.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_335a80728c480180fa7e234fded3f57e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_39295ce848df2142ca455eb774294fd9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_430c759bda888218cdea04b2858c4137.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5cc06057987ac30e6500a6d9d6c26d94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5e781315bedeaa5b9521f708a99fcacc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_6b943acef043a3ccf84282dd1c9db3f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_72fcac094ebcaff3cfeda3ad814dc113.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_775fe6d88732ea46f33e10e48b840f7c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_807508471488f9571c0c51d350efc589.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a03c6af592e0480b02425fa4d221710b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a6000bedb54cd8b59259e300f9adc79d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a8f555cedee2ae1ee3a419de963657c1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_e0df91126b22be1a82e668110090f858.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_edcd820046f60015aaf94df7a363164d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_eebe3f28be4f5377303e3810153bb13c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f2f2d1bc1b5297c00a7dd941da664055.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f8110316bde093f4d56a4d980226b7c9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_fbb3f0d9bd72a3ea295f4dc27982c94b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0990e9f53eb03aae4cfff77b5e1b1974.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0e036f1bfab74620f24f3fc35b2a080f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_10f9ca568c6746630201a8cfd0dec087.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_011a4cf531b86059c4466c445fa60e00.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_12354a4d35484dcbf21a82c2d2a2e506.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_1f3f6a26fef776547dafccaa363d304e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_403d30d57a7507ae2a83027b0618a22c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4d21166704cff391d964388846231cad.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_5bfa34ff83db0c6145733708aea5a9d1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_78550d05d93aabddbab359cde070a52f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7cf329dae8fab3299fbf81caa897fc82.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_809907fdcfe68cd8238aa36c58501efb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8328f4f86651af8383130f42f17d5c98.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_89a79052f15bc9cb6bd4d7df2963106d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f9a79bac46d8051d974c8361506a7c7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_a350efdd6172c098a738ba2f27337a6d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b509ae341f3b3bb7b9a87b67c8991517.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_cd4fb5e1edc8133dddbf099016571919.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1c4ec2a9de9183d1ef9d67b2d67a4916.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1e5fea5b9e4cc13cac7c5c42ca6286fb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_23941396b5da258210ef2d11a72ee538.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_335a80728c480180fa7e234fded3f57e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_39295ce848df2142ca455eb774294fd9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_430c759bda888218cdea04b2858c4137.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5cc06057987ac30e6500a6d9d6c26d94.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5e781315bedeaa5b9521f708a99fcacc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_6b943acef043a3ccf84282dd1c9db3f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_72fcac094ebcaff3cfeda3ad814dc113.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_775fe6d88732ea46f33e10e48b840f7c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_807508471488f9571c0c51d350efc589.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a03c6af592e0480b02425fa4d221710b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a6000bedb54cd8b59259e300f9adc79d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a8f555cedee2ae1ee3a419de963657c1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_e0df91126b22be1a82e668110090f858.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_edcd820046f60015aaf94df7a363164d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_eebe3f28be4f5377303e3810153bb13c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f2f2d1bc1b5297c00a7dd941da664055.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f8110316bde093f4d56a4d980226b7c9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_fbb3f0d9bd72a3ea295f4dc27982c94b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_82ee9b49309c39f2759745e2a240a3f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_d303067f5e3f729a7d5626e1014fbcd5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_82ee9b49309c39f2759745e2a240a3f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_d303067f5e3f729a7d5626e1014fbcd5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_dc90781c08a67cd61bc9ac5b39f787fc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_dc90781c08a67cd61bc9ac5b39f787fc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_17c08766678024b757077fe20319af22.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_2e7180151d47c5dba94a66d89627e9d3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_82768660d8313d690164e7f40352bc83.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_986b506def36a655d90207ce904f68e1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_cfa975d05ebe6c5d02c3206432a2e855.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_def8e87039cdd217cb4c798bbe3000b9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_fe3c133e58a7a10c00198c94033c9a04.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_2e9135bf4631e278b4e935f8182a1b42.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_501f8d5a21730dc23c8e35980113f258.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_652cbd10962b9bff89f57632d3db4665.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_b37ac32ed61bf8d861ee72d067e200db.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_bdace09eabad9104ded34bc698d601d7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c1eb21fc940f3969839954b389328d68.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c463bf7b993e83ce2bfd40bb04a73a52.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_ca4757ee37d2efbe4fab82a8cca3f3e5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_17c08766678024b757077fe20319af22.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_2e7180151d47c5dba94a66d89627e9d3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_82768660d8313d690164e7f40352bc83.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_986b506def36a655d90207ce904f68e1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_cfa975d05ebe6c5d02c3206432a2e855.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_def8e87039cdd217cb4c798bbe3000b9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_fe3c133e58a7a10c00198c94033c9a04.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_2e9135bf4631e278b4e935f8182a1b42.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_501f8d5a21730dc23c8e35980113f258.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_652cbd10962b9bff89f57632d3db4665.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_b37ac32ed61bf8d861ee72d067e200db.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_bdace09eabad9104ded34bc698d601d7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c1eb21fc940f3969839954b389328d68.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c463bf7b993e83ce2bfd40bb04a73a52.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_ca4757ee37d2efbe4fab82a8cca3f3e5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_a52197128a48ed3e918ac274fc4373cc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_58ae598722e20fb1521e5331dea8bae3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_6dccce5a06361aec1ccffe2e42aa4dac.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_a52197128a48ed3e918ac274fc4373cc.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_58ae598722e20fb1521e5331dea8bae3.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_6dccce5a06361aec1ccffe2e42aa4dac.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_95e7faa447b4e867ae430266ee555aa4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_95e7faa447b4e867ae430266ee555aa4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_0b541155a76c4cb727291e60be3ed663.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4736c98c3db3d218596c5f9b245f9540.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4ad437864d230c241d6df5b67ba2b113.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_71d5a96e0faf73659215f64d4d8e5089.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b17f87cc8796230511034dfc6919c9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b6973622762ced21a2b105dc25f363.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_73e4c1a4fff79e2988366f8430bb931f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_7e0095f7d55b31d61828620d3dd53f39.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_82de6c56d129c738a7e31e72d8221835.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_842cf7b01b40cef0925e3904501cce93.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_8c0a07e7b247305146a6a91cdc751081.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9cb6d0a61acf686c73c948b580539e1f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_b37a8f7e104f93eecba2ad7053a8474b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_2f70862189586ac7d21ede5fe6a1e249.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_343ae3ec3504477ef4eb05bcb1e5059a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_5002ac749992c93e2e6c4b7077a9756d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_58f0a8f1088ebad2f9c8bba16dfc776e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6ebba9681b47190d59308f747f91bb9c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6f664fa44a2606e550cdeff6e1a49b45.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_7f025f43cc6125709f2b72e3f59495ab.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_8ad19580f820b3477075babd9714a91f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a3cf0e6618d0e99f0160abd44e743cb2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a9cc013215d59b9b947a35569bad0f97.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_aa36d13c7876dd47da304575ef9c6e2c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_ac6eaaf95e92b0112cf83eb48d8a6ca6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_be3d9d4f65f9f461b48900a91aa09b5a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_d01eb7557ead70435a206eb862e42b87.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_dfc72a1c0f80394eebcc238d1d88c3e0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_e439e83ea8155563262c75c3e805b4ee.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_0b541155a76c4cb727291e60be3ed663.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4736c98c3db3d218596c5f9b245f9540.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4ad437864d230c241d6df5b67ba2b113.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_71d5a96e0faf73659215f64d4d8e5089.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b17f87cc8796230511034dfc6919c9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b6973622762ced21a2b105dc25f363.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_73e4c1a4fff79e2988366f8430bb931f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_7e0095f7d55b31d61828620d3dd53f39.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_82de6c56d129c738a7e31e72d8221835.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_842cf7b01b40cef0925e3904501cce93.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_8c0a07e7b247305146a6a91cdc751081.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9cb6d0a61acf686c73c948b580539e1f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_b37a8f7e104f93eecba2ad7053a8474b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_2f70862189586ac7d21ede5fe6a1e249.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_343ae3ec3504477ef4eb05bcb1e5059a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_5002ac749992c93e2e6c4b7077a9756d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_58f0a8f1088ebad2f9c8bba16dfc776e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6ebba9681b47190d59308f747f91bb9c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6f664fa44a2606e550cdeff6e1a49b45.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_7f025f43cc6125709f2b72e3f59495ab.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_8ad19580f820b3477075babd9714a91f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a3cf0e6618d0e99f0160abd44e743cb2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a9cc013215d59b9b947a35569bad0f97.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_aa36d13c7876dd47da304575ef9c6e2c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_ac6eaaf95e92b0112cf83eb48d8a6ca6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_be3d9d4f65f9f461b48900a91aa09b5a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_d01eb7557ead70435a206eb862e42b87.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_dfc72a1c0f80394eebcc238d1d88c3e0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_e439e83ea8155563262c75c3e805b4ee.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_4d28ce40642ee6b9398eeb81f061d514.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_9ef900348d8420a71c7f917ad8e97c80.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_278c91eeed67d2b81d5be4a40351664f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_e813bfb0bd6c4d146c29f2ac18e43e51.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_4d28ce40642ee6b9398eeb81f061d514.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_9ef900348d8420a71c7f917ad8e97c80.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_278c91eeed67d2b81d5be4a40351664f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_e813bfb0bd6c4d146c29f2ac18e43e51.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_b1da9245616e374ba2b5b1b93ee854c2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_c92691ef55f053e5bcf8ec62930825f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_b1da9245616e374ba2b5b1b93ee854c2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_c92691ef55f053e5bcf8ec62930825f8.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_ae73a771e31f2cef1ac68723293a719e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_6a7f138a1894f2743ceaef850ab4aec7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_ae73a771e31f2cef1ac68723293a719e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_6a7f138a1894f2743ceaef850ab4aec7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_5b4666dc306868898ea8393dcea69bcb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_76fbf9d3d25f4ce0bf0267ac22fbbb51.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_5b4666dc306868898ea8393dcea69bcb.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_76fbf9d3d25f4ce0bf0267ac22fbbb51.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_03fde795efe63102b2396e5dd855f169.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_78095d34b04a6a9954f96e5cdcceb90f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_03fde795efe63102b2396e5dd855f169.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_78095d34b04a6a9954f96e5cdcceb90f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_58e7b063f50d7fd9a747876a7414d7ba.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_81d966ac20a3f61a8ddcdbc964794297.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_58e7b063f50d7fd9a747876a7414d7ba.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_81d966ac20a3f61a8ddcdbc964794297.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_18dc86ffca3bc936e56249604df2d9f2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_28506f8a9b9a259e6ff3998d6d805eaa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_18dc86ffca3bc936e56249604df2d9f2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_28506f8a9b9a259e6ff3998d6d805eaa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_b1a8186347c730bf35e45bf1ec13b497.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_b1a8186347c730bf35e45bf1ec13b497.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_216a92299e05c11a1e76872eec7d4091.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_d6f510cff7d7592d6fad7e71a905af25.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_216a92299e05c11a1e76872eec7d4091.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_d6f510cff7d7592d6fad7e71a905af25.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_19c2d828018507763689e2c818da36c0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_1b956abb0cdcd744010577807d3e825f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2ac4df2b65bf853494d213cc1ed27c85.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2dcc135fa031a5f818348e69f5b58faf.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_37e1738fd1a919c63b0a94a83a87a494.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_4baf66795114f974c2b546aca71b2e91.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_5fc8c6307874026ce663aee6f92c1f33.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9da22ae4adbaab28a989fa361934a2ac.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9feeba671f045e755197855770d43c6e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f0d6bee33f072ff4407e5102d04c7641.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f3db230d999f3392ac83638c480a0a3c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_1aa4209744f32241339ab1a79960ed74.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_31f1ef1382edd12e3518d6c2699c5e8c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_35405b2c2d0d478aa6dc7f7dca997d48.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_3f6bcc8004da44cf4a21b42f01e17c38.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_461d293ac6a2ee15caa9458226a40a8b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_5465da32916b73b72b45e9ae4116c0ba.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_93f831bc1aa2a4dca97eb3341d142f03.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_9bf84f558cde687bad42c17ed1602d4a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_a1ee28707e23f14670a1e3f559a85abd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_b9eab752aaf4ec786d4ca8d654518d08.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c066b458eaa0b57aa1b763888a383b18.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c3217cd872267a6527133ec838d9ebd4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_19c2d828018507763689e2c818da36c0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_1b956abb0cdcd744010577807d3e825f.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2ac4df2b65bf853494d213cc1ed27c85.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2dcc135fa031a5f818348e69f5b58faf.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_37e1738fd1a919c63b0a94a83a87a494.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_4baf66795114f974c2b546aca71b2e91.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_5fc8c6307874026ce663aee6f92c1f33.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9da22ae4adbaab28a989fa361934a2ac.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9feeba671f045e755197855770d43c6e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f0d6bee33f072ff4407e5102d04c7641.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f3db230d999f3392ac83638c480a0a3c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_1aa4209744f32241339ab1a79960ed74.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_31f1ef1382edd12e3518d6c2699c5e8c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_35405b2c2d0d478aa6dc7f7dca997d48.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_3f6bcc8004da44cf4a21b42f01e17c38.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_461d293ac6a2ee15caa9458226a40a8b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_5465da32916b73b72b45e9ae4116c0ba.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_93f831bc1aa2a4dca97eb3341d142f03.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_9bf84f558cde687bad42c17ed1602d4a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_a1ee28707e23f14670a1e3f559a85abd.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_b9eab752aaf4ec786d4ca8d654518d08.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c066b458eaa0b57aa1b763888a383b18.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c3217cd872267a6527133ec838d9ebd4.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_019d887b8cac960872393714416c57f6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_58c54af7805d9269215e127be986d130.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_19f4ac8525a041d8bb6ddae74c2ec2a7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_5187947b42daae4032cc982efaac301e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_019d887b8cac960872393714416c57f6.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_58c54af7805d9269215e127be986d130.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_19f4ac8525a041d8bb6ddae74c2ec2a7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_5187947b42daae4032cc982efaac301e.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_17f6c30839c607ccf7fbba4f13b7af81.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_5d87a86f251ab54826571c3f962735ee.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_965116e121ba3d276b783d5d6cf252b7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_f30b9c59e61e1bd58e7a543c31d0fc2c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_17f6c30839c607ccf7fbba4f13b7af81.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_5d87a86f251ab54826571c3f962735ee.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_965116e121ba3d276b783d5d6cf252b7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_f30b9c59e61e1bd58e7a543c31d0fc2c.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_aaa350f9560609843dd14fdd799137e2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_f901ae5e902c4490d7ecbd18951dc674.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_3dd8815b40bd48cdaeecb8b8e7c5032b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_ca9fdb447b9505fc97fa39a7d37d237a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_aaa350f9560609843dd14fdd799137e2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_f901ae5e902c4490d7ecbd18951dc674.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_3dd8815b40bd48cdaeecb8b8e7c5032b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_ca9fdb447b9505fc97fa39a7d37d237a.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_3d88a49205af4d76a808a3161ed4d556.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_7480e3891a5c50fcd07e9a49c3659772.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_3d88a49205af4d76a808a3161ed4d556.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_7480e3891a5c50fcd07e9a49c3659772.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_ffee5de94bf8ff0dcd208b3456513238.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_61ddd2dc95b1b449b812ff8a24a84bd2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_ffee5de94bf8ff0dcd208b3456513238.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_61ddd2dc95b1b449b812ff8a24a84bd2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_00e83ff17bc5ee9978142fae818fb34d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_23b977d8f9494272b013c1671ca67732.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_38cca9868e82ecebb35738daa199c47b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_60fa56db56241b778b24073aa9e101a2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_a1699f9433892f534833d057df1816e9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_1afbfca2cd353be6c31fa807a62208a0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_56a03f6f9e1f5396a5767d6ddebe380d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_8e4ce92280acd3dfc4f1de311eb0580b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ac8addbfa47504857f9e74fce56fe4b7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ef2a39bb8013901e48ad2c3d955c10b9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_00e83ff17bc5ee9978142fae818fb34d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_23b977d8f9494272b013c1671ca67732.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_38cca9868e82ecebb35738daa199c47b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_60fa56db56241b778b24073aa9e101a2.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_a1699f9433892f534833d057df1816e9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_1afbfca2cd353be6c31fa807a62208a0.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_56a03f6f9e1f5396a5767d6ddebe380d.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_8e4ce92280acd3dfc4f1de311eb0580b.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ac8addbfa47504857f9e74fce56fe4b7.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ef2a39bb8013901e48ad2c3d955c10b9.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_permutations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersBLUR.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersCACAO.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersCAS.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersClassifier.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersDOF.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersDenoiser.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR1.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR2.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersLENS.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersLPM.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersParallelSort.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersSPD.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersSSSR.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/CMakeShadersVRS.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/ffx_vk.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/blur/ffx_blur_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_half_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_clear_load_counter_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_1_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_2_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_3_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_4_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_5_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_6_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_7_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_8_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_a_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_b_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q0_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q1_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q2_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_base_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_and_mips_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_half_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_and_mips_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_half_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_from_input_normals_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_upscale_bilateral_5x5_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/cas/ffx_cas_sharpen_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_reflections_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_shadows_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_0_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_1_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_2_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prefilter_reflections_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prepare_shadow_mask_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_reproject_reflections_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_resolve_temporal_reflections_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_shadows_tile_classification_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_blur_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_composite_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_dilate_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_color_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_depth_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_easu_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_rcas_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_accumulate_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_autogen_reactive_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_compute_luminance_pyramid_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_depth_clip_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_lock_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_rcas_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_reconstruct_previous_depth_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_tcr_autogen_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/lens/ffx_lens_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/lpm/ffx_lpm_filter_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_reduce_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_add_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scatter_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_setup_indirect_args_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_sum_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/spd/ffx_spd_downsample_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_classify_tiles_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_depth_downsample_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_intersect_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_blue_noise_texture_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_indirect_args_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/backends/vk/shaders/vrs/ffx_vrs_imagegen_pass.glsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/blur/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/blur/ffx_blur.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/blur/ffx_blur_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/cacao/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/cacao/ffx_cacao.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/cacao/ffx_cacao_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/cas/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/cas/ffx_cas.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/cas/ffx_cas_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/classifier/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/classifier/ffx_classifier.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/classifier/ffx_classifier_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/denoiser/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/denoiser/ffx_denoiser.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/denoiser/ffx_denoiser_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/dof/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/dof/ffx_dof.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/dof/ffx_dof_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr1/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr1/ffx_fsr1.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr1/ffx_fsr1_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr2/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr2/ffx_fsr2.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_maximum_bias.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/lens/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/lens/ffx_lens.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/lens/ffx_lens_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/lpm/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/lpm/ffx_lpm.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/lpm/ffx_lpm_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/parallelsort/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/spd/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/spd/ffx_spd.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/spd/ffx_spd_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/ffx_sssr.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/ffx_sssr_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_128spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_16spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_1spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_256spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_2spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_32spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_4spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_64spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_8spp.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/vrs/CMakeLists.txt (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/vrs/ffx_vrs.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/components/vrs/ffx_vrs_private.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/shared/ffx_assert.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/shared/ffx_object_management.cpp (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/sdk/src/shared/ffx_object_management.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/Common.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/Declarations.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/Intersect.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/VrsOverlay.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/apply_reflections.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/blur_baseline_filters_cs.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/blur_compare_filters_cs.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/blur_gaussian_blur_kernels.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/common_types.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/commonintersect.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/copy_depth_and_reset_buffers.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/copydebugraytracing.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/copydepth.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/copytexture.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/debugtiles.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/display_ssao.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_parallelsort_reduce_pass.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_parallelsort_scan_add_pass.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_parallelsort_scan_pass.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_parallelsort_scatter_pass.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_parallelsort_setup_indirect_args_pass.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_parallelsort_sum_pass.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ffx_sssr_intersect.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/fpslimiter.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/fullscreen.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/gbufferps.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/lightfunctionscommon.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/lighting.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/lightingcommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/motionvectorsps.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_common_types.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core_cpu.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core_glsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core_gpu_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core_gpu_common_half.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_core_portability.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_callbacks_hlsl.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_reduce.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_resources.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan_add.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_scatter.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_setup_indirect_args.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/ffx_parallelsort_sum.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/parallelsort/ffx_parallelsort.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort/parallelsortcommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort_cs.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsort_verify.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/parallelsortsetupindirectargs.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/particlecommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/particleemit.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/particlerender.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/particlerendercommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/particlesimulation.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/particlesimulationcommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/prepare_blue_noise.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/prepare_indirect_args_hw.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/prepare_indirect_args_hybrid.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/primary_ray_tracing.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/rasterlightfunctions.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/rastershadowps.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/raytracingcommon.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/raytracinglightfunctions.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/resolveraytracing.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/sample_ggx_vndf.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/shadercommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/shadowFiltering.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/simulationbindings.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/skydome.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/skydomecommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/skydomeproc.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/spd_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/spd_cs_downsampler.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/spd_ps_downsampler.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/spd_verify_results.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/sssr_apply_reflections.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/sssr_apply_reflections_common.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/surfacerendercommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/taa.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/taaPost.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/taacommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/tonemappercommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/tonemappers.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/tonemapping.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/traceshadows.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/transferFunction.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/transformVS.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/translucencyps.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/ui.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/uicommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/upscalecommon.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/upscalecs.hlsl (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/FidelityFX/shaders/upscaler.h (100%) rename Dependencies/{FidelityFX-SDK => fidelityfx}/VERSION.txt (100%) create mode 100644 Dependencies/fidelityfx/fidelityfx.lua create mode 100644 Dependencies/quill/CMakeLists.txt rename Dependencies/{spdlog => quill}/LICENSE (64%) create mode 100644 Dependencies/quill/cmake/FindSphinx.cmake create mode 100644 Dependencies/quill/cmake/SetCommonCompileOptions.cmake create mode 100644 Dependencies/quill/quill.lua create mode 100644 Dependencies/quill/quill/Backend.h create mode 100644 Dependencies/quill/quill/BackendTscClock.h create mode 100644 Dependencies/quill/quill/Frontend.h create mode 100644 Dependencies/quill/quill/LogMacros.h create mode 100644 Dependencies/quill/quill/Logger.h create mode 100644 Dependencies/quill/quill/UserClockSource.h create mode 100644 Dependencies/quill/quill/Utility.h create mode 100644 Dependencies/quill/quill/backend/BackendManager.h create mode 100644 Dependencies/quill/quill/backend/BackendOptions.h create mode 100644 Dependencies/quill/quill/backend/BackendUtilities.h create mode 100644 Dependencies/quill/quill/backend/BackendWorker.h create mode 100644 Dependencies/quill/quill/backend/BacktraceStorage.h create mode 100644 Dependencies/quill/quill/backend/PatternFormatter.h create mode 100644 Dependencies/quill/quill/backend/RdtscClock.h create mode 100644 Dependencies/quill/quill/backend/SignalHandler.h create mode 100644 Dependencies/quill/quill/backend/StringFromTime.h create mode 100644 Dependencies/quill/quill/backend/TimestampFormatter.h create mode 100644 Dependencies/quill/quill/backend/TransitEvent.h create mode 100644 Dependencies/quill/quill/backend/TransitEventBuffer.h rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/args.h (81%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/chrono.h (58%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/color.h (77%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/compile.h (71%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/core.h (50%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/format-inl.h (85%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/format.h (59%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/os.h (65%) rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/ostream.h (53%) create mode 100644 Dependencies/quill/quill/bundled/fmt/printf.h rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/ranges.h (59%) create mode 100644 Dependencies/quill/quill/bundled/fmt/std.h rename Dependencies/{spdlog/include/spdlog/fmt/bundled => quill/quill/bundled/fmt}/xchar.h (53%) create mode 100644 Dependencies/quill/quill/core/Attributes.h create mode 100644 Dependencies/quill/quill/core/BoundedSPSCQueue.h create mode 100644 Dependencies/quill/quill/core/Codec.h create mode 100644 Dependencies/quill/quill/core/Common.h create mode 100644 Dependencies/quill/quill/core/DynamicFormatArgStore.h create mode 100644 Dependencies/quill/quill/core/Filesystem.h create mode 100644 Dependencies/quill/quill/core/FormatBuffer.h create mode 100644 Dependencies/quill/quill/core/FrontendOptions.h create mode 100644 Dependencies/quill/quill/core/LogLevel.h create mode 100644 Dependencies/quill/quill/core/LoggerBase.h create mode 100644 Dependencies/quill/quill/core/LoggerManager.h create mode 100644 Dependencies/quill/quill/core/MacroMetadata.h create mode 100644 Dependencies/quill/quill/core/MathUtils.h create mode 100644 Dependencies/quill/quill/core/QuillError.h create mode 100644 Dependencies/quill/quill/core/Rdtsc.h create mode 100644 Dependencies/quill/quill/core/SinkManager.h create mode 100644 Dependencies/quill/quill/core/ThreadContextManager.h create mode 100644 Dependencies/quill/quill/core/ThreadUtilities.h create mode 100644 Dependencies/quill/quill/core/TimeUtilities.h create mode 100644 Dependencies/quill/quill/core/UnboundedSPSCQueue.h create mode 100644 Dependencies/quill/quill/filters/Filter.h create mode 100644 Dependencies/quill/quill/sinks/ConsoleSink.h create mode 100644 Dependencies/quill/quill/sinks/FileSink.h create mode 100644 Dependencies/quill/quill/sinks/JsonConsoleSink.h create mode 100644 Dependencies/quill/quill/sinks/JsonFileSink.h create mode 100644 Dependencies/quill/quill/sinks/NullSink.h create mode 100644 Dependencies/quill/quill/sinks/RotatingFileSink.h create mode 100644 Dependencies/quill/quill/sinks/Sink.h create mode 100644 Dependencies/quill/quill/sinks/StreamSink.h create mode 100644 Dependencies/quill/quill/std/Array.h create mode 100644 Dependencies/quill/quill/std/Deque.h create mode 100644 Dependencies/quill/quill/std/FilesystemPath.h create mode 100644 Dependencies/quill/quill/std/ForwardList.h create mode 100644 Dependencies/quill/quill/std/List.h create mode 100644 Dependencies/quill/quill/std/Map.h create mode 100644 Dependencies/quill/quill/std/Optional.h create mode 100644 Dependencies/quill/quill/std/Pair.h create mode 100644 Dependencies/quill/quill/std/Set.h create mode 100644 Dependencies/quill/quill/std/Tuple.h create mode 100644 Dependencies/quill/quill/std/UnorderedMap.h create mode 100644 Dependencies/quill/quill/std/UnorderedSet.h create mode 100644 Dependencies/quill/quill/std/Vector.h delete mode 100644 Dependencies/spdlog/Version-1.13.0 delete mode 100644 Dependencies/spdlog/include/spdlog/async.h delete mode 100644 Dependencies/spdlog/include/spdlog/async_logger-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/async_logger.h delete mode 100644 Dependencies/spdlog/include/spdlog/cfg/argv.h delete mode 100644 Dependencies/spdlog/include/spdlog/cfg/env.h delete mode 100644 Dependencies/spdlog/include/spdlog/cfg/helpers-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/cfg/helpers.h delete mode 100644 Dependencies/spdlog/include/spdlog/common-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/common.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/backtracer-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/backtracer.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/circular_q.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/console_globals.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/file_helper-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/file_helper.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/fmt_helper.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/log_msg-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/log_msg.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/log_msg_buffer-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/log_msg_buffer.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/mpmc_blocking_q.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/null_mutex.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/os-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/os.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/periodic_worker-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/periodic_worker.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/registry-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/registry.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/synchronous_factory.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/tcp_client-windows.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/tcp_client.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/thread_pool-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/thread_pool.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/udp_client-windows.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/udp_client.h delete mode 100644 Dependencies/spdlog/include/spdlog/details/windows_include.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/bin_to_hex.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/bundled/fmt.license.rst delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/bundled/locale.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/bundled/printf.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/bundled/std.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/chrono.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/compile.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/fmt.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/ostr.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/ranges.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/std.h delete mode 100644 Dependencies/spdlog/include/spdlog/fmt/xchar.h delete mode 100644 Dependencies/spdlog/include/spdlog/formatter.h delete mode 100644 Dependencies/spdlog/include/spdlog/fwd.h delete mode 100644 Dependencies/spdlog/include/spdlog/logger-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/logger.h delete mode 100644 Dependencies/spdlog/include/spdlog/pattern_formatter-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/pattern_formatter.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/android_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/ansicolor_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/base_sink-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/base_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/basic_file_sink-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/basic_file_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/callback_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/daily_file_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/dist_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/dup_filter_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/hourly_file_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/kafka_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/mongo_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/msvc_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/null_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/ostream_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/qt_sinks.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/ringbuffer_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/rotating_file_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/sink-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/stdout_color_sinks.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/stdout_sinks-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/stdout_sinks.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/syslog_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/systemd_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/tcp_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/udp_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/win_eventlog_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/wincolor_sink-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/sinks/wincolor_sink.h delete mode 100644 Dependencies/spdlog/include/spdlog/spdlog-inl.h delete mode 100644 Dependencies/spdlog/include/spdlog/spdlog.h delete mode 100644 Dependencies/spdlog/include/spdlog/stopwatch.h delete mode 100644 Dependencies/spdlog/include/spdlog/tweakme.h delete mode 100644 Dependencies/spdlog/include/spdlog/version.h delete mode 100644 Dependencies/spdlog/spdlog.lua delete mode 100644 Dependencies/spdlog/src/async.cpp delete mode 100644 Dependencies/spdlog/src/bundled_fmtlib_format.cpp delete mode 100644 Dependencies/spdlog/src/cfg.cpp delete mode 100644 Dependencies/spdlog/src/color_sinks.cpp delete mode 100644 Dependencies/spdlog/src/file_sinks.cpp delete mode 100644 Dependencies/spdlog/src/spdlog.cpp delete mode 100644 Dependencies/spdlog/src/stdout_sinks.cpp create mode 100644 Source/Engine-Tests/Engine-Tests.lua rename Source/{UnitTests/UnitTests => Engine-Tests/Engine-Tests}/Example.cpp (100%) create mode 100644 Source/FileFormat/FileFormat/Novus/ClientDB/ClientDB.cpp create mode 100644 Source/Modules.lua delete mode 100644 Source/Projects.lua delete mode 100644 Source/UnitTests/UnitTests.lua delete mode 100644 premake5.exe diff --git a/Dependencies/Dependencies.lua b/Dependencies/Dependencies.lua index 14ddb0f6..7ce5dd26 100644 --- a/Dependencies/Dependencies.lua +++ b/Dependencies/Dependencies.lua @@ -1,10 +1,7 @@ -- Dependencies -Engine.dependencyDir = path.getabsolute("Dependencies/", Engine.rootDir) - -print("-- Creating Dependencies --") - -Engine.dependencyGroup = (Engine.name .. "/Dependencies") -group (Engine.dependencyGroup) +Solution.Util.Print("-- Creating Dependencies --") +Solution.Util.ClearFilter() +Solution.Util.SetGroup(Solution.DependencyGroup) local dependencies = { @@ -21,20 +18,18 @@ local dependencies = "json/json.lua", "refl-cpp/refl-cpp.lua", "robinhood/robinhood.lua", - "spdlog/spdlog.lua", "tracyprofiler/tracy.lua", "typesafe/typesafe.lua", "utfcpp/utfcpp.lua", "luau/luau.lua", - "FidelityFX-SDK/FidelityFX.lua", + "quill/quill.lua", + "fidelityfx/fidelityfx.lua", } for k,v in pairs(dependencies) do - filter { } include(v) + Solution.Util.ClearFilter() end -filter { } -group (Engine.name) - -print("-- Finished with Dependencies --\n") \ No newline at end of file +Solution.Util.SetGroup("") +Solution.Util.Print("-- Finished with Dependencies --\n") \ No newline at end of file diff --git a/Dependencies/FidelityFX-SDK/FidelityFX.lua b/Dependencies/FidelityFX-SDK/FidelityFX.lua deleted file mode 100644 index 36305092..00000000 --- a/Dependencies/FidelityFX-SDK/FidelityFX.lua +++ /dev/null @@ -1,46 +0,0 @@ -local dependencies = { "vulkan" } - -local function SetupLib() - local basePath = path.getabsolute("FidelityFX-SDK/", Engine.dependencyDir) - local dependencies = { "vulkan" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("FidelityFX", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("FidelityFX/sdk/src", basePath) - local includeDir = - { - path.getabsolute("FidelityFX/sdk/include/", basePath), - path.getabsolute("FidelityFX/sdk/permutations/", basePath), - path.getabsolute("FidelityFX/sdk/src/components", basePath), - path.getabsolute("FidelityFX/sdk/src/backends/shared", basePath), - path.getabsolute("FidelityFX/sdk/src/shared", basePath), - } - - local files = - { - sourceDir .. "/**.cpp", - sourceDir .. "/**.h", - basePath .. "/FidelityFX/sdk/include/**.h" - } - AddFiles(files) - AddIncludeDirs(includeDir) - - AddDefines("FFX_CACAO") - -end -SetupLib() - -local function Include() - local basePath = path.getabsolute("FidelityFX-SDK/", Engine.dependencyDir) - local includeDir = { - path.getabsolute("FidelityFX/sdk/include/", basePath), - path.getabsolute("FidelityFX/sdk/src/backends/shared", basePath), - } - AddIncludeDirs(includeDir) - - AddDefines("FFX_CACAO") - - AddLinks("FidelityFX") -end -CreateDep("fidelityfx", Include, dependencies) \ No newline at end of file diff --git a/Dependencies/base64/base64.lua b/Dependencies/base64/base64.lua index 2aebc975..ff11719a 100644 --- a/Dependencies/base64/base64.lua +++ b/Dependencies/base64/base64.lua @@ -1,6 +1,5 @@ -local function Include() - local includePath = path.getabsolute("base64/", Engine.dependencyDir); - AddIncludeDirs(includePath) -end +local dep = Solution.Util.CreateDepTable("base64", {}) -CreateDep("base64", Include) \ No newline at end of file +Solution.Util.CreateDep(dep.Name, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) +end) \ No newline at end of file diff --git a/Dependencies/catch2/catch2.lua b/Dependencies/catch2/catch2.lua index 5293df5e..460af8dc 100644 --- a/Dependencies/catch2/catch2.lua +++ b/Dependencies/catch2/catch2.lua @@ -1,25 +1,26 @@ -local dependencies = { } -local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } -ProjectTemplate("Catch2", "StaticLib", path.getabsolute("catch2/", Engine.dependencyDir), Engine.binDir, dependencies, defines) +local dep = Solution.Util.CreateDepTable("Catch2", {}) -local function IncludeCatch2() - local includePath = path.getabsolute("catch2/", Engine.dependencyDir); - AddIncludeDirs(includePath) - AddLinks("Catch2") -end -CreateDep("catch2", IncludeCatch2, dependencies) +Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } -local function IncludeCatch2WithMain() - local files = - { - path.getabsolute("catch2/**.h", Engine.dependencyDir), - path.getabsolute("catch2/**.cpp", Engine.dependencyDir) - } - AddFiles(files) + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) - local includePath = path.getabsolute("catch2/", Engine.dependencyDir); - AddIncludeDirs(includePath) + local files = Solution.Util.GetFilesForCpp(dep.Path) + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetDefines(defines) +end) - AddDefines("DO_NOT_USE_WMAIN") -end -CreateDep("catch2-withmain", IncludeCatch2WithMain) \ No newline at end of file +Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetLinks(dep.Name) +end) + +Solution.Util.CreateDep(dep.NameLow .. "-withmain", dep.Dependencies, function() + local files = Solution.Util.GetFilesForCpp(dep.Path) + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetLinks(dep.Name) + Solution.Util.SetDefines({ "DO_NOT_USE_WMAIN" }) +end) \ No newline at end of file diff --git a/Dependencies/dxcompiler/dxcompiler.lua b/Dependencies/dxcompiler/dxcompiler.lua index 0cfb11ab..43f2f57a 100644 --- a/Dependencies/dxcompiler/dxcompiler.lua +++ b/Dependencies/dxcompiler/dxcompiler.lua @@ -1,37 +1,18 @@ -local function Win64Link() - local links = - { - path.getabsolute("dxcompiler/lib/windows/dxcompiler.lib", Engine.dependencyDir) - } +local mod = Solution.Util.CreateDepTable("dxcompiler", {}) - AddLinks(links) -end -local function LinuxLink() - local links = - { - path.getabsolute("dxcompiler/lib/linux/dxcompiler.so", Engine.dependencyDir) - } +Solution.Util.CreateDep(mod.Name, mod.Dependencies, function() + Solution.Util.SetIncludes(mod.Path .. "/include") - AddLinks(links) -end + Solution.Util.SetFilter("platforms:Win64", function() + local link = mod.Path .. "/lib/windows/dxcompiler.lib" + Solution.Util.SetLinks(link) + end) + + Solution.Util.SetFilter("platforms:Linux", function() + local link = mod.Path .. "/lib/linux/dxcompiler.so" + Solution.Util.SetLinks(link) + end) +end) -local function Include() - local includeDir = path.getabsolute("dxcompiler/include", Engine.dependencyDir) - AddIncludeDirs(includeDir) - - filter "platforms:Win64" - Win64Link() - - filter "platforms:Linux" - LinuxLink() -end - -CreateDep("dxcompiler", Include) - -if os.istarget("windows") then - local libPath = path.getabsolute("dxcompiler/lib/windows/dxcompiler.dll", Engine.dependencyDir) - BuildSettings:Add("DXCompiler Dynamic Lib Path", libPath) -else - local libPath = path.getabsolute("dxcompiler/lib/linux/dxcompiler.so", Engine.dependencyDir) - BuildSettings:Add("DXCompiler Dynamic Lib Path", libPath) -end \ No newline at end of file +local libPath = iif(os.istarget("windows"), mod.Path .. "/lib/windows/dxcompiler.dll", mod.Path .. "/lib/linux/dxcompiler.so") +BuildSettings:Add("DXCompiler Dynamic Lib Path", libPath) \ No newline at end of file diff --git a/Dependencies/enkiTS/enkiTS.lua b/Dependencies/enkiTS/enkiTS.lua index ef99eeef..46963c96 100644 --- a/Dependencies/enkiTS/enkiTS.lua +++ b/Dependencies/enkiTS/enkiTS.lua @@ -1,34 +1,31 @@ -local taskPriorities = BuildSettings:Get("EnkiTS Num Task Priorities") +local dep = Solution.Util.CreateDepTable("EnkiTS", {}) -local function SetupLib() - local basePath = path.getabsolute("enkiTS/", Engine.dependencyDir) - local dependencies = { } +Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - ProjectTemplate("EnkiTS", "StaticLib", nil, Engine.binDir, dependencies, defines) + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) - local sourceDir = path.getabsolute("enkiTS/", basePath) - local includeDir = sourceDir + local sourceDir = dep.Path .. "/enkiTS" local files = { sourceDir .. "/LockLessMultiReadPipe.h", sourceDir .. "/TaskScheduler.h", sourceDir .. "/TaskScheduler.cpp" } - AddFiles(files) + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetDefines(defines) - AddIncludeDirs(includeDir) + local taskPriorities = BuildSettings:Get("EnkiTS Num Task Priorities") + Solution.Util.SetDefines({ "ENKITS_TASK_PRIORITIES_NUM=" .. tostring(taskPriorities) }) +end) - AddDefines("ENKITS_TASK_PRIORITIES_NUM=" .. tostring(taskPriorities)) -end -SetupLib() +Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetLinks(dep.Name) -local function Include() - local includeDir = path.getabsolute("enkiTS/", Engine.dependencyDir) - AddIncludeDirs(includeDir) - - AddLinks("EnkiTS") - filter "platforms:Linux" - AddLinks("pthread") -end -CreateDep("enkiTS", Include) \ No newline at end of file + Solution.Util.SetFilter("platforms:Linux", function() + Solution.Util.SetLinks("pthread") + end) +end) \ No newline at end of file diff --git a/Dependencies/entt/entt.lua b/Dependencies/entt/entt.lua index 1190c1c5..81cda73a 100644 --- a/Dependencies/entt/entt.lua +++ b/Dependencies/entt/entt.lua @@ -1,6 +1,5 @@ -local function Include() - local includeDir = path.getabsolute("entt/", Engine.dependencyDir) - AddIncludeDirs(includeDir) -end +local dep = Solution.Util.CreateDepTable("entt", {}) -CreateDep("entt", Include) \ No newline at end of file +Solution.Util.CreateDep(dep.Name, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) +end) \ No newline at end of file diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/LICENSE.txt b/Dependencies/fidelityfx/FidelityFX/LICENSE.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/LICENSE.txt rename to Dependencies/fidelityfx/FidelityFX/LICENSE.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/common.cmake b/Dependencies/fidelityfx/FidelityFX/common.cmake similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/common.cmake rename to Dependencies/fidelityfx/FidelityFX/common.cmake diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/readme.md b/Dependencies/fidelityfx/FidelityFX/readme.md similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/readme.md rename to Dependencies/fidelityfx/FidelityFX/readme.md diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sample.cmake b/Dependencies/fidelityfx/FidelityFX/sample.cmake similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sample.cmake rename to Dependencies/fidelityfx/FidelityFX/sample.cmake diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/BuildFidelityFXSDK.bat b/Dependencies/fidelityfx/FidelityFX/sdk/BuildFidelityFXSDK.bat similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/BuildFidelityFXSDK.bat rename to Dependencies/fidelityfx/FidelityFX/sdk/BuildFidelityFXSDK.bat diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/BuildFidelityFXSDKSolution.bat b/Dependencies/fidelityfx/FidelityFX/sdk/BuildFidelityFXSDKSolution.bat similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/BuildFidelityFXSDKSolution.bat rename to Dependencies/fidelityfx/FidelityFX/sdk/BuildFidelityFXSDKSolution.bat diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_blur.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_blur.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_blur.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_blur.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/blur/ffx_blur_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_apply.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_apply.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_apply.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_apply.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_defines.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_defines.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_defines.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_defines.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_edge_sensitive_blur.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_edge_sensitive_blur.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_edge_sensitive_blur.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_edge_sensitive_blur.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_importance_map.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_importance_map.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_importance_map.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_importance_map.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_prepare.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_prepare.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_prepare.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_prepare.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_ssao_generation.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_ssao_generation.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_ssao_generation.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_ssao_generation.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_upscale.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_upscale.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_upscale.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_upscale.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_utils.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_utils.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_utils.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cacao/ffx_cacao_utils.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_sharpen.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_sharpen.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_sharpen.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/cas/ffx_cas_sharpen.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_reflections_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/classifier/ffx_classifier_shadows_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_config.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_config.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_config.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_config.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_prefilter.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_prefilter.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_prefilter.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_prefilter.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_reproject.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_reproject.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_reproject.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_reproject.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_resolve_temporal.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_resolve_temporal.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_resolve_temporal.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_reflections_resolve_temporal.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_filter.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_filter.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_filter.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_filter.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_prepare.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_prepare.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_prepare.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_prepare.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_tileclassification.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_tileclassification.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_tileclassification.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_tileclassification.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_util.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_util.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_util.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/denoiser/ffx_denoiser_shadows_util.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_blur.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_blur.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_blur.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_blur.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_composite.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_composite.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_composite.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_composite.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_dilate_depth.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_dilate_depth.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_dilate_depth.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_dilate_depth.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_color.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_color.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_color.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_color.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_depth.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_depth.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_depth.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_downsample_depth.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/dof/ffx_dof_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_common_types.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_common_types.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_common_types.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_common_types.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_cpu.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_cpu.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_cpu.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_cpu.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common_half.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common_half.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common_half.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_gpu_common_half.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_portability.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_portability.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_portability.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/ffx_core_portability.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_easu.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_easu.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_easu.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_easu.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_rcas.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_rcas.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_rcas.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_rcas.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_accumulate.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_accumulate.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_accumulate.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_accumulate.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_compute_luminance_pyramid.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_compute_luminance_pyramid.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_compute_luminance_pyramid.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_compute_luminance_pyramid.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_depth_clip.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_depth_clip.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_depth_clip.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_depth_clip.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_lock.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_lock.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_lock.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_lock.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_postprocess_lock_status.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_postprocess_lock_status.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_postprocess_lock_status.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_postprocess_lock_status.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_rcas.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_rcas.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_rcas.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_rcas.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reconstruct_dilated_velocity_and_previous_depth.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reconstruct_dilated_velocity_and_previous_depth.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reconstruct_dilated_velocity_and_previous_depth.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reconstruct_dilated_velocity_and_previous_depth.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reproject.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reproject.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reproject.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_reproject.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_sample.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_sample.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_sample.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_sample.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_tcr_autogen.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_tcr_autogen.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_tcr_autogen.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_tcr_autogen.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_upsample.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_upsample.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_upsample.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/fsr2/ffx_fsr2_upsample.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lens/ffx_lens_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_filter.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_filter.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_filter.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_filter.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/lpm/ffx_lpm_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_reduce.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_reduce.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_reduce.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_reduce.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan_add.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan_add.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan_add.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scan_add.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scatter.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scatter.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scatter.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_scatter.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_setup_indirect_args.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_setup_indirect_args.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_setup_indirect_args.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_setup_indirect_args.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_sum.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_sum.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_sum.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/parallelsort/ffx_parallelsort_sum.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_config.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_config.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_config.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/reflection-dnsr/ffx_denoiser_reflections_config.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_downsample.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_downsample.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_downsample.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_downsample.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/spd/ffx_spd_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_classify_tiles.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_classify_tiles.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_classify_tiles.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_classify_tiles.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_common.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_common.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_depth_downsample.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_depth_downsample.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_depth_downsample.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_depth_downsample.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_intersect.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_intersect.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_intersect.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_intersect.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_blue_noise_texture.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_blue_noise_texture.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_blue_noise_texture.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_blue_noise_texture.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_indirect_args.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_indirect_args.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_indirect_args.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_prepare_indirect_args.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/sssr/ffx_sssr_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_variable_shading.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_variable_shading.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_variable_shading.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_variable_shading.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_glsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_glsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_resources.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_resources.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/gpu/vrs/ffx_vrs_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/d3dx12.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/d3dx12.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/d3dx12.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/d3dx12.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/ffx_dx12.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/ffx_dx12.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/ffx_dx12.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/ffx_dx12.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/license.txt b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/license.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/license.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/dx12/license.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/vk/ffx_vk.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/vk/ffx_vk.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/backends/vk/ffx_vk.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/backends/vk/ffx_vk.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_assert.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_assert.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_assert.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_assert.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_blur.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_blur.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_blur.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_blur.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_cacao.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_cacao.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_cacao.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_cacao.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_cas.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_cas.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_cas.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_cas.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_classifier.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_classifier.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_classifier.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_classifier.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_denoiser.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_denoiser.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_denoiser.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_denoiser.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_dof.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_dof.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_dof.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_dof.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_error.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_error.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_error.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_error.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr1.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr2.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_fsr2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_fx.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_fx.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_fx.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_fx.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_interface.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_interface.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_interface.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_interface.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_lens.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_lens.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_lens.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_lens.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_lpm.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_lpm.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_lpm.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_lpm.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_parallelsort.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_parallelsort.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_parallelsort.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_parallelsort.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_spd.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_spd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_spd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_spd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_sssr.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_sssr.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_sssr.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_sssr.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_types.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_types.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_types.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_types.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_util.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_util.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_util.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_util.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_vrs.h b/Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_vrs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/include/FidelityFX/host/ffx_vrs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/include/FidelityFX/host/ffx_vrs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_08c36ed355cbf75b5b3a06746b677dff.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_08c36ed355cbf75b5b3a06746b677dff.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_08c36ed355cbf75b5b3a06746b677dff.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_08c36ed355cbf75b5b3a06746b677dff.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_0ee8d3c24b25abd8c0111d5bab37ca9d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_0ee8d3c24b25abd8c0111d5bab37ca9d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_0ee8d3c24b25abd8c0111d5bab37ca9d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_0ee8d3c24b25abd8c0111d5bab37ca9d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_0f5ce871a0f73c20196d667115f738f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_0f5ce871a0f73c20196d667115f738f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_0f5ce871a0f73c20196d667115f738f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_0f5ce871a0f73c20196d667115f738f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_15397821cd414ef16c13014118c6f710.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_15397821cd414ef16c13014118c6f710.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_15397821cd414ef16c13014118c6f710.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_15397821cd414ef16c13014118c6f710.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_15b69efa775ee4be6a5e668350b5bbe5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_15b69efa775ee4be6a5e668350b5bbe5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_15b69efa775ee4be6a5e668350b5bbe5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_15b69efa775ee4be6a5e668350b5bbe5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b3884833bdb5b1759b2cd481dd15a82.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b3884833bdb5b1759b2cd481dd15a82.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b3884833bdb5b1759b2cd481dd15a82.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b3884833bdb5b1759b2cd481dd15a82.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b5daae9a618c3325b6897410e7abfb5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b5daae9a618c3325b6897410e7abfb5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b5daae9a618c3325b6897410e7abfb5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_0b5daae9a618c3325b6897410e7abfb5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_20af91e6eb67e724e464b25c79a3bde8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_20af91e6eb67e724e464b25c79a3bde8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_20af91e6eb67e724e464b25c79a3bde8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_20af91e6eb67e724e464b25c79a3bde8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_28d62953944245793e722a0c091ae2ef.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_28d62953944245793e722a0c091ae2ef.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_28d62953944245793e722a0c091ae2ef.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_28d62953944245793e722a0c091ae2ef.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_2d2477cd8f89de124ee546a629d62343.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_2d2477cd8f89de124ee546a629d62343.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_2d2477cd8f89de124ee546a629d62343.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_2d2477cd8f89de124ee546a629d62343.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_41e4ab2ef999db9c444304ca55c39563.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_41e4ab2ef999db9c444304ca55c39563.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_41e4ab2ef999db9c444304ca55c39563.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_41e4ab2ef999db9c444304ca55c39563.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_45e77d64ff30a668ae0875f8052aa6d5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_45e77d64ff30a668ae0875f8052aa6d5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_45e77d64ff30a668ae0875f8052aa6d5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_45e77d64ff30a668ae0875f8052aa6d5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_466f453608719779b74190bd8e8140e3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_466f453608719779b74190bd8e8140e3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_466f453608719779b74190bd8e8140e3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_466f453608719779b74190bd8e8140e3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_49e1794b22a460ea5c04532e58bda746.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_49e1794b22a460ea5c04532e58bda746.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_49e1794b22a460ea5c04532e58bda746.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_49e1794b22a460ea5c04532e58bda746.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_4bbbd426998ce4e10143e6ecee64860b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_4bbbd426998ce4e10143e6ecee64860b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_4bbbd426998ce4e10143e6ecee64860b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_4bbbd426998ce4e10143e6ecee64860b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6674ce486791e0b6e31ac60c69481822.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6674ce486791e0b6e31ac60c69481822.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6674ce486791e0b6e31ac60c69481822.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6674ce486791e0b6e31ac60c69481822.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_780604d4f74e4dc367e15b37e151eed6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_780604d4f74e4dc367e15b37e151eed6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_780604d4f74e4dc367e15b37e151eed6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_780604d4f74e4dc367e15b37e151eed6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_7e27063ad6ef494180b56ed7df9f6e51.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_7e27063ad6ef494180b56ed7df9f6e51.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_7e27063ad6ef494180b56ed7df9f6e51.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_7e27063ad6ef494180b56ed7df9f6e51.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_8752f8ecfb9771ed735306503b734169.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_8752f8ecfb9771ed735306503b734169.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_8752f8ecfb9771ed735306503b734169.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_8752f8ecfb9771ed735306503b734169.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a5c7086b5cab60d6283335f0adb868ec.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a5c7086b5cab60d6283335f0adb868ec.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a5c7086b5cab60d6283335f0adb868ec.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a5c7086b5cab60d6283335f0adb868ec.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a779de0428ca77552550182162e91170.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a779de0428ca77552550182162e91170.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a779de0428ca77552550182162e91170.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_a779de0428ca77552550182162e91170.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_aed08a7046c7f78adc248d78d9f46fdb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_aed08a7046c7f78adc248d78d9f46fdb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_aed08a7046c7f78adc248d78d9f46fdb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_aed08a7046c7f78adc248d78d9f46fdb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_b4390e5af68a647984c919143dcaf66a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_b4390e5af68a647984c919143dcaf66a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_b4390e5af68a647984c919143dcaf66a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_b4390e5af68a647984c919143dcaf66a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_d8b6062a16dfdb1bb766c10cba207661.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_d8b6062a16dfdb1bb766c10cba207661.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_d8b6062a16dfdb1bb766c10cba207661.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_d8b6062a16dfdb1bb766c10cba207661.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ddd65283385cd9ae93f92c8810a0b386.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ddd65283385cd9ae93f92c8810a0b386.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ddd65283385cd9ae93f92c8810a0b386.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_ddd65283385cd9ae93f92c8810a0b386.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_fcacc252582c151bfbcb9bfb718d0abc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_fcacc252582c151bfbcb9bfb718d0abc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_fcacc252582c151bfbcb9bfb718d0abc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_fcacc252582c151bfbcb9bfb718d0abc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_2cc4f1afbd334881d303d53fa7634c22.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_2cc4f1afbd334881d303d53fa7634c22.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_2cc4f1afbd334881d303d53fa7634c22.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_2cc4f1afbd334881d303d53fa7634c22.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_3cc08832e971b3c49884bb4f762f81c5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_3cc08832e971b3c49884bb4f762f81c5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_3cc08832e971b3c49884bb4f762f81c5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_3cc08832e971b3c49884bb4f762f81c5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_449f64024d4ea1fa87fd7d45f4fd6ea1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_449f64024d4ea1fa87fd7d45f4fd6ea1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_449f64024d4ea1fa87fd7d45f4fd6ea1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_449f64024d4ea1fa87fd7d45f4fd6ea1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_4f33c90537ccfcd88227c1ee45387604.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_4f33c90537ccfcd88227c1ee45387604.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_4f33c90537ccfcd88227c1ee45387604.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_4f33c90537ccfcd88227c1ee45387604.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_605e19bd0f006d0853a76bb2fdbf9ba2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_605e19bd0f006d0853a76bb2fdbf9ba2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_605e19bd0f006d0853a76bb2fdbf9ba2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_605e19bd0f006d0853a76bb2fdbf9ba2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_74b354b222983f11bd9929ec18b52c94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_74b354b222983f11bd9929ec18b52c94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_74b354b222983f11bd9929ec18b52c94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_74b354b222983f11bd9929ec18b52c94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_98b9eeec5de25cccfdf65aa589251c8b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_98b9eeec5de25cccfdf65aa589251c8b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_98b9eeec5de25cccfdf65aa589251c8b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_98b9eeec5de25cccfdf65aa589251c8b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_9c57455774abdb9161988f0895f04a49.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_9c57455774abdb9161988f0895f04a49.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_9c57455774abdb9161988f0895f04a49.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_9c57455774abdb9161988f0895f04a49.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_9db49b14ef44e4c8d6d9325fdc6c381f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_9db49b14ef44e4c8d6d9325fdc6c381f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_9db49b14ef44e4c8d6d9325fdc6c381f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_9db49b14ef44e4c8d6d9325fdc6c381f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_a28c9d640a1a6456cd79189910722bc9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_a28c9d640a1a6456cd79189910722bc9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_a28c9d640a1a6456cd79189910722bc9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_a28c9d640a1a6456cd79189910722bc9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_a59c6f0d4182f2d8eba05a07641c6b03.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_a59c6f0d4182f2d8eba05a07641c6b03.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_a59c6f0d4182f2d8eba05a07641c6b03.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_a59c6f0d4182f2d8eba05a07641c6b03.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_a83cfa196153635dc1693f1a5352631a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_a83cfa196153635dc1693f1a5352631a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_a83cfa196153635dc1693f1a5352631a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_a83cfa196153635dc1693f1a5352631a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_b893781d9dc26d35507978f2de33cc70.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_b893781d9dc26d35507978f2de33cc70.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_b893781d9dc26d35507978f2de33cc70.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_b893781d9dc26d35507978f2de33cc70.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_c69db080a3afed649a481cb307d7ef5c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_c69db080a3afed649a481cb307d7ef5c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_c69db080a3afed649a481cb307d7ef5c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_c69db080a3afed649a481cb307d7ef5c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_cc10929b5caf2ff6b4311eddd7b77e1d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_cc10929b5caf2ff6b4311eddd7b77e1d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_cc10929b5caf2ff6b4311eddd7b77e1d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_cc10929b5caf2ff6b4311eddd7b77e1d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_cd28c267f2525ff1476ce4b632d6b2c0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_cd28c267f2525ff1476ce4b632d6b2c0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_cd28c267f2525ff1476ce4b632d6b2c0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_cd28c267f2525ff1476ce4b632d6b2c0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_cf65e9513ab3c4e5b9caa677dcb3d667.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_cf65e9513ab3c4e5b9caa677dcb3d667.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_cf65e9513ab3c4e5b9caa677dcb3d667.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_cf65e9513ab3c4e5b9caa677dcb3d667.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_dd19d8b4d70103102f6e208328657b21.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_dd19d8b4d70103102f6e208328657b21.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_dd19d8b4d70103102f6e208328657b21.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_dd19d8b4d70103102f6e208328657b21.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_de797f24c56cb766eb60dd532f985c94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_de797f24c56cb766eb60dd532f985c94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_de797f24c56cb766eb60dd532f985c94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_de797f24c56cb766eb60dd532f985c94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_e32b1d123a5441cab23fdb7b98b73bd9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_e32b1d123a5441cab23fdb7b98b73bd9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_e32b1d123a5441cab23fdb7b98b73bd9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_e32b1d123a5441cab23fdb7b98b73bd9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_e6bea97e3aca5c291628435e80c2f147.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_e6bea97e3aca5c291628435e80c2f147.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_e6bea97e3aca5c291628435e80c2f147.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_e6bea97e3aca5c291628435e80c2f147.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_e8a69698bf7a0d191e9f22ed3f24a13c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_e8a69698bf7a0d191e9f22ed3f24a13c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_e8a69698bf7a0d191e9f22ed3f24a13c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_e8a69698bf7a0d191e9f22ed3f24a13c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_eb019c44bca440721fc3102573392d9c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_eb019c44bca440721fc3102573392d9c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_eb019c44bca440721fc3102573392d9c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_eb019c44bca440721fc3102573392d9c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_ef698dac7e633c771a3a82f0fb96086e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_ef698dac7e633c771a3a82f0fb96086e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_ef698dac7e633c771a3a82f0fb96086e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_ef698dac7e633c771a3a82f0fb96086e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_ef765219d3e69e3ec966f4e9d8418b94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_ef765219d3e69e3ec966f4e9d8418b94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_ef765219d3e69e3ec966f4e9d8418b94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_ef765219d3e69e3ec966f4e9d8418b94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_08c36ed355cbf75b5b3a06746b677dff.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_08c36ed355cbf75b5b3a06746b677dff.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_08c36ed355cbf75b5b3a06746b677dff.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_08c36ed355cbf75b5b3a06746b677dff.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0ee8d3c24b25abd8c0111d5bab37ca9d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0ee8d3c24b25abd8c0111d5bab37ca9d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0ee8d3c24b25abd8c0111d5bab37ca9d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0ee8d3c24b25abd8c0111d5bab37ca9d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0f5ce871a0f73c20196d667115f738f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0f5ce871a0f73c20196d667115f738f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0f5ce871a0f73c20196d667115f738f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_0f5ce871a0f73c20196d667115f738f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15397821cd414ef16c13014118c6f710.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15397821cd414ef16c13014118c6f710.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15397821cd414ef16c13014118c6f710.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15397821cd414ef16c13014118c6f710.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15b69efa775ee4be6a5e668350b5bbe5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15b69efa775ee4be6a5e668350b5bbe5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15b69efa775ee4be6a5e668350b5bbe5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_15b69efa775ee4be6a5e668350b5bbe5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b3884833bdb5b1759b2cd481dd15a82.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b3884833bdb5b1759b2cd481dd15a82.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b3884833bdb5b1759b2cd481dd15a82.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b3884833bdb5b1759b2cd481dd15a82.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b5daae9a618c3325b6897410e7abfb5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b5daae9a618c3325b6897410e7abfb5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b5daae9a618c3325b6897410e7abfb5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_0b5daae9a618c3325b6897410e7abfb5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_175a0d12f69b0f58c07bb15aadf9bdae.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_1ffb7f00d7a0f7cb7a657421adc881ae.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_20af91e6eb67e724e464b25c79a3bde8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_20af91e6eb67e724e464b25c79a3bde8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_20af91e6eb67e724e464b25c79a3bde8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_20af91e6eb67e724e464b25c79a3bde8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_24649cf8e4cd44b22fa5617b4de7de5e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_28d62953944245793e722a0c091ae2ef.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_28d62953944245793e722a0c091ae2ef.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_28d62953944245793e722a0c091ae2ef.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_28d62953944245793e722a0c091ae2ef.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_2d2477cd8f89de124ee546a629d62343.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_2d2477cd8f89de124ee546a629d62343.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_2d2477cd8f89de124ee546a629d62343.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_2d2477cd8f89de124ee546a629d62343.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_41e4ab2ef999db9c444304ca55c39563.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_41e4ab2ef999db9c444304ca55c39563.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_41e4ab2ef999db9c444304ca55c39563.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_41e4ab2ef999db9c444304ca55c39563.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_45e77d64ff30a668ae0875f8052aa6d5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_45e77d64ff30a668ae0875f8052aa6d5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_45e77d64ff30a668ae0875f8052aa6d5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_45e77d64ff30a668ae0875f8052aa6d5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_466f453608719779b74190bd8e8140e3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_466f453608719779b74190bd8e8140e3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_466f453608719779b74190bd8e8140e3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_466f453608719779b74190bd8e8140e3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_49e1794b22a460ea5c04532e58bda746.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_49e1794b22a460ea5c04532e58bda746.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_49e1794b22a460ea5c04532e58bda746.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_49e1794b22a460ea5c04532e58bda746.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_4bbbd426998ce4e10143e6ecee64860b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_4bbbd426998ce4e10143e6ecee64860b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_4bbbd426998ce4e10143e6ecee64860b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_4bbbd426998ce4e10143e6ecee64860b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_618bda43b0ebf26d9a8b3d55960ab11b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6674ce486791e0b6e31ac60c69481822.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6674ce486791e0b6e31ac60c69481822.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6674ce486791e0b6e31ac60c69481822.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6674ce486791e0b6e31ac60c69481822.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_6de3f74f1ac5e7340c13c2a5b6841ced.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_780604d4f74e4dc367e15b37e151eed6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_780604d4f74e4dc367e15b37e151eed6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_780604d4f74e4dc367e15b37e151eed6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_780604d4f74e4dc367e15b37e151eed6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_7e27063ad6ef494180b56ed7df9f6e51.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_7e27063ad6ef494180b56ed7df9f6e51.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_7e27063ad6ef494180b56ed7df9f6e51.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_7e27063ad6ef494180b56ed7df9f6e51.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_81a5c6a0cb4c781b3f12a6a3a03180bc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_8752f8ecfb9771ed735306503b734169.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_8752f8ecfb9771ed735306503b734169.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_8752f8ecfb9771ed735306503b734169.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_8752f8ecfb9771ed735306503b734169.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a5c7086b5cab60d6283335f0adb868ec.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a5c7086b5cab60d6283335f0adb868ec.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a5c7086b5cab60d6283335f0adb868ec.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a5c7086b5cab60d6283335f0adb868ec.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a779de0428ca77552550182162e91170.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a779de0428ca77552550182162e91170.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a779de0428ca77552550182162e91170.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_a779de0428ca77552550182162e91170.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ae2b6fb9e3211cc1111ac6607e50ee23.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_aed08a7046c7f78adc248d78d9f46fdb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_aed08a7046c7f78adc248d78d9f46fdb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_aed08a7046c7f78adc248d78d9f46fdb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_aed08a7046c7f78adc248d78d9f46fdb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_b4390e5af68a647984c919143dcaf66a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_b4390e5af68a647984c919143dcaf66a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_b4390e5af68a647984c919143dcaf66a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_b4390e5af68a647984c919143dcaf66a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_bbc25a89aa7b5f504de3dfd33fe4e133.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ceb30705cbf1bca9e0d330cc0a2cbed8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_d8b6062a16dfdb1bb766c10cba207661.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_d8b6062a16dfdb1bb766c10cba207661.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_d8b6062a16dfdb1bb766c10cba207661.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_d8b6062a16dfdb1bb766c10cba207661.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ddd65283385cd9ae93f92c8810a0b386.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ddd65283385cd9ae93f92c8810a0b386.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ddd65283385cd9ae93f92c8810a0b386.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_ddd65283385cd9ae93f92c8810a0b386.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_fcacc252582c151bfbcb9bfb718d0abc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_fcacc252582c151bfbcb9bfb718d0abc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_fcacc252582c151bfbcb9bfb718d0abc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_fcacc252582c151bfbcb9bfb718d0abc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_2cc4f1afbd334881d303d53fa7634c22.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_2cc4f1afbd334881d303d53fa7634c22.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_2cc4f1afbd334881d303d53fa7634c22.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_2cc4f1afbd334881d303d53fa7634c22.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_3cc08832e971b3c49884bb4f762f81c5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_3cc08832e971b3c49884bb4f762f81c5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_3cc08832e971b3c49884bb4f762f81c5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_3cc08832e971b3c49884bb4f762f81c5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_449f64024d4ea1fa87fd7d45f4fd6ea1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_449f64024d4ea1fa87fd7d45f4fd6ea1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_449f64024d4ea1fa87fd7d45f4fd6ea1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_449f64024d4ea1fa87fd7d45f4fd6ea1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_4f33c90537ccfcd88227c1ee45387604.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_4f33c90537ccfcd88227c1ee45387604.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_4f33c90537ccfcd88227c1ee45387604.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_4f33c90537ccfcd88227c1ee45387604.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_605e19bd0f006d0853a76bb2fdbf9ba2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_605e19bd0f006d0853a76bb2fdbf9ba2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_605e19bd0f006d0853a76bb2fdbf9ba2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_605e19bd0f006d0853a76bb2fdbf9ba2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_74b354b222983f11bd9929ec18b52c94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_74b354b222983f11bd9929ec18b52c94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_74b354b222983f11bd9929ec18b52c94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_74b354b222983f11bd9929ec18b52c94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_98b9eeec5de25cccfdf65aa589251c8b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_98b9eeec5de25cccfdf65aa589251c8b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_98b9eeec5de25cccfdf65aa589251c8b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_98b9eeec5de25cccfdf65aa589251c8b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9c57455774abdb9161988f0895f04a49.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9c57455774abdb9161988f0895f04a49.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9c57455774abdb9161988f0895f04a49.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9c57455774abdb9161988f0895f04a49.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9db49b14ef44e4c8d6d9325fdc6c381f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9db49b14ef44e4c8d6d9325fdc6c381f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9db49b14ef44e4c8d6d9325fdc6c381f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_9db49b14ef44e4c8d6d9325fdc6c381f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a28c9d640a1a6456cd79189910722bc9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a28c9d640a1a6456cd79189910722bc9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a28c9d640a1a6456cd79189910722bc9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a28c9d640a1a6456cd79189910722bc9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a59c6f0d4182f2d8eba05a07641c6b03.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a59c6f0d4182f2d8eba05a07641c6b03.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a59c6f0d4182f2d8eba05a07641c6b03.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a59c6f0d4182f2d8eba05a07641c6b03.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a83cfa196153635dc1693f1a5352631a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a83cfa196153635dc1693f1a5352631a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a83cfa196153635dc1693f1a5352631a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_a83cfa196153635dc1693f1a5352631a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_b893781d9dc26d35507978f2de33cc70.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_b893781d9dc26d35507978f2de33cc70.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_b893781d9dc26d35507978f2de33cc70.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_b893781d9dc26d35507978f2de33cc70.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_c69db080a3afed649a481cb307d7ef5c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_c69db080a3afed649a481cb307d7ef5c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_c69db080a3afed649a481cb307d7ef5c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_c69db080a3afed649a481cb307d7ef5c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cc10929b5caf2ff6b4311eddd7b77e1d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cc10929b5caf2ff6b4311eddd7b77e1d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cc10929b5caf2ff6b4311eddd7b77e1d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cc10929b5caf2ff6b4311eddd7b77e1d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cd28c267f2525ff1476ce4b632d6b2c0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cd28c267f2525ff1476ce4b632d6b2c0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cd28c267f2525ff1476ce4b632d6b2c0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cd28c267f2525ff1476ce4b632d6b2c0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cf65e9513ab3c4e5b9caa677dcb3d667.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cf65e9513ab3c4e5b9caa677dcb3d667.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cf65e9513ab3c4e5b9caa677dcb3d667.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_cf65e9513ab3c4e5b9caa677dcb3d667.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_dd19d8b4d70103102f6e208328657b21.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_dd19d8b4d70103102f6e208328657b21.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_dd19d8b4d70103102f6e208328657b21.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_dd19d8b4d70103102f6e208328657b21.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_de797f24c56cb766eb60dd532f985c94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_de797f24c56cb766eb60dd532f985c94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_de797f24c56cb766eb60dd532f985c94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_de797f24c56cb766eb60dd532f985c94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e32b1d123a5441cab23fdb7b98b73bd9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e32b1d123a5441cab23fdb7b98b73bd9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e32b1d123a5441cab23fdb7b98b73bd9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e32b1d123a5441cab23fdb7b98b73bd9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e6bea97e3aca5c291628435e80c2f147.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e6bea97e3aca5c291628435e80c2f147.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e6bea97e3aca5c291628435e80c2f147.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e6bea97e3aca5c291628435e80c2f147.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e8a69698bf7a0d191e9f22ed3f24a13c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e8a69698bf7a0d191e9f22ed3f24a13c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e8a69698bf7a0d191e9f22ed3f24a13c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_e8a69698bf7a0d191e9f22ed3f24a13c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_eb019c44bca440721fc3102573392d9c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_eb019c44bca440721fc3102573392d9c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_eb019c44bca440721fc3102573392d9c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_eb019c44bca440721fc3102573392d9c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef698dac7e633c771a3a82f0fb96086e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef698dac7e633c771a3a82f0fb96086e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef698dac7e633c771a3a82f0fb96086e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef698dac7e633c771a3a82f0fb96086e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef765219d3e69e3ec966f4e9d8418b94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef765219d3e69e3ec966f4e9d8418b94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef765219d3e69e3ec966f4e9d8418b94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_ef765219d3e69e3ec966f4e9d8418b94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_blur_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_1200da1372bf8ff814f24279855b55c5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_1200da1372bf8ff814f24279855b55c5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_1200da1372bf8ff814f24279855b55c5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_1200da1372bf8ff814f24279855b55c5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_bb1241b0f99e00f018c26a3a31f51adf.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_bb1241b0f99e00f018c26a3a31f51adf.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_bb1241b0f99e00f018c26a3a31f51adf.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_bb1241b0f99e00f018c26a3a31f51adf.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_1200da1372bf8ff814f24279855b55c5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_1200da1372bf8ff814f24279855b55c5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_1200da1372bf8ff814f24279855b55c5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_1200da1372bf8ff814f24279855b55c5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_bb1241b0f99e00f018c26a3a31f51adf.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_bb1241b0f99e00f018c26a3a31f51adf.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_bb1241b0f99e00f018c26a3a31f51adf.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_bb1241b0f99e00f018c26a3a31f51adf.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_half_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_86c4a87a6e2e2a02953074b6cf184a24.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_86c4a87a6e2e2a02953074b6cf184a24.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_86c4a87a6e2e2a02953074b6cf184a24.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_86c4a87a6e2e2a02953074b6cf184a24.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_7411418c360cb2452b3b3a8cb2c5a192.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_7411418c360cb2452b3b3a8cb2c5a192.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_7411418c360cb2452b3b3a8cb2c5a192.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_7411418c360cb2452b3b3a8cb2c5a192.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_86c4a87a6e2e2a02953074b6cf184a24.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_86c4a87a6e2e2a02953074b6cf184a24.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_86c4a87a6e2e2a02953074b6cf184a24.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_86c4a87a6e2e2a02953074b6cf184a24.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_7411418c360cb2452b3b3a8cb2c5a192.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_7411418c360cb2452b3b3a8cb2c5a192.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_7411418c360cb2452b3b3a8cb2c5a192.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_7411418c360cb2452b3b3a8cb2c5a192.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_non_smart_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_b997b314f1a80b5924282a6a19517de2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_b997b314f1a80b5924282a6a19517de2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_b997b314f1a80b5924282a6a19517de2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_b997b314f1a80b5924282a6a19517de2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_2ee3f7db1f2b0b8426f87d4df07f2398.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_b997b314f1a80b5924282a6a19517de2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_b997b314f1a80b5924282a6a19517de2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_b997b314f1a80b5924282a6a19517de2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_b997b314f1a80b5924282a6a19517de2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_apply_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_31190c0e53a6de1f16e3f960df24de4a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_31190c0e53a6de1f16e3f960df24de4a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_31190c0e53a6de1f16e3f960df24de4a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_31190c0e53a6de1f16e3f960df24de4a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_5e61028ff3c93bd7ff1e1a8504f763f7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_31190c0e53a6de1f16e3f960df24de4a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_31190c0e53a6de1f16e3f960df24de4a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_31190c0e53a6de1f16e3f960df24de4a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_31190c0e53a6de1f16e3f960df24de4a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_clear_load_counter_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_226d702b2e428437d09ae3913a5f6729.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_226d702b2e428437d09ae3913a5f6729.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_226d702b2e428437d09ae3913a5f6729.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_226d702b2e428437d09ae3913a5f6729.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_2e706a59f856af80261a2044236031cd.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_2e706a59f856af80261a2044236031cd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_2e706a59f856af80261a2044236031cd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_2e706a59f856af80261a2044236031cd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_226d702b2e428437d09ae3913a5f6729.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_226d702b2e428437d09ae3913a5f6729.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_226d702b2e428437d09ae3913a5f6729.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_226d702b2e428437d09ae3913a5f6729.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_2e706a59f856af80261a2044236031cd.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_2e706a59f856af80261a2044236031cd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_2e706a59f856af80261a2044236031cd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_2e706a59f856af80261a2044236031cd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_1_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_fad219ef895164f887a0a9edea29fa39.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_fad219ef895164f887a0a9edea29fa39.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_fad219ef895164f887a0a9edea29fa39.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_fad219ef895164f887a0a9edea29fa39.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_7a7a1cfa220a249d06efdf6203e009d5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_7a7a1cfa220a249d06efdf6203e009d5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_7a7a1cfa220a249d06efdf6203e009d5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_7a7a1cfa220a249d06efdf6203e009d5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_fad219ef895164f887a0a9edea29fa39.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_fad219ef895164f887a0a9edea29fa39.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_fad219ef895164f887a0a9edea29fa39.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_fad219ef895164f887a0a9edea29fa39.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_7a7a1cfa220a249d06efdf6203e009d5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_7a7a1cfa220a249d06efdf6203e009d5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_7a7a1cfa220a249d06efdf6203e009d5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_7a7a1cfa220a249d06efdf6203e009d5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_2_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_aa8f50d137e7a0840e4251fad209aa43.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_aa8f50d137e7a0840e4251fad209aa43.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_aa8f50d137e7a0840e4251fad209aa43.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_aa8f50d137e7a0840e4251fad209aa43.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_6e4a075a2bca4487af666b82b819b1fe.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_6e4a075a2bca4487af666b82b819b1fe.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_6e4a075a2bca4487af666b82b819b1fe.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_6e4a075a2bca4487af666b82b819b1fe.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_aa8f50d137e7a0840e4251fad209aa43.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_aa8f50d137e7a0840e4251fad209aa43.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_aa8f50d137e7a0840e4251fad209aa43.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_aa8f50d137e7a0840e4251fad209aa43.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_6e4a075a2bca4487af666b82b819b1fe.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_6e4a075a2bca4487af666b82b819b1fe.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_6e4a075a2bca4487af666b82b819b1fe.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_6e4a075a2bca4487af666b82b819b1fe.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_3_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_b94a39190a679434d20de8d9f2004647.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_b94a39190a679434d20de8d9f2004647.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_b94a39190a679434d20de8d9f2004647.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_b94a39190a679434d20de8d9f2004647.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_c9153c988a55576efba4a88818b74d76.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_c9153c988a55576efba4a88818b74d76.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_c9153c988a55576efba4a88818b74d76.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_c9153c988a55576efba4a88818b74d76.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_b94a39190a679434d20de8d9f2004647.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_b94a39190a679434d20de8d9f2004647.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_b94a39190a679434d20de8d9f2004647.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_b94a39190a679434d20de8d9f2004647.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_c9153c988a55576efba4a88818b74d76.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_c9153c988a55576efba4a88818b74d76.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_c9153c988a55576efba4a88818b74d76.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_c9153c988a55576efba4a88818b74d76.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_4_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_5520a856ebbabdc04470dce56d7fd86d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_5520a856ebbabdc04470dce56d7fd86d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_5520a856ebbabdc04470dce56d7fd86d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_5520a856ebbabdc04470dce56d7fd86d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_3a0b97ae5e3fe8f5533e17fb0b344a04.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_3a0b97ae5e3fe8f5533e17fb0b344a04.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_3a0b97ae5e3fe8f5533e17fb0b344a04.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_3a0b97ae5e3fe8f5533e17fb0b344a04.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_5520a856ebbabdc04470dce56d7fd86d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_5520a856ebbabdc04470dce56d7fd86d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_5520a856ebbabdc04470dce56d7fd86d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_5520a856ebbabdc04470dce56d7fd86d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_3a0b97ae5e3fe8f5533e17fb0b344a04.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_3a0b97ae5e3fe8f5533e17fb0b344a04.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_3a0b97ae5e3fe8f5533e17fb0b344a04.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_3a0b97ae5e3fe8f5533e17fb0b344a04.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_5_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_861260e0f23a95ff2b53383da32085ce.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_861260e0f23a95ff2b53383da32085ce.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_861260e0f23a95ff2b53383da32085ce.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_861260e0f23a95ff2b53383da32085ce.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_6313a559c0973bb4fb022e1c62e132cb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_6313a559c0973bb4fb022e1c62e132cb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_6313a559c0973bb4fb022e1c62e132cb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_6313a559c0973bb4fb022e1c62e132cb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_861260e0f23a95ff2b53383da32085ce.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_861260e0f23a95ff2b53383da32085ce.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_861260e0f23a95ff2b53383da32085ce.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_861260e0f23a95ff2b53383da32085ce.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_6313a559c0973bb4fb022e1c62e132cb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_6313a559c0973bb4fb022e1c62e132cb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_6313a559c0973bb4fb022e1c62e132cb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_6313a559c0973bb4fb022e1c62e132cb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_6_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_11a1adc82d9ea9fe57be9add559426a7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_11a1adc82d9ea9fe57be9add559426a7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_11a1adc82d9ea9fe57be9add559426a7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_11a1adc82d9ea9fe57be9add559426a7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_7bd849b96a4ca6aeb7ab72cbe628566b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_7bd849b96a4ca6aeb7ab72cbe628566b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_7bd849b96a4ca6aeb7ab72cbe628566b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_7bd849b96a4ca6aeb7ab72cbe628566b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_11a1adc82d9ea9fe57be9add559426a7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_11a1adc82d9ea9fe57be9add559426a7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_11a1adc82d9ea9fe57be9add559426a7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_11a1adc82d9ea9fe57be9add559426a7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_7bd849b96a4ca6aeb7ab72cbe628566b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_7bd849b96a4ca6aeb7ab72cbe628566b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_7bd849b96a4ca6aeb7ab72cbe628566b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_7bd849b96a4ca6aeb7ab72cbe628566b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_7_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_6650d2c2d949fbd8d48ba37b0efa2860.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_6650d2c2d949fbd8d48ba37b0efa2860.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_6650d2c2d949fbd8d48ba37b0efa2860.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_6650d2c2d949fbd8d48ba37b0efa2860.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_2c0f63fd406373e1bc4ea556118b2ea2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_6650d2c2d949fbd8d48ba37b0efa2860.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_6650d2c2d949fbd8d48ba37b0efa2860.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_6650d2c2d949fbd8d48ba37b0efa2860.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_6650d2c2d949fbd8d48ba37b0efa2860.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_edge_sensitive_blur_8_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_b63e8ba69edb84c86926bea0d2969d3a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_b63e8ba69edb84c86926bea0d2969d3a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_b63e8ba69edb84c86926bea0d2969d3a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_b63e8ba69edb84c86926bea0d2969d3a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_8506cfe4d4690e4c18f1c42702f1fdc4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_8506cfe4d4690e4c18f1c42702f1fdc4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_8506cfe4d4690e4c18f1c42702f1fdc4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_8506cfe4d4690e4c18f1c42702f1fdc4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_b63e8ba69edb84c86926bea0d2969d3a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_b63e8ba69edb84c86926bea0d2969d3a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_b63e8ba69edb84c86926bea0d2969d3a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_b63e8ba69edb84c86926bea0d2969d3a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_8506cfe4d4690e4c18f1c42702f1fdc4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_8506cfe4d4690e4c18f1c42702f1fdc4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_8506cfe4d4690e4c18f1c42702f1fdc4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_8506cfe4d4690e4c18f1c42702f1fdc4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_a_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_c1c7edd70ab37bfc5f3ea8b4720418ee.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_c1c7edd70ab37bfc5f3ea8b4720418ee.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_c1c7edd70ab37bfc5f3ea8b4720418ee.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_c1c7edd70ab37bfc5f3ea8b4720418ee.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_d837ad3bf02d9b6bc76e7827ffb1e749.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_c1c7edd70ab37bfc5f3ea8b4720418ee.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_c1c7edd70ab37bfc5f3ea8b4720418ee.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_c1c7edd70ab37bfc5f3ea8b4720418ee.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_c1c7edd70ab37bfc5f3ea8b4720418ee.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_b_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_b8f04178952fd9d85d343944ea431724.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_b8f04178952fd9d85d343944ea431724.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_b8f04178952fd9d85d343944ea431724.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_b8f04178952fd9d85d343944ea431724.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_82bd7722da926c6273cf7d52ce315e2c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_82bd7722da926c6273cf7d52ce315e2c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_82bd7722da926c6273cf7d52ce315e2c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_82bd7722da926c6273cf7d52ce315e2c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_b8f04178952fd9d85d343944ea431724.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_b8f04178952fd9d85d343944ea431724.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_b8f04178952fd9d85d343944ea431724.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_b8f04178952fd9d85d343944ea431724.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_82bd7722da926c6273cf7d52ce315e2c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_82bd7722da926c6273cf7d52ce315e2c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_82bd7722da926c6273cf7d52ce315e2c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_82bd7722da926c6273cf7d52ce315e2c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_importance_map_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_11994e08051382ca70fa5050efa79d27.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_11994e08051382ca70fa5050efa79d27.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_11994e08051382ca70fa5050efa79d27.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_11994e08051382ca70fa5050efa79d27.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_3e71246e3c1aeeed237508880dd03671.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_3e71246e3c1aeeed237508880dd03671.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_3e71246e3c1aeeed237508880dd03671.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_3e71246e3c1aeeed237508880dd03671.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_11994e08051382ca70fa5050efa79d27.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_11994e08051382ca70fa5050efa79d27.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_11994e08051382ca70fa5050efa79d27.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_11994e08051382ca70fa5050efa79d27.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_3e71246e3c1aeeed237508880dd03671.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_3e71246e3c1aeeed237508880dd03671.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_3e71246e3c1aeeed237508880dd03671.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_3e71246e3c1aeeed237508880dd03671.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q0_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_6c93a968eca4fbf7d82effe4a5d18396.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_6c93a968eca4fbf7d82effe4a5d18396.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_6c93a968eca4fbf7d82effe4a5d18396.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_6c93a968eca4fbf7d82effe4a5d18396.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_31ef992f289187db31d214be7a52d2ca.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_31ef992f289187db31d214be7a52d2ca.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_31ef992f289187db31d214be7a52d2ca.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_31ef992f289187db31d214be7a52d2ca.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_6c93a968eca4fbf7d82effe4a5d18396.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_6c93a968eca4fbf7d82effe4a5d18396.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_6c93a968eca4fbf7d82effe4a5d18396.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_6c93a968eca4fbf7d82effe4a5d18396.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_31ef992f289187db31d214be7a52d2ca.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_31ef992f289187db31d214be7a52d2ca.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_31ef992f289187db31d214be7a52d2ca.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_31ef992f289187db31d214be7a52d2ca.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q1_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_67f168f2a0ee47b6eaf615b17b8394da.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_67f168f2a0ee47b6eaf615b17b8394da.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_67f168f2a0ee47b6eaf615b17b8394da.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_67f168f2a0ee47b6eaf615b17b8394da.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_f8b14cfcbf8b5daacd2519308a2bf6bb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_f8b14cfcbf8b5daacd2519308a2bf6bb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_f8b14cfcbf8b5daacd2519308a2bf6bb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_f8b14cfcbf8b5daacd2519308a2bf6bb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_67f168f2a0ee47b6eaf615b17b8394da.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_67f168f2a0ee47b6eaf615b17b8394da.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_67f168f2a0ee47b6eaf615b17b8394da.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_67f168f2a0ee47b6eaf615b17b8394da.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_f8b14cfcbf8b5daacd2519308a2bf6bb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_f8b14cfcbf8b5daacd2519308a2bf6bb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_f8b14cfcbf8b5daacd2519308a2bf6bb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_f8b14cfcbf8b5daacd2519308a2bf6bb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q2_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_32a25924f09f81d36c2644448c08c342.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_32a25924f09f81d36c2644448c08c342.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_32a25924f09f81d36c2644448c08c342.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_32a25924f09f81d36c2644448c08c342.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_39ed28aefd4f0b9072a4c0dc0d423a98.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_39ed28aefd4f0b9072a4c0dc0d423a98.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_39ed28aefd4f0b9072a4c0dc0d423a98.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_39ed28aefd4f0b9072a4c0dc0d423a98.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_32a25924f09f81d36c2644448c08c342.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_32a25924f09f81d36c2644448c08c342.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_32a25924f09f81d36c2644448c08c342.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_32a25924f09f81d36c2644448c08c342.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_39ed28aefd4f0b9072a4c0dc0d423a98.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_39ed28aefd4f0b9072a4c0dc0d423a98.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_39ed28aefd4f0b9072a4c0dc0d423a98.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_39ed28aefd4f0b9072a4c0dc0d423a98.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_base_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_b3eab2a2ec50b9cded6926bf3388a677.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_b3eab2a2ec50b9cded6926bf3388a677.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_b3eab2a2ec50b9cded6926bf3388a677.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_b3eab2a2ec50b9cded6926bf3388a677.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_d6fa595400c5f92b38134c0bb528a884.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_d6fa595400c5f92b38134c0bb528a884.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_d6fa595400c5f92b38134c0bb528a884.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_d6fa595400c5f92b38134c0bb528a884.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_b3eab2a2ec50b9cded6926bf3388a677.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_b3eab2a2ec50b9cded6926bf3388a677.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_b3eab2a2ec50b9cded6926bf3388a677.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_b3eab2a2ec50b9cded6926bf3388a677.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_d6fa595400c5f92b38134c0bb528a884.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_d6fa595400c5f92b38134c0bb528a884.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_d6fa595400c5f92b38134c0bb528a884.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_d6fa595400c5f92b38134c0bb528a884.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_generate_q3_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_5052e4b69d49a570e3e14998ceed2704.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_5052e4b69d49a570e3e14998ceed2704.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_5052e4b69d49a570e3e14998ceed2704.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_5052e4b69d49a570e3e14998ceed2704.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_64b9e65188ce8d0766731bf7ee746da5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_64b9e65188ce8d0766731bf7ee746da5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_64b9e65188ce8d0766731bf7ee746da5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_64b9e65188ce8d0766731bf7ee746da5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_5052e4b69d49a570e3e14998ceed2704.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_5052e4b69d49a570e3e14998ceed2704.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_5052e4b69d49a570e3e14998ceed2704.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_5052e4b69d49a570e3e14998ceed2704.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_64b9e65188ce8d0766731bf7ee746da5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_64b9e65188ce8d0766731bf7ee746da5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_64b9e65188ce8d0766731bf7ee746da5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_64b9e65188ce8d0766731bf7ee746da5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_and_mips_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_98ef787b856c550d5d5bd6ffb99afe15.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_98ef787b856c550d5d5bd6ffb99afe15.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_98ef787b856c550d5d5bd6ffb99afe15.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_98ef787b856c550d5d5bd6ffb99afe15.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_6a1717bc6493786fc5d3e68a35ae4ca2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_6a1717bc6493786fc5d3e68a35ae4ca2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_6a1717bc6493786fc5d3e68a35ae4ca2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_6a1717bc6493786fc5d3e68a35ae4ca2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_98ef787b856c550d5d5bd6ffb99afe15.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_98ef787b856c550d5d5bd6ffb99afe15.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_98ef787b856c550d5d5bd6ffb99afe15.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_98ef787b856c550d5d5bd6ffb99afe15.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_6a1717bc6493786fc5d3e68a35ae4ca2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_6a1717bc6493786fc5d3e68a35ae4ca2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_6a1717bc6493786fc5d3e68a35ae4ca2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_6a1717bc6493786fc5d3e68a35ae4ca2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_half_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_7136f86a945d6eab268f71092afa8dc4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_7136f86a945d6eab268f71092afa8dc4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_7136f86a945d6eab268f71092afa8dc4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_7136f86a945d6eab268f71092afa8dc4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_737a7aa259da7594d79576c2ee1baa5c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_737a7aa259da7594d79576c2ee1baa5c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_737a7aa259da7594d79576c2ee1baa5c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_737a7aa259da7594d79576c2ee1baa5c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_7136f86a945d6eab268f71092afa8dc4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_7136f86a945d6eab268f71092afa8dc4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_7136f86a945d6eab268f71092afa8dc4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_7136f86a945d6eab268f71092afa8dc4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_737a7aa259da7594d79576c2ee1baa5c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_737a7aa259da7594d79576c2ee1baa5c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_737a7aa259da7594d79576c2ee1baa5c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_737a7aa259da7594d79576c2ee1baa5c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_depths_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_f3f831ddded0327e68b249ac37d54ee0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_f3f831ddded0327e68b249ac37d54ee0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_f3f831ddded0327e68b249ac37d54ee0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_f3f831ddded0327e68b249ac37d54ee0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_9639a3a9e72092c01065a4a419be25e9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_9639a3a9e72092c01065a4a419be25e9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_9639a3a9e72092c01065a4a419be25e9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_9639a3a9e72092c01065a4a419be25e9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_f3f831ddded0327e68b249ac37d54ee0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_f3f831ddded0327e68b249ac37d54ee0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_f3f831ddded0327e68b249ac37d54ee0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_f3f831ddded0327e68b249ac37d54ee0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_9639a3a9e72092c01065a4a419be25e9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_9639a3a9e72092c01065a4a419be25e9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_9639a3a9e72092c01065a4a419be25e9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_9639a3a9e72092c01065a4a419be25e9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_8f062fad9319440fa14ee41199428143.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_8f062fad9319440fa14ee41199428143.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_8f062fad9319440fa14ee41199428143.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_8f062fad9319440fa14ee41199428143.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_26e4479aeda57fdab79a62fb45328c1a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_26e4479aeda57fdab79a62fb45328c1a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_26e4479aeda57fdab79a62fb45328c1a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_26e4479aeda57fdab79a62fb45328c1a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_8f062fad9319440fa14ee41199428143.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_8f062fad9319440fa14ee41199428143.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_8f062fad9319440fa14ee41199428143.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_8f062fad9319440fa14ee41199428143.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_26e4479aeda57fdab79a62fb45328c1a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_26e4479aeda57fdab79a62fb45328c1a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_26e4479aeda57fdab79a62fb45328c1a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_26e4479aeda57fdab79a62fb45328c1a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_downsampled_normals_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_51fe59c88cf97a5227ca5548ce1efd43.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_51fe59c88cf97a5227ca5548ce1efd43.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_51fe59c88cf97a5227ca5548ce1efd43.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_51fe59c88cf97a5227ca5548ce1efd43.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_4685822535eae3a4b3fdc73658e4b7a5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_4685822535eae3a4b3fdc73658e4b7a5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_4685822535eae3a4b3fdc73658e4b7a5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_4685822535eae3a4b3fdc73658e4b7a5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_51fe59c88cf97a5227ca5548ce1efd43.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_51fe59c88cf97a5227ca5548ce1efd43.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_51fe59c88cf97a5227ca5548ce1efd43.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_51fe59c88cf97a5227ca5548ce1efd43.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_4685822535eae3a4b3fdc73658e4b7a5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_4685822535eae3a4b3fdc73658e4b7a5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_4685822535eae3a4b3fdc73658e4b7a5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_4685822535eae3a4b3fdc73658e4b7a5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_and_mips_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_2d48c74cd0606bafd90f35e8816d1574.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_2d48c74cd0606bafd90f35e8816d1574.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_2d48c74cd0606bafd90f35e8816d1574.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_2d48c74cd0606bafd90f35e8816d1574.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_ba1815e45b0ff76de9aa1c192e3dbf10.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_2d48c74cd0606bafd90f35e8816d1574.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_2d48c74cd0606bafd90f35e8816d1574.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_2d48c74cd0606bafd90f35e8816d1574.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_2d48c74cd0606bafd90f35e8816d1574.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_half_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_6da417aea3359d11b7a6b343ab253597.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_6da417aea3359d11b7a6b343ab253597.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_6da417aea3359d11b7a6b343ab253597.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_6da417aea3359d11b7a6b343ab253597.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_395c8cfe5708c6e2ff60cc9d03a099cd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_6da417aea3359d11b7a6b343ab253597.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_6da417aea3359d11b7a6b343ab253597.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_6da417aea3359d11b7a6b343ab253597.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_6da417aea3359d11b7a6b343ab253597.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_depths_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_bbfd84bbd243ce69d50c58156f3ead67.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_bbfd84bbd243ce69d50c58156f3ead67.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_bbfd84bbd243ce69d50c58156f3ead67.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_bbfd84bbd243ce69d50c58156f3ead67.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_d772accf13e16b5f38a224bad0235680.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_d772accf13e16b5f38a224bad0235680.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_d772accf13e16b5f38a224bad0235680.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_d772accf13e16b5f38a224bad0235680.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_bbfd84bbd243ce69d50c58156f3ead67.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_bbfd84bbd243ce69d50c58156f3ead67.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_bbfd84bbd243ce69d50c58156f3ead67.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_bbfd84bbd243ce69d50c58156f3ead67.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_d772accf13e16b5f38a224bad0235680.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_d772accf13e16b5f38a224bad0235680.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_d772accf13e16b5f38a224bad0235680.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_d772accf13e16b5f38a224bad0235680.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_from_input_normals_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_0f136d139584c1882b13f5f69482a981.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_0f136d139584c1882b13f5f69482a981.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_0f136d139584c1882b13f5f69482a981.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_0f136d139584c1882b13f5f69482a981.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_cda151d4d196eaf2706a8a2779193842.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_cda151d4d196eaf2706a8a2779193842.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_cda151d4d196eaf2706a8a2779193842.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_cda151d4d196eaf2706a8a2779193842.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_0f136d139584c1882b13f5f69482a981.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_0f136d139584c1882b13f5f69482a981.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_0f136d139584c1882b13f5f69482a981.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_0f136d139584c1882b13f5f69482a981.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_cda151d4d196eaf2706a8a2779193842.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_cda151d4d196eaf2706a8a2779193842.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_cda151d4d196eaf2706a8a2779193842.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_cda151d4d196eaf2706a8a2779193842.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_prepare_native_normals_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_6735863dfc553a80926c7e55eae81480.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_6735863dfc553a80926c7e55eae81480.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_6735863dfc553a80926c7e55eae81480.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_6735863dfc553a80926c7e55eae81480.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_7f5556d857837346fe91fe0185e975bb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_7f5556d857837346fe91fe0185e975bb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_7f5556d857837346fe91fe0185e975bb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_7f5556d857837346fe91fe0185e975bb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_354a52eb970e14018c7aa438e2904841.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_354a52eb970e14018c7aa438e2904841.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_354a52eb970e14018c7aa438e2904841.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_354a52eb970e14018c7aa438e2904841.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_f7a51d1a46ca1f5cca1eb42e92a59fb2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_f7a51d1a46ca1f5cca1eb42e92a59fb2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_f7a51d1a46ca1f5cca1eb42e92a59fb2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_f7a51d1a46ca1f5cca1eb42e92a59fb2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_6735863dfc553a80926c7e55eae81480.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_6735863dfc553a80926c7e55eae81480.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_6735863dfc553a80926c7e55eae81480.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_6735863dfc553a80926c7e55eae81480.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_7f5556d857837346fe91fe0185e975bb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_7f5556d857837346fe91fe0185e975bb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_7f5556d857837346fe91fe0185e975bb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_7f5556d857837346fe91fe0185e975bb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_354a52eb970e14018c7aa438e2904841.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_354a52eb970e14018c7aa438e2904841.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_354a52eb970e14018c7aa438e2904841.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_354a52eb970e14018c7aa438e2904841.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_f7a51d1a46ca1f5cca1eb42e92a59fb2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_f7a51d1a46ca1f5cca1eb42e92a59fb2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_f7a51d1a46ca1f5cca1eb42e92a59fb2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_f7a51d1a46ca1f5cca1eb42e92a59fb2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cacao_upscale_bilateral_5x5_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_10bb96e410a90edecde1fa977ebe1a20.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_10bb96e410a90edecde1fa977ebe1a20.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_10bb96e410a90edecde1fa977ebe1a20.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_10bb96e410a90edecde1fa977ebe1a20.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_3650fb3819f7db54097b35a945ca60e4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_3650fb3819f7db54097b35a945ca60e4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_3650fb3819f7db54097b35a945ca60e4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_3650fb3819f7db54097b35a945ca60e4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_55ce7b8c793d52914e2a4c14a89521e3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_55ce7b8c793d52914e2a4c14a89521e3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_55ce7b8c793d52914e2a4c14a89521e3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_55ce7b8c793d52914e2a4c14a89521e3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9971d619f0f75a4542ccd5a19ffd4674.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9971d619f0f75a4542ccd5a19ffd4674.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9971d619f0f75a4542ccd5a19ffd4674.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9971d619f0f75a4542ccd5a19ffd4674.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9cd353fd093b50f9687386f43f934d42.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9cd353fd093b50f9687386f43f934d42.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9cd353fd093b50f9687386f43f934d42.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_9cd353fd093b50f9687386f43f934d42.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_cef01ba1580769ca1bd8aa9c316b4136.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_cef01ba1580769ca1bd8aa9c316b4136.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_cef01ba1580769ca1bd8aa9c316b4136.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_cef01ba1580769ca1bd8aa9c316b4136.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_daa00b1f40dcc70943b3df1118b101f6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_daa00b1f40dcc70943b3df1118b101f6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_daa00b1f40dcc70943b3df1118b101f6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_daa00b1f40dcc70943b3df1118b101f6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_2ff92cac3c980a5172bea9a0ebd58c8d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_2ff92cac3c980a5172bea9a0ebd58c8d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_2ff92cac3c980a5172bea9a0ebd58c8d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_2ff92cac3c980a5172bea9a0ebd58c8d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_34f572d4a633e2d7876dcdf102f34a4b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_34f572d4a633e2d7876dcdf102f34a4b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_34f572d4a633e2d7876dcdf102f34a4b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_34f572d4a633e2d7876dcdf102f34a4b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_3ad7e3c0030e134c7f746753a7a2b2f5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_3ad7e3c0030e134c7f746753a7a2b2f5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_3ad7e3c0030e134c7f746753a7a2b2f5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_3ad7e3c0030e134c7f746753a7a2b2f5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_732b7e7a488ee20f156397ec732202d9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_732b7e7a488ee20f156397ec732202d9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_732b7e7a488ee20f156397ec732202d9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_732b7e7a488ee20f156397ec732202d9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_9102acf8867fa2fa002b6c2bb9b67813.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_9102acf8867fa2fa002b6c2bb9b67813.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_9102acf8867fa2fa002b6c2bb9b67813.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_9102acf8867fa2fa002b6c2bb9b67813.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_94deaa36d9f911cf8338829f771a4451.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_94deaa36d9f911cf8338829f771a4451.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_94deaa36d9f911cf8338829f771a4451.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_94deaa36d9f911cf8338829f771a4451.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a33ae44ae22477131a379b703e383264.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a33ae44ae22477131a379b703e383264.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a33ae44ae22477131a379b703e383264.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a33ae44ae22477131a379b703e383264.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a815b565d207681093d2aca8e5d43390.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a815b565d207681093d2aca8e5d43390.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a815b565d207681093d2aca8e5d43390.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_a815b565d207681093d2aca8e5d43390.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_af668f91c65a5976c01b99f55e42b9e0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_af668f91c65a5976c01b99f55e42b9e0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_af668f91c65a5976c01b99f55e42b9e0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_af668f91c65a5976c01b99f55e42b9e0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_10bb96e410a90edecde1fa977ebe1a20.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_10bb96e410a90edecde1fa977ebe1a20.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_10bb96e410a90edecde1fa977ebe1a20.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_10bb96e410a90edecde1fa977ebe1a20.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_3650fb3819f7db54097b35a945ca60e4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_3650fb3819f7db54097b35a945ca60e4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_3650fb3819f7db54097b35a945ca60e4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_3650fb3819f7db54097b35a945ca60e4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_55ce7b8c793d52914e2a4c14a89521e3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_55ce7b8c793d52914e2a4c14a89521e3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_55ce7b8c793d52914e2a4c14a89521e3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_55ce7b8c793d52914e2a4c14a89521e3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9971d619f0f75a4542ccd5a19ffd4674.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9971d619f0f75a4542ccd5a19ffd4674.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9971d619f0f75a4542ccd5a19ffd4674.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9971d619f0f75a4542ccd5a19ffd4674.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9cd353fd093b50f9687386f43f934d42.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9cd353fd093b50f9687386f43f934d42.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9cd353fd093b50f9687386f43f934d42.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_9cd353fd093b50f9687386f43f934d42.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_bc2fdae9a9855c7b785335a5ccf85eec.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_c6697fe2d80b8740a7ec7fff117ff72b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_ccc99ffe11ed0b0ff2e6ef1ef4040462.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_cef01ba1580769ca1bd8aa9c316b4136.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_cef01ba1580769ca1bd8aa9c316b4136.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_cef01ba1580769ca1bd8aa9c316b4136.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_cef01ba1580769ca1bd8aa9c316b4136.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_daa00b1f40dcc70943b3df1118b101f6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_daa00b1f40dcc70943b3df1118b101f6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_daa00b1f40dcc70943b3df1118b101f6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_daa00b1f40dcc70943b3df1118b101f6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_f119a9a7cfdb8a6cc994e5a6b2f093e6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_2ff92cac3c980a5172bea9a0ebd58c8d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_2ff92cac3c980a5172bea9a0ebd58c8d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_2ff92cac3c980a5172bea9a0ebd58c8d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_2ff92cac3c980a5172bea9a0ebd58c8d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_34f572d4a633e2d7876dcdf102f34a4b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_34f572d4a633e2d7876dcdf102f34a4b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_34f572d4a633e2d7876dcdf102f34a4b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_34f572d4a633e2d7876dcdf102f34a4b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_3ad7e3c0030e134c7f746753a7a2b2f5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_3ad7e3c0030e134c7f746753a7a2b2f5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_3ad7e3c0030e134c7f746753a7a2b2f5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_3ad7e3c0030e134c7f746753a7a2b2f5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_732b7e7a488ee20f156397ec732202d9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_732b7e7a488ee20f156397ec732202d9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_732b7e7a488ee20f156397ec732202d9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_732b7e7a488ee20f156397ec732202d9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_9102acf8867fa2fa002b6c2bb9b67813.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_9102acf8867fa2fa002b6c2bb9b67813.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_9102acf8867fa2fa002b6c2bb9b67813.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_9102acf8867fa2fa002b6c2bb9b67813.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_94deaa36d9f911cf8338829f771a4451.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_94deaa36d9f911cf8338829f771a4451.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_94deaa36d9f911cf8338829f771a4451.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_94deaa36d9f911cf8338829f771a4451.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a33ae44ae22477131a379b703e383264.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a33ae44ae22477131a379b703e383264.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a33ae44ae22477131a379b703e383264.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a33ae44ae22477131a379b703e383264.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a815b565d207681093d2aca8e5d43390.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a815b565d207681093d2aca8e5d43390.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a815b565d207681093d2aca8e5d43390.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_a815b565d207681093d2aca8e5d43390.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_af668f91c65a5976c01b99f55e42b9e0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_af668f91c65a5976c01b99f55e42b9e0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_af668f91c65a5976c01b99f55e42b9e0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_af668f91c65a5976c01b99f55e42b9e0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_cas_sharpen_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_032706baa7070dc78ae92335347b0833.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_032706baa7070dc78ae92335347b0833.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_032706baa7070dc78ae92335347b0833.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_032706baa7070dc78ae92335347b0833.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_c1fc5617269ec991320f3ceae8575bc6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_c1fc5617269ec991320f3ceae8575bc6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_c1fc5617269ec991320f3ceae8575bc6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_c1fc5617269ec991320f3ceae8575bc6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_72fedef5bf3e9aeacf58fa606e5e8bcc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_72fedef5bf3e9aeacf58fa606e5e8bcc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_72fedef5bf3e9aeacf58fa606e5e8bcc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_72fedef5bf3e9aeacf58fa606e5e8bcc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_84272f7589d223922932ddceff5016b0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_84272f7589d223922932ddceff5016b0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_84272f7589d223922932ddceff5016b0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_84272f7589d223922932ddceff5016b0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_032706baa7070dc78ae92335347b0833.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_032706baa7070dc78ae92335347b0833.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_032706baa7070dc78ae92335347b0833.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_032706baa7070dc78ae92335347b0833.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_c1fc5617269ec991320f3ceae8575bc6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_c1fc5617269ec991320f3ceae8575bc6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_c1fc5617269ec991320f3ceae8575bc6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_c1fc5617269ec991320f3ceae8575bc6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_72fedef5bf3e9aeacf58fa606e5e8bcc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_72fedef5bf3e9aeacf58fa606e5e8bcc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_72fedef5bf3e9aeacf58fa606e5e8bcc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_72fedef5bf3e9aeacf58fa606e5e8bcc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_84272f7589d223922932ddceff5016b0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_84272f7589d223922932ddceff5016b0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_84272f7589d223922932ddceff5016b0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_84272f7589d223922932ddceff5016b0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_reflections_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_76aa6779d6615090aa3cea512512fed8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_76aa6779d6615090aa3cea512512fed8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_76aa6779d6615090aa3cea512512fed8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_76aa6779d6615090aa3cea512512fed8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_bd97567590633e48f922cec46147c13b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_bd97567590633e48f922cec46147c13b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_bd97567590633e48f922cec46147c13b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_bd97567590633e48f922cec46147c13b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_f7b057284c8181978c9a7b90fbbdc448.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_f7b057284c8181978c9a7b90fbbdc448.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_f7b057284c8181978c9a7b90fbbdc448.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_f7b057284c8181978c9a7b90fbbdc448.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_5f8193b973b86dae71ccc50c7f3cf043.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_5f8193b973b86dae71ccc50c7f3cf043.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_5f8193b973b86dae71ccc50c7f3cf043.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_5f8193b973b86dae71ccc50c7f3cf043.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_61261a8dd31d0da6b8a3c60f685ad881.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_61261a8dd31d0da6b8a3c60f685ad881.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_61261a8dd31d0da6b8a3c60f685ad881.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_61261a8dd31d0da6b8a3c60f685ad881.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_67894cb39a8c4844a354107f782ca0e5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_67894cb39a8c4844a354107f782ca0e5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_67894cb39a8c4844a354107f782ca0e5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_67894cb39a8c4844a354107f782ca0e5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_7b2bc5c70c7b2bddf296e0f0b38ada14.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_7b2bc5c70c7b2bddf296e0f0b38ada14.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_7b2bc5c70c7b2bddf296e0f0b38ada14.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_7b2bc5c70c7b2bddf296e0f0b38ada14.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_76aa6779d6615090aa3cea512512fed8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_76aa6779d6615090aa3cea512512fed8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_76aa6779d6615090aa3cea512512fed8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_76aa6779d6615090aa3cea512512fed8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_bd97567590633e48f922cec46147c13b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_bd97567590633e48f922cec46147c13b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_bd97567590633e48f922cec46147c13b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_bd97567590633e48f922cec46147c13b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_c20e61a9e79b0c3274b10bd26651f3a1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_f7b057284c8181978c9a7b90fbbdc448.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_f7b057284c8181978c9a7b90fbbdc448.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_f7b057284c8181978c9a7b90fbbdc448.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_f7b057284c8181978c9a7b90fbbdc448.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_5f8193b973b86dae71ccc50c7f3cf043.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_5f8193b973b86dae71ccc50c7f3cf043.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_5f8193b973b86dae71ccc50c7f3cf043.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_5f8193b973b86dae71ccc50c7f3cf043.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_61261a8dd31d0da6b8a3c60f685ad881.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_61261a8dd31d0da6b8a3c60f685ad881.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_61261a8dd31d0da6b8a3c60f685ad881.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_61261a8dd31d0da6b8a3c60f685ad881.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_67894cb39a8c4844a354107f782ca0e5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_67894cb39a8c4844a354107f782ca0e5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_67894cb39a8c4844a354107f782ca0e5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_67894cb39a8c4844a354107f782ca0e5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_7b2bc5c70c7b2bddf296e0f0b38ada14.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_7b2bc5c70c7b2bddf296e0f0b38ada14.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_7b2bc5c70c7b2bddf296e0f0b38ada14.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_7b2bc5c70c7b2bddf296e0f0b38ada14.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_classifier_shadows_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_aba37f09f56279498c9092fa81f7b285.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_aba37f09f56279498c9092fa81f7b285.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_aba37f09f56279498c9092fa81f7b285.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_aba37f09f56279498c9092fa81f7b285.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_3252fd928c05ddb6fdc312ae0dd16a43.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_3252fd928c05ddb6fdc312ae0dd16a43.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_3252fd928c05ddb6fdc312ae0dd16a43.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_3252fd928c05ddb6fdc312ae0dd16a43.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_aba37f09f56279498c9092fa81f7b285.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_aba37f09f56279498c9092fa81f7b285.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_aba37f09f56279498c9092fa81f7b285.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_aba37f09f56279498c9092fa81f7b285.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_3252fd928c05ddb6fdc312ae0dd16a43.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_3252fd928c05ddb6fdc312ae0dd16a43.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_3252fd928c05ddb6fdc312ae0dd16a43.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_3252fd928c05ddb6fdc312ae0dd16a43.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_0_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_b75a87a13ae4eb80abb89c85eb41e490.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_b75a87a13ae4eb80abb89c85eb41e490.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_b75a87a13ae4eb80abb89c85eb41e490.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_b75a87a13ae4eb80abb89c85eb41e490.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_80680d88f4df0d3082b94b9f4a7a5e09.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_80680d88f4df0d3082b94b9f4a7a5e09.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_80680d88f4df0d3082b94b9f4a7a5e09.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_80680d88f4df0d3082b94b9f4a7a5e09.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_b75a87a13ae4eb80abb89c85eb41e490.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_b75a87a13ae4eb80abb89c85eb41e490.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_b75a87a13ae4eb80abb89c85eb41e490.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_b75a87a13ae4eb80abb89c85eb41e490.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_80680d88f4df0d3082b94b9f4a7a5e09.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_80680d88f4df0d3082b94b9f4a7a5e09.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_80680d88f4df0d3082b94b9f4a7a5e09.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_80680d88f4df0d3082b94b9f4a7a5e09.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_1_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_9e647e112cb7ca634955bae628fc5d37.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_9e647e112cb7ca634955bae628fc5d37.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_9e647e112cb7ca634955bae628fc5d37.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_9e647e112cb7ca634955bae628fc5d37.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_378a92041f751bf4566155510bb4b482.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_378a92041f751bf4566155510bb4b482.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_378a92041f751bf4566155510bb4b482.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_378a92041f751bf4566155510bb4b482.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_9e647e112cb7ca634955bae628fc5d37.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_9e647e112cb7ca634955bae628fc5d37.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_9e647e112cb7ca634955bae628fc5d37.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_9e647e112cb7ca634955bae628fc5d37.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_378a92041f751bf4566155510bb4b482.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_378a92041f751bf4566155510bb4b482.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_378a92041f751bf4566155510bb4b482.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_378a92041f751bf4566155510bb4b482.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_filter_soft_shadows_2_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_83d79e7994ac464957efc6472732172e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_83d79e7994ac464957efc6472732172e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_83d79e7994ac464957efc6472732172e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_83d79e7994ac464957efc6472732172e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_a38b192e9c59ad8bd5a8cd5800a8bb7c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_83d79e7994ac464957efc6472732172e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_83d79e7994ac464957efc6472732172e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_83d79e7994ac464957efc6472732172e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_83d79e7994ac464957efc6472732172e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prefilter_reflections_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_f8cb7a0364535594fe9d830b83fd2b02.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_f8cb7a0364535594fe9d830b83fd2b02.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_f8cb7a0364535594fe9d830b83fd2b02.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_f8cb7a0364535594fe9d830b83fd2b02.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_f76457a39882ed0838d8c63aeeb36d7c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_f76457a39882ed0838d8c63aeeb36d7c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_f76457a39882ed0838d8c63aeeb36d7c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_f76457a39882ed0838d8c63aeeb36d7c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_f8cb7a0364535594fe9d830b83fd2b02.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_f8cb7a0364535594fe9d830b83fd2b02.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_f8cb7a0364535594fe9d830b83fd2b02.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_f8cb7a0364535594fe9d830b83fd2b02.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_f76457a39882ed0838d8c63aeeb36d7c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_f76457a39882ed0838d8c63aeeb36d7c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_f76457a39882ed0838d8c63aeeb36d7c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_f76457a39882ed0838d8c63aeeb36d7c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_prepare_shadow_mask_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_d6aa34d7c50771de3362bf114518bec9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_d6aa34d7c50771de3362bf114518bec9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_d6aa34d7c50771de3362bf114518bec9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_d6aa34d7c50771de3362bf114518bec9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_976f0482a7fe17aee86f0d24c3170a6b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_976f0482a7fe17aee86f0d24c3170a6b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_976f0482a7fe17aee86f0d24c3170a6b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_976f0482a7fe17aee86f0d24c3170a6b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_d6aa34d7c50771de3362bf114518bec9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_d6aa34d7c50771de3362bf114518bec9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_d6aa34d7c50771de3362bf114518bec9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_d6aa34d7c50771de3362bf114518bec9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_976f0482a7fe17aee86f0d24c3170a6b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_976f0482a7fe17aee86f0d24c3170a6b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_976f0482a7fe17aee86f0d24c3170a6b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_976f0482a7fe17aee86f0d24c3170a6b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_reproject_reflections_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_52863fb7b02c4dc7c093edaac41a36fe.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_52863fb7b02c4dc7c093edaac41a36fe.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_52863fb7b02c4dc7c093edaac41a36fe.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_52863fb7b02c4dc7c093edaac41a36fe.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_4dd2246b34a7fabdf74067b6349a4f68.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_4dd2246b34a7fabdf74067b6349a4f68.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_4dd2246b34a7fabdf74067b6349a4f68.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_4dd2246b34a7fabdf74067b6349a4f68.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_52863fb7b02c4dc7c093edaac41a36fe.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_52863fb7b02c4dc7c093edaac41a36fe.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_52863fb7b02c4dc7c093edaac41a36fe.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_52863fb7b02c4dc7c093edaac41a36fe.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_4dd2246b34a7fabdf74067b6349a4f68.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_4dd2246b34a7fabdf74067b6349a4f68.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_4dd2246b34a7fabdf74067b6349a4f68.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_4dd2246b34a7fabdf74067b6349a4f68.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_resolve_temporal_reflections_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_02392f9c302ebb34eb59e813102b7d16.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_02392f9c302ebb34eb59e813102b7d16.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_02392f9c302ebb34eb59e813102b7d16.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_02392f9c302ebb34eb59e813102b7d16.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_9e17dc63a8a3237b0cfde3217d8df955.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_9e17dc63a8a3237b0cfde3217d8df955.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_9e17dc63a8a3237b0cfde3217d8df955.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_9e17dc63a8a3237b0cfde3217d8df955.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_a91147b74bc330fe5e3e4f6a97530559.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_a91147b74bc330fe5e3e4f6a97530559.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_a91147b74bc330fe5e3e4f6a97530559.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_a91147b74bc330fe5e3e4f6a97530559.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_02392f9c302ebb34eb59e813102b7d16.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_02392f9c302ebb34eb59e813102b7d16.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_02392f9c302ebb34eb59e813102b7d16.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_02392f9c302ebb34eb59e813102b7d16.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_5dd71a1f0bccaee8d1d56bdbcdb69ac3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_9e17dc63a8a3237b0cfde3217d8df955.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_9e17dc63a8a3237b0cfde3217d8df955.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_9e17dc63a8a3237b0cfde3217d8df955.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_9e17dc63a8a3237b0cfde3217d8df955.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_a91147b74bc330fe5e3e4f6a97530559.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_a91147b74bc330fe5e3e4f6a97530559.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_a91147b74bc330fe5e3e4f6a97530559.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_a91147b74bc330fe5e3e4f6a97530559.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_denoiser_shadows_tile_classification_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_0dd62a0092f4a1382c13f834c60c487e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_0dd62a0092f4a1382c13f834c60c487e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_0dd62a0092f4a1382c13f834c60c487e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_0dd62a0092f4a1382c13f834c60c487e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_1826926405ff512b8ffa950cbe4ec6c8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_1826926405ff512b8ffa950cbe4ec6c8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_1826926405ff512b8ffa950cbe4ec6c8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_1826926405ff512b8ffa950cbe4ec6c8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_5fda7ca35fb7e0569fcc63aeba9cd461.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_5fda7ca35fb7e0569fcc63aeba9cd461.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_5fda7ca35fb7e0569fcc63aeba9cd461.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_5fda7ca35fb7e0569fcc63aeba9cd461.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_b01d5f59b2eedfb0bcc6c777432d5ec7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_b01d5f59b2eedfb0bcc6c777432d5ec7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_b01d5f59b2eedfb0bcc6c777432d5ec7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_b01d5f59b2eedfb0bcc6c777432d5ec7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_0dd62a0092f4a1382c13f834c60c487e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_0dd62a0092f4a1382c13f834c60c487e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_0dd62a0092f4a1382c13f834c60c487e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_0dd62a0092f4a1382c13f834c60c487e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_1826926405ff512b8ffa950cbe4ec6c8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_1826926405ff512b8ffa950cbe4ec6c8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_1826926405ff512b8ffa950cbe4ec6c8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_1826926405ff512b8ffa950cbe4ec6c8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_5fda7ca35fb7e0569fcc63aeba9cd461.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_5fda7ca35fb7e0569fcc63aeba9cd461.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_5fda7ca35fb7e0569fcc63aeba9cd461.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_5fda7ca35fb7e0569fcc63aeba9cd461.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_b01d5f59b2eedfb0bcc6c777432d5ec7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_b01d5f59b2eedfb0bcc6c777432d5ec7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_b01d5f59b2eedfb0bcc6c777432d5ec7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_b01d5f59b2eedfb0bcc6c777432d5ec7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_blur_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_01dc4df92d672adecd7536683c417d54.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_01dc4df92d672adecd7536683c417d54.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_01dc4df92d672adecd7536683c417d54.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_01dc4df92d672adecd7536683c417d54.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_788f9f4c5d669f22d2c0408ed740c925.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_788f9f4c5d669f22d2c0408ed740c925.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_788f9f4c5d669f22d2c0408ed740c925.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_788f9f4c5d669f22d2c0408ed740c925.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_fcff7ae56c85dc6f5bdc357092f31b6a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_fcff7ae56c85dc6f5bdc357092f31b6a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_fcff7ae56c85dc6f5bdc357092f31b6a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_fcff7ae56c85dc6f5bdc357092f31b6a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_01dc4df92d672adecd7536683c417d54.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_01dc4df92d672adecd7536683c417d54.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_01dc4df92d672adecd7536683c417d54.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_01dc4df92d672adecd7536683c417d54.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_e0c0d5a537d38fc99a8db8fe267e15b8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_788f9f4c5d669f22d2c0408ed740c925.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_788f9f4c5d669f22d2c0408ed740c925.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_788f9f4c5d669f22d2c0408ed740c925.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_788f9f4c5d669f22d2c0408ed740c925.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_fcff7ae56c85dc6f5bdc357092f31b6a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_fcff7ae56c85dc6f5bdc357092f31b6a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_fcff7ae56c85dc6f5bdc357092f31b6a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_fcff7ae56c85dc6f5bdc357092f31b6a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_composite_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_efed63cb90e91ecc6ccc5c2854159173.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_efed63cb90e91ecc6ccc5c2854159173.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_efed63cb90e91ecc6ccc5c2854159173.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_efed63cb90e91ecc6ccc5c2854159173.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_eef7ae9302bba89a48416e2cbe0fd10e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_efed63cb90e91ecc6ccc5c2854159173.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_efed63cb90e91ecc6ccc5c2854159173.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_efed63cb90e91ecc6ccc5c2854159173.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_efed63cb90e91ecc6ccc5c2854159173.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_dilate_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_7793a5891ad85768a02f8ca6caa11346.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_7793a5891ad85768a02f8ca6caa11346.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_7793a5891ad85768a02f8ca6caa11346.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_7793a5891ad85768a02f8ca6caa11346.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_9226c0d85bea1c6bc6d89013bccb1af8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_9226c0d85bea1c6bc6d89013bccb1af8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_9226c0d85bea1c6bc6d89013bccb1af8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_9226c0d85bea1c6bc6d89013bccb1af8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_7793a5891ad85768a02f8ca6caa11346.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_7793a5891ad85768a02f8ca6caa11346.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_7793a5891ad85768a02f8ca6caa11346.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_7793a5891ad85768a02f8ca6caa11346.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_9226c0d85bea1c6bc6d89013bccb1af8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_9226c0d85bea1c6bc6d89013bccb1af8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_9226c0d85bea1c6bc6d89013bccb1af8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_9226c0d85bea1c6bc6d89013bccb1af8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_color_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_22237156f20b7e38b8f381ac363b578d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_22237156f20b7e38b8f381ac363b578d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_22237156f20b7e38b8f381ac363b578d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_22237156f20b7e38b8f381ac363b578d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_2c320d82f30a0a55ba879e40c8010a10.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_2c320d82f30a0a55ba879e40c8010a10.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_2c320d82f30a0a55ba879e40c8010a10.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_2c320d82f30a0a55ba879e40c8010a10.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_d7bedcab6a82e49eb1372208433eff39.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_d7bedcab6a82e49eb1372208433eff39.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_d7bedcab6a82e49eb1372208433eff39.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_d7bedcab6a82e49eb1372208433eff39.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_22237156f20b7e38b8f381ac363b578d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_22237156f20b7e38b8f381ac363b578d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_22237156f20b7e38b8f381ac363b578d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_22237156f20b7e38b8f381ac363b578d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_d9a1efd50cabc5bbb7c11e9d3fa61c22.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_2c320d82f30a0a55ba879e40c8010a10.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_2c320d82f30a0a55ba879e40c8010a10.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_2c320d82f30a0a55ba879e40c8010a10.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_2c320d82f30a0a55ba879e40c8010a10.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_d7bedcab6a82e49eb1372208433eff39.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_d7bedcab6a82e49eb1372208433eff39.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_d7bedcab6a82e49eb1372208433eff39.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_d7bedcab6a82e49eb1372208433eff39.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_dof_downsample_depth_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_0ab2330896f4186cdac7246134218901.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_0ab2330896f4186cdac7246134218901.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_0ab2330896f4186cdac7246134218901.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_0ab2330896f4186cdac7246134218901.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_11618bd7a15709296ce37e3ce359bc99.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_11618bd7a15709296ce37e3ce359bc99.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_11618bd7a15709296ce37e3ce359bc99.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_11618bd7a15709296ce37e3ce359bc99.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_0a74e9d78c23c9af798172fdff06b90a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_0a74e9d78c23c9af798172fdff06b90a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_0a74e9d78c23c9af798172fdff06b90a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_0a74e9d78c23c9af798172fdff06b90a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_ab4ca463f7238c5ab4883989d9501bd2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_ab4ca463f7238c5ab4883989d9501bd2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_ab4ca463f7238c5ab4883989d9501bd2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_ab4ca463f7238c5ab4883989d9501bd2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_21b3ea00725cfd6388f122c309d6960a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_21b3ea00725cfd6388f122c309d6960a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_21b3ea00725cfd6388f122c309d6960a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_21b3ea00725cfd6388f122c309d6960a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_2d8ff36661aea7a18db54db7298650d6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_2d8ff36661aea7a18db54db7298650d6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_2d8ff36661aea7a18db54db7298650d6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_2d8ff36661aea7a18db54db7298650d6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_0ab2330896f4186cdac7246134218901.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_0ab2330896f4186cdac7246134218901.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_0ab2330896f4186cdac7246134218901.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_0ab2330896f4186cdac7246134218901.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_11618bd7a15709296ce37e3ce359bc99.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_11618bd7a15709296ce37e3ce359bc99.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_11618bd7a15709296ce37e3ce359bc99.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_11618bd7a15709296ce37e3ce359bc99.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_0a74e9d78c23c9af798172fdff06b90a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_0a74e9d78c23c9af798172fdff06b90a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_0a74e9d78c23c9af798172fdff06b90a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_0a74e9d78c23c9af798172fdff06b90a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6979ec2bc0b64fa2bb5edde6468a9871.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_6c4a45f2e407cca531ff0495c38bc1aa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_ab4ca463f7238c5ab4883989d9501bd2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_ab4ca463f7238c5ab4883989d9501bd2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_ab4ca463f7238c5ab4883989d9501bd2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_ab4ca463f7238c5ab4883989d9501bd2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_21b3ea00725cfd6388f122c309d6960a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_21b3ea00725cfd6388f122c309d6960a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_21b3ea00725cfd6388f122c309d6960a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_21b3ea00725cfd6388f122c309d6960a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_2d8ff36661aea7a18db54db7298650d6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_2d8ff36661aea7a18db54db7298650d6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_2d8ff36661aea7a18db54db7298650d6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_2d8ff36661aea7a18db54db7298650d6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_easu_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_086a124ac87bb4442eb4207eed8636ac.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_086a124ac87bb4442eb4207eed8636ac.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_086a124ac87bb4442eb4207eed8636ac.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_086a124ac87bb4442eb4207eed8636ac.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_22d4143bd1d9b43a963eafbb0ccb7870.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_22d4143bd1d9b43a963eafbb0ccb7870.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_22d4143bd1d9b43a963eafbb0ccb7870.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_22d4143bd1d9b43a963eafbb0ccb7870.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_383771747daa24356d9148d29cfbf350.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_383771747daa24356d9148d29cfbf350.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_383771747daa24356d9148d29cfbf350.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_383771747daa24356d9148d29cfbf350.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_086a124ac87bb4442eb4207eed8636ac.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_086a124ac87bb4442eb4207eed8636ac.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_086a124ac87bb4442eb4207eed8636ac.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_086a124ac87bb4442eb4207eed8636ac.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_b95a973e2b1ab2c03b8085d8e5f49a36.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_22d4143bd1d9b43a963eafbb0ccb7870.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_22d4143bd1d9b43a963eafbb0ccb7870.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_22d4143bd1d9b43a963eafbb0ccb7870.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_22d4143bd1d9b43a963eafbb0ccb7870.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_383771747daa24356d9148d29cfbf350.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_383771747daa24356d9148d29cfbf350.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_383771747daa24356d9148d29cfbf350.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_383771747daa24356d9148d29cfbf350.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr1_rcas_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0990e9f53eb03aae4cfff77b5e1b1974.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0990e9f53eb03aae4cfff77b5e1b1974.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0990e9f53eb03aae4cfff77b5e1b1974.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0990e9f53eb03aae4cfff77b5e1b1974.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0e036f1bfab74620f24f3fc35b2a080f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0e036f1bfab74620f24f3fc35b2a080f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0e036f1bfab74620f24f3fc35b2a080f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_0e036f1bfab74620f24f3fc35b2a080f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_10f9ca568c6746630201a8cfd0dec087.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_10f9ca568c6746630201a8cfd0dec087.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_10f9ca568c6746630201a8cfd0dec087.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_10f9ca568c6746630201a8cfd0dec087.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_011a4cf531b86059c4466c445fa60e00.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_011a4cf531b86059c4466c445fa60e00.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_011a4cf531b86059c4466c445fa60e00.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_011a4cf531b86059c4466c445fa60e00.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_12354a4d35484dcbf21a82c2d2a2e506.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_12354a4d35484dcbf21a82c2d2a2e506.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_12354a4d35484dcbf21a82c2d2a2e506.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_12354a4d35484dcbf21a82c2d2a2e506.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_1f3f6a26fef776547dafccaa363d304e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_1f3f6a26fef776547dafccaa363d304e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_1f3f6a26fef776547dafccaa363d304e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_1f3f6a26fef776547dafccaa363d304e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_403d30d57a7507ae2a83027b0618a22c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_403d30d57a7507ae2a83027b0618a22c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_403d30d57a7507ae2a83027b0618a22c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_403d30d57a7507ae2a83027b0618a22c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4d21166704cff391d964388846231cad.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4d21166704cff391d964388846231cad.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4d21166704cff391d964388846231cad.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_4d21166704cff391d964388846231cad.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_5bfa34ff83db0c6145733708aea5a9d1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_5bfa34ff83db0c6145733708aea5a9d1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_5bfa34ff83db0c6145733708aea5a9d1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_5bfa34ff83db0c6145733708aea5a9d1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_78550d05d93aabddbab359cde070a52f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_78550d05d93aabddbab359cde070a52f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_78550d05d93aabddbab359cde070a52f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_78550d05d93aabddbab359cde070a52f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7cf329dae8fab3299fbf81caa897fc82.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7cf329dae8fab3299fbf81caa897fc82.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7cf329dae8fab3299fbf81caa897fc82.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7cf329dae8fab3299fbf81caa897fc82.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_809907fdcfe68cd8238aa36c58501efb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_809907fdcfe68cd8238aa36c58501efb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_809907fdcfe68cd8238aa36c58501efb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_809907fdcfe68cd8238aa36c58501efb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8328f4f86651af8383130f42f17d5c98.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8328f4f86651af8383130f42f17d5c98.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8328f4f86651af8383130f42f17d5c98.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8328f4f86651af8383130f42f17d5c98.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_89a79052f15bc9cb6bd4d7df2963106d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_89a79052f15bc9cb6bd4d7df2963106d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_89a79052f15bc9cb6bd4d7df2963106d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_89a79052f15bc9cb6bd4d7df2963106d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f9a79bac46d8051d974c8361506a7c7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f9a79bac46d8051d974c8361506a7c7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f9a79bac46d8051d974c8361506a7c7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_9f9a79bac46d8051d974c8361506a7c7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_a350efdd6172c098a738ba2f27337a6d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_a350efdd6172c098a738ba2f27337a6d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_a350efdd6172c098a738ba2f27337a6d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_a350efdd6172c098a738ba2f27337a6d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b509ae341f3b3bb7b9a87b67c8991517.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b509ae341f3b3bb7b9a87b67c8991517.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b509ae341f3b3bb7b9a87b67c8991517.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b509ae341f3b3bb7b9a87b67c8991517.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_cd4fb5e1edc8133dddbf099016571919.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_cd4fb5e1edc8133dddbf099016571919.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_cd4fb5e1edc8133dddbf099016571919.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_cd4fb5e1edc8133dddbf099016571919.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1c4ec2a9de9183d1ef9d67b2d67a4916.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1c4ec2a9de9183d1ef9d67b2d67a4916.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1c4ec2a9de9183d1ef9d67b2d67a4916.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1c4ec2a9de9183d1ef9d67b2d67a4916.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1e5fea5b9e4cc13cac7c5c42ca6286fb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1e5fea5b9e4cc13cac7c5c42ca6286fb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1e5fea5b9e4cc13cac7c5c42ca6286fb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_1e5fea5b9e4cc13cac7c5c42ca6286fb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_23941396b5da258210ef2d11a72ee538.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_23941396b5da258210ef2d11a72ee538.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_23941396b5da258210ef2d11a72ee538.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_23941396b5da258210ef2d11a72ee538.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_335a80728c480180fa7e234fded3f57e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_335a80728c480180fa7e234fded3f57e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_335a80728c480180fa7e234fded3f57e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_335a80728c480180fa7e234fded3f57e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_39295ce848df2142ca455eb774294fd9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_39295ce848df2142ca455eb774294fd9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_39295ce848df2142ca455eb774294fd9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_39295ce848df2142ca455eb774294fd9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_430c759bda888218cdea04b2858c4137.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_430c759bda888218cdea04b2858c4137.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_430c759bda888218cdea04b2858c4137.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_430c759bda888218cdea04b2858c4137.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5cc06057987ac30e6500a6d9d6c26d94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5cc06057987ac30e6500a6d9d6c26d94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5cc06057987ac30e6500a6d9d6c26d94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5cc06057987ac30e6500a6d9d6c26d94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5e781315bedeaa5b9521f708a99fcacc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5e781315bedeaa5b9521f708a99fcacc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5e781315bedeaa5b9521f708a99fcacc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_5e781315bedeaa5b9521f708a99fcacc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_6b943acef043a3ccf84282dd1c9db3f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_6b943acef043a3ccf84282dd1c9db3f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_6b943acef043a3ccf84282dd1c9db3f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_6b943acef043a3ccf84282dd1c9db3f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_72fcac094ebcaff3cfeda3ad814dc113.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_72fcac094ebcaff3cfeda3ad814dc113.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_72fcac094ebcaff3cfeda3ad814dc113.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_72fcac094ebcaff3cfeda3ad814dc113.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_775fe6d88732ea46f33e10e48b840f7c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_775fe6d88732ea46f33e10e48b840f7c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_775fe6d88732ea46f33e10e48b840f7c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_775fe6d88732ea46f33e10e48b840f7c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_807508471488f9571c0c51d350efc589.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_807508471488f9571c0c51d350efc589.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_807508471488f9571c0c51d350efc589.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_807508471488f9571c0c51d350efc589.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a03c6af592e0480b02425fa4d221710b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a03c6af592e0480b02425fa4d221710b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a03c6af592e0480b02425fa4d221710b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a03c6af592e0480b02425fa4d221710b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a6000bedb54cd8b59259e300f9adc79d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a6000bedb54cd8b59259e300f9adc79d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a6000bedb54cd8b59259e300f9adc79d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a6000bedb54cd8b59259e300f9adc79d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a8f555cedee2ae1ee3a419de963657c1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a8f555cedee2ae1ee3a419de963657c1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a8f555cedee2ae1ee3a419de963657c1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_a8f555cedee2ae1ee3a419de963657c1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_e0df91126b22be1a82e668110090f858.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_e0df91126b22be1a82e668110090f858.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_e0df91126b22be1a82e668110090f858.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_e0df91126b22be1a82e668110090f858.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_edcd820046f60015aaf94df7a363164d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_edcd820046f60015aaf94df7a363164d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_edcd820046f60015aaf94df7a363164d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_edcd820046f60015aaf94df7a363164d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_eebe3f28be4f5377303e3810153bb13c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_eebe3f28be4f5377303e3810153bb13c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_eebe3f28be4f5377303e3810153bb13c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_eebe3f28be4f5377303e3810153bb13c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f2f2d1bc1b5297c00a7dd941da664055.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f2f2d1bc1b5297c00a7dd941da664055.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f2f2d1bc1b5297c00a7dd941da664055.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f2f2d1bc1b5297c00a7dd941da664055.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f8110316bde093f4d56a4d980226b7c9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f8110316bde093f4d56a4d980226b7c9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f8110316bde093f4d56a4d980226b7c9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_f8110316bde093f4d56a4d980226b7c9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_fbb3f0d9bd72a3ea295f4dc27982c94b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_fbb3f0d9bd72a3ea295f4dc27982c94b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_fbb3f0d9bd72a3ea295f4dc27982c94b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_fbb3f0d9bd72a3ea295f4dc27982c94b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0990e9f53eb03aae4cfff77b5e1b1974.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0990e9f53eb03aae4cfff77b5e1b1974.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0990e9f53eb03aae4cfff77b5e1b1974.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0990e9f53eb03aae4cfff77b5e1b1974.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0e036f1bfab74620f24f3fc35b2a080f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0e036f1bfab74620f24f3fc35b2a080f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0e036f1bfab74620f24f3fc35b2a080f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_0e036f1bfab74620f24f3fc35b2a080f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_10f9ca568c6746630201a8cfd0dec087.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_10f9ca568c6746630201a8cfd0dec087.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_10f9ca568c6746630201a8cfd0dec087.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_10f9ca568c6746630201a8cfd0dec087.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_011a4cf531b86059c4466c445fa60e00.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_011a4cf531b86059c4466c445fa60e00.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_011a4cf531b86059c4466c445fa60e00.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_011a4cf531b86059c4466c445fa60e00.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_12354a4d35484dcbf21a82c2d2a2e506.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_12354a4d35484dcbf21a82c2d2a2e506.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_12354a4d35484dcbf21a82c2d2a2e506.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_12354a4d35484dcbf21a82c2d2a2e506.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_1f3f6a26fef776547dafccaa363d304e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_1f3f6a26fef776547dafccaa363d304e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_1f3f6a26fef776547dafccaa363d304e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_1f3f6a26fef776547dafccaa363d304e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_403d30d57a7507ae2a83027b0618a22c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_403d30d57a7507ae2a83027b0618a22c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_403d30d57a7507ae2a83027b0618a22c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_403d30d57a7507ae2a83027b0618a22c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4a4b254bba20c12ec12ce6fe6bc85630.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4d21166704cff391d964388846231cad.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4d21166704cff391d964388846231cad.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4d21166704cff391d964388846231cad.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_4d21166704cff391d964388846231cad.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_564ad8dd1978a50fd4d4c7cd62c2a299.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_5bfa34ff83db0c6145733708aea5a9d1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_5bfa34ff83db0c6145733708aea5a9d1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_5bfa34ff83db0c6145733708aea5a9d1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_5bfa34ff83db0c6145733708aea5a9d1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_78550d05d93aabddbab359cde070a52f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_78550d05d93aabddbab359cde070a52f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_78550d05d93aabddbab359cde070a52f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_78550d05d93aabddbab359cde070a52f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7cf329dae8fab3299fbf81caa897fc82.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7cf329dae8fab3299fbf81caa897fc82.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7cf329dae8fab3299fbf81caa897fc82.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7cf329dae8fab3299fbf81caa897fc82.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_7e514bf977d4a58fbd8f4a016d5dd90b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_809907fdcfe68cd8238aa36c58501efb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_809907fdcfe68cd8238aa36c58501efb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_809907fdcfe68cd8238aa36c58501efb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_809907fdcfe68cd8238aa36c58501efb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8328f4f86651af8383130f42f17d5c98.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8328f4f86651af8383130f42f17d5c98.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8328f4f86651af8383130f42f17d5c98.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8328f4f86651af8383130f42f17d5c98.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_89a79052f15bc9cb6bd4d7df2963106d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_89a79052f15bc9cb6bd4d7df2963106d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_89a79052f15bc9cb6bd4d7df2963106d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_89a79052f15bc9cb6bd4d7df2963106d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_8d6c60644dcdf50e36ff79b71e4d65f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9c8785bb4da2f12d29d0fe067f07e18a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f8d1d2522d92c9b47ec1c22338dd8b3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f9a79bac46d8051d974c8361506a7c7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f9a79bac46d8051d974c8361506a7c7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f9a79bac46d8051d974c8361506a7c7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_9f9a79bac46d8051d974c8361506a7c7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_a350efdd6172c098a738ba2f27337a6d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_a350efdd6172c098a738ba2f27337a6d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_a350efdd6172c098a738ba2f27337a6d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_a350efdd6172c098a738ba2f27337a6d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b509ae341f3b3bb7b9a87b67c8991517.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b509ae341f3b3bb7b9a87b67c8991517.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b509ae341f3b3bb7b9a87b67c8991517.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b509ae341f3b3bb7b9a87b67c8991517.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_b7ba3bcfabeeeab669f2efd94f3c25e7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_be5c19b029f6ce0d962d0cca9f0f826b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_cd4fb5e1edc8133dddbf099016571919.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_cd4fb5e1edc8133dddbf099016571919.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_cd4fb5e1edc8133dddbf099016571919.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_cd4fb5e1edc8133dddbf099016571919.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_eb2ab4afb406f4b7843cc7a8625d9e33.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1c4ec2a9de9183d1ef9d67b2d67a4916.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1c4ec2a9de9183d1ef9d67b2d67a4916.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1c4ec2a9de9183d1ef9d67b2d67a4916.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1c4ec2a9de9183d1ef9d67b2d67a4916.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1e5fea5b9e4cc13cac7c5c42ca6286fb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1e5fea5b9e4cc13cac7c5c42ca6286fb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1e5fea5b9e4cc13cac7c5c42ca6286fb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_1e5fea5b9e4cc13cac7c5c42ca6286fb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_23941396b5da258210ef2d11a72ee538.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_23941396b5da258210ef2d11a72ee538.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_23941396b5da258210ef2d11a72ee538.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_23941396b5da258210ef2d11a72ee538.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_335a80728c480180fa7e234fded3f57e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_335a80728c480180fa7e234fded3f57e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_335a80728c480180fa7e234fded3f57e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_335a80728c480180fa7e234fded3f57e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_39295ce848df2142ca455eb774294fd9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_39295ce848df2142ca455eb774294fd9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_39295ce848df2142ca455eb774294fd9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_39295ce848df2142ca455eb774294fd9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_430c759bda888218cdea04b2858c4137.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_430c759bda888218cdea04b2858c4137.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_430c759bda888218cdea04b2858c4137.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_430c759bda888218cdea04b2858c4137.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5cc06057987ac30e6500a6d9d6c26d94.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5cc06057987ac30e6500a6d9d6c26d94.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5cc06057987ac30e6500a6d9d6c26d94.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5cc06057987ac30e6500a6d9d6c26d94.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5e781315bedeaa5b9521f708a99fcacc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5e781315bedeaa5b9521f708a99fcacc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5e781315bedeaa5b9521f708a99fcacc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_5e781315bedeaa5b9521f708a99fcacc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_6b943acef043a3ccf84282dd1c9db3f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_6b943acef043a3ccf84282dd1c9db3f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_6b943acef043a3ccf84282dd1c9db3f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_6b943acef043a3ccf84282dd1c9db3f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_72fcac094ebcaff3cfeda3ad814dc113.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_72fcac094ebcaff3cfeda3ad814dc113.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_72fcac094ebcaff3cfeda3ad814dc113.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_72fcac094ebcaff3cfeda3ad814dc113.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_775fe6d88732ea46f33e10e48b840f7c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_775fe6d88732ea46f33e10e48b840f7c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_775fe6d88732ea46f33e10e48b840f7c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_775fe6d88732ea46f33e10e48b840f7c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_807508471488f9571c0c51d350efc589.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_807508471488f9571c0c51d350efc589.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_807508471488f9571c0c51d350efc589.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_807508471488f9571c0c51d350efc589.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a03c6af592e0480b02425fa4d221710b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a03c6af592e0480b02425fa4d221710b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a03c6af592e0480b02425fa4d221710b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a03c6af592e0480b02425fa4d221710b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a6000bedb54cd8b59259e300f9adc79d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a6000bedb54cd8b59259e300f9adc79d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a6000bedb54cd8b59259e300f9adc79d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a6000bedb54cd8b59259e300f9adc79d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a8f555cedee2ae1ee3a419de963657c1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a8f555cedee2ae1ee3a419de963657c1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a8f555cedee2ae1ee3a419de963657c1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_a8f555cedee2ae1ee3a419de963657c1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_e0df91126b22be1a82e668110090f858.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_e0df91126b22be1a82e668110090f858.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_e0df91126b22be1a82e668110090f858.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_e0df91126b22be1a82e668110090f858.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_edcd820046f60015aaf94df7a363164d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_edcd820046f60015aaf94df7a363164d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_edcd820046f60015aaf94df7a363164d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_edcd820046f60015aaf94df7a363164d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_eebe3f28be4f5377303e3810153bb13c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_eebe3f28be4f5377303e3810153bb13c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_eebe3f28be4f5377303e3810153bb13c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_eebe3f28be4f5377303e3810153bb13c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f2f2d1bc1b5297c00a7dd941da664055.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f2f2d1bc1b5297c00a7dd941da664055.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f2f2d1bc1b5297c00a7dd941da664055.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f2f2d1bc1b5297c00a7dd941da664055.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f8110316bde093f4d56a4d980226b7c9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f8110316bde093f4d56a4d980226b7c9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f8110316bde093f4d56a4d980226b7c9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_f8110316bde093f4d56a4d980226b7c9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_fbb3f0d9bd72a3ea295f4dc27982c94b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_fbb3f0d9bd72a3ea295f4dc27982c94b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_fbb3f0d9bd72a3ea295f4dc27982c94b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_fbb3f0d9bd72a3ea295f4dc27982c94b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_accumulate_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_82ee9b49309c39f2759745e2a240a3f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_82ee9b49309c39f2759745e2a240a3f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_82ee9b49309c39f2759745e2a240a3f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_82ee9b49309c39f2759745e2a240a3f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_d303067f5e3f729a7d5626e1014fbcd5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_d303067f5e3f729a7d5626e1014fbcd5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_d303067f5e3f729a7d5626e1014fbcd5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_d303067f5e3f729a7d5626e1014fbcd5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_82ee9b49309c39f2759745e2a240a3f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_82ee9b49309c39f2759745e2a240a3f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_82ee9b49309c39f2759745e2a240a3f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_82ee9b49309c39f2759745e2a240a3f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_d303067f5e3f729a7d5626e1014fbcd5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_d303067f5e3f729a7d5626e1014fbcd5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_d303067f5e3f729a7d5626e1014fbcd5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_d303067f5e3f729a7d5626e1014fbcd5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_autogen_reactive_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_dc90781c08a67cd61bc9ac5b39f787fc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_dc90781c08a67cd61bc9ac5b39f787fc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_dc90781c08a67cd61bc9ac5b39f787fc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_dc90781c08a67cd61bc9ac5b39f787fc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_7c1ba1fd1f4e3b16188bd82a5ce7a75a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_dc90781c08a67cd61bc9ac5b39f787fc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_dc90781c08a67cd61bc9ac5b39f787fc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_dc90781c08a67cd61bc9ac5b39f787fc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_dc90781c08a67cd61bc9ac5b39f787fc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_compute_luminance_pyramid_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_17c08766678024b757077fe20319af22.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_17c08766678024b757077fe20319af22.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_17c08766678024b757077fe20319af22.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_17c08766678024b757077fe20319af22.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_2e7180151d47c5dba94a66d89627e9d3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_2e7180151d47c5dba94a66d89627e9d3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_2e7180151d47c5dba94a66d89627e9d3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_2e7180151d47c5dba94a66d89627e9d3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_82768660d8313d690164e7f40352bc83.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_82768660d8313d690164e7f40352bc83.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_82768660d8313d690164e7f40352bc83.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_82768660d8313d690164e7f40352bc83.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_986b506def36a655d90207ce904f68e1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_986b506def36a655d90207ce904f68e1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_986b506def36a655d90207ce904f68e1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_986b506def36a655d90207ce904f68e1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_cfa975d05ebe6c5d02c3206432a2e855.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_cfa975d05ebe6c5d02c3206432a2e855.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_cfa975d05ebe6c5d02c3206432a2e855.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_cfa975d05ebe6c5d02c3206432a2e855.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_def8e87039cdd217cb4c798bbe3000b9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_def8e87039cdd217cb4c798bbe3000b9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_def8e87039cdd217cb4c798bbe3000b9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_def8e87039cdd217cb4c798bbe3000b9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_fe3c133e58a7a10c00198c94033c9a04.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_fe3c133e58a7a10c00198c94033c9a04.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_fe3c133e58a7a10c00198c94033c9a04.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_fe3c133e58a7a10c00198c94033c9a04.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_2e9135bf4631e278b4e935f8182a1b42.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_2e9135bf4631e278b4e935f8182a1b42.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_2e9135bf4631e278b4e935f8182a1b42.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_2e9135bf4631e278b4e935f8182a1b42.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_501f8d5a21730dc23c8e35980113f258.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_501f8d5a21730dc23c8e35980113f258.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_501f8d5a21730dc23c8e35980113f258.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_501f8d5a21730dc23c8e35980113f258.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_652cbd10962b9bff89f57632d3db4665.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_652cbd10962b9bff89f57632d3db4665.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_652cbd10962b9bff89f57632d3db4665.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_652cbd10962b9bff89f57632d3db4665.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_b37ac32ed61bf8d861ee72d067e200db.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_b37ac32ed61bf8d861ee72d067e200db.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_b37ac32ed61bf8d861ee72d067e200db.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_b37ac32ed61bf8d861ee72d067e200db.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_bdace09eabad9104ded34bc698d601d7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_bdace09eabad9104ded34bc698d601d7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_bdace09eabad9104ded34bc698d601d7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_bdace09eabad9104ded34bc698d601d7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c1eb21fc940f3969839954b389328d68.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c1eb21fc940f3969839954b389328d68.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c1eb21fc940f3969839954b389328d68.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c1eb21fc940f3969839954b389328d68.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c463bf7b993e83ce2bfd40bb04a73a52.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c463bf7b993e83ce2bfd40bb04a73a52.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c463bf7b993e83ce2bfd40bb04a73a52.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_c463bf7b993e83ce2bfd40bb04a73a52.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_ca4757ee37d2efbe4fab82a8cca3f3e5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_ca4757ee37d2efbe4fab82a8cca3f3e5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_ca4757ee37d2efbe4fab82a8cca3f3e5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_ca4757ee37d2efbe4fab82a8cca3f3e5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_17c08766678024b757077fe20319af22.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_17c08766678024b757077fe20319af22.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_17c08766678024b757077fe20319af22.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_17c08766678024b757077fe20319af22.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_2e7180151d47c5dba94a66d89627e9d3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_2e7180151d47c5dba94a66d89627e9d3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_2e7180151d47c5dba94a66d89627e9d3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_2e7180151d47c5dba94a66d89627e9d3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_82768660d8313d690164e7f40352bc83.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_82768660d8313d690164e7f40352bc83.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_82768660d8313d690164e7f40352bc83.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_82768660d8313d690164e7f40352bc83.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_986b506def36a655d90207ce904f68e1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_986b506def36a655d90207ce904f68e1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_986b506def36a655d90207ce904f68e1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_986b506def36a655d90207ce904f68e1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_cfa975d05ebe6c5d02c3206432a2e855.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_cfa975d05ebe6c5d02c3206432a2e855.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_cfa975d05ebe6c5d02c3206432a2e855.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_cfa975d05ebe6c5d02c3206432a2e855.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_def8e87039cdd217cb4c798bbe3000b9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_def8e87039cdd217cb4c798bbe3000b9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_def8e87039cdd217cb4c798bbe3000b9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_def8e87039cdd217cb4c798bbe3000b9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_f2e4a6eff6a8e85d982d4199d0d8edd1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_fe3c133e58a7a10c00198c94033c9a04.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_fe3c133e58a7a10c00198c94033c9a04.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_fe3c133e58a7a10c00198c94033c9a04.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_fe3c133e58a7a10c00198c94033c9a04.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_2e9135bf4631e278b4e935f8182a1b42.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_2e9135bf4631e278b4e935f8182a1b42.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_2e9135bf4631e278b4e935f8182a1b42.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_2e9135bf4631e278b4e935f8182a1b42.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_501f8d5a21730dc23c8e35980113f258.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_501f8d5a21730dc23c8e35980113f258.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_501f8d5a21730dc23c8e35980113f258.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_501f8d5a21730dc23c8e35980113f258.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_652cbd10962b9bff89f57632d3db4665.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_652cbd10962b9bff89f57632d3db4665.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_652cbd10962b9bff89f57632d3db4665.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_652cbd10962b9bff89f57632d3db4665.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_b37ac32ed61bf8d861ee72d067e200db.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_b37ac32ed61bf8d861ee72d067e200db.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_b37ac32ed61bf8d861ee72d067e200db.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_b37ac32ed61bf8d861ee72d067e200db.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_bdace09eabad9104ded34bc698d601d7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_bdace09eabad9104ded34bc698d601d7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_bdace09eabad9104ded34bc698d601d7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_bdace09eabad9104ded34bc698d601d7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c1eb21fc940f3969839954b389328d68.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c1eb21fc940f3969839954b389328d68.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c1eb21fc940f3969839954b389328d68.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c1eb21fc940f3969839954b389328d68.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c463bf7b993e83ce2bfd40bb04a73a52.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c463bf7b993e83ce2bfd40bb04a73a52.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c463bf7b993e83ce2bfd40bb04a73a52.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_c463bf7b993e83ce2bfd40bb04a73a52.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_ca4757ee37d2efbe4fab82a8cca3f3e5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_ca4757ee37d2efbe4fab82a8cca3f3e5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_ca4757ee37d2efbe4fab82a8cca3f3e5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_ca4757ee37d2efbe4fab82a8cca3f3e5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_depth_clip_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_a52197128a48ed3e918ac274fc4373cc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_a52197128a48ed3e918ac274fc4373cc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_a52197128a48ed3e918ac274fc4373cc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_a52197128a48ed3e918ac274fc4373cc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_58ae598722e20fb1521e5331dea8bae3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_58ae598722e20fb1521e5331dea8bae3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_58ae598722e20fb1521e5331dea8bae3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_58ae598722e20fb1521e5331dea8bae3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_6dccce5a06361aec1ccffe2e42aa4dac.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_6dccce5a06361aec1ccffe2e42aa4dac.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_6dccce5a06361aec1ccffe2e42aa4dac.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_6dccce5a06361aec1ccffe2e42aa4dac.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_53d3322ec3efa451fdeed48ee2b5ac16.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_a52197128a48ed3e918ac274fc4373cc.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_a52197128a48ed3e918ac274fc4373cc.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_a52197128a48ed3e918ac274fc4373cc.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_a52197128a48ed3e918ac274fc4373cc.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_58ae598722e20fb1521e5331dea8bae3.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_58ae598722e20fb1521e5331dea8bae3.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_58ae598722e20fb1521e5331dea8bae3.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_58ae598722e20fb1521e5331dea8bae3.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_6dccce5a06361aec1ccffe2e42aa4dac.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_6dccce5a06361aec1ccffe2e42aa4dac.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_6dccce5a06361aec1ccffe2e42aa4dac.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_6dccce5a06361aec1ccffe2e42aa4dac.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_lock_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_95e7faa447b4e867ae430266ee555aa4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_95e7faa447b4e867ae430266ee555aa4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_95e7faa447b4e867ae430266ee555aa4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_95e7faa447b4e867ae430266ee555aa4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_8ce16b318c35e5d25bb64b685ea8bcb1.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_95e7faa447b4e867ae430266ee555aa4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_95e7faa447b4e867ae430266ee555aa4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_95e7faa447b4e867ae430266ee555aa4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_95e7faa447b4e867ae430266ee555aa4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_rcas_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_0b541155a76c4cb727291e60be3ed663.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_0b541155a76c4cb727291e60be3ed663.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_0b541155a76c4cb727291e60be3ed663.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_0b541155a76c4cb727291e60be3ed663.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4736c98c3db3d218596c5f9b245f9540.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4736c98c3db3d218596c5f9b245f9540.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4736c98c3db3d218596c5f9b245f9540.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4736c98c3db3d218596c5f9b245f9540.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4ad437864d230c241d6df5b67ba2b113.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4ad437864d230c241d6df5b67ba2b113.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4ad437864d230c241d6df5b67ba2b113.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_4ad437864d230c241d6df5b67ba2b113.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_71d5a96e0faf73659215f64d4d8e5089.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_71d5a96e0faf73659215f64d4d8e5089.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_71d5a96e0faf73659215f64d4d8e5089.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_71d5a96e0faf73659215f64d4d8e5089.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b17f87cc8796230511034dfc6919c9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b17f87cc8796230511034dfc6919c9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b17f87cc8796230511034dfc6919c9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b17f87cc8796230511034dfc6919c9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b6973622762ced21a2b105dc25f363.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b6973622762ced21a2b105dc25f363.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b6973622762ced21a2b105dc25f363.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_72b6973622762ced21a2b105dc25f363.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_73e4c1a4fff79e2988366f8430bb931f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_73e4c1a4fff79e2988366f8430bb931f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_73e4c1a4fff79e2988366f8430bb931f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_73e4c1a4fff79e2988366f8430bb931f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_7e0095f7d55b31d61828620d3dd53f39.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_7e0095f7d55b31d61828620d3dd53f39.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_7e0095f7d55b31d61828620d3dd53f39.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_7e0095f7d55b31d61828620d3dd53f39.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_82de6c56d129c738a7e31e72d8221835.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_82de6c56d129c738a7e31e72d8221835.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_82de6c56d129c738a7e31e72d8221835.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_82de6c56d129c738a7e31e72d8221835.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_842cf7b01b40cef0925e3904501cce93.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_842cf7b01b40cef0925e3904501cce93.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_842cf7b01b40cef0925e3904501cce93.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_842cf7b01b40cef0925e3904501cce93.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_8c0a07e7b247305146a6a91cdc751081.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_8c0a07e7b247305146a6a91cdc751081.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_8c0a07e7b247305146a6a91cdc751081.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_8c0a07e7b247305146a6a91cdc751081.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9cb6d0a61acf686c73c948b580539e1f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9cb6d0a61acf686c73c948b580539e1f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9cb6d0a61acf686c73c948b580539e1f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_9cb6d0a61acf686c73c948b580539e1f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_b37a8f7e104f93eecba2ad7053a8474b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_b37a8f7e104f93eecba2ad7053a8474b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_b37a8f7e104f93eecba2ad7053a8474b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_b37a8f7e104f93eecba2ad7053a8474b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_2f70862189586ac7d21ede5fe6a1e249.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_2f70862189586ac7d21ede5fe6a1e249.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_2f70862189586ac7d21ede5fe6a1e249.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_2f70862189586ac7d21ede5fe6a1e249.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_343ae3ec3504477ef4eb05bcb1e5059a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_343ae3ec3504477ef4eb05bcb1e5059a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_343ae3ec3504477ef4eb05bcb1e5059a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_343ae3ec3504477ef4eb05bcb1e5059a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_5002ac749992c93e2e6c4b7077a9756d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_5002ac749992c93e2e6c4b7077a9756d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_5002ac749992c93e2e6c4b7077a9756d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_5002ac749992c93e2e6c4b7077a9756d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_58f0a8f1088ebad2f9c8bba16dfc776e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_58f0a8f1088ebad2f9c8bba16dfc776e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_58f0a8f1088ebad2f9c8bba16dfc776e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_58f0a8f1088ebad2f9c8bba16dfc776e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6ebba9681b47190d59308f747f91bb9c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6ebba9681b47190d59308f747f91bb9c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6ebba9681b47190d59308f747f91bb9c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6ebba9681b47190d59308f747f91bb9c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6f664fa44a2606e550cdeff6e1a49b45.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6f664fa44a2606e550cdeff6e1a49b45.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6f664fa44a2606e550cdeff6e1a49b45.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_6f664fa44a2606e550cdeff6e1a49b45.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_7f025f43cc6125709f2b72e3f59495ab.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_7f025f43cc6125709f2b72e3f59495ab.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_7f025f43cc6125709f2b72e3f59495ab.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_7f025f43cc6125709f2b72e3f59495ab.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_8ad19580f820b3477075babd9714a91f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_8ad19580f820b3477075babd9714a91f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_8ad19580f820b3477075babd9714a91f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_8ad19580f820b3477075babd9714a91f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a3cf0e6618d0e99f0160abd44e743cb2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a3cf0e6618d0e99f0160abd44e743cb2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a3cf0e6618d0e99f0160abd44e743cb2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a3cf0e6618d0e99f0160abd44e743cb2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a9cc013215d59b9b947a35569bad0f97.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a9cc013215d59b9b947a35569bad0f97.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a9cc013215d59b9b947a35569bad0f97.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_a9cc013215d59b9b947a35569bad0f97.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_aa36d13c7876dd47da304575ef9c6e2c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_aa36d13c7876dd47da304575ef9c6e2c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_aa36d13c7876dd47da304575ef9c6e2c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_aa36d13c7876dd47da304575ef9c6e2c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_ac6eaaf95e92b0112cf83eb48d8a6ca6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_ac6eaaf95e92b0112cf83eb48d8a6ca6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_ac6eaaf95e92b0112cf83eb48d8a6ca6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_ac6eaaf95e92b0112cf83eb48d8a6ca6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_be3d9d4f65f9f461b48900a91aa09b5a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_be3d9d4f65f9f461b48900a91aa09b5a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_be3d9d4f65f9f461b48900a91aa09b5a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_be3d9d4f65f9f461b48900a91aa09b5a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_d01eb7557ead70435a206eb862e42b87.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_d01eb7557ead70435a206eb862e42b87.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_d01eb7557ead70435a206eb862e42b87.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_d01eb7557ead70435a206eb862e42b87.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_dfc72a1c0f80394eebcc238d1d88c3e0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_dfc72a1c0f80394eebcc238d1d88c3e0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_dfc72a1c0f80394eebcc238d1d88c3e0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_dfc72a1c0f80394eebcc238d1d88c3e0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_e439e83ea8155563262c75c3e805b4ee.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_e439e83ea8155563262c75c3e805b4ee.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_e439e83ea8155563262c75c3e805b4ee.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_e439e83ea8155563262c75c3e805b4ee.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_07a91c9fd47dc6f18aa63bacedf2cc2e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_0b541155a76c4cb727291e60be3ed663.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_0b541155a76c4cb727291e60be3ed663.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_0b541155a76c4cb727291e60be3ed663.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_0b541155a76c4cb727291e60be3ed663.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_3b9df24ce64ff05ae8bfcbc6f5345e20.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4736c98c3db3d218596c5f9b245f9540.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4736c98c3db3d218596c5f9b245f9540.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4736c98c3db3d218596c5f9b245f9540.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4736c98c3db3d218596c5f9b245f9540.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4ad437864d230c241d6df5b67ba2b113.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4ad437864d230c241d6df5b67ba2b113.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4ad437864d230c241d6df5b67ba2b113.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_4ad437864d230c241d6df5b67ba2b113.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_71d5a96e0faf73659215f64d4d8e5089.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_71d5a96e0faf73659215f64d4d8e5089.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_71d5a96e0faf73659215f64d4d8e5089.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_71d5a96e0faf73659215f64d4d8e5089.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b17f87cc8796230511034dfc6919c9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b17f87cc8796230511034dfc6919c9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b17f87cc8796230511034dfc6919c9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b17f87cc8796230511034dfc6919c9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b6973622762ced21a2b105dc25f363.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b6973622762ced21a2b105dc25f363.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b6973622762ced21a2b105dc25f363.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_72b6973622762ced21a2b105dc25f363.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_73e4c1a4fff79e2988366f8430bb931f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_73e4c1a4fff79e2988366f8430bb931f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_73e4c1a4fff79e2988366f8430bb931f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_73e4c1a4fff79e2988366f8430bb931f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_7e0095f7d55b31d61828620d3dd53f39.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_7e0095f7d55b31d61828620d3dd53f39.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_7e0095f7d55b31d61828620d3dd53f39.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_7e0095f7d55b31d61828620d3dd53f39.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_82de6c56d129c738a7e31e72d8221835.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_82de6c56d129c738a7e31e72d8221835.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_82de6c56d129c738a7e31e72d8221835.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_82de6c56d129c738a7e31e72d8221835.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_842cf7b01b40cef0925e3904501cce93.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_842cf7b01b40cef0925e3904501cce93.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_842cf7b01b40cef0925e3904501cce93.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_842cf7b01b40cef0925e3904501cce93.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_8c0a07e7b247305146a6a91cdc751081.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_8c0a07e7b247305146a6a91cdc751081.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_8c0a07e7b247305146a6a91cdc751081.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_8c0a07e7b247305146a6a91cdc751081.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9c5c496c12fd8116f71bd3a1880d5f67.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9cb6d0a61acf686c73c948b580539e1f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9cb6d0a61acf686c73c948b580539e1f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9cb6d0a61acf686c73c948b580539e1f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_9cb6d0a61acf686c73c948b580539e1f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_b37a8f7e104f93eecba2ad7053a8474b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_b37a8f7e104f93eecba2ad7053a8474b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_b37a8f7e104f93eecba2ad7053a8474b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_b37a8f7e104f93eecba2ad7053a8474b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_2f70862189586ac7d21ede5fe6a1e249.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_2f70862189586ac7d21ede5fe6a1e249.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_2f70862189586ac7d21ede5fe6a1e249.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_2f70862189586ac7d21ede5fe6a1e249.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_343ae3ec3504477ef4eb05bcb1e5059a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_343ae3ec3504477ef4eb05bcb1e5059a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_343ae3ec3504477ef4eb05bcb1e5059a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_343ae3ec3504477ef4eb05bcb1e5059a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_5002ac749992c93e2e6c4b7077a9756d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_5002ac749992c93e2e6c4b7077a9756d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_5002ac749992c93e2e6c4b7077a9756d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_5002ac749992c93e2e6c4b7077a9756d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_58f0a8f1088ebad2f9c8bba16dfc776e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_58f0a8f1088ebad2f9c8bba16dfc776e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_58f0a8f1088ebad2f9c8bba16dfc776e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_58f0a8f1088ebad2f9c8bba16dfc776e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6ebba9681b47190d59308f747f91bb9c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6ebba9681b47190d59308f747f91bb9c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6ebba9681b47190d59308f747f91bb9c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6ebba9681b47190d59308f747f91bb9c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6f664fa44a2606e550cdeff6e1a49b45.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6f664fa44a2606e550cdeff6e1a49b45.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6f664fa44a2606e550cdeff6e1a49b45.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_6f664fa44a2606e550cdeff6e1a49b45.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_7f025f43cc6125709f2b72e3f59495ab.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_7f025f43cc6125709f2b72e3f59495ab.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_7f025f43cc6125709f2b72e3f59495ab.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_7f025f43cc6125709f2b72e3f59495ab.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_8ad19580f820b3477075babd9714a91f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_8ad19580f820b3477075babd9714a91f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_8ad19580f820b3477075babd9714a91f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_8ad19580f820b3477075babd9714a91f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a3cf0e6618d0e99f0160abd44e743cb2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a3cf0e6618d0e99f0160abd44e743cb2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a3cf0e6618d0e99f0160abd44e743cb2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a3cf0e6618d0e99f0160abd44e743cb2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a9cc013215d59b9b947a35569bad0f97.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a9cc013215d59b9b947a35569bad0f97.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a9cc013215d59b9b947a35569bad0f97.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_a9cc013215d59b9b947a35569bad0f97.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_aa36d13c7876dd47da304575ef9c6e2c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_aa36d13c7876dd47da304575ef9c6e2c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_aa36d13c7876dd47da304575ef9c6e2c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_aa36d13c7876dd47da304575ef9c6e2c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_ac6eaaf95e92b0112cf83eb48d8a6ca6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_ac6eaaf95e92b0112cf83eb48d8a6ca6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_ac6eaaf95e92b0112cf83eb48d8a6ca6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_ac6eaaf95e92b0112cf83eb48d8a6ca6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_be3d9d4f65f9f461b48900a91aa09b5a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_be3d9d4f65f9f461b48900a91aa09b5a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_be3d9d4f65f9f461b48900a91aa09b5a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_be3d9d4f65f9f461b48900a91aa09b5a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_d01eb7557ead70435a206eb862e42b87.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_d01eb7557ead70435a206eb862e42b87.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_d01eb7557ead70435a206eb862e42b87.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_d01eb7557ead70435a206eb862e42b87.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_dfc72a1c0f80394eebcc238d1d88c3e0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_dfc72a1c0f80394eebcc238d1d88c3e0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_dfc72a1c0f80394eebcc238d1d88c3e0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_dfc72a1c0f80394eebcc238d1d88c3e0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_e439e83ea8155563262c75c3e805b4ee.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_e439e83ea8155563262c75c3e805b4ee.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_e439e83ea8155563262c75c3e805b4ee.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_e439e83ea8155563262c75c3e805b4ee.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_reconstruct_previous_depth_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_4d28ce40642ee6b9398eeb81f061d514.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_4d28ce40642ee6b9398eeb81f061d514.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_4d28ce40642ee6b9398eeb81f061d514.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_4d28ce40642ee6b9398eeb81f061d514.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_9ef900348d8420a71c7f917ad8e97c80.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_9ef900348d8420a71c7f917ad8e97c80.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_9ef900348d8420a71c7f917ad8e97c80.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_9ef900348d8420a71c7f917ad8e97c80.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_278c91eeed67d2b81d5be4a40351664f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_278c91eeed67d2b81d5be4a40351664f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_278c91eeed67d2b81d5be4a40351664f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_278c91eeed67d2b81d5be4a40351664f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_e813bfb0bd6c4d146c29f2ac18e43e51.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_e813bfb0bd6c4d146c29f2ac18e43e51.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_e813bfb0bd6c4d146c29f2ac18e43e51.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_e813bfb0bd6c4d146c29f2ac18e43e51.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_4d28ce40642ee6b9398eeb81f061d514.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_4d28ce40642ee6b9398eeb81f061d514.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_4d28ce40642ee6b9398eeb81f061d514.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_4d28ce40642ee6b9398eeb81f061d514.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_9ef900348d8420a71c7f917ad8e97c80.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_9ef900348d8420a71c7f917ad8e97c80.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_9ef900348d8420a71c7f917ad8e97c80.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_9ef900348d8420a71c7f917ad8e97c80.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_278c91eeed67d2b81d5be4a40351664f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_278c91eeed67d2b81d5be4a40351664f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_278c91eeed67d2b81d5be4a40351664f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_278c91eeed67d2b81d5be4a40351664f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_e813bfb0bd6c4d146c29f2ac18e43e51.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_e813bfb0bd6c4d146c29f2ac18e43e51.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_e813bfb0bd6c4d146c29f2ac18e43e51.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_e813bfb0bd6c4d146c29f2ac18e43e51.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_fsr2_tcr_autogen_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_b1da9245616e374ba2b5b1b93ee854c2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_b1da9245616e374ba2b5b1b93ee854c2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_b1da9245616e374ba2b5b1b93ee854c2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_b1da9245616e374ba2b5b1b93ee854c2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_c92691ef55f053e5bcf8ec62930825f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_c92691ef55f053e5bcf8ec62930825f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_c92691ef55f053e5bcf8ec62930825f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_c92691ef55f053e5bcf8ec62930825f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_b1da9245616e374ba2b5b1b93ee854c2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_b1da9245616e374ba2b5b1b93ee854c2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_b1da9245616e374ba2b5b1b93ee854c2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_b1da9245616e374ba2b5b1b93ee854c2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_c92691ef55f053e5bcf8ec62930825f8.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_c92691ef55f053e5bcf8ec62930825f8.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_c92691ef55f053e5bcf8ec62930825f8.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_c92691ef55f053e5bcf8ec62930825f8.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lens_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_ae73a771e31f2cef1ac68723293a719e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_ae73a771e31f2cef1ac68723293a719e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_ae73a771e31f2cef1ac68723293a719e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_ae73a771e31f2cef1ac68723293a719e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_6a7f138a1894f2743ceaef850ab4aec7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_6a7f138a1894f2743ceaef850ab4aec7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_6a7f138a1894f2743ceaef850ab4aec7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_6a7f138a1894f2743ceaef850ab4aec7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_ae73a771e31f2cef1ac68723293a719e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_ae73a771e31f2cef1ac68723293a719e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_ae73a771e31f2cef1ac68723293a719e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_ae73a771e31f2cef1ac68723293a719e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_6a7f138a1894f2743ceaef850ab4aec7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_6a7f138a1894f2743ceaef850ab4aec7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_6a7f138a1894f2743ceaef850ab4aec7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_6a7f138a1894f2743ceaef850ab4aec7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_lpm_filter_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_5b4666dc306868898ea8393dcea69bcb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_5b4666dc306868898ea8393dcea69bcb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_5b4666dc306868898ea8393dcea69bcb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_5b4666dc306868898ea8393dcea69bcb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_76fbf9d3d25f4ce0bf0267ac22fbbb51.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_76fbf9d3d25f4ce0bf0267ac22fbbb51.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_76fbf9d3d25f4ce0bf0267ac22fbbb51.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_76fbf9d3d25f4ce0bf0267ac22fbbb51.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_5b4666dc306868898ea8393dcea69bcb.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_5b4666dc306868898ea8393dcea69bcb.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_5b4666dc306868898ea8393dcea69bcb.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_5b4666dc306868898ea8393dcea69bcb.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_76fbf9d3d25f4ce0bf0267ac22fbbb51.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_76fbf9d3d25f4ce0bf0267ac22fbbb51.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_76fbf9d3d25f4ce0bf0267ac22fbbb51.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_76fbf9d3d25f4ce0bf0267ac22fbbb51.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_reduce_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_03fde795efe63102b2396e5dd855f169.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_03fde795efe63102b2396e5dd855f169.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_03fde795efe63102b2396e5dd855f169.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_03fde795efe63102b2396e5dd855f169.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_78095d34b04a6a9954f96e5cdcceb90f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_78095d34b04a6a9954f96e5cdcceb90f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_78095d34b04a6a9954f96e5cdcceb90f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_78095d34b04a6a9954f96e5cdcceb90f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_03fde795efe63102b2396e5dd855f169.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_03fde795efe63102b2396e5dd855f169.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_03fde795efe63102b2396e5dd855f169.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_03fde795efe63102b2396e5dd855f169.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_78095d34b04a6a9954f96e5cdcceb90f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_78095d34b04a6a9954f96e5cdcceb90f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_78095d34b04a6a9954f96e5cdcceb90f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_78095d34b04a6a9954f96e5cdcceb90f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_add_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_58e7b063f50d7fd9a747876a7414d7ba.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_58e7b063f50d7fd9a747876a7414d7ba.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_58e7b063f50d7fd9a747876a7414d7ba.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_58e7b063f50d7fd9a747876a7414d7ba.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_81d966ac20a3f61a8ddcdbc964794297.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_81d966ac20a3f61a8ddcdbc964794297.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_81d966ac20a3f61a8ddcdbc964794297.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_81d966ac20a3f61a8ddcdbc964794297.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_58e7b063f50d7fd9a747876a7414d7ba.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_58e7b063f50d7fd9a747876a7414d7ba.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_58e7b063f50d7fd9a747876a7414d7ba.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_58e7b063f50d7fd9a747876a7414d7ba.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_81d966ac20a3f61a8ddcdbc964794297.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_81d966ac20a3f61a8ddcdbc964794297.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_81d966ac20a3f61a8ddcdbc964794297.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_81d966ac20a3f61a8ddcdbc964794297.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scan_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_18dc86ffca3bc936e56249604df2d9f2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_18dc86ffca3bc936e56249604df2d9f2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_18dc86ffca3bc936e56249604df2d9f2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_18dc86ffca3bc936e56249604df2d9f2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_28506f8a9b9a259e6ff3998d6d805eaa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_28506f8a9b9a259e6ff3998d6d805eaa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_28506f8a9b9a259e6ff3998d6d805eaa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_28506f8a9b9a259e6ff3998d6d805eaa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_3eb20bc07c6cb4505fe95a1fbc2c783d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_64a1fb90eca00bfcc521a10c7b0bb9fa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_18dc86ffca3bc936e56249604df2d9f2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_18dc86ffca3bc936e56249604df2d9f2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_18dc86ffca3bc936e56249604df2d9f2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_18dc86ffca3bc936e56249604df2d9f2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_28506f8a9b9a259e6ff3998d6d805eaa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_28506f8a9b9a259e6ff3998d6d805eaa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_28506f8a9b9a259e6ff3998d6d805eaa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_28506f8a9b9a259e6ff3998d6d805eaa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_scatter_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_b1a8186347c730bf35e45bf1ec13b497.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_b1a8186347c730bf35e45bf1ec13b497.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_b1a8186347c730bf35e45bf1ec13b497.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_b1a8186347c730bf35e45bf1ec13b497.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_72edc3ce7a0b71cc783de29ad714b0e5.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_b1a8186347c730bf35e45bf1ec13b497.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_b1a8186347c730bf35e45bf1ec13b497.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_b1a8186347c730bf35e45bf1ec13b497.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_b1a8186347c730bf35e45bf1ec13b497.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_setup_indirect_args_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_216a92299e05c11a1e76872eec7d4091.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_216a92299e05c11a1e76872eec7d4091.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_216a92299e05c11a1e76872eec7d4091.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_216a92299e05c11a1e76872eec7d4091.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_d6f510cff7d7592d6fad7e71a905af25.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_d6f510cff7d7592d6fad7e71a905af25.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_d6f510cff7d7592d6fad7e71a905af25.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_d6f510cff7d7592d6fad7e71a905af25.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_216a92299e05c11a1e76872eec7d4091.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_216a92299e05c11a1e76872eec7d4091.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_216a92299e05c11a1e76872eec7d4091.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_216a92299e05c11a1e76872eec7d4091.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_d6f510cff7d7592d6fad7e71a905af25.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_d6f510cff7d7592d6fad7e71a905af25.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_d6f510cff7d7592d6fad7e71a905af25.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_d6f510cff7d7592d6fad7e71a905af25.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_parallelsort_sum_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_19c2d828018507763689e2c818da36c0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_19c2d828018507763689e2c818da36c0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_19c2d828018507763689e2c818da36c0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_19c2d828018507763689e2c818da36c0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_1b956abb0cdcd744010577807d3e825f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_1b956abb0cdcd744010577807d3e825f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_1b956abb0cdcd744010577807d3e825f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_1b956abb0cdcd744010577807d3e825f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2ac4df2b65bf853494d213cc1ed27c85.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2ac4df2b65bf853494d213cc1ed27c85.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2ac4df2b65bf853494d213cc1ed27c85.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2ac4df2b65bf853494d213cc1ed27c85.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2dcc135fa031a5f818348e69f5b58faf.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2dcc135fa031a5f818348e69f5b58faf.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2dcc135fa031a5f818348e69f5b58faf.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_2dcc135fa031a5f818348e69f5b58faf.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_37e1738fd1a919c63b0a94a83a87a494.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_37e1738fd1a919c63b0a94a83a87a494.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_37e1738fd1a919c63b0a94a83a87a494.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_37e1738fd1a919c63b0a94a83a87a494.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_4baf66795114f974c2b546aca71b2e91.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_4baf66795114f974c2b546aca71b2e91.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_4baf66795114f974c2b546aca71b2e91.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_4baf66795114f974c2b546aca71b2e91.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_5fc8c6307874026ce663aee6f92c1f33.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_5fc8c6307874026ce663aee6f92c1f33.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_5fc8c6307874026ce663aee6f92c1f33.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_5fc8c6307874026ce663aee6f92c1f33.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9da22ae4adbaab28a989fa361934a2ac.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9da22ae4adbaab28a989fa361934a2ac.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9da22ae4adbaab28a989fa361934a2ac.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9da22ae4adbaab28a989fa361934a2ac.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9feeba671f045e755197855770d43c6e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9feeba671f045e755197855770d43c6e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9feeba671f045e755197855770d43c6e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_9feeba671f045e755197855770d43c6e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f0d6bee33f072ff4407e5102d04c7641.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f0d6bee33f072ff4407e5102d04c7641.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f0d6bee33f072ff4407e5102d04c7641.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f0d6bee33f072ff4407e5102d04c7641.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f3db230d999f3392ac83638c480a0a3c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f3db230d999f3392ac83638c480a0a3c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f3db230d999f3392ac83638c480a0a3c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_f3db230d999f3392ac83638c480a0a3c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_1aa4209744f32241339ab1a79960ed74.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_1aa4209744f32241339ab1a79960ed74.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_1aa4209744f32241339ab1a79960ed74.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_1aa4209744f32241339ab1a79960ed74.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_31f1ef1382edd12e3518d6c2699c5e8c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_31f1ef1382edd12e3518d6c2699c5e8c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_31f1ef1382edd12e3518d6c2699c5e8c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_31f1ef1382edd12e3518d6c2699c5e8c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_35405b2c2d0d478aa6dc7f7dca997d48.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_35405b2c2d0d478aa6dc7f7dca997d48.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_35405b2c2d0d478aa6dc7f7dca997d48.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_35405b2c2d0d478aa6dc7f7dca997d48.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_3f6bcc8004da44cf4a21b42f01e17c38.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_3f6bcc8004da44cf4a21b42f01e17c38.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_3f6bcc8004da44cf4a21b42f01e17c38.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_3f6bcc8004da44cf4a21b42f01e17c38.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_461d293ac6a2ee15caa9458226a40a8b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_461d293ac6a2ee15caa9458226a40a8b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_461d293ac6a2ee15caa9458226a40a8b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_461d293ac6a2ee15caa9458226a40a8b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_5465da32916b73b72b45e9ae4116c0ba.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_5465da32916b73b72b45e9ae4116c0ba.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_5465da32916b73b72b45e9ae4116c0ba.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_5465da32916b73b72b45e9ae4116c0ba.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_93f831bc1aa2a4dca97eb3341d142f03.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_93f831bc1aa2a4dca97eb3341d142f03.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_93f831bc1aa2a4dca97eb3341d142f03.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_93f831bc1aa2a4dca97eb3341d142f03.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_9bf84f558cde687bad42c17ed1602d4a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_9bf84f558cde687bad42c17ed1602d4a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_9bf84f558cde687bad42c17ed1602d4a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_9bf84f558cde687bad42c17ed1602d4a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_a1ee28707e23f14670a1e3f559a85abd.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_a1ee28707e23f14670a1e3f559a85abd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_a1ee28707e23f14670a1e3f559a85abd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_a1ee28707e23f14670a1e3f559a85abd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_b9eab752aaf4ec786d4ca8d654518d08.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_b9eab752aaf4ec786d4ca8d654518d08.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_b9eab752aaf4ec786d4ca8d654518d08.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_b9eab752aaf4ec786d4ca8d654518d08.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c066b458eaa0b57aa1b763888a383b18.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c066b458eaa0b57aa1b763888a383b18.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c066b458eaa0b57aa1b763888a383b18.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c066b458eaa0b57aa1b763888a383b18.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c3217cd872267a6527133ec838d9ebd4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c3217cd872267a6527133ec838d9ebd4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c3217cd872267a6527133ec838d9ebd4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_c3217cd872267a6527133ec838d9ebd4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_19c2d828018507763689e2c818da36c0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_19c2d828018507763689e2c818da36c0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_19c2d828018507763689e2c818da36c0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_19c2d828018507763689e2c818da36c0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_1b956abb0cdcd744010577807d3e825f.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_1b956abb0cdcd744010577807d3e825f.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_1b956abb0cdcd744010577807d3e825f.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_1b956abb0cdcd744010577807d3e825f.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2ac4df2b65bf853494d213cc1ed27c85.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2ac4df2b65bf853494d213cc1ed27c85.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2ac4df2b65bf853494d213cc1ed27c85.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2ac4df2b65bf853494d213cc1ed27c85.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2dcc135fa031a5f818348e69f5b58faf.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2dcc135fa031a5f818348e69f5b58faf.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2dcc135fa031a5f818348e69f5b58faf.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_2dcc135fa031a5f818348e69f5b58faf.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_37e1738fd1a919c63b0a94a83a87a494.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_37e1738fd1a919c63b0a94a83a87a494.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_37e1738fd1a919c63b0a94a83a87a494.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_37e1738fd1a919c63b0a94a83a87a494.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_4baf66795114f974c2b546aca71b2e91.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_4baf66795114f974c2b546aca71b2e91.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_4baf66795114f974c2b546aca71b2e91.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_4baf66795114f974c2b546aca71b2e91.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_5fc8c6307874026ce663aee6f92c1f33.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_5fc8c6307874026ce663aee6f92c1f33.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_5fc8c6307874026ce663aee6f92c1f33.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_5fc8c6307874026ce663aee6f92c1f33.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9da22ae4adbaab28a989fa361934a2ac.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9da22ae4adbaab28a989fa361934a2ac.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9da22ae4adbaab28a989fa361934a2ac.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9da22ae4adbaab28a989fa361934a2ac.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9feeba671f045e755197855770d43c6e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9feeba671f045e755197855770d43c6e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9feeba671f045e755197855770d43c6e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_9feeba671f045e755197855770d43c6e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_d45cf6660a34548d47c6cbf6845e5dfa.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f0d6bee33f072ff4407e5102d04c7641.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f0d6bee33f072ff4407e5102d04c7641.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f0d6bee33f072ff4407e5102d04c7641.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f0d6bee33f072ff4407e5102d04c7641.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f3db230d999f3392ac83638c480a0a3c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f3db230d999f3392ac83638c480a0a3c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f3db230d999f3392ac83638c480a0a3c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_f3db230d999f3392ac83638c480a0a3c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_1aa4209744f32241339ab1a79960ed74.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_1aa4209744f32241339ab1a79960ed74.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_1aa4209744f32241339ab1a79960ed74.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_1aa4209744f32241339ab1a79960ed74.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_31f1ef1382edd12e3518d6c2699c5e8c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_31f1ef1382edd12e3518d6c2699c5e8c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_31f1ef1382edd12e3518d6c2699c5e8c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_31f1ef1382edd12e3518d6c2699c5e8c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_35405b2c2d0d478aa6dc7f7dca997d48.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_35405b2c2d0d478aa6dc7f7dca997d48.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_35405b2c2d0d478aa6dc7f7dca997d48.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_35405b2c2d0d478aa6dc7f7dca997d48.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_3f6bcc8004da44cf4a21b42f01e17c38.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_3f6bcc8004da44cf4a21b42f01e17c38.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_3f6bcc8004da44cf4a21b42f01e17c38.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_3f6bcc8004da44cf4a21b42f01e17c38.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_461d293ac6a2ee15caa9458226a40a8b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_461d293ac6a2ee15caa9458226a40a8b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_461d293ac6a2ee15caa9458226a40a8b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_461d293ac6a2ee15caa9458226a40a8b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_5465da32916b73b72b45e9ae4116c0ba.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_5465da32916b73b72b45e9ae4116c0ba.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_5465da32916b73b72b45e9ae4116c0ba.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_5465da32916b73b72b45e9ae4116c0ba.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_93f831bc1aa2a4dca97eb3341d142f03.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_93f831bc1aa2a4dca97eb3341d142f03.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_93f831bc1aa2a4dca97eb3341d142f03.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_93f831bc1aa2a4dca97eb3341d142f03.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_9bf84f558cde687bad42c17ed1602d4a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_9bf84f558cde687bad42c17ed1602d4a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_9bf84f558cde687bad42c17ed1602d4a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_9bf84f558cde687bad42c17ed1602d4a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_a1ee28707e23f14670a1e3f559a85abd.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_a1ee28707e23f14670a1e3f559a85abd.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_a1ee28707e23f14670a1e3f559a85abd.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_a1ee28707e23f14670a1e3f559a85abd.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_b9eab752aaf4ec786d4ca8d654518d08.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_b9eab752aaf4ec786d4ca8d654518d08.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_b9eab752aaf4ec786d4ca8d654518d08.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_b9eab752aaf4ec786d4ca8d654518d08.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c066b458eaa0b57aa1b763888a383b18.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c066b458eaa0b57aa1b763888a383b18.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c066b458eaa0b57aa1b763888a383b18.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c066b458eaa0b57aa1b763888a383b18.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c3217cd872267a6527133ec838d9ebd4.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c3217cd872267a6527133ec838d9ebd4.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c3217cd872267a6527133ec838d9ebd4.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_c3217cd872267a6527133ec838d9ebd4.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_spd_downsample_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_019d887b8cac960872393714416c57f6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_019d887b8cac960872393714416c57f6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_019d887b8cac960872393714416c57f6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_019d887b8cac960872393714416c57f6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_58c54af7805d9269215e127be986d130.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_58c54af7805d9269215e127be986d130.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_58c54af7805d9269215e127be986d130.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_58c54af7805d9269215e127be986d130.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_19f4ac8525a041d8bb6ddae74c2ec2a7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_19f4ac8525a041d8bb6ddae74c2ec2a7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_19f4ac8525a041d8bb6ddae74c2ec2a7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_19f4ac8525a041d8bb6ddae74c2ec2a7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_5187947b42daae4032cc982efaac301e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_5187947b42daae4032cc982efaac301e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_5187947b42daae4032cc982efaac301e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_5187947b42daae4032cc982efaac301e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_019d887b8cac960872393714416c57f6.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_019d887b8cac960872393714416c57f6.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_019d887b8cac960872393714416c57f6.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_019d887b8cac960872393714416c57f6.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_58c54af7805d9269215e127be986d130.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_58c54af7805d9269215e127be986d130.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_58c54af7805d9269215e127be986d130.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_58c54af7805d9269215e127be986d130.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_19f4ac8525a041d8bb6ddae74c2ec2a7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_19f4ac8525a041d8bb6ddae74c2ec2a7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_19f4ac8525a041d8bb6ddae74c2ec2a7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_19f4ac8525a041d8bb6ddae74c2ec2a7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_5187947b42daae4032cc982efaac301e.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_5187947b42daae4032cc982efaac301e.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_5187947b42daae4032cc982efaac301e.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_5187947b42daae4032cc982efaac301e.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_classify_tiles_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_17f6c30839c607ccf7fbba4f13b7af81.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_17f6c30839c607ccf7fbba4f13b7af81.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_17f6c30839c607ccf7fbba4f13b7af81.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_17f6c30839c607ccf7fbba4f13b7af81.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_5d87a86f251ab54826571c3f962735ee.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_5d87a86f251ab54826571c3f962735ee.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_5d87a86f251ab54826571c3f962735ee.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_5d87a86f251ab54826571c3f962735ee.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_965116e121ba3d276b783d5d6cf252b7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_965116e121ba3d276b783d5d6cf252b7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_965116e121ba3d276b783d5d6cf252b7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_965116e121ba3d276b783d5d6cf252b7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_f30b9c59e61e1bd58e7a543c31d0fc2c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_f30b9c59e61e1bd58e7a543c31d0fc2c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_f30b9c59e61e1bd58e7a543c31d0fc2c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_f30b9c59e61e1bd58e7a543c31d0fc2c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_17f6c30839c607ccf7fbba4f13b7af81.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_17f6c30839c607ccf7fbba4f13b7af81.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_17f6c30839c607ccf7fbba4f13b7af81.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_17f6c30839c607ccf7fbba4f13b7af81.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_5d87a86f251ab54826571c3f962735ee.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_5d87a86f251ab54826571c3f962735ee.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_5d87a86f251ab54826571c3f962735ee.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_5d87a86f251ab54826571c3f962735ee.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_965116e121ba3d276b783d5d6cf252b7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_965116e121ba3d276b783d5d6cf252b7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_965116e121ba3d276b783d5d6cf252b7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_965116e121ba3d276b783d5d6cf252b7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_f30b9c59e61e1bd58e7a543c31d0fc2c.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_f30b9c59e61e1bd58e7a543c31d0fc2c.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_f30b9c59e61e1bd58e7a543c31d0fc2c.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_f30b9c59e61e1bd58e7a543c31d0fc2c.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_depth_downsample_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_aaa350f9560609843dd14fdd799137e2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_aaa350f9560609843dd14fdd799137e2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_aaa350f9560609843dd14fdd799137e2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_aaa350f9560609843dd14fdd799137e2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_f901ae5e902c4490d7ecbd18951dc674.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_f901ae5e902c4490d7ecbd18951dc674.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_f901ae5e902c4490d7ecbd18951dc674.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_f901ae5e902c4490d7ecbd18951dc674.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_3dd8815b40bd48cdaeecb8b8e7c5032b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_3dd8815b40bd48cdaeecb8b8e7c5032b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_3dd8815b40bd48cdaeecb8b8e7c5032b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_3dd8815b40bd48cdaeecb8b8e7c5032b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_ca9fdb447b9505fc97fa39a7d37d237a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_ca9fdb447b9505fc97fa39a7d37d237a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_ca9fdb447b9505fc97fa39a7d37d237a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_ca9fdb447b9505fc97fa39a7d37d237a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_aaa350f9560609843dd14fdd799137e2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_aaa350f9560609843dd14fdd799137e2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_aaa350f9560609843dd14fdd799137e2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_aaa350f9560609843dd14fdd799137e2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_f901ae5e902c4490d7ecbd18951dc674.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_f901ae5e902c4490d7ecbd18951dc674.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_f901ae5e902c4490d7ecbd18951dc674.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_f901ae5e902c4490d7ecbd18951dc674.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_3dd8815b40bd48cdaeecb8b8e7c5032b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_3dd8815b40bd48cdaeecb8b8e7c5032b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_3dd8815b40bd48cdaeecb8b8e7c5032b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_3dd8815b40bd48cdaeecb8b8e7c5032b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_ca9fdb447b9505fc97fa39a7d37d237a.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_ca9fdb447b9505fc97fa39a7d37d237a.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_ca9fdb447b9505fc97fa39a7d37d237a.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_ca9fdb447b9505fc97fa39a7d37d237a.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_intersect_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_3d88a49205af4d76a808a3161ed4d556.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_3d88a49205af4d76a808a3161ed4d556.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_3d88a49205af4d76a808a3161ed4d556.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_3d88a49205af4d76a808a3161ed4d556.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_7480e3891a5c50fcd07e9a49c3659772.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_7480e3891a5c50fcd07e9a49c3659772.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_7480e3891a5c50fcd07e9a49c3659772.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_7480e3891a5c50fcd07e9a49c3659772.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_3d88a49205af4d76a808a3161ed4d556.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_3d88a49205af4d76a808a3161ed4d556.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_3d88a49205af4d76a808a3161ed4d556.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_3d88a49205af4d76a808a3161ed4d556.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_7480e3891a5c50fcd07e9a49c3659772.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_7480e3891a5c50fcd07e9a49c3659772.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_7480e3891a5c50fcd07e9a49c3659772.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_7480e3891a5c50fcd07e9a49c3659772.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_blue_noise_texture_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_ffee5de94bf8ff0dcd208b3456513238.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_ffee5de94bf8ff0dcd208b3456513238.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_ffee5de94bf8ff0dcd208b3456513238.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_ffee5de94bf8ff0dcd208b3456513238.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_61ddd2dc95b1b449b812ff8a24a84bd2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_61ddd2dc95b1b449b812ff8a24a84bd2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_61ddd2dc95b1b449b812ff8a24a84bd2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_61ddd2dc95b1b449b812ff8a24a84bd2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_ffee5de94bf8ff0dcd208b3456513238.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_ffee5de94bf8ff0dcd208b3456513238.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_ffee5de94bf8ff0dcd208b3456513238.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_ffee5de94bf8ff0dcd208b3456513238.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_61ddd2dc95b1b449b812ff8a24a84bd2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_61ddd2dc95b1b449b812ff8a24a84bd2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_61ddd2dc95b1b449b812ff8a24a84bd2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_61ddd2dc95b1b449b812ff8a24a84bd2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_sssr_prepare_indirect_args_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_00e83ff17bc5ee9978142fae818fb34d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_00e83ff17bc5ee9978142fae818fb34d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_00e83ff17bc5ee9978142fae818fb34d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_00e83ff17bc5ee9978142fae818fb34d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_23b977d8f9494272b013c1671ca67732.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_23b977d8f9494272b013c1671ca67732.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_23b977d8f9494272b013c1671ca67732.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_23b977d8f9494272b013c1671ca67732.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_38cca9868e82ecebb35738daa199c47b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_38cca9868e82ecebb35738daa199c47b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_38cca9868e82ecebb35738daa199c47b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_38cca9868e82ecebb35738daa199c47b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_60fa56db56241b778b24073aa9e101a2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_60fa56db56241b778b24073aa9e101a2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_60fa56db56241b778b24073aa9e101a2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_60fa56db56241b778b24073aa9e101a2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_a1699f9433892f534833d057df1816e9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_a1699f9433892f534833d057df1816e9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_a1699f9433892f534833d057df1816e9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_a1699f9433892f534833d057df1816e9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_1afbfca2cd353be6c31fa807a62208a0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_1afbfca2cd353be6c31fa807a62208a0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_1afbfca2cd353be6c31fa807a62208a0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_1afbfca2cd353be6c31fa807a62208a0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_56a03f6f9e1f5396a5767d6ddebe380d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_56a03f6f9e1f5396a5767d6ddebe380d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_56a03f6f9e1f5396a5767d6ddebe380d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_56a03f6f9e1f5396a5767d6ddebe380d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_8e4ce92280acd3dfc4f1de311eb0580b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_8e4ce92280acd3dfc4f1de311eb0580b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_8e4ce92280acd3dfc4f1de311eb0580b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_8e4ce92280acd3dfc4f1de311eb0580b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ac8addbfa47504857f9e74fce56fe4b7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ac8addbfa47504857f9e74fce56fe4b7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ac8addbfa47504857f9e74fce56fe4b7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ac8addbfa47504857f9e74fce56fe4b7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ef2a39bb8013901e48ad2c3d955c10b9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ef2a39bb8013901e48ad2c3d955c10b9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ef2a39bb8013901e48ad2c3d955c10b9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_ef2a39bb8013901e48ad2c3d955c10b9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_00e83ff17bc5ee9978142fae818fb34d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_00e83ff17bc5ee9978142fae818fb34d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_00e83ff17bc5ee9978142fae818fb34d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_00e83ff17bc5ee9978142fae818fb34d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_044d6befeb5bd9e7f5901f7eb99a5fba.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_23b977d8f9494272b013c1671ca67732.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_23b977d8f9494272b013c1671ca67732.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_23b977d8f9494272b013c1671ca67732.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_23b977d8f9494272b013c1671ca67732.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_38cca9868e82ecebb35738daa199c47b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_38cca9868e82ecebb35738daa199c47b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_38cca9868e82ecebb35738daa199c47b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_38cca9868e82ecebb35738daa199c47b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_60fa56db56241b778b24073aa9e101a2.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_60fa56db56241b778b24073aa9e101a2.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_60fa56db56241b778b24073aa9e101a2.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_60fa56db56241b778b24073aa9e101a2.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_7086ba07b426b76a5ee8a1b5f5d71bd9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_a1699f9433892f534833d057df1816e9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_a1699f9433892f534833d057df1816e9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_a1699f9433892f534833d057df1816e9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_a1699f9433892f534833d057df1816e9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_16bit_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_1afbfca2cd353be6c31fa807a62208a0.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_1afbfca2cd353be6c31fa807a62208a0.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_1afbfca2cd353be6c31fa807a62208a0.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_1afbfca2cd353be6c31fa807a62208a0.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_56a03f6f9e1f5396a5767d6ddebe380d.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_56a03f6f9e1f5396a5767d6ddebe380d.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_56a03f6f9e1f5396a5767d6ddebe380d.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_56a03f6f9e1f5396a5767d6ddebe380d.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_8e4ce92280acd3dfc4f1de311eb0580b.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_8e4ce92280acd3dfc4f1de311eb0580b.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_8e4ce92280acd3dfc4f1de311eb0580b.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_8e4ce92280acd3dfc4f1de311eb0580b.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ac8addbfa47504857f9e74fce56fe4b7.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ac8addbfa47504857f9e74fce56fe4b7.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ac8addbfa47504857f9e74fce56fe4b7.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ac8addbfa47504857f9e74fce56fe4b7.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ef2a39bb8013901e48ad2c3d955c10b9.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ef2a39bb8013901e48ad2c3d955c10b9.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ef2a39bb8013901e48ad2c3d955c10b9.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_ef2a39bb8013901e48ad2c3d955c10b9.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_permutations.h b/Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_permutations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_permutations.h rename to Dependencies/fidelityfx/FidelityFX/sdk/permutations/ffx_vrs_imagegen_pass_wave64_permutations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_blur_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cacao_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_cas_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_classifier_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_denoiser_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_dof_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr1_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_fsr2_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lens_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_lpm_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_parallelsort_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_spd_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_sssr_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/blob_accessors/ffx_vrs_shaderblobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/shared/ffx_shader_blobs.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersBLUR.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersBLUR.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersBLUR.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersBLUR.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersCACAO.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersCACAO.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersCACAO.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersCACAO.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersCAS.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersCAS.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersCAS.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersCAS.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersClassifier.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersClassifier.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersClassifier.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersClassifier.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersDOF.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersDOF.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersDOF.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersDOF.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersDenoiser.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersDenoiser.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersDenoiser.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersDenoiser.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR1.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR1.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR1.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR1.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR2.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR2.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR2.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersFSR2.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersLENS.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersLENS.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersLENS.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersLENS.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersLPM.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersLPM.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersLPM.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersLPM.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersParallelSort.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersParallelSort.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersParallelSort.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersParallelSort.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersSPD.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersSPD.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersSPD.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersSPD.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersSSSR.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersSSSR.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersSSSR.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersSSSR.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersVRS.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersVRS.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/CMakeShadersVRS.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/CMakeShadersVRS.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/ffx_vk.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/ffx_vk.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/ffx_vk.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/ffx_vk.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/blur/ffx_blur_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/blur/ffx_blur_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/blur/ffx_blur_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/blur/ffx_blur_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_half_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_half_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_half_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_half_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_non_smart_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_apply_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_clear_load_counter_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_clear_load_counter_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_clear_load_counter_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_clear_load_counter_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_1_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_1_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_1_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_1_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_2_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_2_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_2_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_2_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_3_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_3_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_3_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_3_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_4_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_4_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_4_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_4_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_5_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_5_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_5_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_5_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_6_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_6_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_6_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_6_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_7_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_7_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_7_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_7_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_8_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_8_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_8_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_edge_sensitive_blur_8_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_a_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_a_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_a_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_a_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_b_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_b_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_b_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_b_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_importance_map_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q0_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q0_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q0_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q0_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q1_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q1_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q1_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q1_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q2_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q2_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q2_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q2_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_base_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_base_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_base_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_base_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_generate_q3_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_and_mips_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_and_mips_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_and_mips_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_and_mips_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_half_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_half_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_half_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_half_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_depths_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_from_input_normals_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_downsampled_normals_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_and_mips_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_and_mips_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_and_mips_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_and_mips_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_half_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_half_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_half_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_half_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_depths_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_from_input_normals_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_from_input_normals_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_from_input_normals_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_from_input_normals_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_prepare_native_normals_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_upscale_bilateral_5x5_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_upscale_bilateral_5x5_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_upscale_bilateral_5x5_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cacao/ffx_cacao_upscale_bilateral_5x5_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cas/ffx_cas_sharpen_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cas/ffx_cas_sharpen_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/cas/ffx_cas_sharpen_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/cas/ffx_cas_sharpen_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_reflections_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_reflections_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_reflections_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_reflections_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_shadows_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_shadows_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_shadows_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/classifier/ffx_classifier_shadows_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_0_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_0_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_0_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_0_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_1_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_1_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_1_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_1_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_2_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_2_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_2_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_filter_soft_shadows_2_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prefilter_reflections_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prefilter_reflections_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prefilter_reflections_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prefilter_reflections_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prepare_shadow_mask_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prepare_shadow_mask_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prepare_shadow_mask_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_prepare_shadow_mask_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_reproject_reflections_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_reproject_reflections_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_reproject_reflections_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_reproject_reflections_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_resolve_temporal_reflections_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_resolve_temporal_reflections_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_resolve_temporal_reflections_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_resolve_temporal_reflections_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_shadows_tile_classification_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_shadows_tile_classification_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_shadows_tile_classification_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/denoiser/ffx_denoiser_shadows_tile_classification_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_blur_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_blur_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_blur_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_blur_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_composite_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_composite_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_composite_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_composite_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_dilate_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_dilate_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_dilate_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_dilate_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_color_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_color_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_color_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_color_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_depth_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_depth_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_depth_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/dof/ffx_dof_downsample_depth_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_easu_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_easu_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_easu_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_easu_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_rcas_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_rcas_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_rcas_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr1/ffx_fsr1_rcas_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_accumulate_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_accumulate_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_accumulate_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_accumulate_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_autogen_reactive_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_autogen_reactive_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_autogen_reactive_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_autogen_reactive_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_compute_luminance_pyramid_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_compute_luminance_pyramid_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_compute_luminance_pyramid_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_compute_luminance_pyramid_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_depth_clip_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_depth_clip_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_depth_clip_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_depth_clip_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_lock_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_lock_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_lock_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_lock_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_rcas_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_rcas_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_rcas_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_rcas_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_reconstruct_previous_depth_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_reconstruct_previous_depth_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_reconstruct_previous_depth_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_reconstruct_previous_depth_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_tcr_autogen_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_tcr_autogen_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_tcr_autogen_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/fsr2/ffx_fsr2_tcr_autogen_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/lens/ffx_lens_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/lens/ffx_lens_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/lens/ffx_lens_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/lens/ffx_lens_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/lpm/ffx_lpm_filter_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/lpm/ffx_lpm_filter_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/lpm/ffx_lpm_filter_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/lpm/ffx_lpm_filter_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_reduce_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_reduce_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_reduce_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_reduce_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_add_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_add_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_add_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_add_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scan_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scatter_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scatter_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scatter_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_scatter_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_setup_indirect_args_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_setup_indirect_args_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_setup_indirect_args_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_setup_indirect_args_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_sum_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_sum_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_sum_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/parallelsort/ffx_parallelsort_sum_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/spd/ffx_spd_downsample_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/spd/ffx_spd_downsample_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/spd/ffx_spd_downsample_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/spd/ffx_spd_downsample_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_classify_tiles_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_classify_tiles_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_classify_tiles_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_classify_tiles_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_depth_downsample_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_depth_downsample_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_depth_downsample_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_depth_downsample_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_intersect_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_intersect_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_intersect_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_intersect_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_blue_noise_texture_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_blue_noise_texture_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_blue_noise_texture_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_blue_noise_texture_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_indirect_args_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_indirect_args_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_indirect_args_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/sssr/ffx_sssr_prepare_indirect_args_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/vrs/ffx_vrs_imagegen_pass.glsl b/Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/vrs/ffx_vrs_imagegen_pass.glsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/backends/vk/shaders/vrs/ffx_vrs_imagegen_pass.glsl rename to Dependencies/fidelityfx/FidelityFX/sdk/src/backends/vk/shaders/vrs/ffx_vrs_imagegen_pass.glsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/blur/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/blur/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/blur/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/blur/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/blur/ffx_blur.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/blur/ffx_blur.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/blur/ffx_blur.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/blur/ffx_blur.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/blur/ffx_blur_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/blur/ffx_blur_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/blur/ffx_blur_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/blur/ffx_blur_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cacao/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/cacao/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cacao/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/cacao/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cacao/ffx_cacao.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/cacao/ffx_cacao.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cacao/ffx_cacao.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/cacao/ffx_cacao.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cacao/ffx_cacao_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/cacao/ffx_cacao_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cacao/ffx_cacao_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/cacao/ffx_cacao_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cas/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/cas/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cas/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/cas/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cas/ffx_cas.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/cas/ffx_cas.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cas/ffx_cas.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/cas/ffx_cas.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cas/ffx_cas_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/cas/ffx_cas_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/cas/ffx_cas_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/cas/ffx_cas_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/classifier/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/classifier/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/classifier/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/classifier/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/classifier/ffx_classifier.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/classifier/ffx_classifier.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/classifier/ffx_classifier.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/classifier/ffx_classifier.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/classifier/ffx_classifier_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/classifier/ffx_classifier_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/classifier/ffx_classifier_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/classifier/ffx_classifier_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/denoiser/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/denoiser/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/denoiser/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/denoiser/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/denoiser/ffx_denoiser.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/denoiser/ffx_denoiser.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/denoiser/ffx_denoiser.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/denoiser/ffx_denoiser.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/denoiser/ffx_denoiser_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/denoiser/ffx_denoiser_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/denoiser/ffx_denoiser_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/denoiser/ffx_denoiser_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/dof/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/dof/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/dof/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/dof/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/dof/ffx_dof.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/dof/ffx_dof.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/dof/ffx_dof.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/dof/ffx_dof.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/dof/ffx_dof_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/dof/ffx_dof_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/dof/ffx_dof_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/dof/ffx_dof_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr1/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr1/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr1/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr1/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr1/ffx_fsr1.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr1/ffx_fsr1.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr1/ffx_fsr1.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr1/ffx_fsr1.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr1/ffx_fsr1_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr1/ffx_fsr1_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr1/ffx_fsr1_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr1/ffx_fsr1_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/ffx_fsr2.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/ffx_fsr2.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/ffx_fsr2.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/ffx_fsr2.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_maximum_bias.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_maximum_bias.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_maximum_bias.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_maximum_bias.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/fsr2/ffx_fsr2_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lens/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/lens/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lens/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/lens/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lens/ffx_lens.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/lens/ffx_lens.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lens/ffx_lens.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/lens/ffx_lens.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lens/ffx_lens_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/lens/ffx_lens_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lens/ffx_lens_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/lens/ffx_lens_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lpm/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/lpm/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lpm/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/lpm/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lpm/ffx_lpm.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/lpm/ffx_lpm.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lpm/ffx_lpm.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/lpm/ffx_lpm.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lpm/ffx_lpm_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/lpm/ffx_lpm_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/lpm/ffx_lpm_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/lpm/ffx_lpm_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/parallelsort/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/parallelsort/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/parallelsort/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/parallelsort/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/parallelsort/ffx_parallelsort_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/spd/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/spd/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/spd/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/spd/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/spd/ffx_spd.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/spd/ffx_spd.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/spd/ffx_spd.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/spd/ffx_spd.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/spd/ffx_spd_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/spd/ffx_spd_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/spd/ffx_spd_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/spd/ffx_spd_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/ffx_sssr.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/ffx_sssr.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/ffx_sssr.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/ffx_sssr.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/ffx_sssr_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/ffx_sssr_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/ffx_sssr_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/ffx_sssr_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_128spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_128spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_128spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_128spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_16spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_16spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_16spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_16spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_1spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_1spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_1spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_1spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_256spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_256spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_256spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_256spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_2spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_2spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_2spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_2spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_32spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_32spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_32spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_32spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_4spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_4spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_4spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_4spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_64spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_64spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_64spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_64spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_8spp.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_8spp.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_8spp.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/sssr/samplerBlueNoiseErrorDistribution_128x128_OptimizedFor_2d2d2d2d_8spp.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/vrs/CMakeLists.txt b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/vrs/CMakeLists.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/vrs/CMakeLists.txt rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/vrs/CMakeLists.txt diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/vrs/ffx_vrs.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/vrs/ffx_vrs.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/vrs/ffx_vrs.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/vrs/ffx_vrs.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/vrs/ffx_vrs_private.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/components/vrs/ffx_vrs_private.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/components/vrs/ffx_vrs_private.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/components/vrs/ffx_vrs_private.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/shared/ffx_assert.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/shared/ffx_assert.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/shared/ffx_assert.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/shared/ffx_assert.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/shared/ffx_object_management.cpp b/Dependencies/fidelityfx/FidelityFX/sdk/src/shared/ffx_object_management.cpp similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/shared/ffx_object_management.cpp rename to Dependencies/fidelityfx/FidelityFX/sdk/src/shared/ffx_object_management.cpp diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/shared/ffx_object_management.h b/Dependencies/fidelityfx/FidelityFX/sdk/src/shared/ffx_object_management.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/sdk/src/shared/ffx_object_management.h rename to Dependencies/fidelityfx/FidelityFX/sdk/src/shared/ffx_object_management.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/Common.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/Common.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/Common.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/Common.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/Declarations.h b/Dependencies/fidelityfx/FidelityFX/shaders/Declarations.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/Declarations.h rename to Dependencies/fidelityfx/FidelityFX/shaders/Declarations.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/Intersect.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/Intersect.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/Intersect.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/Intersect.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/VrsOverlay.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/VrsOverlay.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/VrsOverlay.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/VrsOverlay.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/apply_reflections.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/apply_reflections.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/apply_reflections.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/apply_reflections.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/blur_baseline_filters_cs.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/blur_baseline_filters_cs.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/blur_baseline_filters_cs.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/blur_baseline_filters_cs.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/blur_compare_filters_cs.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/blur_compare_filters_cs.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/blur_compare_filters_cs.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/blur_compare_filters_cs.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/blur_gaussian_blur_kernels.h b/Dependencies/fidelityfx/FidelityFX/shaders/blur_gaussian_blur_kernels.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/blur_gaussian_blur_kernels.h rename to Dependencies/fidelityfx/FidelityFX/shaders/blur_gaussian_blur_kernels.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/common_types.h b/Dependencies/fidelityfx/FidelityFX/shaders/common_types.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/common_types.h rename to Dependencies/fidelityfx/FidelityFX/shaders/common_types.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/commonintersect.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/commonintersect.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/commonintersect.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/commonintersect.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/copy_depth_and_reset_buffers.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/copy_depth_and_reset_buffers.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/copy_depth_and_reset_buffers.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/copy_depth_and_reset_buffers.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/copydebugraytracing.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/copydebugraytracing.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/copydebugraytracing.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/copydebugraytracing.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/copydepth.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/copydepth.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/copydepth.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/copydepth.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/copytexture.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/copytexture.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/copytexture.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/copytexture.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/debugtiles.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/debugtiles.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/debugtiles.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/debugtiles.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/display_ssao.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/display_ssao.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/display_ssao.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/display_ssao.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_reduce_pass.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_reduce_pass.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_reduce_pass.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_reduce_pass.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_scan_add_pass.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_scan_add_pass.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_scan_add_pass.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_scan_add_pass.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_scan_pass.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_scan_pass.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_scan_pass.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_scan_pass.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_scatter_pass.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_scatter_pass.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_scatter_pass.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_scatter_pass.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_setup_indirect_args_pass.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_setup_indirect_args_pass.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_setup_indirect_args_pass.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_setup_indirect_args_pass.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_sum_pass.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_sum_pass.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_parallelsort_sum_pass.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_parallelsort_sum_pass.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_sssr_intersect.h b/Dependencies/fidelityfx/FidelityFX/shaders/ffx_sssr_intersect.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ffx_sssr_intersect.h rename to Dependencies/fidelityfx/FidelityFX/shaders/ffx_sssr_intersect.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/fpslimiter.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/fpslimiter.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/fpslimiter.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/fpslimiter.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/fullscreen.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/fullscreen.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/fullscreen.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/fullscreen.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/gbufferps.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/gbufferps.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/gbufferps.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/gbufferps.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/lightfunctionscommon.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/lightfunctionscommon.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/lightfunctionscommon.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/lightfunctionscommon.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/lighting.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/lighting.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/lighting.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/lighting.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/lightingcommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/lightingcommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/lightingcommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/lightingcommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/motionvectorsps.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/motionvectorsps.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/motionvectorsps.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/motionvectorsps.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_common_types.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_common_types.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_common_types.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_common_types.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_cpu.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_cpu.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_cpu.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_cpu.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_glsl.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_glsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_glsl.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_glsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_gpu_common.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_gpu_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_gpu_common.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_gpu_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_gpu_common_half.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_gpu_common_half.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_gpu_common_half.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_gpu_common_half.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_hlsl.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_portability.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_portability.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_core_portability.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_core_portability.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_callbacks_hlsl.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_callbacks_hlsl.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_callbacks_hlsl.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_callbacks_hlsl.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_common.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_common.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_reduce.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_reduce.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_reduce.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_reduce.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_resources.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_resources.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_resources.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_resources.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan_add.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan_add.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan_add.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_scan_add.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_scatter.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_scatter.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_scatter.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_scatter.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_setup_indirect_args.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_setup_indirect_args.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_setup_indirect_args.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_setup_indirect_args.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_sum.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_sum.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/ffx_parallelsort_sum.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/ffx_parallelsort_sum.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/parallelsort/ffx_parallelsort.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/parallelsort/ffx_parallelsort.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/parallelsort/ffx_parallelsort.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/parallelsort/ffx_parallelsort.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/parallelsortcommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/parallelsortcommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort/parallelsortcommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort/parallelsortcommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort_common.h b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort_common.h rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort_cs.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort_cs.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort_cs.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort_cs.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort_verify.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsort_verify.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsort_verify.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsort_verify.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsortsetupindirectargs.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/parallelsortsetupindirectargs.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/parallelsortsetupindirectargs.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/parallelsortsetupindirectargs.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlecommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/particlecommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlecommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/particlecommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/particleemit.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/particleemit.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/particleemit.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/particleemit.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlerender.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/particlerender.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlerender.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/particlerender.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlerendercommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/particlerendercommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlerendercommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/particlerendercommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlesimulation.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/particlesimulation.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlesimulation.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/particlesimulation.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlesimulationcommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/particlesimulationcommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/particlesimulationcommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/particlesimulationcommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/prepare_blue_noise.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/prepare_blue_noise.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/prepare_blue_noise.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/prepare_blue_noise.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/prepare_indirect_args_hw.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/prepare_indirect_args_hw.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/prepare_indirect_args_hw.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/prepare_indirect_args_hw.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/prepare_indirect_args_hybrid.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/prepare_indirect_args_hybrid.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/prepare_indirect_args_hybrid.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/prepare_indirect_args_hybrid.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/primary_ray_tracing.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/primary_ray_tracing.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/primary_ray_tracing.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/primary_ray_tracing.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/rasterlightfunctions.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/rasterlightfunctions.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/rasterlightfunctions.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/rasterlightfunctions.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/rastershadowps.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/rastershadowps.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/rastershadowps.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/rastershadowps.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/raytracingcommon.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/raytracingcommon.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/raytracingcommon.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/raytracingcommon.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/raytracinglightfunctions.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/raytracinglightfunctions.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/raytracinglightfunctions.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/raytracinglightfunctions.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/resolveraytracing.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/resolveraytracing.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/resolveraytracing.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/resolveraytracing.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/sample_ggx_vndf.h b/Dependencies/fidelityfx/FidelityFX/shaders/sample_ggx_vndf.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/sample_ggx_vndf.h rename to Dependencies/fidelityfx/FidelityFX/shaders/sample_ggx_vndf.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/shadercommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/shadercommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/shadercommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/shadercommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/shadowFiltering.h b/Dependencies/fidelityfx/FidelityFX/shaders/shadowFiltering.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/shadowFiltering.h rename to Dependencies/fidelityfx/FidelityFX/shaders/shadowFiltering.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/simulationbindings.h b/Dependencies/fidelityfx/FidelityFX/shaders/simulationbindings.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/simulationbindings.h rename to Dependencies/fidelityfx/FidelityFX/shaders/simulationbindings.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/skydome.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/skydome.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/skydome.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/skydome.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/skydomecommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/skydomecommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/skydomecommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/skydomecommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/skydomeproc.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/skydomeproc.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/skydomeproc.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/skydomeproc.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_common.h b/Dependencies/fidelityfx/FidelityFX/shaders/spd_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_common.h rename to Dependencies/fidelityfx/FidelityFX/shaders/spd_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_cs_downsampler.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/spd_cs_downsampler.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_cs_downsampler.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/spd_cs_downsampler.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_ps_downsampler.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/spd_ps_downsampler.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_ps_downsampler.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/spd_ps_downsampler.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_verify_results.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/spd_verify_results.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/spd_verify_results.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/spd_verify_results.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/sssr_apply_reflections.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/sssr_apply_reflections.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/sssr_apply_reflections.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/sssr_apply_reflections.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/sssr_apply_reflections_common.h b/Dependencies/fidelityfx/FidelityFX/shaders/sssr_apply_reflections_common.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/sssr_apply_reflections_common.h rename to Dependencies/fidelityfx/FidelityFX/shaders/sssr_apply_reflections_common.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/surfacerendercommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/surfacerendercommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/surfacerendercommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/surfacerendercommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/taa.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/taa.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/taa.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/taa.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/taaPost.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/taaPost.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/taaPost.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/taaPost.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/taacommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/taacommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/taacommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/taacommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/tonemappercommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/tonemappercommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/tonemappercommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/tonemappercommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/tonemappers.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/tonemappers.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/tonemappers.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/tonemappers.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/tonemapping.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/tonemapping.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/tonemapping.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/tonemapping.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/traceshadows.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/traceshadows.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/traceshadows.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/traceshadows.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/transferFunction.h b/Dependencies/fidelityfx/FidelityFX/shaders/transferFunction.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/transferFunction.h rename to Dependencies/fidelityfx/FidelityFX/shaders/transferFunction.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/transformVS.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/transformVS.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/transformVS.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/transformVS.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/translucencyps.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/translucencyps.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/translucencyps.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/translucencyps.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/ui.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/ui.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/ui.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/ui.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/uicommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/uicommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/uicommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/uicommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/upscalecommon.h b/Dependencies/fidelityfx/FidelityFX/shaders/upscalecommon.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/upscalecommon.h rename to Dependencies/fidelityfx/FidelityFX/shaders/upscalecommon.h diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/upscalecs.hlsl b/Dependencies/fidelityfx/FidelityFX/shaders/upscalecs.hlsl similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/upscalecs.hlsl rename to Dependencies/fidelityfx/FidelityFX/shaders/upscalecs.hlsl diff --git a/Dependencies/FidelityFX-SDK/FidelityFX/shaders/upscaler.h b/Dependencies/fidelityfx/FidelityFX/shaders/upscaler.h similarity index 100% rename from Dependencies/FidelityFX-SDK/FidelityFX/shaders/upscaler.h rename to Dependencies/fidelityfx/FidelityFX/shaders/upscaler.h diff --git a/Dependencies/FidelityFX-SDK/VERSION.txt b/Dependencies/fidelityfx/VERSION.txt similarity index 100% rename from Dependencies/FidelityFX-SDK/VERSION.txt rename to Dependencies/fidelityfx/VERSION.txt diff --git a/Dependencies/fidelityfx/fidelityfx.lua b/Dependencies/fidelityfx/fidelityfx.lua new file mode 100644 index 00000000..2e097242 --- /dev/null +++ b/Dependencies/fidelityfx/fidelityfx.lua @@ -0,0 +1,37 @@ +local dep = Solution.Util.CreateDepTable("FidelityFX", { "vulkan" }) + +Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS", "FFX_CACAO" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local basePath = dep.Path .. "/" .. dep.Name + local sourceDir = basePath .. "/sdk/src" + local includeDirs = + { + basePath .. "/sdk/include", + basePath .. "/sdk/permutations", + basePath .. "/sdk/src/components", + basePath .. "/sdk/src/backends/shared", + basePath .. "/sdk/src/shared", + } + + local files = + { + sourceDir .. "/**.cpp", + sourceDir .. "/**.h", + basePath .. "/sdk/include/**.h" + } + + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDirs) + Solution.Util.SetDefines(defines) +end) + +Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + local basePath = dep.Path .. "/" .. dep.Name + Solution.Util.SetIncludes({ basePath .. "/sdk/include", basePath .. "/sdk/src/backends/shared" }) + Solution.Util.SetDefines("FFX_CACAO") + Solution.Util.SetLinks(dep.Name) +end) \ No newline at end of file diff --git a/Dependencies/glfw/glfw.lua b/Dependencies/glfw/glfw.lua index 595092b9..b043c275 100644 --- a/Dependencies/glfw/glfw.lua +++ b/Dependencies/glfw/glfw.lua @@ -1,44 +1,14 @@ -local function Win64Include(srcFolder) - local files = - { - -- Windows Only - srcFolder .. "/win32_platform.h", - srcFolder .. "/win32_joystick.h", - srcFolder .. "/wgl_context.h", - srcFolder .. "/egl_context.h", - srcFolder .. "/osmesa_context.h", - - srcFolder .. "/win32_init.c", - srcFolder .. "/win32_joystick.c", - srcFolder .. "/win32_monitor.c", - srcFolder .. "/win32_time.c", - srcFolder .. "/win32_thread.c", - srcFolder .. "/win32_window.c", - srcFolder .. "/wgl_context.c", - srcFolder .. "/egl_context.c", - srcFolder .. "/osmesa_context.c" - } - - AddFiles(files) - - local defines = - { - "_GLFW_WIN32", - "_CRT_SECURE_NO_WARNINGS" - } - - AddDefines(defines) -end +local dep = Solution.Util.CreateDepTable("Glfw", {}) -local function SetupLib() - local basePath = path.getabsolute("glfw/", Engine.dependencyDir) - local dependencies = { } +Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - ProjectTemplate("Glfw", "StaticLib", nil, Engine.binDir, dependencies, defines) + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local sourceDir = dep.Path .. "/src" + local includeDir = dep.Path .. "/include" - local sourceDir = path.getabsolute("src/", basePath) - local includeDir = path.getabsolute("include/", basePath) local files = { includeDir .. "/GLFW/glfw3.h", @@ -51,24 +21,44 @@ local function SetupLib() sourceDir .. "/vulkan.c", sourceDir .. "/window.c" } - AddFiles(files) - AddIncludeDirs(includeDir) - - filter "platforms:Win64" - Win64Include(sourceDir) - - filter "platforms:Linux" - AddLinks("pthread") -end -SetupLib() + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetDefines(defines) -local function Include() - local includeDir = path.getabsolute("glfw/include/", Engine.dependencyDir) - AddIncludeDirs(includeDir) + Solution.Util.SetFilter("platforms:Win64", function() + local files = + { + sourceDir .. "/win32_platform.h", + sourceDir .. "/win32_joystick.h", + sourceDir .. "/wgl_context.h", + sourceDir .. "/egl_context.h", + sourceDir .. "/osmesa_context.h", - filter "platforms:Win64" - AddDefines({ "_GLFW_WIN32", "_CRT_SECURE_NO_WARNINGS" }) + sourceDir .. "/win32_init.c", + sourceDir .. "/win32_joystick.c", + sourceDir .. "/win32_monitor.c", + sourceDir .. "/win32_time.c", + sourceDir .. "/win32_thread.c", + sourceDir .. "/win32_window.c", + sourceDir .. "/wgl_context.c", + sourceDir .. "/egl_context.c", + sourceDir .. "/osmesa_context.c" + } + + Solution.Util.SetFiles(files) + Solution.Util.SetDefines({ "_GLFW_WIN32", "_CRT_SECURE_NO_WARNINGS" }) + end) + + Solution.Util.SetFilter("platforms:Linux", function() + Solution.Util.SetLinks({ "pthread" }) + end) +end) - AddLinks("Glfw") -end -CreateDep("glfw", Include) \ No newline at end of file +Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path .. "/include") + Solution.Util.SetLinks(dep.Name) + + Solution.Util.SetFilter("platforms:Win64", function() + Solution.Util.SetDefines({ "_GLFW_WIN32", "_CRT_SECURE_NO_WARNINGS" }) + end) +end) \ No newline at end of file diff --git a/Dependencies/gli/gli.lua b/Dependencies/gli/gli.lua index d14a7132..2a86985c 100644 --- a/Dependencies/gli/gli.lua +++ b/Dependencies/gli/gli.lua @@ -1,6 +1,5 @@ -local function Include() - local includeDir = path.getabsolute("gli/", Engine.dependencyDir) - AddIncludeDirs(includeDir) -end +local dep = Solution.Util.CreateDepTable("gli", {}) -CreateDep("gli", Include) \ No newline at end of file +Solution.Util.CreateDep(dep.Name, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) +end) \ No newline at end of file diff --git a/Dependencies/glm/glm.lua b/Dependencies/glm/glm.lua index 11a376b2..ba0e5910 100644 --- a/Dependencies/glm/glm.lua +++ b/Dependencies/glm/glm.lua @@ -1,9 +1,8 @@ -local function Include() - local includeDir = path.getabsolute("glm/", Engine.dependencyDir) - AddIncludeDirs(includeDir) +local dep = Solution.Util.CreateDepTable("glm", {}) +Solution.Util.CreateDep(dep.Name, dep.Dependencies, function() local defines = { "GLM_FORCE_LEFT_HANDED", "GLM_FORCE_DEPTH_ZERO_TO_ONE" } - AddDefines(defines) -end -CreateDep("glm", Include) \ No newline at end of file + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetDefines(defines) +end) \ No newline at end of file diff --git a/Dependencies/imgui/imgui.lua b/Dependencies/imgui/imgui.lua index a132a829..ec5fb237 100644 --- a/Dependencies/imgui/imgui.lua +++ b/Dependencies/imgui/imgui.lua @@ -1,12 +1,13 @@ -local function SetupLib() - local basePath = path.getabsolute("imgui/", Engine.dependencyDir) - local dependencies = { "vulkan", "glfw", "glm" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS", "SPDLOG_COMPILED_LIB" } +local dep = Solution.Util.CreateDepTable("Imgui", { "vulkan", "glfw", "glm"}) - ProjectTemplate("Imgui", "StaticLib", nil, Engine.binDir, dependencies, defines) +Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - local sourceDir = path.getabsolute("imgui/", basePath) - local includeDir = { basePath, sourceDir } + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local sourceDir = dep.Path .. "/imgui" + local includeDirs = { dep.Path, sourceDir } local files = { sourceDir .. "/imgui.h", @@ -40,19 +41,12 @@ local function SetupLib() sourceDir .. "/imnodes.h", sourceDir .. "/imnodes.cpp" } - AddFiles(files) - - AddIncludeDirs(includeDir) -end -SetupLib() - -local dependencies = { "vulkan", "glfw", "glm" } -local function Include() - local imguiFolder = path.getabsolute("imgui/", Engine.dependencyDir) - - local includeDirs = { imguiFolder } - AddIncludeDirs(includeDirs) - - AddLinks("Imgui") -end -CreateDep("imgui", Include, dependencies) \ No newline at end of file + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDirs) + Solution.Util.SetDefines(defines) +end) + +Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetLinks(dep.Name) +end) \ No newline at end of file diff --git a/Dependencies/json/json.lua b/Dependencies/json/json.lua index d7866bae..52971d5a 100644 --- a/Dependencies/json/json.lua +++ b/Dependencies/json/json.lua @@ -1,5 +1,5 @@ -local function Include() - local includeDir = path.getabsolute("json/", Engine.dependencyDir) - AddIncludeDirs(includeDir) -end -CreateDep("json", Include) \ No newline at end of file +local dep = Solution.Util.CreateDepTable("json", {}) + +Solution.Util.CreateDep(dep.Name, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) +end) \ No newline at end of file diff --git a/Dependencies/luau/luau.lua b/Dependencies/luau/luau.lua index 5b738175..1aeee385 100644 --- a/Dependencies/luau/luau.lua +++ b/Dependencies/luau/luau.lua @@ -1,206 +1,213 @@ local warningsAsErrors = BuildSettings:Get("Luau Warnings as Errors") - -local basePath = path.getabsolute("luau/Luau", Engine.dependencyDir) +local basePath = path.getabsolute("luau/Luau", Solution.Projects.Current.DependencyDir) local Luau = { } Luau.SetupCommon = function() - local callback = function() - local includeDir = path.getabsolute("Common/include", basePath) - AddIncludeDirs(includeDir) - end - CreateDep("luau-common", callback) + local dep = Solution.Util.CreateDepTable("luau-common", {}) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(basePath .. "/Common/include") + end) end Luau.SetupAst = function() - local dependencies = { "luau-common" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-Ast", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("Ast/src", basePath) - local includeDir = path.getabsolute("Ast/include", basePath) - - local files = - { - includeDir .. "/**.h", - sourceDir .. "/**.c", - sourceDir .. "/**.cpp" - } - AddFiles(files) - AddIncludeDirs(includeDir) - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-Ast") - end - - CreateDep("luau-ast", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-Ast", { "luau-common" }) + local sourceDir = basePath .. "/Ast/src" + local includeDir = basePath .. "/Ast/include" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/**.h", + sourceDir .. "/**.c", + sourceDir .. "/**.cpp" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetDefines(defines) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end Luau.SetupCompiler = function() - local dependencies = { "luau-ast" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-Compiler", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("Compiler/src", basePath) - local includeDir = path.getabsolute("Compiler/include", basePath) - - local files = - { - includeDir .. "/**.h", - sourceDir .. "/**.c", - sourceDir .. "/**.cpp" - } - AddFiles(files) - AddIncludeDirs(includeDir) - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-Compiler") - end - - CreateDep("luau-compiler", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-Compiler", { "luau-ast" }) + local sourceDir = basePath .. "/Compiler/src" + local includeDir = basePath .. "/Compiler/include" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/**.h", + sourceDir .. "/**.c", + sourceDir .. "/**.cpp" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetDefines(defines) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end Luau.SetupConfig = function() - local dependencies = { "luau-ast" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-Config", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("Config/src", basePath) - local includeDir = path.getabsolute("Config/include", basePath) - - local files = - { - includeDir .. "/**.h", - sourceDir .. "/**.c", - sourceDir .. "/**.cpp" - } - AddFiles(files) - AddIncludeDirs(includeDir) - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-Config") - end - - CreateDep("luau-config", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-Config", { "luau-ast" }) + local sourceDir = basePath .. "/Config/src" + local includeDir = basePath .. "/Config/include" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/**.h", + sourceDir .. "/**.c", + sourceDir .. "/**.cpp" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetDefines(defines) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end Luau.SetupAnalysis = function() - local dependencies = { "luau-ast", "luau-config" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-Analysis", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("Analysis/src", basePath) - local includeDir = path.getabsolute("Analysis/include", basePath) - - local files = - { - includeDir .. "/**.h", - sourceDir .. "/**.c", - sourceDir .. "/**.cpp" - } - AddFiles(files) - AddIncludeDirs(includeDir) - - filter "platforms:Win64" - AddDefines("_CRT_SECURE_NO_WARNINGS") - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-Analysis") - end - - CreateDep("luau-analysis", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-Analysis", { "luau-ast", "luau-config" }) + local sourceDir = basePath .. "/Analysis/src" + local includeDir = basePath .. "/Analysis/include" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/**.h", + sourceDir .. "/**.c", + sourceDir .. "/**.cpp" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetDefines(defines) + + Solution.Util.SetFilter("platforms:Win64", function() + Solution.Util.SetDefines({ "_CRT_SECURE_NO_WARNINGS" }) + end) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end Luau.SetupVM = function() - local dependencies = { "luau-common" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-VM", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("VM/src", basePath) - local includeDir = path.getabsolute("VM/include", basePath) - - local files = - { - includeDir .. "/**.h", - sourceDir .. "/**.c", - sourceDir .. "/**.cpp" - } - AddFiles(files) - AddIncludeDirs(includeDir) - - filter "platforms:Win64" - AddDefines("_CRT_SECURE_NO_WARNINGS") - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-VM") - end - - CreateDep("luau-vm", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-VM", { "luau-common" }) + local sourceDir = basePath .. "/VM/src" + local includeDir = basePath .. "/VM/include" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/**.h", + sourceDir .. "/**.c", + sourceDir .. "/**.cpp" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetDefines(defines) + + Solution.Util.SetFilter("platforms:Win64", function() + Solution.Util.SetDefines({ "_CRT_SECURE_NO_WARNINGS" }) + end) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end Luau.SetupCodeGen = function() - local dependencies = { "luau-common", "luau-vm" } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-CodeGen", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("CodeGen/src", basePath) - local includeDir = path.getabsolute("CodeGen/include", basePath) - local vmSourceDir = path.getabsolute("VM/src", basePath) - - local files = - { - includeDir .. "/**.h", - sourceDir .. "/**.c", - sourceDir .. "/**.cpp" - } - AddFiles(files) - AddIncludeDirs({ includeDir, vmSourceDir }) - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-CodeGen") - end - - CreateDep("luau-codegen", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-CodeGen", { "luau-common", "luau-vm" }) + local sourceDir = basePath .. "/CodeGen/src" + local includeDir = basePath .. "/CodeGen/include" + local vmSourceDir = basePath .. "/VM/src" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/**.h", + sourceDir .. "/**.c", + sourceDir .. "/**.cpp" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes({ includeDir, vmSourceDir }) + Solution.Util.SetDefines(defines) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end Luau.SetupIsocline = function() - local dependencies = { } - local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } - - ProjectTemplate("Luau-Isocline", "StaticLib", nil, Engine.binDir, dependencies, defines) - - local sourceDir = path.getabsolute("extern/isocline/src", basePath) - local includeDir = path.getabsolute("extern/isocline/include", basePath) - - local files = - { - includeDir .. "/isocline.h", - sourceDir .. "/isocline.c", - } - AddFiles(files) - AddIncludeDirs(includeDir) - - local callback = function() - AddIncludeDirs(includeDir) - - AddLinks("Luau-Isocline") - end - - CreateDep("luau-isocline", callback, dependencies) + local dep = Solution.Util.CreateDepTable("Luau-Isocline", { "luau-common" }) + local sourceDir = basePath .. "/extern/isocline/src" + local includeDir = basePath .. "/extern/isocline/include" + + Solution.Util.CreateStaticLib(dep.Name, Solution.Projects.Current.BinDir, dep.Dependencies, function() + local defines = { "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS", "_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS" } + + Solution.Util.SetLanguage("C++") + Solution.Util.SetCppDialect(20) + + local files = + { + includeDir .. "/isocline.h", + sourceDir .. "/isocline.c" + } + Solution.Util.SetFiles(files) + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetDefines(defines) + end) + + Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(includeDir) + Solution.Util.SetLinks(dep.Name) + end) end -local luauDependencyGroup = Engine.dependencyGroup .. "/Luau" -group (luauDependencyGroup) +Solution.Util.SetGroup(Solution.DependencyGroup .. "/Luau") Luau.SetupCommon() Luau.SetupAst() Luau.SetupCompiler() @@ -209,4 +216,4 @@ Luau.SetupAnalysis() Luau.SetupVM() Luau.SetupCodeGen() Luau.SetupIsocline() -group (Engine.dependencyGroup) \ No newline at end of file +Solution.Util.SetGroup(Solution.DependencyGroup) \ No newline at end of file diff --git a/Dependencies/quill/CMakeLists.txt b/Dependencies/quill/CMakeLists.txt new file mode 100644 index 00000000..9581406c --- /dev/null +++ b/Dependencies/quill/CMakeLists.txt @@ -0,0 +1,252 @@ +if (NOT QUILL_MASTER_PROJECT) + find_package(Threads REQUIRED) +endif () + +# library name +set(TARGET_NAME quill) + +# header files +set(HEADER_FILES + include/quill/backend/BackendManager.h + include/quill/backend/BackendOptions.h + include/quill/backend/BackendWorker.h + include/quill/backend/BacktraceStorage.h + include/quill/backend/PatternFormatter.h + include/quill/backend/RdtscClock.h + include/quill/backend/SignalHandler.h + include/quill/backend/StringFromTime.h + include/quill/backend/TimestampFormatter.h + include/quill/backend/TransitEvent.h + include/quill/backend/TransitEventBuffer.h + include/quill/backend/BackendUtilities.h + + include/quill/bundled/fmt/args.h + include/quill/bundled/fmt/chrono.h + include/quill/bundled/fmt/color.h + include/quill/bundled/fmt/compile.h + include/quill/bundled/fmt/core.h + include/quill/bundled/fmt/format.h + include/quill/bundled/fmt/format-inl.h + include/quill/bundled/fmt/os.h + include/quill/bundled/fmt/ostream.h + include/quill/bundled/fmt/printf.h + include/quill/bundled/fmt/ranges.h + include/quill/bundled/fmt/std.h + include/quill/bundled/fmt/xchar.h + + include/quill/core/Attributes.h + include/quill/core/BoundedSPSCQueue.h + include/quill/core/Common.h + include/quill/core/DynamicFormatArgStore.h + include/quill/core/Codec.h + include/quill/core/Filesystem.h + include/quill/core/FormatBuffer.h + include/quill/core/FrontendOptions.h + include/quill/core/LoggerBase.h + include/quill/core/LoggerManager.h + include/quill/core/LogLevel.h + include/quill/core/MacroMetadata.h + include/quill/core/MathUtils.h + include/quill/core/QuillError.h + include/quill/core/Rdtsc.h + include/quill/core/SinkManager.h + include/quill/core/ThreadContextManager.h + include/quill/core/ThreadUtilities.h + include/quill/core/TimeUtilities.h + include/quill/core/UnboundedSPSCQueue.h + + include/quill/filters/Filter.h + + include/quill/sinks/ConsoleSink.h + include/quill/sinks/FileSink.h + include/quill/sinks/JsonConsoleSink.h + include/quill/sinks/JsonFileSink.h + include/quill/sinks/NullSink.h + include/quill/sinks/RotatingFileSink.h + include/quill/sinks/Sink.h + include/quill/sinks/StreamSink.h + + include/quill/std/Array.h + include/quill/std/Deque.h + include/quill/std/FilesystemPath.h + include/quill/std/ForwardList.h + include/quill/std/List.h + include/quill/std/Map.h + include/quill/std/Optional.h + include/quill/std/Pair.h + include/quill/std/Set.h + include/quill/std/Tuple.h + include/quill/std/UnorderedMap.h + include/quill/std/UnorderedSet.h + include/quill/std/Vector.h + + include/quill/Backend.h + include/quill/BackendTscClock.h + include/quill/Frontend.h + include/quill/Logger.h + include/quill/LogMacros.h + include/quill/UserClockSource.h + include/quill/Utility.h +) + +# Add as a library +add_library(${TARGET_NAME} INTERFACE) +add_library(${TARGET_NAME}::${TARGET_NAME} ALIAS ${TARGET_NAME}) + +if (QUILL_NO_EXCEPTIONS) + target_compile_definitions(${TARGET_NAME} PUBLIC INTERFACE -DQUILL_NO_EXCEPTIONS) + + if (NOT MSVC) + target_compile_options(${TARGET_NAME} PUBLIC INTERFACE -fno-exceptions) + endif () +endif () + +if (QUILL_NO_THREAD_NAME_SUPPORT) + target_compile_definitions(${TARGET_NAME} PUBLIC INTERFACE -DQUILL_NO_THREAD_NAME_SUPPORT) +endif () + +if (QUILL_X86ARCH) + target_compile_definitions(${TARGET_NAME} PUBLIC INTERFACE -DQUILL_X86ARCH) +endif () + +if (QUILL_DISABLE_NON_PREFIXED_MACROS) + target_compile_definitions(${TARGET_NAME} PUBLIC INTERFACE -DQUILL_DISABLE_NON_PREFIXED_MACROS) +endif () + +# Add target sources +target_sources(${TARGET_NAME} PRIVATE ${HEADER_FILES}) + +# Link dependencies +target_link_libraries(${TARGET_NAME} PUBLIC INTERFACE Threads::Threads) + +if (MINGW) + # strftime requires this when using MinGw to correctly format the time .. + target_link_libraries(${TARGET_NAME} PUBLIC INTERFACE ucrtbase) +endif () + +if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0) + target_link_libraries(${TARGET_NAME} PUBLIC INTERFACE stdc++fs) +endif () + +# Add include directories for this library +target_include_directories(${TARGET_NAME} + INTERFACE + $ + $) + +# Compiler options +target_compile_options(${TARGET_NAME} INTERFACE + $<$,$,$>:-Wno-gnu-zero-variadic-macro-arguments>) + +# Properties +set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${QUILL_VERSION} SOVERSION ${QUILL_VERSION}) + +# ---- Tests ---- # +if (QUILL_BUILD_TESTS AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/test) + add_subdirectory(test) +endif () + +if (QUILL_MASTER_PROJECT OR QUILL_ENABLE_INSTALL) + # ---- Install ---- # + include(GNUInstallDirs) + include(CMakePackageConfigHelpers) + + set(version_config ${PROJECT_BINARY_DIR}/quill-config-version.cmake) + set(project_config ${PROJECT_BINARY_DIR}/quill-config.cmake) + set(pkgconfig ${PROJECT_BINARY_DIR}/quill.pc) + set(targets_export_name quill-targets) + + set(QUILL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/quill CACHE STRING + "Installation directory for cmake files, relative to ${CMAKE_INSTALL_PREFIX}.") + + set(QUILL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE STRING + "Installation directory for libraries, relative to ${CMAKE_INSTALL_PREFIX}.") + + set(QUILL_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE STRING + "Installation directory for include files, relative to ${CMAKE_INSTALL_PREFIX}.") + + set(QUILL_PKGCONFIG_DIR ${CMAKE_INSTALL_PREFIX}/pkgconfig CACHE PATH + "Installation directory for pkgconfig (.pc) files, relative to ${CMAKE_INSTALL_PREFIX}.") + + # Generate pkgconfig + configure_file( + "${CMAKE_CURRENT_LIST_DIR}/cmake/quill.pc.in" + "${pkgconfig}" + @ONLY) + + # Copy pkgconfig + install(FILES "${pkgconfig}" DESTINATION "${QUILL_PKGCONFIG_DIR}") + + # Generate the version, config and target files into the build directory. + write_basic_package_version_file( + ${version_config} + VERSION ${QUILL_VERSION} + COMPATIBILITY AnyNewerVersion) + + configure_package_config_file( + ${CMAKE_CURRENT_LIST_DIR}/cmake/quill-config.cmake.in + ${project_config} + INSTALL_DESTINATION ${QUILL_CMAKE_DIR}) + + # Install version, config files + install(FILES ${project_config} ${version_config} + DESTINATION ${QUILL_CMAKE_DIR}) + + # Install the headers + install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/include/quill DESTINATION ${QUILL_INC_DIR}) + + # Install the library + install(TARGETS ${TARGET_NAME} EXPORT ${targets_export_name} + LIBRARY DESTINATION ${QUILL_LIB_DIR} + ARCHIVE DESTINATION ${QUILL_LIB_DIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Export the library + install(EXPORT ${targets_export_name} DESTINATION ${QUILL_CMAKE_DIR} + NAMESPACE quill::) + + # Install the examples + if (QUILL_BUILD_EXAMPLES) + install(TARGETS + quill_example_use_overwrite_macros + quill_example_recommended_usage + quill_example_backend_thread_notify + quill_example_backtrace_logging + quill_example_bounded_dropping_queue_frontend + quill_example_console_logging + quill_example_custom_console_colours + quill_example_rotating_file_logging + quill_example_signal_handler + quill_example_logger_removal_with_file_event_notifier + quill_example_custom_frontend_options + quill_example_file_logging + quill_example_filter_logging + quill_example_system_clock_logging + quill_example_user_clock_source + quill_example_user_defined_filter + quill_example_user_defined_sink + quill_example_tags_logging + quill_example_json_sink_logging + quill_example_user_defined_types_logging + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif () + + # ---- Packaging ---- # + set(CPACK_GENERATOR ZIP) + set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) + set(CPACK_INSTALL_CMAKE_PROJECTS "${CMAKE_BINARY_DIR}" "${PROJECT_NAME}" ALL .) + set(CPACK_PROJECT_URL "https://github.com/odygrd/quill") + set(CPACK_PACKAGE_VENDOR "Odysseas Georgoudis") + set(CPACK_PACKAGE_CONTACT "Odysseas Odysseas ") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Asynchronous Low Latency C++ Logging Library") + set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) + set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) + set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) + set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) + set(CPACK_PACKAGE_RELOCATABLE ON) + set(CPACK_RPM_PACKAGE_LICENSE "MIT") + set(CPACK_RPM_PACKAGE_GROUP "System Environment/Libraries") + set(CPACK_RPM_PACKAGE_URL ${CPACK_PROJECT_URL}) + set(CPACK_RPM_PACKAGE_DESCRIPTION "Asynchronous Low Latency C++ Logging Library") + include(CPack) +endif () diff --git a/Dependencies/spdlog/LICENSE b/Dependencies/quill/LICENSE similarity index 64% rename from Dependencies/spdlog/LICENSE rename to Dependencies/quill/LICENSE index 6546da0b..7cc1c045 100644 --- a/Dependencies/spdlog/LICENSE +++ b/Dependencies/quill/LICENSE @@ -1,6 +1,6 @@ -The MIT License (MIT) +MIT License -Copyright (c) 2016 Gabi Melman. +Copyright (c) 2020 - present, Odysseas Georgoudis Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9,18 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - --- NOTE: Third party dependency used by this software -- -This software depends on the fmt lib (MIT License), -and users must comply to its license: https://raw.githubusercontent.com/fmtlib/fmt/master/LICENSE - +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Dependencies/quill/cmake/FindSphinx.cmake b/Dependencies/quill/cmake/FindSphinx.cmake new file mode 100644 index 00000000..24bf486a --- /dev/null +++ b/Dependencies/quill/cmake/FindSphinx.cmake @@ -0,0 +1,11 @@ +#Look for an executable called sphinx-build +find_program(SPHINX_EXECUTABLE + NAMES sphinx-build + DOC "Path to sphinx-build executable") + +include(FindPackageHandleStandardArgs) + +#Handle standard arguments to find_package like REQUIRED and QUIET +find_package_handle_standard_args(Sphinx + "Failed to find sphinx-build executable" + SPHINX_EXECUTABLE) \ No newline at end of file diff --git a/Dependencies/quill/cmake/SetCommonCompileOptions.cmake b/Dependencies/quill/cmake/SetCommonCompileOptions.cmake new file mode 100644 index 00000000..0209fe0a --- /dev/null +++ b/Dependencies/quill/cmake/SetCommonCompileOptions.cmake @@ -0,0 +1,23 @@ +# Define the function to set common compile options +function(set_common_compile_options target_name) + cmake_parse_arguments(COMPILE_OPTIONS "" "VISIBILITY" "" ${ARGN}) + + # Set default visibility to PRIVATE if not provided + if (NOT DEFINED COMPILE_OPTIONS_VISIBILITY) + set(COMPILE_OPTIONS_VISIBILITY PRIVATE) + endif () + + target_compile_options(${target_name} ${COMPILE_OPTIONS_VISIBILITY} + $<$,$,$>: + -Wall -Wextra -Wconversion -pedantic -Wfatal-errors -Wno-unused-private-field -Wno-unused-parameter> + $<$:/bigobj /WX /W4 /wd4324 /wd4189 /wd4996 /wd4100 /wd4127 /wd4702>) + + # Additional MSVC specific options + if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + target_compile_definitions(${target_name} ${COMPILE_OPTIONS_VISIBILITY} _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR) + + if (NOT QUILL_NO_EXCEPTIONS) + target_compile_options(${target_name} ${COMPILE_OPTIONS_VISIBILITY} /EHsc) + endif () + endif () +endfunction() diff --git a/Dependencies/quill/quill.lua b/Dependencies/quill/quill.lua new file mode 100644 index 00000000..d6f47de6 --- /dev/null +++ b/Dependencies/quill/quill.lua @@ -0,0 +1,6 @@ +local dep = Solution.Util.CreateDepTable("Quill", {}) + +Solution.Util.CreateDep(dep.NameLow, dep.Dependencies, function() + Solution.Util.SetIncludes(dep.Path) + Solution.Util.SetDefines({"_CRT_SECURE_NO_WARNINGS"}) +end) \ No newline at end of file diff --git a/Dependencies/quill/quill/Backend.h b/Dependencies/quill/quill/Backend.h new file mode 100644 index 00000000..ceab8e5d --- /dev/null +++ b/Dependencies/quill/quill/Backend.h @@ -0,0 +1,173 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/BackendManager.h" +#include "quill/backend/BackendOptions.h" +#include "quill/backend/SignalHandler.h" +#include "quill/core/Attributes.h" + +#include +#include +#include +#include +#include +#include + +namespace quill +{ +/** Version Info **/ +constexpr uint32_t VersionMajor{4}; +constexpr uint32_t VersionMinor{4}; +constexpr uint32_t VersionPatch{0}; +constexpr uint32_t Version{VersionMajor * 10000 + VersionMinor * 100 + VersionPatch}; + +class Backend +{ +public: + /** + * Starts the backend thread. + * @param options Backend options to configure the backend behavior. + */ + QUILL_ATTRIBUTE_COLD static void start(BackendOptions const& options = BackendOptions{}) + { + std::call_once(detail::BackendManager::instance().get_start_once_flag(), + [options]() + { + // Run the backend worker thread, we wait here until the thread enters the main loop + detail::BackendManager::instance().start_backend_thread(options); + + // Setup an exit handler to call stop when the main application exits. + // always call stop on destruction to log everything. std::atexit seems to be + // working better with dll on windows compared to using ~LogManagerSingleton(). + std::atexit([]() { detail::BackendManager::instance().stop_backend_thread(); }); + }); + } + + /** + * Starts the backend thread and initialises a signal handler + * + * @param options Backend options to configure the backend behavior. + * @param catchable_signals List of signals that the backend should catch if with_signal_handler + * is enabled. + * @param signal_handler_timeout_seconds This variable defines the timeout duration in seconds for + * the signal handler alarm. It is only available on Linux, as Windows does not support the alarm + * function. The signal handler sets up an alarm to ensure that the process will terminate if it + * does not complete within the specified time frame. This is particularly useful to prevent the + * process from hanging indefinitely in case the signal handler encounters an issue. + * + * @note When using the SignalHandler on Linux/MacOS, ensure that each spawned thread in your + * application has performed one of the following actions: + * i) Logged at least once. + * ii) Called Frontend::preallocate(). + * iii) Blocked signals on that thread to prevent the signal handler from running on it. + * This requirement is because the built-in signal handler utilizes a lock-free queue to issue log + * statements and await the log flushing. The queue is constructed on its first use with `new()`. + * Failing to meet any of the above criteria means the queue was never used, and it will be + * constructed inside the signal handler. The `new` operation is not an async signal-safe function + * and may lead to potential issues. However, when the queue is already created, no `new` call is + * made, and the remaining functions invoked internally by the built-in signal handler are async + * safe. + */ + template + QUILL_ATTRIBUTE_COLD static void start_with_signal_handler( + BackendOptions const& options = BackendOptions{}, + QUILL_MAYBE_UNUSED std::initializer_list const& catchable_signals = + std::initializer_list{SIGTERM, SIGINT, SIGABRT, SIGFPE, SIGILL, SIGSEGV}, + uint32_t signal_handler_timeout_seconds = 20u) + { + std::call_once(detail::BackendManager::instance().get_start_once_flag(), + [options, catchable_signals, signal_handler_timeout_seconds]() + { +#if defined(_WIN32) + (void)catchable_signals; + detail::init_exception_handler(); +#else + // We do not want signal handler to run in the backend worker thread + // Block signals in the main thread so when we spawn the backend worker thread it inherits + // the master + sigset_t set, oldset; + sigfillset(&set); + sigprocmask(SIG_SETMASK, &set, &oldset); + detail::init_signal_handler(catchable_signals); +#endif + + // Run the backend worker thread, we wait here until the thread enters the main loop + detail::BackendManager::instance().start_backend_thread(options); + + detail::SignalHandlerContext::instance().signal_handler_timeout_seconds.store( + signal_handler_timeout_seconds); + + // We need to update the signal handler with some backend thread details + detail::SignalHandlerContext::instance().backend_thread_id.store( + detail::BackendManager::instance().get_backend_thread_id()); + +#if defined(_WIN32) + // nothing to do +#else + // Unblock signals in the main thread so subsequent threads do not inherit the blocked mask + sigprocmask(SIG_SETMASK, &oldset, nullptr); +#endif + + // Set up an exit handler to call stop when the main application exits. + // always call stop on destruction to log everything. std::atexit seems to be + // working better with dll on windows compared to using ~LogManagerSingleton(). + std::atexit([]() { detail::BackendManager::instance().stop_backend_thread(); }); + }); + } + + /** + * Stops the backend thread. + * @note thread-safe + */ + QUILL_ATTRIBUTE_COLD static void stop() noexcept + { + detail::BackendManager::instance().stop_backend_thread(); + } + + /** + * Notifies the backend thread to wake up. + * It is possible to use a long backend sleep_duration and then notify the backend to wake up + * from any frontend thread. + * + * @note thread-safe + */ + static void notify() noexcept { detail::BackendManager::instance().notify_backend_thread(); } + + /** + * Checks if the backend is currently running. + * @return True if the backend is running, false otherwise. + */ + QUILL_NODISCARD static bool is_running() noexcept + { + return detail::BackendManager::instance().is_backend_thread_running(); + } + + /** + * Retrieves the ID of the backend thread. + * @return The ID of the backend thread. + */ + QUILL_NODISCARD static uint32_t get_thread_id() noexcept + { + return detail::BackendManager::instance().get_backend_thread_id(); + } + + /** + * Converts an rdtsc value to epoch time. + * This function uses the same clock as the backend and can be called from any frontend thread. + * It is useful when using a logger with ClockSourceType::Tsc and you want to obtain a timestamp + * synchronized with the log files generated by the backend. + * + * Alternatively you can use the Clock class from backend/Clock.h + * @param rdtsc_value The RDTSC value to convert. + * @return The epoch time corresponding to the RDTSC value. + */ + QUILL_NODISCARD static uint64_t convert_rdtsc_to_epoch_time(uint64_t rdtsc_value) noexcept + { + return detail::BackendManager::instance().convert_rdtsc_to_epoch_time(rdtsc_value); + } +}; +} // namespace quill diff --git a/Dependencies/quill/quill/BackendTscClock.h b/Dependencies/quill/quill/BackendTscClock.h new file mode 100644 index 00000000..a213297f --- /dev/null +++ b/Dependencies/quill/quill/BackendTscClock.h @@ -0,0 +1,94 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/BackendManager.h" +#include "quill/core/Attributes.h" +#include "quill/core/Rdtsc.h" + +#include +#include + +namespace quill +{ +/** + * @brief A utility class for accessing the Time Stamp Counter (TSC) clock used by the backend logging thread. + * + * This class provides access to the TSC clock maintained by the backend logging thread, + * allowing for synchronized timestamp retrieval. + * + * Other threads can obtain timestamps synchronized with the TSC clock of the backend logging + * thread, ensuring synchronization with log statement timestamps. + * + * If `ClockSourceType::Tsc` is not used by any Logger, this class reverts to using the system clock + * for providing a timestamp. + * + * @note For more accurate timestamps, consider reducing `rdtsc_resync_interval` in `BackendOptions`. + * @note All methods of the class are thread-safe. + */ +class BackendTscClock +{ +public: + class RdtscVal + { + public: + RdtscVal(RdtscVal const& other) = default; + RdtscVal(RdtscVal&& other) noexcept = default; + RdtscVal& operator=(RdtscVal const& other) = default; + RdtscVal& operator=(RdtscVal&& other) noexcept = default; + + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT uint64_t value() const noexcept { return _value; } + + private: + RdtscVal() noexcept : _value(detail::rdtsc()) {} + friend BackendTscClock; + + uint64_t _value; + }; + +public: + using duration = std::chrono::nanoseconds; + using rep = duration::rep; + using period = duration::period; + using time_point = std::chrono::time_point; + static constexpr bool is_steady = false; + + /** + * Provides the current synchronized timestamp obtained using the TSC clock maintained by the backend logging thread. + * @return A wall clock timestamp in nanoseconds since epoch, synchronized with the backend logging thread's TSC clock. + */ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT static time_point now() noexcept + { + uint64_t const ts = detail::BackendManager::instance().convert_rdtsc_to_epoch_time(detail::rdtsc()); + + return ts ? time_point{std::chrono::nanoseconds{ts}} + : time_point{std::chrono::nanoseconds{ + std::chrono::time_point_cast(std::chrono::system_clock::now()) + .time_since_epoch() + .count()}}; + } + + /** + * Returns the current value of the TSC timer maintained by the backend logging thread. + * @return The current value of the TSC timer. + */ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT static RdtscVal rdtsc() noexcept { return RdtscVal{}; } + + /** + * Converts a TSC counter value obtained from the backend logging thread's TSC timer to a wall + * clock timestamp. + * + * @param rdtsc The TSC counter value obtained from the backend logging thread's TSC timer. + * @warning This function will return `0` when TimestampClockType::Tsc is not enabled in Config.h. + * @return Time since epoch in nanoseconds. + */ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT static time_point to_time_point(RdtscVal rdtsc) noexcept + { + return time_point{std::chrono::nanoseconds{ + detail::BackendManager::instance().convert_rdtsc_to_epoch_time(rdtsc.value())}}; + } +}; +} // namespace quill \ No newline at end of file diff --git a/Dependencies/quill/quill/Frontend.h b/Dependencies/quill/quill/Frontend.h new file mode 100644 index 00000000..3dd98a2a --- /dev/null +++ b/Dependencies/quill/quill/Frontend.h @@ -0,0 +1,211 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/Logger.h" +#include "quill/UserClockSource.h" +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" +#include "quill/core/FrontendOptions.h" +#include "quill/core/LoggerManager.h" +#include "quill/core/QuillError.h" +#include "quill/core/SinkManager.h" +#include "quill/core/ThreadContextManager.h" +#include "quill/sinks/Sink.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace quill +{ +template +class FrontendImpl +{ +public: + using frontend_options_t = TFrontendOptions; + using logger_t = LoggerImpl; + + /** + * @brief Pre-allocates the thread-local data needed for the current thread. + * + * Although optional, it is recommended to invoke this function during the thread initialization + * phase before the first log message. + */ + QUILL_ATTRIBUTE_COLD static void preallocate() + { + QUILL_MAYBE_UNUSED uint32_t const volatile spsc_queue_capacity = + detail::get_local_thread_context() + ->template get_spsc_queue() + .capacity(); + } + + /** + * @brief Creates a new sink or retrieves an existing one with the specified name. + * + * @param sink_name The name of the sink. + * @param args The arguments to pass to the sink constructor. + * @return std::shared_ptr A shared pointer to the created or retrieved sink. + */ + template + static std::shared_ptr create_or_get_sink(std::string const& sink_name, Args&&... args) + { + return detail::SinkManager::instance().create_or_get_sink(sink_name, static_cast(args)...); + } + + /** + * @brief Retrieves an existing sink with the specified name. + * + * @param sink_name The name of the sink. + * @return std::shared_ptr A shared pointer to the retrieved sink, or nullptr if not found. + */ + QUILL_NODISCARD static std::shared_ptr get_sink(std::string const& sink_name) + { + return detail::SinkManager::instance().get_sink(sink_name); + } + + /** + * @brief Creates a new logger or retrieves an existing one with the specified name. + * + * @param logger_name The name of the logger. + * @param sink A shared pointer to the sink to associate with the logger. + * @param format_pattern The format pattern for log messages. + * @param time_pattern The time pattern for log timestamps. + * @param timestamp_timezone The timezone for log timestamps. + * @param clock_source The clock source for log timestamps. + * @param user_clock A pointer to a custom user clock. + * @return Logger* A pointer to the created or retrieved logger. + */ + static logger_t* create_or_get_logger( + std::string const& logger_name, std::shared_ptr sink, + std::string const& format_pattern = + "%(time) [%(thread_id)] %(short_source_location:<28) LOG_%(log_level:<9) %(logger:<12) " + "%(message)", + std::string const& time_pattern = "%H:%M:%S.%Qns", Timezone timestamp_timezone = Timezone::LocalTime, + ClockSourceType clock_source = ClockSourceType::Tsc, UserClockSource* user_clock = nullptr) + { + std::vector> sinks; + sinks.push_back(static_cast&&>(sink)); + + return _cast_to_logger(detail::LoggerManager::instance().create_or_get_logger( + logger_name, static_cast>&&>(sinks), format_pattern, + time_pattern, timestamp_timezone, clock_source, user_clock)); + } + + /** + * @brief Creates a new logger or retrieves an existing one with the specified name and multiple sinks. + * + * @param logger_name The name of the logger. + * @param sinks An initializer list of shared pointers to sinks to associate with the logger. + * @param format_pattern The format pattern for log messages. + * @param time_pattern The time pattern for log timestamps. + * @param timestamp_timezone The timezone for log timestamps. + * @param clock_source The clock source for log timestamps. + * @param user_clock A pointer to a custom user clock. + * @return Logger* A pointer to the created or retrieved logger. + */ + static logger_t* create_or_get_logger( + std::string const& logger_name, std::initializer_list> sinks, + std::string const& format_pattern = + "%(time) [%(thread_id)] %(short_source_location:<28) LOG_%(log_level:<9) %(logger:<12) " + "%(message)", + std::string const& time_pattern = "%H:%M:%S.%Qns", Timezone timestamp_timezone = Timezone::LocalTime, + ClockSourceType clock_source = ClockSourceType::Tsc, UserClockSource* user_clock = nullptr) + { + return _cast_to_logger(detail::LoggerManager::instance().create_or_get_logger( + logger_name, std::vector>{sinks}, format_pattern, time_pattern, + timestamp_timezone, clock_source, user_clock)); + } + + /** + * @brief Asynchronously removes the specified logger. + * When a logger is removed, any files associated with its sinks are also closed. + * + * @note Thread-safe + * @param logger A pointer to the logger to remove. + */ + static void remove_logger(detail::LoggerBase* logger) + { + detail::LoggerManager::instance().remove_logger(logger); + } + + /** + * @brief Retrieves an existing logger with the specified name. + * + * @param logger_name The name of the logger. + * @return Logger* A pointer to the retrieved logger, or nullptr if not found. + */ + QUILL_NODISCARD static logger_t* get_logger(std::string const& logger_name) + { + detail::LoggerBase* logger = detail::LoggerManager::instance().get_logger(logger_name); + return logger ? _cast_to_logger(logger) : nullptr; + } + + /** + * @brief Retrieves a map of all registered valid loggers. + * @note If `remove_logger()` is called from this or another thread, the return value + * of this function will become invalid. + * @return A vector containing all registered loggers. + */ + QUILL_NODISCARD static std::vector get_all_loggers() + { + std::vector logger_bases = detail::LoggerManager::instance().get_all_loggers(); + + std::vector loggers; + + for (auto const& logger_base : logger_bases) + { + loggers.push_back(_cast_to_logger(logger_base)); + } + + return loggers; + } + + /** + * Returns the first valid logger that is found. This is useful when you do not want to use the + * std::vector return value of get_all_loggers. + * + * @return A pointer to the first valid logger, or nullptr if no valid logger is found. + */ + QUILL_NODISCARD static logger_t* get_valid_logger() noexcept + { + detail::LoggerBase* logger = detail::LoggerManager::instance().get_valid_logger(); + return logger ? _cast_to_logger(logger) : nullptr; + } + + /** + * @brief Counts the number of existing loggers, including any invalidated loggers. + * This function can be useful for verifying if a logger has been removed after calling + * remove_logger() by the backend, as removal occurs asynchronously. + * @return The number of loggers. + */ + QUILL_NODISCARD static size_t get_number_of_loggers() noexcept + { + return detail::LoggerManager::instance().get_number_of_loggers(); + } + +private: + QUILL_NODISCARD static logger_t* _cast_to_logger(detail::LoggerBase* logger_base) + { + assert(logger_base); + + auto* logger = dynamic_cast(logger_base); + + if (QUILL_UNLIKELY(!logger)) + { + QUILL_THROW(QuillError{"Failed to cast logger. Invalid logger type."}); + } + + return logger; + } +}; + +using Frontend = FrontendImpl; +} // namespace quill \ No newline at end of file diff --git a/Dependencies/quill/quill/LogMacros.h b/Dependencies/quill/quill/LogMacros.h new file mode 100644 index 00000000..d2e38369 --- /dev/null +++ b/Dependencies/quill/quill/LogMacros.h @@ -0,0 +1,284 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/core/LogLevel.h" +#include "quill/core/MacroMetadata.h" + +/** + * Allows compile-time filtering of log messages to completely compile out log levels, + * resulting in zero-cost logging. + * + * Macros like LOG_TRACE_L3(..), LOG_TRACE_L2(..) will expand to empty statements, + * reducing branches in compiled code and the number of MacroMetadata constexpr instances. + * + * The default value of -1 enables all log levels. + * Specify a logging level to disable all levels equal to or higher than the specified level. + * + * For example to only log warnings and above you can use: + * add_compile_definitions(-DQUILL_COMPILE_ACTIVE_LOG_LEVEL=QUILL_COMPILE_ACTIVE_LOG_LEVEL_WARNING) + * or + * target_compile_definitions(${TARGET} PRIVATE -DQUILL_COMPILE_ACTIVE_LOG_LEVEL=QUILL_COMPILE_ACTIVE_LOG_LEVEL_WARNING) + **/ +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_TRACE_L3 0 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_TRACE_L2 1 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_TRACE_L1 2 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_DEBUG 3 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_INFO 4 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_WARNING 5 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_ERROR 6 +#define QUILL_COMPILE_ACTIVE_LOG_LEVEL_CRITICAL 7 + +#if !defined(QUILL_COMPILE_ACTIVE_LOG_LEVEL) + #define QUILL_COMPILE_ACTIVE_LOG_LEVEL -1 +#endif + +#define QUILL_DEFINE_MACRO_METADATA(caller_function, fmt, tags, log_level) \ + static constexpr quill::MacroMetadata macro_metadata \ + { \ + __FILE__ ":" QUILL_STRINGIFY(__LINE__), caller_function, fmt, tags, log_level, \ + quill::MacroMetadata::Event::Log \ + } + +#define QUILL_LOGGER_CALL(likelyhood, logger, log_level, fmt, ...) \ + do \ + { \ + if (likelyhood(logger->template should_log_message())) \ + { \ + QUILL_DEFINE_MACRO_METADATA(__FUNCTION__, fmt, nullptr, log_level); \ + \ + logger->log_message(quill::LogLevel::None, ¯o_metadata, ##__VA_ARGS__); \ + } \ + } while (0) + +#define QUILL_LOGGER_CALL_WITH_TAGS(likelyhood, logger, log_level, tags, fmt, ...) \ + do \ + { \ + if (likelyhood(logger->template should_log_message())) \ + { \ + QUILL_DEFINE_MACRO_METADATA(__FUNCTION__, fmt, &tags, log_level); \ + \ + logger->log_message(quill::LogLevel::None, ¯o_metadata, ##__VA_ARGS__); \ + } \ + } while (0) + +#define QUILL_LOGGER_CALL_LIMIT(min_interval, likelyhood, logger, log_level, fmt, ...) \ + do \ + { \ + if (likelyhood(logger->template should_log_message())) \ + { \ + thread_local std::chrono::time_point next_log_time; \ + auto const now = std::chrono::steady_clock::now(); \ + \ + if (now < next_log_time) \ + { \ + break; \ + } \ + \ + next_log_time = now + min_interval; \ + QUILL_LOGGER_CALL(likelyhood, logger, log_level, fmt, ##__VA_ARGS__); \ + } \ + } while (0) + +#define QUILL_BACKTRACE_LOGGER_CALL(logger, fmt, ...) \ + do \ + { \ + if (QUILL_LIKELY(logger->template should_log_message())) \ + { \ + QUILL_DEFINE_MACRO_METADATA(__FUNCTION__, fmt, nullptr, quill::LogLevel::Backtrace); \ + \ + logger->log_message(quill::LogLevel::None, ¯o_metadata, ##__VA_ARGS__); \ + } \ + } while (0) + +/** + * Dynamic runtime log level with a tiny overhead + * @Note: Prefer using the compile time log level macros + */ +#define QUILL_DYNAMIC_LOG_CALL(logger, log_level, fmt, ...) \ + do \ + { \ + if (logger->should_log_message(log_level)) \ + { \ + QUILL_DEFINE_MACRO_METADATA(__FUNCTION__, fmt, nullptr, quill::LogLevel::Dynamic); \ + \ + logger->log_message(log_level, ¯o_metadata, ##__VA_ARGS__); \ + } \ + } while (0) + +#define QUILL_DYNAMIC_LOG(logger, log_level, fmt, ...) \ + QUILL_DYNAMIC_LOG_CALL(logger, log_level, fmt, ##__VA_ARGS__) + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_TRACE_L3 + #define QUILL_LOG_TRACE_L3(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_UNLIKELY, logger, quill::LogLevel::TraceL3, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_TRACE_L3_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_UNLIKELY, logger, quill::LogLevel::TraceL3, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_TRACE_L3_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_UNLIKELY, logger, quill::LogLevel::TraceL3, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_TRACE_L3(logger, fmt, ...) (void)0 + #define QUILL_LOG_TRACE_L3_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_TRACE_L3_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_TRACE_L2 + #define QUILL_LOG_TRACE_L2(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_UNLIKELY, logger, quill::LogLevel::TraceL2, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_TRACE_L2_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_UNLIKELY, logger, quill::LogLevel::TraceL2, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_TRACE_L2_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_UNLIKELY, logger, quill::LogLevel::TraceL2, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_TRACE_L2(logger, fmt, ...) (void)0 + #define QUILL_LOG_TRACE_L2_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_TRACE_L2_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_TRACE_L1 + #define QUILL_LOG_TRACE_L1(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_UNLIKELY, logger, quill::LogLevel::TraceL1, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_TRACE_L1_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_UNLIKELY, logger, quill::LogLevel::TraceL1, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_TRACE_L1_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_UNLIKELY, logger, quill::LogLevel::TraceL1, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_TRACE_L1(logger, fmt, ...) (void)0 + #define QUILL_LOG_TRACE_L1_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_TRACE_L1_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_DEBUG + #define QUILL_LOG_DEBUG(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_UNLIKELY, logger, quill::LogLevel::Debug, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_DEBUG_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_UNLIKELY, logger, quill::LogLevel::Debug, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_DEBUG_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_UNLIKELY, logger, quill::LogLevel::Debug, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_DEBUG(logger, fmt, ...) (void)0 + #define QUILL_LOG_DEBUG_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_DEBUG_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_INFO + #define QUILL_LOG_INFO(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_LIKELY, logger, quill::LogLevel::Info, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_INFO_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_LIKELY, logger, quill::LogLevel::Info, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_INFO_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_LIKELY, logger, quill::LogLevel::Info, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_INFO(logger, fmt, ...) (void)0 + #define QUILL_LOG_INFO_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_INFO_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_WARNING + #define QUILL_LOG_WARNING(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_LIKELY, logger, quill::LogLevel::Warning, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_WARNING_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_LIKELY, logger, quill::LogLevel::Warning, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_WARNING_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_LIKELY, logger, quill::LogLevel::Warning, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_WARNING(logger, fmt, ...) (void)0 + #define QUILL_LOG_WARNING_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_WARNING_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_ERROR + #define QUILL_LOG_ERROR(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_LIKELY, logger, quill::LogLevel::Error, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_ERROR_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_LIKELY, logger, quill::LogLevel::Error, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_ERROR_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_LIKELY, logger, quill::LogLevel::Error, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_ERROR(logger, fmt, ...) (void)0 + #define QUILL_LOG_ERROR_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_ERROR_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#if QUILL_COMPILE_ACTIVE_LOG_LEVEL <= QUILL_COMPILE_ACTIVE_LOG_LEVEL_CRITICAL + #define QUILL_LOG_CRITICAL(logger, fmt, ...) \ + QUILL_LOGGER_CALL(QUILL_LIKELY, logger, quill::LogLevel::Critical, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_CRITICAL_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOGGER_CALL_LIMIT(min_interval, QUILL_LIKELY, logger, quill::LogLevel::Critical, fmt, ##__VA_ARGS__) + + #define QUILL_LOG_CRITICAL_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOGGER_CALL_WITH_TAGS(QUILL_LIKELY, logger, quill::LogLevel::Critical, tags, fmt, ##__VA_ARGS__) +#else + #define QUILL_LOG_CRITICAL(logger, fmt, ...) (void)0 + #define QUILL_LOG_CRITICAL_LIMIT(min_interval, logger, fmt, ...) (void)0 + #define QUILL_LOG_CRITICAL_WITH_TAGS(logger, tags, fmt, ...) (void)0 +#endif + +#define QUILL_LOG_BACKTRACE(logger, fmt, ...) \ + QUILL_BACKTRACE_LOGGER_CALL(logger, fmt, ##__VA_ARGS__) + +#if !defined(QUILL_DISABLE_NON_PREFIXED_MACROS) + #define LOG_TRACE_L3(logger, fmt, ...) QUILL_LOG_TRACE_L3(logger, fmt, ##__VA_ARGS__) + #define LOG_TRACE_L2(logger, fmt, ...) QUILL_LOG_TRACE_L2(logger, fmt, ##__VA_ARGS__) + #define LOG_TRACE_L1(logger, fmt, ...) QUILL_LOG_TRACE_L1(logger, fmt, ##__VA_ARGS__) + #define LOG_DEBUG(logger, fmt, ...) QUILL_LOG_DEBUG(logger, fmt, ##__VA_ARGS__) + #define LOG_INFO(logger, fmt, ...) QUILL_LOG_INFO(logger, fmt, ##__VA_ARGS__) + #define LOG_WARNING(logger, fmt, ...) QUILL_LOG_WARNING(logger, fmt, ##__VA_ARGS__) + #define LOG_ERROR(logger, fmt, ...) QUILL_LOG_ERROR(logger, fmt, ##__VA_ARGS__) + #define LOG_CRITICAL(logger, fmt, ...) QUILL_LOG_CRITICAL(logger, fmt, ##__VA_ARGS__) + #define LOG_BACKTRACE(logger, fmt, ...) QUILL_LOG_BACKTRACE(logger, fmt, ##__VA_ARGS__) + #define LOG_DYNAMIC(logger, log_level, fmt, ...) \ + QUILL_DYNAMIC_LOG(logger, log_level, fmt, ##__VA_ARGS__) + + #define LOG_TRACE_L3_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_TRACE_L3_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_TRACE_L2_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_TRACE_L2_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_TRACE_L1_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_TRACE_L1_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_DEBUG_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_DEBUG_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_INFO_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_INFO_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_WARNING_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_WARNING_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_ERROR_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_ERROR_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + #define LOG_CRITICAL_LIMIT(min_interval, logger, fmt, ...) \ + QUILL_LOG_CRITICAL_LIMIT(min_interval, logger, fmt, ##__VA_ARGS__) + + #define LOG_TRACE_L3_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_TRACE_L3_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_TRACE_L2_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_TRACE_L2_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_TRACE_L1_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_TRACE_L1_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_DEBUG_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_DEBUG_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_INFO_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_INFO_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_WARNING_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_WARNING_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_ERROR_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_ERROR_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) + #define LOG_CRITICAL_WITH_TAGS(logger, tags, fmt, ...) \ + QUILL_LOG_CRITICAL_WITH_TAGS(logger, tags, fmt, ##__VA_ARGS__) +#endif \ No newline at end of file diff --git a/Dependencies/quill/quill/Logger.h b/Dependencies/quill/quill/Logger.h new file mode 100644 index 00000000..f59b3e10 --- /dev/null +++ b/Dependencies/quill/quill/Logger.h @@ -0,0 +1,320 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/UserClockSource.h" +#include "quill/core/Attributes.h" +#include "quill/core/Codec.h" +#include "quill/core/Common.h" +#include "quill/core/FrontendOptions.h" +#include "quill/core/LogLevel.h" +#include "quill/core/LoggerBase.h" +#include "quill/core/MacroMetadata.h" +#include "quill/core/Rdtsc.h" +#include "quill/core/ThreadContextManager.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace quill +{ + +/** Forward Declarations **/ +class Sink; + +namespace detail +{ +class LoggerManager; +class BackendWorker; +} // namespace detail + +/** + * @brief Thread safe logger. + * + * Logger must be obtained from create_or_get_logger(), therefore constructors are private + */ +template +class LoggerImpl : public detail::LoggerBase +{ +public: + using frontend_options_t = TFrontendOptions; + + /***/ + LoggerImpl(LoggerImpl const&) = delete; + LoggerImpl& operator=(LoggerImpl const&) = delete; + + ~LoggerImpl() override = default; + + /** + * Push a log message to the spsc queue to be logged by the backend thread. + * One spsc queue per caller thread. This function is enabled only when all arguments are + * fundamental types. + * This is the fastest way possible to log + * @note This function is thread-safe. + * @param dynamic_log_level dynamic log level + * @param macro_metadata metadata of the log message + * @param fmt_args arguments + * + * @return true if the message is written to the queue, false if it is dropped (when a dropping queue is used) + */ + template + QUILL_ATTRIBUTE_HOT bool log_message(LogLevel dynamic_log_level, + MacroMetadata const* macro_metadata, Args&&... fmt_args) + { + assert(valid.load(std::memory_order_acquire) && "Invalidated loggers can not log"); + + // Store the timestamp of the log statement at the start of the call. This gives more accurate + // timestamp especially if the queue is full + uint64_t const current_timestamp = (clock_source == ClockSourceType::Tsc) ? detail::rdtsc() + : (clock_source == ClockSourceType::System) + ? static_cast(std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()) + .count()) + : user_clock->now(); + + detail::ThreadContext* const thread_context = + quill::detail::get_local_thread_context(); + + // Need to reserve additional space as we will be aligning the pointer + size_t total_size = sizeof(current_timestamp) + (sizeof(uintptr_t) * 3) + + detail::calculate_args_size_and_populate_string_lengths( + thread_context->get_conditional_arg_size_cache(), fmt_args...); + + if (dynamic_log_level != LogLevel::None) + { + // For the dynamic log level we want to add to the total size to store the dynamic log level + total_size += sizeof(dynamic_log_level); + } + + constexpr bool is_unbounded_queue = (frontend_options_t::queue_type == QueueType::UnboundedUnlimited) || + (frontend_options_t::queue_type == QueueType::UnboundedBlocking) || + (frontend_options_t::queue_type == QueueType::UnboundedDropping); + + std::byte* write_buffer; + + if constexpr (is_unbounded_queue) + { + write_buffer = thread_context->get_spsc_queue().prepare_write( + static_cast(total_size), frontend_options_t::queue_type); + } + else + { + write_buffer = thread_context->get_spsc_queue().prepare_write( + static_cast(total_size)); + } + + if constexpr (frontend_options_t::queue_type == QueueType::UnboundedUnlimited) + { + assert(write_buffer && + "Unbounded unlimited queue will always allocate and have enough capacity"); + } + else if constexpr ((frontend_options_t::queue_type == QueueType::BoundedDropping) || + (frontend_options_t::queue_type == QueueType::UnboundedDropping)) + { + if (QUILL_UNLIKELY(write_buffer == nullptr)) + { + // not enough space to push to queue message is dropped + thread_context->increment_failure_counter(); + return false; + } + } + else if constexpr ((frontend_options_t::queue_type == QueueType::BoundedBlocking) || + (frontend_options_t::queue_type == QueueType::UnboundedBlocking)) + { + if (QUILL_UNLIKELY(write_buffer == nullptr)) + { + thread_context->increment_failure_counter(); + + do + { + if constexpr (frontend_options_t::blocking_queue_retry_interval_ns > 0) + { + std::this_thread::sleep_for(std::chrono::nanoseconds{frontend_options_t::blocking_queue_retry_interval_ns}); + } + + // not enough space to push to queue, keep trying + if constexpr (is_unbounded_queue) + { + write_buffer = thread_context->get_spsc_queue().prepare_write( + static_cast(total_size), frontend_options_t::queue_type); + } + else + { + write_buffer = thread_context->get_spsc_queue().prepare_write( + static_cast(total_size)); + } + } while (write_buffer == nullptr); + } + } + + // we have enough space in this buffer, and we will write to the buffer + +#ifndef NDEBUG + std::byte const* const write_begin = write_buffer; + assert(write_begin); +#endif + + std::memcpy(write_buffer, ¤t_timestamp, sizeof(current_timestamp)); + write_buffer += sizeof(current_timestamp); + + std::memcpy(write_buffer, ¯o_metadata, sizeof(uintptr_t)); + write_buffer += sizeof(uintptr_t); + + detail::LoggerBase* logger_context = this; + std::memcpy(write_buffer, &logger_context, sizeof(uintptr_t)); + write_buffer += sizeof(uintptr_t); + + detail::FormatArgsDecoder ftf = detail::decode_and_populate_format_args...>; + std::memcpy(write_buffer, &ftf, sizeof(uintptr_t)); + write_buffer += sizeof(uintptr_t); + + // encode remaining arguments + detail::encode(write_buffer, thread_context->get_conditional_arg_size_cache(), fmt_args...); + + if (dynamic_log_level != LogLevel::None) + { + // write the dynamic log level + // The reason we write it last is that is less likely to break the alignment in the buffer + std::memcpy(write_buffer, &dynamic_log_level, sizeof(dynamic_log_level)); + write_buffer += sizeof(dynamic_log_level); + } + +#ifndef NDEBUG + assert((write_buffer > write_begin) && "write_buffer must be greater than write_begin"); + assert(total_size == (static_cast(write_buffer - write_begin)) && + "The committed write bytes must be equal to the total_size requested bytes"); +#endif + + thread_context->get_spsc_queue().finish_write(static_cast(total_size)); + thread_context->get_spsc_queue().commit_write(); + thread_context->get_conditional_arg_size_cache().clear(); + + return true; + } + + /** + * Init a backtrace for this logger. + * Stores messages logged with LOG_BACKTRACE in a ring buffer messages and displays them later on demand. + * @param max_capacity The max number of messages to store in the backtrace + * @param flush_level If this loggers logs any message higher or equal to this severity level the backtrace will also get flushed. + * Default level is None meaning the user has to call flush_backtrace explicitly + */ + void init_backtrace(uint32_t max_capacity, LogLevel flush_level = LogLevel::None) + { + // we do not care about the other fields, except quill::MacroMetadata::Event::InitBacktrace + static constexpr MacroMetadata macro_metadata{ + "", "", "{}", nullptr, LogLevel::Critical, MacroMetadata::Event::InitBacktrace}; + + // we pass this message to the queue and also pass capacity as arg + // We do not want to drop the message if a dropping queue is used + while (!this->log_message(LogLevel::None, ¯o_metadata, max_capacity)) + { + std::this_thread::sleep_for(std::chrono::nanoseconds{100}); + } + + // Also store the desired flush log level + backtrace_flush_level.store(flush_level, std::memory_order_relaxed); + } + + /** + * Dump any stored backtrace messages + */ + void flush_backtrace() + { + // we do not care about the other fields, except quill::MacroMetadata::Event::Flush + static constexpr MacroMetadata macro_metadata{ + "", "", "", nullptr, LogLevel::Critical, MacroMetadata::Event::FlushBacktrace}; + + // We do not want to drop the message if a dropping queue is used + while (!this->log_message(LogLevel::None, ¯o_metadata)) + { + std::this_thread::sleep_for(std::chrono::nanoseconds{100}); + } + } + + /** + * Blocks the calling thread until all log messages up to the current timestamp are flushed. + * + * The backend thread will invoke the write operation on all sinks for all loggers up to the point + * (timestamp) when this function is invoked. + * + * @param sleep_duration_ns The duration in nanoseconds to sleep between retries when the + * blocking queue is full, and between checks for the flush completion. Default is 100 nanoseconds. + * + * @note This function should only be called when the backend worker is running after Backend::start(...) + * @note This function will block the calling thread until the flush message is processed by the backend thread. + * The calling thread can block for up to backend_options.sleep_duration. If you configure a custom + * long sleep duration on the backend thread, e.g., backend_options.sleep_duration = std::chrono::minutes{1}, + * then you should ideally avoid calling this function as you can block for long period of times unless + * you use another thread that calls Backend::notify() + */ + void flush_log(uint32_t sleep_duration_ns = 100) + { + static constexpr MacroMetadata macro_metadata{ + "", "", "", nullptr, LogLevel::Critical, MacroMetadata::Event::Flush}; + + std::atomic backend_thread_flushed{false}; + std::atomic* backend_thread_flushed_ptr = &backend_thread_flushed; + + // We do not want to drop the message if a dropping queue is used + while (!this->log_message(LogLevel::None, ¯o_metadata, reinterpret_cast(backend_thread_flushed_ptr))) + { + if (sleep_duration_ns > 0) + { + std::this_thread::sleep_for(std::chrono::nanoseconds{sleep_duration_ns}); + } + else + { + std::this_thread::yield(); + } + } + + // The caller thread keeps checking the flag until the backend thread flushes + while (!backend_thread_flushed.load()) + { + if (sleep_duration_ns > 0) + { + std::this_thread::sleep_for(std::chrono::nanoseconds{sleep_duration_ns}); + } + else + { + std::this_thread::yield(); + } + } + } + +private: + friend class detail::LoggerManager; + friend class detail::BackendWorker; + + /***/ + LoggerImpl(std::string logger_name, std::vector> sinks, + std::string format_pattern, std::string time_pattern, Timezone timestamp_timezone, + ClockSourceType clock_source, UserClockSource* user_clock) + : detail::LoggerBase(static_cast(logger_name), + static_cast>&&>(sinks), + static_cast(format_pattern), + static_cast(time_pattern), timestamp_timezone, clock_source, user_clock) + + { + if (this->user_clock) + { + // if a user clock is provided then set the ClockSourceType to User + this->clock_source = ClockSourceType::User; + } + } +}; + +using Logger = LoggerImpl; +} // namespace quill diff --git a/Dependencies/quill/quill/UserClockSource.h b/Dependencies/quill/quill/UserClockSource.h new file mode 100644 index 00000000..b3b28be8 --- /dev/null +++ b/Dependencies/quill/quill/UserClockSource.h @@ -0,0 +1,38 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/core/Attributes.h" +#include + +namespace quill +{ +/** + * @brief Base class that provides a timestamp for log statements based on a user-provided clock source. + * + * This base class can be derived from to pass a user-generated timestamp to a Logger. + * + * It is particularly useful for simulations or scenarios where time manipulation is necessary, + * such as simulating time in the past and displaying past timestamps in logs. + * + * @note The derived class must be thread-safe if the Logger object is used across multiple threads. + * If a Logger is used within a single thread only, thread safety is not a concern. + */ +class UserClockSource +{ +public: + UserClockSource() = default; + virtual ~UserClockSource() = default; + + UserClockSource(UserClockSource const&) = delete; + UserClockSource& operator=(UserClockSource const&) = delete; + + /** + * Returns time since epoch in nanoseconds + */ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT virtual uint64_t now() const = 0; +}; +} // namespace quill \ No newline at end of file diff --git a/Dependencies/quill/quill/Utility.h b/Dependencies/quill/quill/Utility.h new file mode 100644 index 00000000..11af61a1 --- /dev/null +++ b/Dependencies/quill/quill/Utility.h @@ -0,0 +1,88 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include +#include +#include +#include + +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" + +/** + * Contains useful utilities to assist with logging + */ +namespace quill::utility +{ +/** + * @brief Formats the given buffer to hexadecimal representation. + * + * This function converts the contents of the input buffer to a hexadecimal string. + * + * @param buffer Pointer to the input buffer. + * @param size Size of the input buffer. + * @return A string containing the hexadecimal representation of the given buffer. + */ +template +QUILL_NODISCARD std::string to_hex(T* buffer, size_t size) noexcept +{ + static constexpr char hex_chars[] = "0123456789ABCDEF"; + + std::string hex_string; + hex_string.reserve(3 * size); + + for (size_t i = 0; i < size; ++i) + { + // 00001111 mask + static constexpr uint8_t mask = 0x0Fu; + + // add the first four bits + hex_string += hex_chars[(buffer[i] >> 4u) & mask]; + + // add the remaining bits + hex_string += hex_chars[buffer[i] & mask]; + + if (i != (size - 1)) + { + // add a space delimiter + hex_string += ' '; + } + } + + return hex_string; +} + +/** + * @brief Helper class for combining quill::Tag objects. + * This class combines multiple quill::Tag objects into a single Tag object. + */ +template +class CombinedTags : public Tags +{ +public: + constexpr CombinedTags(TTags... tags, std::string_view delim = ", ") + : _tags(std::move(tags)...), _delim(delim) + { + } + + void format(std::string& out) const override + { + std::apply([&out, this](const auto&... tags) + { (((tags.format(out)), out.append(_delim.data())), ...); }, _tags); + + if (!out.empty()) + { + // erase last delim + out.erase(out.length() - _delim.length(), _delim.length()); + } + } + +private: + std::tuple _tags; + std::string_view _delim; +}; +} // namespace quill::utility \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/BackendManager.h b/Dependencies/quill/quill/backend/BackendManager.h new file mode 100644 index 00000000..afd21d87 --- /dev/null +++ b/Dependencies/quill/quill/backend/BackendManager.h @@ -0,0 +1,80 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/BackendOptions.h" +#include "quill/backend/BackendWorker.h" +#include "quill/core/Attributes.h" + +#include +#include + +namespace quill::detail +{ +/** + * Provides access to common collection class that are used by both the frontend and the backend + * components of the logging system + * There should only be only active active instance of this class which is achieved by the + * LogSystemManagerSingleton + */ +class BackendManager +{ +public: + /***/ + QUILL_EXPORT static BackendManager& instance() noexcept + { + static BackendManager instance; + return instance; + } + + /***/ + BackendManager(BackendManager const&) = delete; + BackendManager& operator=(BackendManager const&) = delete; + + /***/ + QUILL_ATTRIBUTE_COLD void start_backend_thread(BackendOptions const& options) + { + // Start the backend worker + _backend_worker.run(options); + } + + /***/ + QUILL_ATTRIBUTE_COLD std::once_flag& get_start_once_flag() noexcept { return _start_once_flag; } + + /***/ + QUILL_ATTRIBUTE_COLD void stop_backend_thread() noexcept { _backend_worker.stop(); } + + /***/ + QUILL_NODISCARD uint32_t get_backend_thread_id() const noexcept + { + return _backend_worker.get_backend_thread_id(); + } + + /***/ + void notify_backend_thread() noexcept { _backend_worker.notify(); } + + /***/ + QUILL_NODISCARD bool is_backend_thread_running() const noexcept + { + return _backend_worker.is_running(); + } + + /***/ + QUILL_NODISCARD uint64_t convert_rdtsc_to_epoch_time(uint64_t rdtsc_value) const noexcept + { + return _backend_worker.time_since_epoch(rdtsc_value); + } + +private: + /***/ + BackendManager() = default; + ~BackendManager() = default; + +private: + BackendWorker _backend_worker; + std::once_flag _start_once_flag; +}; +} // namespace quill::detail diff --git a/Dependencies/quill/quill/backend/BackendOptions.h b/Dependencies/quill/quill/backend/BackendOptions.h new file mode 100644 index 00000000..12b213c8 --- /dev/null +++ b/Dependencies/quill/quill/backend/BackendOptions.h @@ -0,0 +1,177 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include +#include +#include +#include +#include +#include + +#if defined(__MINGW32__) + #include +#endif + +namespace quill +{ +struct BackendOptions +{ + /** + * The name assigned to the backend, visible during thread naming queries (e.g., + * pthread_getname_np) or in the debugger. + */ + std::string thread_name = "QuillBackend"; + + /** + * The backend employs "busy-waiting" by spinning around each frontend thread's queue. + * If enabled, the backend will yield when there is no remaining work, potentially + * reducing the OS scheduler priority for the backend. + * This option is effective only when sleep_duration is set to 0. + */ + bool enable_yield_when_idle = false; + + /** + * Specifies the duration the backend sleeps if there is no remaining work to process in the queues. + */ + std::chrono::nanoseconds sleep_duration = std::chrono::nanoseconds{500}; + + /** + * The backend pops all log messages from the frontend queues and buffers them in a + * local ring buffer queue as transit events. The transit_event_buffer is unbounded, starting with + * a customizable initial capacity (in items, not bytes) and will reallocate up to + * transit_events_hard_limit The backend will use a separate transit_event_buffer for each + * frontend thread. The capacity must be a power of two. + */ + uint32_t transit_event_buffer_initial_capacity = 64; + + /** + * The backend gives priority to reading messages from the frontend queues of all + * the hot threads and temporarily buffers them. + * + * If a frontend threads continuously push messages to the queue (e.g., logging in a loop), + * no logs can ever be processed. + * + * When the soft limit is reached (default: 800), the backend worker thread will try to process + * a batch of cached transit events all at once + * + * The frontend queues are emptied on each iteration, so the actual popped messages + * can be much greater than the transit_events_soft_limit. + * + * @note This number represents a limit across the messages received from ALL frontend threads. + */ + size_t transit_events_soft_limit = 800; + + /** + * The backend gives priority to reading messages from the frontend queues and temporarily + * buffers them. + * + * If a frontend thread continuously push messages to the queue (e.g., logging in a loop), + * no logs can ever be processed. + * + * As the backend buffers messages, it can keep buffering indefinitely if the frontend + * threads keep pushing. + * + * This limit is the maximum size of the backend event buffer. When reached, the backend + * will stop reading the frontend queues until there is space available in the buffer. + * + * @note This number represents a limit PER frontend threads. + */ + size_t transit_events_hard_limit = 100'000; + + /** + * The backend iterates through all frontend lock-free queues and pops all messages from each + * queue. It then buffers and logs the message with the lowest timestamp among them. + * + * Each frontend lock-free queue corresponds to a thread, and when multiple frontend threads are + * pushing logs simultaneously, it is possible to read a timestamp from the last queue in the + * iteration but miss that timestamp when the first queue was read because it was not available at + * that time. + * + * When this option is set to a non-zero value, the backend takes a timestamp (`now()`) before + * reading the queues. It uses that timestamp to ensure that each log message's timestamp from the + * frontend queues is less than or equal to the stored `now()` timestamp minus the specified grace + * period, guaranteeing ordering by timestamp. + * + * Messages that fail the above check remain in the lock-free queue. They are checked again in the + * next iteration. The timestamp check is performed with microsecond precision. + * + * Example scenario: + * 1. Frontend thread takes a timestamp, then sleeps before pushing to the queue. + * 2. Backend thread takes timestamp `now()` and subtracts the grace period, reads queues up to + * the adjusted `now()`, and writes the logs. + * 3. Frontend thread wakes up and pushes to the queue. + * 4. Backend thread reads and writes the delayed timestamp, resulting in an out-of-order log. + * + * Setting this option to a non-zero value causes a minor delay in reading the messages from the + * lock-free queues but ensures correct timestamp order. + * + * Setting `log_timestamp_ordering_grace_period` to zero disables strict timestamp ordering. + */ + std::chrono::microseconds log_timestamp_ordering_grace_period{1}; + + /** + * When this option is enabled and the application is terminating, the backend worker thread + * will not exit until all the frontend queues are empty. + * + * However, if there is a thread during application destruction that keeps trying to log + * indefinitely, the backend will be unable to exit because it keeps popping log messages. + * + * When this option is disabled, the backend will try to read the queues once + * and then exit. Reading the queues only once means that some log messages can be dropped, + * especially when strict_log_timestamp_order is set to true. + */ + bool wait_for_queues_to_empty_before_exit = true; + + /** + * Pins the backend to the specified CPU. + * + * By default, the backend is not pinned to any CPU unless a value is specified. + * It is recommended to pin the backend to a shared non-critical CPU. + * Use `std::numeric_limits::max()` as an undefined value to avoid setting CPU affinity. + */ + uint16_t backend_cpu_affinity = (std::numeric_limits::max)(); + + /** + * The backend may encounter exceptions that cannot be caught within user threads. + * In such cases, the backend invokes this callback to notify the user. + * + * This function sets up a user error notifier to handle backend errors and notifications, + * such as when the unbounded queue reallocates or when the bounded queue becomes full. + * + * To disable notifications, simply leave the function undefined: + * std::function backend_error_notifier = {}; + * + * It's safe to perform logging operations within this function (e.g., LOG_INFO(...)), + * but avoid calling logger->flush_log(). The function is invoked on the backend thread, + * which should not remain in a waiting state as it waits for itself. + */ + std::function error_notifier = [](std::string const& error_message) + { +#if !defined(__MINGW32__) + std::fprintf(stderr, "%s\n", error_message.data()); +#else + // fprintf crashes on mingw gcc 13 for unknown reason + std::cerr << error_message.data() << "\n"; +#endif + }; + + /** + * This option is only applicable if at least one frontend is using a Logger with + * ClockSourceType::Tsc + * + * When the system clock is used, this option can be ignored. + * + * Controls the frequency at which the backend recalculates and syncs the internal RdtscClock + * with the system time from the system wall clock. + * The TSC clock can drift slightly over time and is not synchronized with NTP server updates. + * + * Smaller values provide more accurate log timestamps at the cost of additional system clock + * calls. Changing this value only affects the performance of the backend worker. + */ + std::chrono::milliseconds rdtsc_resync_interval = std::chrono::milliseconds{500}; +}; +} // namespace quill diff --git a/Dependencies/quill/quill/backend/BackendUtilities.h b/Dependencies/quill/quill/backend/BackendUtilities.h new file mode 100644 index 00000000..32f9b555 --- /dev/null +++ b/Dependencies/quill/quill/backend/BackendUtilities.h @@ -0,0 +1,152 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/core/Attributes.h" +#include "quill/core/QuillError.h" + +#include +#include +#include +#include + +#if defined(_WIN32) + #if !defined(WIN32_LEAN_AND_MEAN) + #define WIN32_LEAN_AND_MEAN + #endif + + #if !defined(NOMINMAX) + // Mingw already defines this, so no need to redefine + #define NOMINMAX + #endif + + #include + + #include "quill/core/ThreadUtilities.h" // for s2ws +#elif defined(__APPLE__) + #include + #include + #include + #include +#elif defined(__CYGWIN__) + #include + #include +#elif defined(__linux__) + #include + #include + #include +#elif defined(__NetBSD__) + #include + #include +#elif defined(__FreeBSD__) + #include + #include +#elif defined(__DragonFly__) + #include + #include +#else + #include + #include +#endif + +namespace quill::detail +{ +/***/ +QUILL_ATTRIBUTE_COLD inline void set_cpu_affinity(uint16_t cpu_id) +{ +#if defined(__CYGWIN__) + // setting cpu affinity on cygwin is not supported +#elif defined(_WIN32) + // core number starts from 0 + auto const mask = (static_cast(1) << cpu_id); + auto ret = SetThreadAffinityMask(GetCurrentThread(), mask); + if (ret == 0) + { + auto const last_error = std::error_code(GetLastError(), std::system_category()); + + QUILL_THROW( + QuillError{std::string{"Failed to set cpu affinity - errno: " + std::to_string(last_error.value()) + + " error: " + last_error.message()}}); + } +#elif defined(__APPLE__) + // I don't think that's possible to link a thread with a specific core with Mac OS X + // This may be used to express affinity relationships between threads in the task. + // Threads with the same affinity tag will be scheduled to share an L2 cache if possible. + thread_affinity_policy_data_t policy = {cpu_id}; + + // Get the mach thread bound to this thread + thread_port_t mach_thread = pthread_mach_thread_np(pthread_self()); + + thread_policy_set(mach_thread, THREAD_AFFINITY_POLICY, (thread_policy_t)&policy, 1); +#else + cpu_set_t cpuset; + CPU_ZERO(&cpuset); + CPU_SET(cpu_id, &cpuset); + + auto const err = sched_setaffinity(0, sizeof(cpuset), &cpuset); + + if (QUILL_UNLIKELY(err == -1)) + { + QUILL_THROW(QuillError{std::string{"Failed to set cpu affinity - errno: " + std::to_string(errno) + + " error: " + strerror(errno)}}); + } +#endif +} + +/***/ +QUILL_ATTRIBUTE_COLD inline void set_thread_name(char const* name) +{ +#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__) || defined(QUILL_NO_THREAD_NAME_SUPPORT) + // Disabled on MINGW / Cygwin. + (void)name; +#elif defined(_WIN32) + std::wstring name_ws = s2ws(name); + // Set the thread name + + typedef HRESULT(WINAPI * SetThreadDescriptionSignature)(HANDLE, PCWSTR); + HRESULT hr = callRunTimeDynamicLinkedFunction( + "KernelBase.dll", "SetThreadDescription", GetCurrentThread(), name_ws.data()); + + if (FAILED(hr)) + { + QUILL_THROW(QuillError{"Failed to set thread name"}); + } +#elif defined(__APPLE__) + // Apple + auto const res = pthread_setname_np(name); + if (res != 0) + { + QUILL_THROW(QuillError{std::string{"Failed to set thread name - errno: " + std::to_string(errno) + + " error: " + strerror(errno)}}); + } +#else + // linux + char truncated_name[16]; + std::strncpy(truncated_name, name, 15); + truncated_name[15] = '\0'; + + auto const res = pthread_setname_np(pthread_self(), name); + if (res != 0) + { + QUILL_THROW(QuillError{std::string{"Failed to set thread name - errno: " + std::to_string(errno) + + " error: " + strerror(errno)}}); + } +#endif +} + +/***/ +QUILL_NODISCARD QUILL_ATTRIBUTE_COLD inline uint32_t get_process_id() noexcept +{ +#if defined(__CYGWIN__) + // get pid on cygwin not supported + return 0; +#elif defined(_WIN32) + return static_cast(GetCurrentProcessId()); +#else + return static_cast(getpid()); +#endif +} +} // namespace quill::detail \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/BackendWorker.h b/Dependencies/quill/quill/backend/BackendWorker.h new file mode 100644 index 00000000..92a8d53b --- /dev/null +++ b/Dependencies/quill/quill/backend/BackendWorker.h @@ -0,0 +1,1303 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/BackendOptions.h" +#include "quill/backend/BackendUtilities.h" +#include "quill/backend/BacktraceStorage.h" +#include "quill/backend/PatternFormatter.h" +#include "quill/backend/RdtscClock.h" +#include "quill/backend/TimestampFormatter.h" +#include "quill/backend/TransitEvent.h" +#include "quill/backend/TransitEventBuffer.h" + +#include "quill/core/Attributes.h" +#include "quill/core/BoundedSPSCQueue.h" +#include "quill/core/Codec.h" +#include "quill/core/Common.h" +#include "quill/core/DynamicFormatArgStore.h" +#include "quill/core/FormatBuffer.h" +#include "quill/core/LogLevel.h" +#include "quill/core/LoggerBase.h" +#include "quill/core/LoggerManager.h" +#include "quill/core/MacroMetadata.h" +#include "quill/core/QuillError.h" +#include "quill/core/SinkManager.h" +#include "quill/core/ThreadContextManager.h" +#include "quill/core/ThreadUtilities.h" +#include "quill/core/TimeUtilities.h" +#include "quill/core/UnboundedSPSCQueue.h" +#include "quill/sinks/Sink.h" + +#include "quill/bundled/fmt/core.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace quill::detail +{ +class BackendWorker +{ +public: + /** + * Constructor + */ + BackendWorker() { _process_id = std::to_string(get_process_id()); } + + /** + * Deleted + */ + BackendWorker(BackendWorker const&) = delete; + BackendWorker& operator=(BackendWorker const&) = delete; + + /** + * Destructor + */ + ~BackendWorker() + { + // This destructor will run during static destruction as the thread is part of the singleton + stop(); + + RdtscClock const* rdtsc_clock{_rdtsc_clock.load()}; + _rdtsc_clock.store(nullptr); + delete rdtsc_clock; + } + + /***/ + QUILL_NODISCARD bool is_running() const noexcept + { + return _is_worker_running.load(std::memory_order_relaxed); + } + + /** + * Access the rdtsc class from any thread to convert an rdtsc value to wall time + */ + QUILL_NODISCARD uint64_t time_since_epoch(uint64_t rdtsc_value) const + { + if (QUILL_UNLIKELY(_options.sleep_duration > _options.rdtsc_resync_interval)) + { + QUILL_THROW( + QuillError{"Invalid config, When TSC clock is used backend_thread_sleep_duration should " + "not be higher than rdtsc_resync_interval"}); + } + + RdtscClock const* rdtsc_clock = _rdtsc_clock.load(std::memory_order_acquire); + return rdtsc_clock ? rdtsc_clock->time_since_epoch_safe(rdtsc_value) : 0; + } + + /** + * Get the backend worker's thread id + * @return the backend worker's thread id + */ + QUILL_NODISCARD uint32_t get_backend_thread_id() const noexcept + { + return _worker_thread_id.load(); + } + + /** + * Starts the backend worker thread + * @throws std::runtime_error, std::system_error on failures + */ + QUILL_ATTRIBUTE_COLD void run(BackendOptions const& options) + { + _options = options; + + std::thread worker( + [this]() + { + QUILL_TRY + { + if (_options.backend_cpu_affinity != (std::numeric_limits::max)()) + { + // Set cpu affinity if requested to cpu _backend_thread_cpu_affinity + set_cpu_affinity(_options.backend_cpu_affinity); + } + } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) { _options.error_notifier(e.what()); } + QUILL_CATCH_ALL() { _options.error_notifier(std::string{"Caught unhandled exception."}); } +#endif + + QUILL_TRY + { + // Set the thread name to the desired name + set_thread_name(_options.thread_name.data()); + } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) { _options.error_notifier(e.what()); } + QUILL_CATCH_ALL() { _options.error_notifier(std::string{"Caught unhandled exception."}); } +#endif + + // Cache this thread's id + _worker_thread_id.store(get_thread_id()); + + // Double check or modify some backend options before we start + if (_options.transit_events_hard_limit == 0) + { + // transit_events_hard_limit of 0 makes no sense as we can't process anything + _options.transit_events_hard_limit = 1; + } + + if (_options.transit_events_soft_limit == 0) + { + _options.transit_events_soft_limit = 1; + } + + // All okay, set the backend worker thread running flag + _is_worker_running.store(true); + + // Running + while (QUILL_LIKELY(_is_worker_running.load(std::memory_order_relaxed))) + { + // main loop + QUILL_TRY { _main_loop(); } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) { _options.error_notifier(e.what()); } + QUILL_CATCH_ALL() + { + _options.error_notifier(std::string{"Caught unhandled exception."}); + } // clang-format on +#endif + } + + // exit + QUILL_TRY { _exit(); } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) { _options.error_notifier(e.what()); } + QUILL_CATCH_ALL() + { + _options.error_notifier(std::string{"Caught unhandled exception."}); + } // clang-format on +#endif + }); + + // Move the worker ownership to our class + _worker_thread.swap(worker); + + while (!_is_worker_running.load(std::memory_order_seq_cst)) + { + // wait for the thread to start + std::this_thread::sleep_for(std::chrono::microseconds{100}); + } + } + + /** + * Stops the backend worker thread + */ + QUILL_ATTRIBUTE_COLD void stop() noexcept + { + // Stop the backend worker + if (!_is_worker_running.exchange(false)) + { + // already stopped + return; + } + + // signal wake up the backend worker thread + notify(); + + // Wait the backend thread to join, if backend thread was never started it won't be joinable + if (_worker_thread.joinable()) + { + _worker_thread.join(); + } + } + + /** + * Wakes up the backend worker thread. + * Thread safe to be called from any thread + */ + void notify() + { + // Set the flag to indicate that the data is ready + { + std::lock_guard lock{_wake_up_mutex}; + _wake_up_flag = true; + } + + // Signal the condition variable to wake up the worker thread + _wake_up_cv.notify_one(); + } + +private: + /** + * Backend worker thread main function + */ + QUILL_ATTRIBUTE_HOT void _main_loop() + { + // load all contexts locally + _update_active_thread_contexts_cache(); + + // Phase 1: + // Read all frontend queues and cache the log statements and the metadata as TransitEvents + size_t const cached_transit_events_count = _populate_transit_events_from_frontend_queues(); + + if (cached_transit_events_count > 0) + { + // there are cached events to process + if (cached_transit_events_count < _options.transit_events_soft_limit) + { + // process a single transit event, then give priority to reading the frontend queues again + _process_next_cached_transit_event(); + } + else + { + // we want to process a batch of events. + while (!has_pending_events_for_caching_when_transit_event_buffer_empty() && + _process_next_cached_transit_event()) + { + // We need to be cautious because there are log messages in the lock-free queues + // that have not yet been cached in the transit event buffer. Logging only the cached + // messages can result in out-of-order log entries, as messages with larger timestamps + // in the queue might be missed. + } + } + } + else + { + // No cached transit events to process, minimal thread workload. + + // force flush all remaining messages + _flush_and_run_active_sinks(true); + + // check for any dropped messages / blocked threads + _check_failure_counter(_options.error_notifier); + + // This is useful when BackendTscClock is used to keep it up to date + _resync_rdtsc_clock(); + + // Also check if all queues are empty + bool const queues_and_events_empty = _check_frontend_queues_and_cached_transit_events_empty(); + if (queues_and_events_empty) + { + _cleanup_invalidated_thread_contexts(); + _cleanup_invalidated_loggers(); + + // There is nothing left to do, and we can let this thread sleep for a while + // buffer events are 0 here and also all the producer queues are empty + if (_options.sleep_duration.count() != 0) + { + std::unique_lock lock{_wake_up_mutex}; + + // Wait for a timeout or a notification to wake up + _wake_up_cv.wait_for(lock, _options.sleep_duration, [this] { return _wake_up_flag; }); + + // set the flag back to false since we woke up here + _wake_up_flag = false; + + // After waking up resync rdtsc clock again and resume + _resync_rdtsc_clock(); + } + else if (_options.enable_yield_when_idle) + { + std::this_thread::yield(); + } + } + } + } + + /** + * Logging thread exit function that flushes everything after stop() is called + */ + QUILL_ATTRIBUTE_COLD void _exit() + { + while (true) + { + bool const queues_and_events_empty = (!_options.wait_for_queues_to_empty_before_exit) || + _check_frontend_queues_and_cached_transit_events_empty(); + + if (queues_and_events_empty) + { + // we are done, all queues are now empty + _check_failure_counter(_options.error_notifier); + _flush_and_run_active_sinks(false); + break; + } + + size_t const cached_transit_events_count = _populate_transit_events_from_frontend_queues(); + if (cached_transit_events_count > 0) + { + while (!has_pending_events_for_caching_when_transit_event_buffer_empty() && + _process_next_cached_transit_event()) + { + // We need to be cautious because there are log messages in the lock-free queues + // that have not yet been cached in the transit event buffer. Logging only the cached + // messages can result in out-of-order log entries, as messages with larger timestamps + // in the queue might be missed. + } + } + } + } + + /** + * Populates the local transit event buffer + */ + QUILL_ATTRIBUTE_HOT size_t _populate_transit_events_from_frontend_queues() + { + uint64_t const ts_now = _options.log_timestamp_ordering_grace_period.count() + ? static_cast((std::chrono::duration_cast( + std::chrono::system_clock::now().time_since_epoch()) - + _options.log_timestamp_ordering_grace_period) + .count()) + : std::numeric_limits::max(); + + size_t cached_transit_events_count{0}; + + for (ThreadContext* thread_context : _active_thread_contexts_cache) + { + assert(thread_context->has_unbounded_queue_type() || thread_context->has_bounded_queue_type()); + + if (thread_context->has_unbounded_queue_type()) + { + cached_transit_events_count += _read_and_decode_frontend_queue( + thread_context->get_spsc_queue_union().unbounded_spsc_queue, thread_context, ts_now); + } + else if (thread_context->has_bounded_queue_type()) + { + cached_transit_events_count += _read_and_decode_frontend_queue( + thread_context->get_spsc_queue_union().bounded_spsc_queue, thread_context, ts_now); + } + } + + return cached_transit_events_count; + } + + /** + * Deserialize messages from the raw SPSC queue + * @param frontend_queue queue + * @param thread_context thread context + * @param ts_now timestamp now + * @return size of the transit_event_buffer + */ + template + QUILL_ATTRIBUTE_HOT uint32_t _read_and_decode_frontend_queue(TFrontendQueue& frontend_queue, + ThreadContext* thread_context, uint64_t ts_now) + { + // Note: The producer commits only complete messages to the queue. + // Therefore, if even a single byte is present in the queue, it signifies a full message. + size_t const queue_capacity = frontend_queue.capacity(); + size_t total_bytes_read{0}; + + do + { + std::byte* read_pos; + + if constexpr (std::is_same_v) + { + read_pos = _read_unbounded_frontend_queue(frontend_queue, thread_context); + } + else + { + read_pos = frontend_queue.prepare_read(); + } + + if (!read_pos) + { + // Exit loop nothing to read + break; + } + + std::byte const* const read_begin = read_pos; + + if (!_populate_transit_event_from_frontend_queue(read_pos, thread_context, ts_now)) + { + // If _get_transit_event_from_queue returns false, stop reading + break; + } + + // Finish reading + assert((read_pos >= read_begin) && "read_buffer should be greater or equal to read_begin"); + auto const bytes_read = static_cast(read_pos - read_begin); + frontend_queue.finish_read(bytes_read); + total_bytes_read += bytes_read; + // Reads a maximum of one full frontend queue or the transit events' hard limit to prevent + // getting stuck on the same producer. + } while ((total_bytes_read < queue_capacity) && + (thread_context->_transit_event_buffer->size() < _options.transit_events_hard_limit)); + + if (total_bytes_read != 0) + { + // If we read something from the queue, we commit all the reads together at the end. + // This strategy enhances cache coherence performance by updating the shared atomic flag + // only once. + frontend_queue.commit_read(); + } + + return thread_context->_transit_event_buffer->size(); + } + + /***/ + QUILL_ATTRIBUTE_HOT bool _populate_transit_event_from_frontend_queue(std::byte*& read_pos, + ThreadContext* thread_context, + uint64_t ts_now) + { + assert(thread_context->_transit_event_buffer); + + // Allocate a new TransitEvent or use an existing one to store the message from the queue + TransitEvent* transit_event = thread_context->_transit_event_buffer->back(); + transit_event->thread_id = thread_context->thread_id(); + transit_event->thread_name = thread_context->thread_name(); + + std::memcpy(&transit_event->timestamp, read_pos, sizeof(transit_event->timestamp)); + read_pos += sizeof(transit_event->timestamp); + + std::memcpy(&transit_event->macro_metadata, read_pos, sizeof(transit_event->macro_metadata)); + read_pos += sizeof(transit_event->macro_metadata); + + std::memcpy(&transit_event->logger_base, read_pos, sizeof(transit_event->logger_base)); + read_pos += sizeof(transit_event->logger_base); + + std::memcpy(&transit_event->format_args_decoder, read_pos, sizeof(transit_event->format_args_decoder)); + read_pos += sizeof(transit_event->format_args_decoder); + + // Look up to see if we have the formatter and if not create it + if (!transit_event->logger_base->pattern_formatter) + { + // Search for an existing pattern_formatter in each logger + _logger_manager.for_each_logger( + [transit_event](LoggerBase* logger) + { + if (logger->pattern_formatter && + (logger->pattern_formatter->format_pattern() == transit_event->logger_base->format_pattern) && + (logger->pattern_formatter->timestamp_formatter().time_format() == + transit_event->logger_base->time_pattern) && + (logger->pattern_formatter->timestamp_formatter().timestamp_timezone() == + transit_event->logger_base->timezone)) + { + // hold a copy of the shared_ptr of the same formatter + transit_event->logger_base->pattern_formatter = logger->pattern_formatter; + return true; + } + + return false; + }); + + if (!transit_event->logger_base->pattern_formatter) + { + // Didn't find an existing formatter need to create a new pattern formatter + transit_event->logger_base->pattern_formatter = std::make_shared( + transit_event->logger_base->format_pattern, transit_event->logger_base->time_pattern, + transit_event->logger_base->timezone); + } + } + + assert(transit_event->logger_base->pattern_formatter && + "transit_event->logger_base->pattern_formatter should be valid here"); + + if (transit_event->logger_base->clock_source == ClockSourceType::Tsc) + { + // If using the rdtsc clock, convert the value to nanoseconds since epoch. + // This conversion ensures that every transit inserted in the buffer below has a timestamp in + // nanoseconds since epoch, allowing compatibility with Logger objects using different clocks. + if (!_rdtsc_clock.load(std::memory_order_relaxed)) + { + // Lazy initialization of rdtsc clock on the backend thread only if the user decides to use + // it. The clock requires a few seconds to init as it is taking samples first. + _rdtsc_clock.store(new RdtscClock{_options.rdtsc_resync_interval}, std::memory_order_release); + _last_rdtsc_resync_time = std::chrono::system_clock::now(); + } + + // Convert the rdtsc value to nanoseconds since epoch. + transit_event->timestamp = + _rdtsc_clock.load(std::memory_order_relaxed)->time_since_epoch(transit_event->timestamp); + } + + // Check if strict log timestamp order is enabled and the clock source is not User. + if (transit_event->logger_base->clock_source != ClockSourceType::User) + { + // We skip checking against `ts_now` for custom timestamps by the user + +#ifndef NDEBUG + // Check the timestmaps we are comparign have the same digits + auto count_digits = [](uint64_t number) + { + uint32_t digits = 0; + do + { + digits++; + number /= 10; + } while (number != 0); + return digits; + }; + + assert(count_digits(transit_event->timestamp) == count_digits(ts_now)); +#endif + + // Ensure the message timestamp is not greater than ts_now. + if (QUILL_UNLIKELY(transit_event->timestamp > ts_now)) + { + // If the message timestamp is ahead of the current time, temporarily halt processing. + // This guarantees the integrity of message order and avoids missed messages. + // We halt processing here to avoid introducing out-of-sequence messages. + // This scenario prevents potential race conditions where timestamps from + // the last queue could overwrite those from the first queue before they are included. + // We return at this point without adding the current event to the buffer. + return false; + } + } + + // we need to check and do not try to format the flush events as that wouldn't be valid + if (transit_event->macro_metadata->event() != MacroMetadata::Event::Flush) + { + transit_event->format_args_decoder(read_pos, _format_args_store); + + if (!transit_event->macro_metadata->has_named_args()) + { + _populate_formatted_log_message(transit_event, transit_event->macro_metadata->message_format()); + } + else + { + // using the message_format as key for lookups + _named_args_format_template.assign(transit_event->macro_metadata->message_format()); + + if (auto const search = _named_args_templates.find(_named_args_format_template); + search != std::cend(_named_args_templates)) + { + // process named args message when we already have parsed the format message once, + // and we have the names of each arg cached + auto const& [message_format, arg_names] = search->second; + + _populate_formatted_log_message(transit_event, message_format.data()); + _populate_formatted_named_args(transit_event, arg_names); + } + else + { + // process named args log when the message format is processed for the first time + // parse name of each arg and stored them to our lookup map + auto const [res_it, inserted] = _named_args_templates.try_emplace( + _named_args_format_template, + _process_named_args_format_message(transit_event->macro_metadata->message_format())); + + auto const& [message_format, arg_names] = res_it->second; + + // suppress unused warnings + (void)inserted; + + _populate_formatted_log_message(transit_event, message_format.data()); + _populate_formatted_named_args(transit_event, arg_names); + } + } + } + else + { + // if this is a flush event then we do not need to format anything for the + // transit_event, but we need to set the transit event's flush_flag pointer instead + uintptr_t flush_flag_tmp; + std::memcpy(&flush_flag_tmp, read_pos, sizeof(uintptr_t)); + transit_event->flush_flag = reinterpret_cast*>(flush_flag_tmp); + read_pos += sizeof(uintptr_t); + } + + if (transit_event->macro_metadata->log_level() == LogLevel::Dynamic) + { + // if this is a dynamic log level we need to read the log level from the buffer + std::memcpy(&transit_event->dynamic_log_level, read_pos, sizeof(transit_event->dynamic_log_level)); + read_pos += sizeof(transit_event->dynamic_log_level); + } + else + { + // Important: if a dynamic log level is not being used, then this must + // not have a value, otherwise the wrong log level may be used later. + // We can't assume that this member (or any member of TransitEvent) has + // its default value because TransitEvents may be reused. + transit_event->dynamic_log_level = LogLevel::None; + } + + // commit this transit event + thread_context->_transit_event_buffer->push_back(); + + return true; + } + + /** + * Checks if there are pending events for caching based on the state of transit event buffers and queues. + * @return True if there are pending events for caching when the _transit_event_buffer is empty, false otherwise. + */ + QUILL_ATTRIBUTE_HOT bool has_pending_events_for_caching_when_transit_event_buffer_empty() noexcept + { + _update_active_thread_contexts_cache(); + + for (ThreadContext* thread_context : _active_thread_contexts_cache) + { + if (!thread_context->_transit_event_buffer || thread_context->_transit_event_buffer->empty()) + { + // if there is no _transit_event_buffer yet then check only the queue + if (thread_context->has_unbounded_queue_type() && + !thread_context->get_spsc_queue_union().unbounded_spsc_queue.empty()) + { + return true; + } + else if (thread_context->has_bounded_queue_type() && + !thread_context->get_spsc_queue_union().bounded_spsc_queue.empty()) + { + return true; + } + } + } + + return false; + } + + /** + * Processes the cached transit event with the minimum timestamp + */ + QUILL_ATTRIBUTE_HOT bool _process_next_cached_transit_event() + { + // Get the lowest timestamp + uint64_t min_ts{std::numeric_limits::max()}; + UnboundedTransitEventBuffer* transit_buffer{nullptr}; + + for (ThreadContext* thread_context : _active_thread_contexts_cache) + { + if (thread_context->_transit_event_buffer) + { + if (TransitEvent const* te = thread_context->_transit_event_buffer->front(); te && (min_ts > te->timestamp)) + { + min_ts = te->timestamp; + transit_buffer = thread_context->_transit_event_buffer.get(); + } + } + } + + if (!transit_buffer) + { + // all buffers are empty + // return false, meaning we processed a message + return false; + } + + TransitEvent* transit_event = transit_buffer->front(); + assert(transit_event && "transit_buffer is set only when transit_event is valid"); + + QUILL_TRY { _process_cached_transit_event(*transit_event); } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) { _options.error_notifier(e.what()); } + QUILL_CATCH_ALL() + { + _options.error_notifier(std::string{"Caught unhandled exception."}); + } // clang-format on +#endif + + // Remove this event and move to the next. + transit_buffer->pop_front(); + + return true; + } + + /** + * Process a single transit event + */ + QUILL_ATTRIBUTE_HOT void _process_cached_transit_event(TransitEvent& transit_event) + { + // If backend_process(...) throws we want to skip this event and move to the next, so we catch + // the error here instead of catching it in the parent try/catch block of main_loop + if (transit_event.macro_metadata->event() == MacroMetadata::Event::Log) + { + if (transit_event.log_level() != LogLevel::Backtrace) + { + _write_transit_event_to_sinks(transit_event); + + // We also need to check the severity of the log message here against the backtrace + // Check if we should also flush the backtrace messages: + // After we forwarded the message we will check the severity of this message for this logger + // If the severity of the message is higher than the backtrace flush severity we will also + // flush the backtrace of the logger + if (QUILL_UNLIKELY(transit_event.log_level() >= + transit_event.logger_base->backtrace_flush_level.load(std::memory_order_relaxed))) + { + if (transit_event.logger_base->backtrace_storage) + { + transit_event.logger_base->backtrace_storage->process( + [this](TransitEvent const& te) { _write_transit_event_to_sinks(te); }); + } + } + } + else + { + if (transit_event.logger_base->backtrace_storage) + { + // this is a backtrace log and we will store it + transit_event.logger_base->backtrace_storage->store(std::move(transit_event)); + } + else + { + QUILL_THROW( + QuillError{"logger->init_backtrace(...) needs to be called first before using " + "LOG_BACKTRACE(...)."}); + } + } + } + else if (transit_event.macro_metadata->event() == MacroMetadata::Event::InitBacktrace) + { + // we can just convert the capacity back to int here and use it + if (!transit_event.logger_base->backtrace_storage) + { + // Lazy BacktraceStorage creation + transit_event.logger_base->backtrace_storage = std::make_shared(); + } + + transit_event.logger_base->backtrace_storage->set_capacity(static_cast(std::stoul( + std::string{transit_event.formatted_msg.begin(), transit_event.formatted_msg.end()}))); + } + else if (transit_event.macro_metadata->event() == MacroMetadata::Event::FlushBacktrace) + { + if (transit_event.logger_base->backtrace_storage) + { + // process all records in backtrace for this logger and log them + transit_event.logger_base->backtrace_storage->process([this](TransitEvent const& te) + { _write_transit_event_to_sinks(te); }); + } + } + else if (transit_event.macro_metadata->event() == MacroMetadata::Event::Flush) + { + _flush_and_run_active_sinks(false); + + // this is a flush event, so we need to notify the caller to continue now + transit_event.flush_flag->store(true); + + // we also need to reset the flush_flag as the TransitEvents are re-used + transit_event.flush_flag = nullptr; + } + } + + /** + * Write a transit event + */ + QUILL_ATTRIBUTE_HOT void _write_transit_event_to_sinks(TransitEvent const& transit_event) const + { + std::string_view const formatted_log_message = transit_event.logger_base->pattern_formatter->format( + transit_event.timestamp, transit_event.thread_id, transit_event.thread_name, _process_id, + transit_event.logger_base->logger_name, loglevel_to_string(transit_event.log_level()), + *transit_event.macro_metadata, transit_event.named_args.get(), + std::string_view{transit_event.formatted_msg.data(), transit_event.formatted_msg.size()}); + + for (auto& sink : transit_event.logger_base->sinks) + { + // If all filters are okay we write this message to the file + if (sink->apply_all_filters(transit_event.macro_metadata, transit_event.timestamp, + transit_event.thread_id, transit_event.thread_name, + transit_event.logger_base->logger_name, transit_event.log_level(), + formatted_log_message)) + { + sink->write_log_message(transit_event.macro_metadata, transit_event.timestamp, + transit_event.thread_id, transit_event.thread_name, + transit_event.logger_base->logger_name, transit_event.log_level(), + transit_event.named_args.get(), formatted_log_message); + } + } + } + + /** + * Check for dropped messages - only when bounded queue is used + * @param error_notifier error notifier + */ + QUILL_ATTRIBUTE_HOT void _check_failure_counter(std::function const& error_notifier) noexcept + { + // UnboundedNoMaxLimit does not block or drop messages + for (ThreadContext* thread_context : _active_thread_contexts_cache) + { + if (thread_context->has_bounded_queue_type()) + { + size_t const failed_messages_cnt = thread_context->get_and_reset_failure_counter(); + + if (QUILL_UNLIKELY(failed_messages_cnt > 0)) + { + char timestamp[24]; + time_t now = time(nullptr); + tm local_time; + localtime_rs(&now, &local_time); + strftime(timestamp, sizeof(timestamp), "%X", &local_time); + + if (thread_context->has_dropping_queue()) + { + error_notifier(fmtquill::format("{} Quill INFO: Dropped {} log messages from thread {}", + timestamp, failed_messages_cnt, thread_context->thread_id())); + } + else if (thread_context->has_blocking_queue()) + { + error_notifier( + fmtquill::format("{} Quill INFO: Experienced {} blocking occurrences on thread {}", + timestamp, failed_messages_cnt, thread_context->thread_id())); + } + } + } + } + } + + /** + * Process the format of a log message that contains named args + * @param fmt_template a log message containing named arguments + * @return first: fmt string without the named arguments, second: a vector extracted keys + */ + QUILL_ATTRIBUTE_HOT static std::pair> _process_named_args_format_message( + std::string_view fmt_template) noexcept + { + // It would be nice to do this at compile time and store it in macro metadata, but without + // constexpr vector and string in c++17 it is not possible + std::string fmt_str; + std::vector keys; + + size_t cur_pos = 0; + + size_t open_bracket_pos = fmt_template.find_first_of('{'); + while (open_bracket_pos != std::string::npos) + { + // found an open bracket + if (size_t const open_bracket_2_pos = fmt_template.find_first_of('{', open_bracket_pos + 1); + open_bracket_2_pos != std::string::npos) + { + // found another open bracket + if ((open_bracket_2_pos - 1) == open_bracket_pos) + { + open_bracket_pos = fmt_template.find_first_of('{', open_bracket_2_pos + 1); + continue; + } + } + + // look for the next close bracket + size_t close_bracket_pos = fmt_template.find_first_of('}', open_bracket_pos + 1); + while (close_bracket_pos != std::string::npos) + { + // found closed bracket + if (size_t const close_bracket_2_pos = fmt_template.find_first_of('}', close_bracket_pos + 1); + close_bracket_2_pos != std::string::npos) + { + // found another open bracket + if ((close_bracket_2_pos - 1) == close_bracket_pos) + { + close_bracket_pos = fmt_template.find_first_of('}', close_bracket_2_pos + 1); + continue; + } + } + + // construct a fmt string excluding the characters inside the brackets { } + fmt_str += std::string{fmt_template.substr(cur_pos, open_bracket_pos - cur_pos)} + "{}"; + cur_pos = close_bracket_pos + 1; + + // also add the keys to the vector + keys.emplace_back(fmt_template.substr(open_bracket_pos + 1, (close_bracket_pos - open_bracket_pos - 1))); + + break; + } + + open_bracket_pos = fmt_template.find_first_of('{', close_bracket_pos); + } + + // add anything remaining after the last bracket + fmt_str += std::string{fmt_template.substr(cur_pos, fmt_template.length() - cur_pos)}; + return std::make_pair(fmt_str, keys); + } + + /** + * Helper function to read the unbounded queue and also report the allocation + * @param frontend_queue queue + * @param thread_context thread context + * @return start position of read + */ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT std::byte* _read_unbounded_frontend_queue(UnboundedSPSCQueue& frontend_queue, + ThreadContext* thread_context) const + { + auto const read_result = frontend_queue.prepare_read(); + + if (read_result.allocation) + { + // When allocation_info has a value it means that the queue has re-allocated + if (_options.error_notifier) + { + char ts[24]; + time_t t = time(nullptr); + tm p; + localtime_rs(std::addressof(t), std::addressof(p)); + strftime(ts, 24, "%X", std::addressof(p)); + + // we switched to a new here, and we also notify the user of the allocation via the + // error_notifier + _options.error_notifier(fmtquill::format( + "{} Quill INFO: A new SPSC queue has been allocated with a new capacity of {} bytes and " + "a previous capacity of {} bytes from thread {}", + ts, read_result.new_capacity, read_result.previous_capacity, thread_context->thread_id())); + } + } + + return read_result.read_pos; + } + + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT bool _check_frontend_queues_and_cached_transit_events_empty() + { + _update_active_thread_contexts_cache(); + + bool all_empty{true}; + + for (ThreadContext* thread_context : _active_thread_contexts_cache) + { + assert(thread_context->has_unbounded_queue_type() || thread_context->has_bounded_queue_type()); + + if (thread_context->has_unbounded_queue_type()) + { + all_empty &= thread_context->get_spsc_queue_union().unbounded_spsc_queue.empty(); + } + else if (thread_context->has_bounded_queue_type()) + { + all_empty &= thread_context->get_spsc_queue_union().bounded_spsc_queue.empty(); + } + + if (thread_context->_transit_event_buffer) + { + all_empty &= thread_context->_transit_event_buffer->empty(); + } + } + + return all_empty; + } + + /** + * Resyncs the rdtsc clock + */ + QUILL_ATTRIBUTE_HOT void _resync_rdtsc_clock() + { + if (_rdtsc_clock.load(std::memory_order_relaxed)) + { + // resync in rdtsc if we are not logging so that time_since_epoch() still works + + if (auto const now = std::chrono::system_clock::now(); + (now - _last_rdtsc_resync_time) > _options.rdtsc_resync_interval) + { + if (_rdtsc_clock.load(std::memory_order_relaxed)->resync(2500)) + { + _last_rdtsc_resync_time = now; + } + } + } + } + + /***/ + QUILL_ATTRIBUTE_HOT void _flush_and_run_active_sinks(bool run_periodic_tasks) + { + // Populate the active sinks cache with unique sinks, consider only the valid loggers + _logger_manager.for_each_logger( + [this](LoggerBase* logger) + { + if (logger->is_valid_logger()) + { + for (std::shared_ptr const& sink : logger->sinks) + { + Sink* logger_sink_ptr = sink.get(); + auto search_it = std::find_if(_active_sinks_cache.begin(), _active_sinks_cache.end(), + [logger_sink_ptr](Sink* elem) + { + // no one else can remove the shared pointer as this is + // only running on backend thread + return elem == logger_sink_ptr; + }); + + if (search_it == std::end(_active_sinks_cache)) + { + _active_sinks_cache.push_back(logger_sink_ptr); + } + } + } + + // return false to never end the loop early + return false; + }); + + for (auto const& sink : _active_sinks_cache) + { + QUILL_TRY + { + // If an exception is thrown, catch it here to prevent it from propagating + // to the outer function. This prevents potential infinite loops caused by failing + // flush operations. + sink->flush_sink(); + } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) { _options.error_notifier(e.what()); } + QUILL_CATCH_ALL() { _options.error_notifier(std::string{"Caught unhandled exception."}); } +#endif + + if (run_periodic_tasks) + { + sink->run_periodic_tasks(); + } + } + + _active_sinks_cache.clear(); + } + + /** + * Reloads the thread contexts in our local cache. + */ + QUILL_ATTRIBUTE_HOT void _update_active_thread_contexts_cache() + { + // Check if _thread_contexts has changed. This can happen only when a new thread context is added by any Logger + if (QUILL_UNLIKELY(_thread_context_manager.new_thread_context_flag())) + { + _active_thread_contexts_cache.clear(); + _thread_context_manager.for_each_thread_context( + [this](ThreadContext* thread_context) + { + if (!thread_context->_transit_event_buffer) + { + // Lazy initialise the _transit_event_buffer for this thread_context + thread_context->_transit_event_buffer = + std::make_shared(_options.transit_event_buffer_initial_capacity); + } + + // We do not skip invalidated && empty queue thread contexts as this is very rare, + // so instead we just add them and expect them to be cleaned in the next iteration + _active_thread_contexts_cache.push_back(thread_context); + }); + } + } + + /** + * Looks into the _thread_context_cache and removes all thread contexts that are 1) invalidated + * and 2) have an empty frontend queue and no cached transit events to process + * + * @note Only called by the backend thread + */ + QUILL_ATTRIBUTE_HOT void _cleanup_invalidated_thread_contexts() + { + if (!_thread_context_manager.has_invalid_thread_context()) + { + return; + } + + auto find_invalid_and_empty_thread_context_callback = [](ThreadContext* thread_context) + { + // If the thread context is invalid it means the thread that created it has now died. + // We also want to empty the queue from all LogRecords before removing the thread context + if (!thread_context->is_valid_context()) + { + bool empty_frontend_queue{false}; + + assert(thread_context->has_unbounded_queue_type() || thread_context->has_bounded_queue_type()); + + // detect empty queue + if (thread_context->has_unbounded_queue_type()) + { + empty_frontend_queue = thread_context->get_spsc_queue_union().unbounded_spsc_queue.empty(); + } + else if (thread_context->has_bounded_queue_type()) + { + empty_frontend_queue = thread_context->get_spsc_queue_union().bounded_spsc_queue.empty(); + } + + if (empty_frontend_queue) + { + if (thread_context->_transit_event_buffer) + { + if (thread_context->_transit_event_buffer->empty()) + { + return true; + } + } + else + { + // if _transit_event_buffer is not used, checking for the empty queue is enough + return true; + } + } + } + + return false; + }; + + // First we iterate our existing cache and we look for any invalidated contexts + auto found_invalid_and_empty_thread_context = + std::find_if(_active_thread_contexts_cache.begin(), _active_thread_contexts_cache.end(), + find_invalid_and_empty_thread_context_callback); + + while (QUILL_UNLIKELY(found_invalid_and_empty_thread_context != std::end(_active_thread_contexts_cache))) + { + // if we found anything then remove it - Here if we have more than one to remove we will + // try to acquire the lock multiple times, but it should be fine as it is unlikely to have + // that many to remove + _thread_context_manager.remove_shared_invalidated_thread_context(*found_invalid_and_empty_thread_context); + + // We also need to remove it from _thread_context_cache, that is used only by the backend + _active_thread_contexts_cache.erase(found_invalid_and_empty_thread_context); + + // And then look again + found_invalid_and_empty_thread_context = + std::find_if(_active_thread_contexts_cache.begin(), _active_thread_contexts_cache.end(), + find_invalid_and_empty_thread_context_callback); + } + } + + /** + * Cleans up any invalidated loggers + */ + QUILL_ATTRIBUTE_HOT void _cleanup_invalidated_loggers() + { + // since there are no messages we can check for invalidated loggers and clean them up + std::vector const removed_loggers = _logger_manager.cleanup_invalidated_loggers( + [this]() + { + // check the queues are empty each time before removing a logger to avoid + // potential race condition of the logger* still being in the queue + return _check_frontend_queues_and_cached_transit_events_empty(); + }); + + if (!removed_loggers.empty()) + { + // if loggers were removed also check for sinks to remove + // cleanup_unused_sinks is expensive and should be only called when it is needed + _sink_manager.cleanup_unused_sinks(); + } + } + + /** + * This function takes an `arg_store` containing multiple arguments and formats them into + * a single string using a generated format string. Due to limitations in the ability to + * iterate and format each argument individually in libfmt, this approach is used. + * After formatting, the string is split to isolate each formatted value. + */ + static void _format_and_split_arguments(std::vector>& named_args, + DynamicFormatArgStore const& arg_store) + { + // Generate a format string + std::string format_string; + static constexpr std::string_view delimiter{"\x01\x02\x03"}; + + for (size_t i = 0; i < named_args.size(); ++i) + { + format_string += "{}"; + if (i < named_args.size() - 1) + { + format_string += delimiter; + } + } + + // Format all values to a single string + std::string formatted_values_str; + fmtquill::vformat_to( + std::back_inserter(formatted_values_str), format_string, + fmtquill::basic_format_args{arg_store.get_types(), arg_store.data()}); + + // Split the formatted_values to isolate each value + size_t start = 0; + size_t end = 0; + size_t idx = 0; + + while ((end = formatted_values_str.find(delimiter, start)) != std::string::npos) + { + if (idx < named_args.size()) + { + named_args[idx++].second = formatted_values_str.substr(start, end - start); + } + start = end + delimiter.length(); + } + + if (idx < named_args.size()) + { + named_args[idx].second = formatted_values_str.substr(start); + } + } + + void _populate_formatted_named_args(TransitEvent* transit_event, std::vector const& arg_names) + { + if (!transit_event->named_args) + { + // named arg logs, we lazy initialise the named args buffer + transit_event->named_args = std::make_unique>>(); + } + else + { + transit_event->named_args->clear(); + } + + transit_event->named_args->resize(arg_names.size()); + + // We first populate the arg names in the transit buffer + for (size_t i = 0; i < arg_names.size(); ++i) + { + (*transit_event->named_args)[i].first = arg_names[i]; + } + + // Then populate all the values of each arg + QUILL_TRY { _format_and_split_arguments(*transit_event->named_args, _format_args_store); } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const&) + { + // This catch block simply catches the exception. + // Since the error has already been handled in _populate_formatted_log_message, + // there is no additional action required here. + } +#endif + } + + QUILL_ATTRIBUTE_HOT void _populate_formatted_log_message(TransitEvent* transit_event, char const* message_format) + { + transit_event->formatted_msg.clear(); + + QUILL_TRY + { + fmtquill::vformat_to(std::back_inserter(transit_event->formatted_msg), message_format, + fmtquill::basic_format_args{ + _format_args_store.get_types(), _format_args_store.data()}); + } +#if !defined(QUILL_NO_EXCEPTIONS) + QUILL_CATCH(std::exception const& e) + { + transit_event->formatted_msg.clear(); + std::string const error = fmtquill::format( + "[Could not format log statement. message: \"{}\", location: \"{}\", error: \"{}\"]", + transit_event->macro_metadata->message_format(), + transit_event->macro_metadata->short_source_location(), e.what()); + + transit_event->formatted_msg.append(error); + _options.error_notifier(error); + } +#endif + } + +private: + ThreadContextManager& _thread_context_manager = ThreadContextManager::instance(); + SinkManager& _sink_manager = SinkManager::instance(); + LoggerManager& _logger_manager = LoggerManager::instance(); + BackendOptions _options; + std::thread _worker_thread; + + DynamicFormatArgStore _format_args_store; /** Format args tmp storage as member to avoid reallocation */ + std::vector _active_thread_contexts_cache; + std::vector _active_sinks_cache; /** Member to avoid re-allocating **/ + std::unordered_map>> _named_args_templates; /** Avoid re-formating the same named args log template each time */ + + std::string _named_args_format_template; /** to avoid allocation each time **/ + std::string _process_id; /** Id of the current running process **/ + std::chrono::system_clock::time_point _last_rdtsc_resync_time; + std::atomic _worker_thread_id{0}; /** cached backend worker thread id */ + std::atomic _is_worker_running{false}; /** The spawned backend thread status */ + + alignas(CACHE_LINE_ALIGNED) std::atomic _rdtsc_clock{ + nullptr}; /** rdtsc clock if enabled, can be accessed by any thread **/ + alignas(CACHE_LINE_ALIGNED) std::mutex _wake_up_mutex; + std::condition_variable _wake_up_cv; + bool _wake_up_flag{false}; +}; +} // namespace quill::detail diff --git a/Dependencies/quill/quill/backend/BacktraceStorage.h b/Dependencies/quill/quill/backend/BacktraceStorage.h new file mode 100644 index 00000000..fc8adc6d --- /dev/null +++ b/Dependencies/quill/quill/backend/BacktraceStorage.h @@ -0,0 +1,136 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/TransitEvent.h" +#include "quill/core/Attributes.h" +#include "quill/core/LoggerBase.h" +#include "quill/core/QuillError.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace quill::detail +{ +/** + * Stores N max messages per logger name in a vector. + * For simplicity this class is used ONLY by the backend worker thread. + * We push to the queue a BacktraceCommand event to communicate this from the frontend caller threads + */ +class BacktraceStorage +{ +public: + BacktraceStorage() = default; + + /***/ + void store(TransitEvent transit_event) + { + if (_stored_events.size() < _capacity) + { + // We are still growing the vector to max capacity + auto& emplaced = + _stored_events.emplace_back(std::string{transit_event.thread_name}, + std::string{transit_event.thread_id}, std::move(transit_event)); + + // we want to point the transit event objects to ours because they can point to invalid memory + // if the thread is destructed + emplaced.transit_event.thread_name = emplaced.thread_name; + emplaced.transit_event.thread_id = emplaced.thread_id; + } + else + { + // Store the object in the vector, replacing the previous + StoredTransitEvent& ste = _stored_events[_index]; + + ste = StoredTransitEvent{std::string{transit_event.thread_name}, + std::string{transit_event.thread_id}, std::move(transit_event)}; + + // we want to point the transit event objects to ours because they can point to invalid memory + // if the thread is destructed + ste.transit_event.thread_name = ste.thread_name; + ste.transit_event.thread_id = ste.thread_id; + + // Update the index wrapping around the vector capacity + if (_index < _capacity - 1) + { + _index += 1; + } + else + { + _index = 0; + } + } + } + + /***/ + void process(std::function const& callback) + { + // we found stored messages for this logger + uint32_t index = _index; + + // Iterate retrieved records in order from first message using index + for (uint32_t i = 0; i < _stored_events.size(); ++i) + { + // Give to the user callback the thread id and the RecordBase pointer + callback(_stored_events[index].transit_event); + + // We wrap around to iterate all messages + if (index < _stored_events.size() - 1) + { + index += 1; + } + else + { + index = 0; + } + } + + // finally clean all messages + _stored_events.clear(); + } + + /***/ + void set_capacity(uint32_t capacity) + { + if (_capacity != capacity) + { + _capacity = capacity; + _index = 0; + _stored_events.clear(); + _stored_events.reserve(_capacity); + } + } + +private: + struct StoredTransitEvent + { + StoredTransitEvent(std::string thread_name, std::string thread_id, TransitEvent transit_event) + : thread_name(std::move(thread_name)), + thread_id(std::move(thread_id)), + transit_event(std::move(transit_event)) + { + } + + /** + * We use this to take o copy of some objects that are out of space when a thread finishes but + * the transit events are still in the buffer + */ + std::string thread_name; + std::string thread_id; + TransitEvent transit_event; + }; + +private: + uint32_t _capacity{0}; + uint32_t _index{0}; + std::vector _stored_events; +}; +} // namespace quill::detail \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/PatternFormatter.h b/Dependencies/quill/quill/backend/PatternFormatter.h new file mode 100644 index 00000000..adc242c5 --- /dev/null +++ b/Dependencies/quill/quill/backend/PatternFormatter.h @@ -0,0 +1,509 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/TimestampFormatter.h" +#include "quill/bundled/fmt/core.h" +#include "quill/bundled/fmt/format.h" +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" +#include "quill/core/FormatBuffer.h" +#include "quill/core/MacroMetadata.h" +#include "quill/core/QuillError.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace quill +{ +class PatternFormatter +{ + /** Public classes **/ +public: + /** + * Stores the precision of the timestamp + */ + enum class TimestampPrecision : uint8_t + { + None, + MilliSeconds, + MicroSeconds, + NanoSeconds + }; + + enum Attribute : uint8_t + { + Time = 0, + FileName, + CallerFunction, + LogLevel, + LogLevelId, + LineNumber, + Logger, + FullPath, + ThreadId, + ThreadName, + ProcessId, + SourceLocation, + ShortSourceLocation, + Message, + Tags, + NamedArgs, + ATTR_NR_ITEMS + }; + + /** Main PatternFormatter class **/ +public: + /** + * Constructor for a PatterFormatter with a custom format + * @param format_pattern format_pattern a format string. + * + * The following attribute names can be used with the corresponding placeholder in a %-style format string. + * @note: The same attribute can not be used twice in the same format pattern + * + * %(time) - Human-readable timestamp representing when the log statement was created. + * %(file_name) - Name of the source file where the logging call was issued. + * %(full_path) - Full path of the source file where the logging call was issued. + * %(caller_function) - Name of the function containing the logging call. + * %(log_level) - Textual representation of the logging level for the message. + * %(log_level_id) - Single-letter identifier representing the logging level. + * %(line_number) - Line number in the source file where the logging call was issued. + * %(logger) - Name of the logger used to log the call. + * %(message) - The logged message itself. + * %(thread_id) - ID of the thread in which the logging call was made. + * %(thread_name) - Name of the thread. Must be set before the first log statement on that thread. + * %(process_id) - ID of the process in which the logging call was made. + * %(source_location) - Full source file path and line number as a single string. + * %(short_source_location) - Shortened source file name and line number as a single string. + * %(tags) - Additional custom tags appended to the message when _WITH_TAGS macros are used. + * %(named_args) - Key-value pairs appended to the message. Only applicable when the message has named args; remains empty otherwise. + * + * @param time_format The format of the date. Same as strftime() format with extra specifiers `%Qms` `%Qus` `Qns` + * @param timestamp_timezone The timezone of the timestamp, local_time or gmt_time + * + * @throws on invalid format string + */ + explicit PatternFormatter( + std::string format_pattern = + "%(time) [%(thread_id)] %(short_source_location:<28) LOG_%(log_level:<9) " + "%(logger:<12) %(message)", + std::string const& time_format = "%H:%M:%S.%Qns", Timezone timestamp_timezone = Timezone::LocalTime) + : _format_pattern(std::move(format_pattern)), _timestamp_formatter(time_format, timestamp_timezone) + { + _set_pattern(); + } + + PatternFormatter(PatternFormatter const& other) = delete; + PatternFormatter(PatternFormatter&& other) noexcept = delete; + PatternFormatter& operator=(PatternFormatter const& other) = delete; + PatternFormatter& operator=(PatternFormatter&& other) noexcept = delete; + + /** + * Destructor + */ + ~PatternFormatter() = default; + + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT std::string_view format( + uint64_t timestamp, std::string_view thread_id, std::string_view thread_name, std::string_view process_id, + std::string_view logger, std::string_view log_level, MacroMetadata const& log_statement_metadata, + std::vector> const* named_args, std::string_view log_msg) + { + if (_format_pattern.empty()) + { + // No formatting is needed when the format pattern is empty. + // For example, in JsonFileSink, we can retrieve the MacroMetadata and the named arguments as + // key-value pairs, but we do not need to format the log statement. + return std::string_view{}; + } + + // clear out existing buffer + _formatted_log_message_buffer.clear(); + + if (_is_set_in_pattern[Attribute::Time]) + { + _set_arg_val(_timestamp_formatter.format_timestamp(std::chrono::nanoseconds{timestamp})); + } + + if (_is_set_in_pattern[Attribute::FileName]) + { + _set_arg_val(log_statement_metadata.file_name()); + } + + if (_is_set_in_pattern[Attribute::CallerFunction]) + { + _set_arg_val(log_statement_metadata.caller_function()); + } + + if (_is_set_in_pattern[Attribute::LogLevel]) + { + _set_arg_val(log_level); + } + + if (_is_set_in_pattern[Attribute::LogLevelId]) + { + _set_arg_val(log_statement_metadata.log_level_id()); + } + + if (_is_set_in_pattern[Attribute::LineNumber]) + { + _set_arg_val(log_statement_metadata.line()); + } + + if (_is_set_in_pattern[Attribute::Logger]) + { + _set_arg_val(logger); + } + + if (_is_set_in_pattern[Attribute::FullPath]) + { + _set_arg_val(log_statement_metadata.full_path()); + } + + if (_is_set_in_pattern[Attribute::ThreadId]) + { + _set_arg_val(thread_id); + } + + if (_is_set_in_pattern[Attribute::ThreadName]) + { + _set_arg_val(thread_name); + } + + if (_is_set_in_pattern[Attribute::ProcessId]) + { + _set_arg_val(process_id); + } + + if (_is_set_in_pattern[Attribute::SourceLocation]) + { + _set_arg_val(log_statement_metadata.source_location()); + } + + if (_is_set_in_pattern[Attribute::ShortSourceLocation]) + { + _set_arg_val(log_statement_metadata.short_source_location()); + } + + if (_is_set_in_pattern[Attribute::NamedArgs]) + { + _formatted_named_args_buffer.clear(); + + if (named_args) + { + for (size_t i = 0; i < named_args->size(); ++i) + { + _formatted_named_args_buffer.append((*named_args)[i].first); + _formatted_named_args_buffer.append(std::string_view{": "}); + _formatted_named_args_buffer.append((*named_args)[i].second); + + if (i != named_args->size() - 1) + { + _formatted_named_args_buffer.append(std::string_view{", "}); + } + } + } + + _set_arg_val( + std::string_view{_formatted_named_args_buffer.data(), _formatted_named_args_buffer.size()}); + } + + if (_is_set_in_pattern[Attribute::Tags]) + { + if (log_statement_metadata.tags()) + { + _tags.clear(); + log_statement_metadata.tags()->format(_tags); + _set_arg_val(_tags); + } + else + { + _set_arg_val(std::string{}); + } + } + + _set_arg_val(log_msg); + + fmtquill::vformat_to(std::back_inserter(_formatted_log_message_buffer), _fmt_format, + fmtquill::basic_format_args(_args.data(), static_cast(_args.size()))); + + return std::string_view{_formatted_log_message_buffer.data(), _formatted_log_message_buffer.size()}; + } + + QUILL_ATTRIBUTE_HOT std::string_view format_timestamp(std::chrono::nanoseconds timestamp) + { + return _timestamp_formatter.format_timestamp(timestamp); + } + + /***/ + QUILL_NODISCARD detail::TimestampFormatter const& timestamp_formatter() const noexcept + { + return _timestamp_formatter; + } + + /***/ + QUILL_NODISCARD std::string const& format_pattern() const noexcept { return _format_pattern; } + +private: + void _set_pattern() + { + // the order we pass the arguments here must match with the order of Attribute enum + using namespace fmtquill::literals; + std::tie(_fmt_format, _order_index) = _generate_fmt_format_string( + _is_set_in_pattern, _format_pattern, "time"_a = "", "file_name"_a = "", + "caller_function"_a = "", "log_level"_a = "", "log_level_id"_a = "", "line_number"_a = "", + "logger"_a = "", "full_path"_a = "", "thread_id"_a = "", "thread_name"_a = "", + "process_id"_a = "", "source_location"_a = "", "short_source_location"_a = "", + "message"_a = "", "tags"_a = "", "named_args"_a = ""); + + _set_arg(std::string_view("time")); + _set_arg(std::string_view("file_name")); + _set_arg("caller_function"); + _set_arg(std::string_view("log_level")); + _set_arg(std::string_view("log_level_id")); + _set_arg("line_number"); + _set_arg(std::string_view("logger")); + _set_arg(std::string_view("full_path")); + _set_arg(std::string_view("thread_id")); + _set_arg(std::string_view("thread_name")); + _set_arg(std::string_view("process_id")); + _set_arg("source_location"); + _set_arg("short_source_location"); + _set_arg(std::string_view("message")); + _set_arg(std::string_view("tags")); + _set_arg(std::string_view("named_args")); + } + + /***/ + template + void _set_arg(T const& arg) + { + _args[_order_index[I]] = fmtquill::detail::make_arg(arg); + } + + template + void _set_arg_val(T const& arg) + { + fmtquill::detail::value& value_ = + *(reinterpret_cast*>( + std::addressof(_args[_order_index[I]]))); + + value_ = fmtquill::detail::arg_mapper().map(arg); + } + + /***/ + PatternFormatter::Attribute static _attribute_from_string(std::string const& attribute_name) + { + // don't make this static as it breaks on windows with atexit when backend worker stops + std::unordered_map const attr_map = { + {"time", PatternFormatter::Attribute::Time}, + {"file_name", PatternFormatter::Attribute::FileName}, + {"caller_function", PatternFormatter::Attribute::CallerFunction}, + {"log_level", PatternFormatter::Attribute::LogLevel}, + {"log_level_id", PatternFormatter::Attribute::LogLevelId}, + {"line_number", PatternFormatter::Attribute::LineNumber}, + {"logger", PatternFormatter::Attribute::Logger}, + {"full_path", PatternFormatter::Attribute::FullPath}, + {"thread_id", PatternFormatter::Attribute::ThreadId}, + {"thread_name", PatternFormatter::Attribute::ThreadName}, + {"process_id", PatternFormatter::Attribute::ProcessId}, + {"source_location", PatternFormatter::Attribute::SourceLocation}, + {"short_source_location", PatternFormatter::Attribute::ShortSourceLocation}, + {"message", PatternFormatter::Attribute::Message}, + {"tags", PatternFormatter::Attribute::Tags}, + {"named_args", PatternFormatter::Attribute::NamedArgs}}; + + auto const search = attr_map.find(attribute_name); + + if (QUILL_UNLIKELY(search == attr_map.cend())) + { + QUILL_THROW(QuillError{ + std::string{"Attribute enum value does not exist for attribute with name " + attribute_name}}); + } + + return search->second; + } + + /***/ + template + constexpr void _store_named_args(std::array, PatternFormatter::Attribute::ATTR_NR_ITEMS>&) + { + } + + /***/ + template + constexpr void _store_named_args( + std::array, PatternFormatter::Attribute::ATTR_NR_ITEMS>& named_args_store, + const Arg& arg, const Args&... args) + { + named_args_store[NamedIdx] = {arg.name, Idx}; + _store_named_args(named_args_store, args...); + } + + /** + * Convert the pattern to fmt format string and also populate the order index array + * e.g. given : + * "%(time) [%(thread_id)] %(file_name):%(line_number) %(log_level:<12) %(logger) - " + * + * is changed to : + * {} [{}] {}:{} {:<12} {} - + * + * with a order index of : + * i: 0 order idx[i] is: 0 - %(time) + * i: 1 order idx[i] is: 2 - %(file_name) + * i: 2 order idx[i] is: 10 - empty + * i: 3 order idx[i] is: 4 - %(log_level) + * i: 4 order idx[i] is: 10 - empty + * i: 5 order idx[i] is: 3 - %(line_number) + * i: 6 order idx[i] is: 5 - %(logger) + * i: 7 order idx[i] is: 10 - empty + * i: 8 order idx[i] is: 1 - %(thread_id) + * i: 9 order idx[i] is: 10 - empty + * i: 10 order idx[i] is: 10 - empty + * @tparam Args Args + * @param is_set_in_pattern is set in pattern + * @param pattern pattern + * @param args args + * @return process_id pattern + */ + template + QUILL_NODISCARD std::pair> _generate_fmt_format_string( + std::bitset& is_set_in_pattern, std::string pattern, + Args const&... args) + { + // Attribute enum and the args we are passing here must be in sync + static_assert(PatternFormatter::Attribute::ATTR_NR_ITEMS == sizeof...(Args)); + + pattern += "\n"; + + std::array order_index{}; + order_index.fill(PatternFormatter::Attribute::ATTR_NR_ITEMS - 1); + + std::array, PatternFormatter::Attribute::ATTR_NR_ITEMS> named_args{}; + _store_named_args<0, 0>(named_args, args...); + uint8_t arg_idx = 0; + + // we will replace all %(....) with {} to construct a string to pass to fmt library + size_t arg_identifier_pos = pattern.find_first_of('%'); + while (arg_identifier_pos != std::string::npos) + { + if (size_t const open_paren_pos = pattern.find_first_of('(', arg_identifier_pos); + open_paren_pos != std::string::npos && (open_paren_pos - arg_identifier_pos) == 1) + { + // if we found '%(' we have a matching pattern and we now need to get the closed paren + size_t const closed_paren_pos = pattern.find_first_of(')', open_paren_pos); + + if (closed_paren_pos == std::string::npos) + { + QUILL_THROW(QuillError{"Invalid format pattern"}); + } + + // We have everything, get the substring, this time including '%( )' + std::string attr = pattern.substr(arg_identifier_pos, (closed_paren_pos + 1) - arg_identifier_pos); + + // find any user format specifiers + size_t const pos = attr.find(':'); + std::string attr_name; + + if (pos != std::string::npos) + { + // we found user format specifiers that we want to keep. + // e.g. %(short_source_location:<32) + + // Get only the format specifier + // e.g. :<32 + std::string custom_format_specifier = attr.substr(pos); + custom_format_specifier.pop_back(); // remove the ")" + + // replace with the pattern with the correct value + std::string value; + value += "{"; + value += custom_format_specifier; + value += "}"; + + // e.g. {:<32} + pattern.replace(arg_identifier_pos, attr.length(), value); + + // Get the part that is the named argument + // e.g. short_source_location + attr_name = attr.substr(2, pos - 2); + } + else + { + // Make the replacement. + pattern.replace(arg_identifier_pos, attr.length(), "{}"); + + // Get the part that is the named argument + // e.g. short_source_location + attr.pop_back(); // remove the ")" + + attr_name = attr.substr(2, attr.size()); + } + + // reorder + int id = -1; + + for (size_t i = 0; i < PatternFormatter::Attribute::ATTR_NR_ITEMS; ++i) + { + if (named_args[i].name == attr_name) + { + id = named_args[i].id; + break; + } + } + + if (id < 0) + { + QUILL_THROW(QuillError{"Invalid format pattern, attribute with name \"" + attr_name + "\" is invalid"}); + } + + order_index[static_cast(id)] = arg_idx++; + + // Also set the value as used in the pattern in our bitset for lazy evaluation + PatternFormatter::Attribute const attr_enum_value = _attribute_from_string(attr_name); + is_set_in_pattern.set(attr_enum_value); + + // Look for the next pattern to replace + arg_identifier_pos = pattern.find_first_of('%'); + } + else + { + // search for the next '%' + arg_identifier_pos = pattern.find_first_of('%', arg_identifier_pos + 1); + } + } + + return std::make_pair(pattern, order_index); + } + +private: + std::string _format_pattern; + std::string _fmt_format; + std::string _tags; + + /** Each named argument in the format_pattern is mapped in order to this array **/ + std::array _order_index{}; + std::array, Attribute::ATTR_NR_ITEMS> _args{}; + std::bitset _is_set_in_pattern; + + /** class responsible for formatting the timestamp */ + detail::TimestampFormatter _timestamp_formatter; + + /** The buffer where we store each formatted string, also stored as class member to avoid + * re-allocations **/ + fmtquill::basic_memory_buffer _formatted_log_message_buffer; + fmtquill::basic_memory_buffer _formatted_named_args_buffer; +}; +} // namespace quill diff --git a/Dependencies/quill/quill/backend/RdtscClock.h b/Dependencies/quill/quill/backend/RdtscClock.h new file mode 100644 index 00000000..f07b1414 --- /dev/null +++ b/Dependencies/quill/quill/backend/RdtscClock.h @@ -0,0 +1,212 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" +#include "quill/core/Rdtsc.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace quill::detail +{ +/** + * Converts tsc ticks to nanoseconds since epoch + */ +class RdtscClock +{ + /** + * A static class that calculates the rdtsc ticks per second + */ + class RdtscTicks + { + public: + QUILL_NODISCARD static RdtscTicks& instance() + { + static RdtscTicks inst; + return inst; + } + + /***/ + QUILL_NODISCARD double ns_per_tick() const noexcept { return _ns_per_tick; } + + private: + /** + * Constructor + */ + RdtscTicks() + { + // Convert rdtsc to wall time. + // 1. Get real time and rdtsc current count + // 2. Calculate how many rdtsc ticks can occur in one + // calculate _ticks_per_ns as the median over a number of observations. + constexpr std::chrono::milliseconds spin_duration = std::chrono::milliseconds{10}; + + constexpr int trials = 13; + std::array rates = {{0}}; + + for (size_t i = 0; i < trials; ++i) + { + auto const beg_ts = + std::chrono::nanoseconds{std::chrono::steady_clock::now().time_since_epoch().count()}; + uint64_t const beg_tsc = rdtsc(); + + std::chrono::nanoseconds elapsed_ns; + uint64_t end_tsc; + do + { + auto const end_ts = + std::chrono::nanoseconds{std::chrono::steady_clock::now().time_since_epoch().count()}; + end_tsc = rdtsc(); + + elapsed_ns = end_ts - beg_ts; // calculates ns between two timespecs + } while (elapsed_ns < spin_duration); // busy spin for 10ms + + rates[i] = static_cast(end_tsc - beg_tsc) / static_cast(elapsed_ns.count()); + } + + std::nth_element(rates.begin(), rates.begin() + trials / 2, rates.end()); + + double const ticks_per_ns = rates[trials / 2]; + _ns_per_tick = 1 / ticks_per_ns; + } + + double _ns_per_tick{0}; + }; + +public: + /***/ + explicit RdtscClock(std::chrono::nanoseconds resync_interval) + : _resync_interval_ticks(static_cast(static_cast(resync_interval.count()) * + RdtscTicks::instance().ns_per_tick())), + _resync_interval_original(_resync_interval_ticks), + _ns_per_tick(RdtscTicks::instance().ns_per_tick()) + + { + if (!resync(2500)) + { + // try to resync again with higher lag + if (!resync(10000)) + { + std::fprintf(stderr, "Failed to sync RdtscClock. Timestamps will be incorrect\n"); + } + } + } + + /***/ + uint64_t time_since_epoch(uint64_t rdtsc_value) const noexcept + { + // should only get called by the backend thread + + // get the current index, this is only sef called my the thread that is doing the resync + auto const index = _version.load(std::memory_order_relaxed) & (_base.size() - 1); + + // get rdtsc current value and compare the diff then add it to base wall time + auto diff = static_cast(rdtsc_value - _base[index].base_tsc); + + // we need to sync after we calculated otherwise base_tsc value will be ahead of passed tsc value + if (diff > _resync_interval_ticks) + { + resync(2500); + diff = static_cast(rdtsc_value - _base[index].base_tsc); + } + + return static_cast(_base[index].base_time + + static_cast(static_cast(diff) * _ns_per_tick)); + } + + /***/ + uint64_t time_since_epoch_safe(uint64_t rdtsc_value) const noexcept + { + // thread-safe, can be called by anyone + // this function won't resync as it can be called by anyone and only a single thread resyncs + uint32_t version; + uint64_t wall_ts; + + do + { + version = _version.load(std::memory_order_acquire); + auto const index = version & (_base.size() - 1); + + if (QUILL_UNLIKELY((_base[index].base_tsc) == 0 && (_base[index].base_time == 0))) + { + return 0; + } + + // get rdtsc current value and compare the diff then add it to base wall time + auto const diff = static_cast(rdtsc_value - _base[index].base_tsc); + wall_ts = static_cast(_base[index].base_time + + static_cast(static_cast(diff) * _ns_per_tick)); + } while (version != _version.load(std::memory_order_acquire)); + + return wall_ts; + } + + /***/ + bool resync(uint32_t lag) const noexcept + { + // Sometimes we might get an interrupt and might never resync, so we will try again up to max_attempts + constexpr uint8_t max_attempts{4}; + + for (uint8_t attempt = 0; attempt < max_attempts; ++attempt) + { + uint64_t const beg = rdtsc(); + // we force convert to nanoseconds because the precision of system_clock::time-point is not portable across platforms. + int64_t const wall_time = + std::chrono::nanoseconds{std::chrono::system_clock::now().time_since_epoch()}.count(); + uint64_t const end = rdtsc(); + + if (QUILL_LIKELY(end - beg <= lag)) + { + // update the next index + auto const index = (_version.load(std::memory_order_relaxed) + 1) & (_base.size() - 1); + _base[index].base_time = wall_time; + _base[index].base_tsc = _fast_average(beg, end); + _version.fetch_add(1, std::memory_order_release); + + _resync_interval_ticks = _resync_interval_original; + return true; + } + } + + // we failed to return earlier and we never resynced, but we don't really want to keep retrying on each call + // to time_since_epoch() so we do non accurate resync we will increase the resync duration to resync later + _resync_interval_ticks = _resync_interval_ticks * 2; + return false; + } + + /***/ + double nanoseconds_per_tick() const noexcept { return _ns_per_tick; } + +private: + struct BaseTimeTsc + { + BaseTimeTsc() = default; + int64_t base_time{0}; /**< Get the initial base time in nanoseconds from epoch */ + uint64_t base_tsc{0}; /**< Get the initial base tsc time */ + }; + + /***/ + QUILL_NODISCARD static uint64_t _fast_average(uint64_t x, uint64_t y) noexcept + { + return (x & y) + ((x ^ y) >> 1); + } + +private: + mutable int64_t _resync_interval_ticks{0}; + int64_t _resync_interval_original{0}; /**< stores the initial interval value as as if we fail to resync we increase the timer */ + double _ns_per_tick{0}; + + alignas(CACHE_LINE_ALIGNED) mutable std::atomic _version{0}; + mutable std::array _base{}; +}; +} // namespace quill::detail \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/SignalHandler.h b/Dependencies/quill/quill/backend/SignalHandler.h new file mode 100644 index 00000000..751844e5 --- /dev/null +++ b/Dependencies/quill/quill/backend/SignalHandler.h @@ -0,0 +1,374 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/Logger.h" +#include "quill/core/Attributes.h" +#include "quill/core/LogLevel.h" +#include "quill/core/LoggerBase.h" +#include "quill/core/LoggerManager.h" +#include "quill/core/MacroMetadata.h" +#include "quill/core/QuillError.h" +#include "quill/core/ThreadUtilities.h" + +#include +#include +#include +#include +#include +#include +#include + +#if defined(_WIN32) + #if !defined(WIN32_LEAN_AND_MEAN) + #define WIN32_LEAN_AND_MEAN + #endif + + #if !defined(NOMINMAX) + // Mingw already defines this, so no need to redefine + #define NOMINMAX + #endif + + #include + #include + #include +#else + #include +#endif + +namespace quill +{ +namespace detail +{ +/***/ +class SignalHandlerContext +{ +public: + SignalHandlerContext(SignalHandlerContext const&) = delete; + SignalHandlerContext& operator=(SignalHandlerContext const&) = delete; + + /***/ + QUILL_EXPORT static SignalHandlerContext& instance() noexcept + { + static SignalHandlerContext instance; + return instance; + } + + std::atomic signal_number{0}; + std::atomic lock{0}; + std::atomic backend_thread_id{0}; + std::atomic signal_handler_timeout_seconds{20}; + std::atomic should_reraise_signal{true}; + +private: + SignalHandlerContext() = default; + ~SignalHandlerContext() = default; +}; + +#define QUILL_SIGNAL_HANDLER_LOG(logger, log_level, fmt, ...) \ + do \ + { \ + if (logger->template should_log_message()) \ + { \ + static constexpr quill::MacroMetadata macro_metadata{ \ + "SignalHandler:~", "", fmt, nullptr, log_level, quill::MacroMetadata::Event::Log}; \ + \ + logger->log_message(quill::LogLevel::None, ¯o_metadata, ##__VA_ARGS__); \ + } \ + } while (0) + +/***/ +template +void on_signal(int32_t signal_number) +{ + // This handler can be entered by multiple threads. + uint32_t const lock = SignalHandlerContext::instance().lock.fetch_add(1); + + if (lock != 0) + { + // We only allow the first thread to enter the signal handler + + // sleep until a signal is delivered that either terminates the process or causes the + // invocation of a signal-catching function. + +#if defined(_WIN32) + std::this_thread::sleep_for(std::chrono::hours{24000}); +#else + pause(); +#endif + } + +#if defined(_WIN32) + // nothing to do, windows do not have alarm +#else + // Store the original signal number for the alarm + SignalHandlerContext::instance().signal_number.store(signal_number); + + // Set up an alarm to crash after 20 seconds by redelivering the original signal, + // in case anything else goes wrong + alarm(SignalHandlerContext::instance().signal_handler_timeout_seconds.load()); +#endif + + // Get the id of this thread in the handler and make sure it is not the backend worker thread + uint32_t const backend_thread_id = SignalHandlerContext::instance().backend_thread_id.load(); + uint32_t const current_thread_id = get_thread_id(); + bool const should_reraise_signal = SignalHandlerContext::instance().should_reraise_signal.load(); + + if ((backend_thread_id == 0) || (current_thread_id == backend_thread_id)) + { + // backend worker thread is not running or the signal handler is called in the backend worker thread + if (signal_number == SIGINT || signal_number == SIGTERM) + { + std::exit(EXIT_SUCCESS); + } + else if (should_reraise_signal) + { + // for other signals expect SIGINT and SIGTERM we re-raise + std::signal(signal_number, SIG_DFL); + std::raise(signal_number); + } + } + else + { + // This means signal handler is running on a frontend thread, we can log and flush + LoggerBase* logger_base = detail::LoggerManager::instance().get_valid_logger(); + + if (logger_base) + { +#if defined(_WIN32) + int32_t const signal_desc = signal_number; +#else + char const* const signal_desc = ::strsignal(signal_number); +#endif + + auto logger = reinterpret_cast*>(logger_base); + QUILL_SIGNAL_HANDLER_LOG(logger, quill::LogLevel::Info, "Received signal: {} (signum: {})", + signal_desc, signal_number); + + if (signal_number == SIGINT || signal_number == SIGTERM) + { + // For SIGINT and SIGTERM, we are shutting down gracefully + // Pass `0` to avoid calling std::this_thread::sleep_for() + logger->flush_log(0); + std::exit(EXIT_SUCCESS); + } + else if (should_reraise_signal) + { + QUILL_SIGNAL_HANDLER_LOG(logger, quill::LogLevel::Critical, + "Program terminated unexpectedly due to signal: {} (signum: {})", + signal_desc, signal_number); + + // This is here in order to flush the above log statement + logger->flush_log(0); + + // Reset to the default signal handler and re-raise the signal + std::signal(signal_number, SIG_DFL); + std::raise(signal_number); + } + else + { + logger->flush_log(0); + } + } + } +} +} // namespace detail + +/** + * Setups a signal handler to handle fatal signals + */ +#if defined(_WIN32) +namespace detail +{ +/***/ +inline char const* get_error_message(DWORD ex_code) +{ + switch (ex_code) + { + case EXCEPTION_ACCESS_VIOLATION: + return "EXCEPTION_ACCESS_VIOLATION"; + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: + return "EXCEPTION_ARRAY_BOUNDS_EXCEEDED"; + case EXCEPTION_BREAKPOINT: + return "EXCEPTION_BREAKPOINT"; + case EXCEPTION_DATATYPE_MISALIGNMENT: + return "EXCEPTION_DATATYPE_MISALIGNMENT"; + case EXCEPTION_FLT_DENORMAL_OPERAND: + return "EXCEPTION_FLT_DENORMAL_OPERAND"; + case EXCEPTION_FLT_DIVIDE_BY_ZERO: + return "EXCEPTION_FLT_DIVIDE_BY_ZERO"; + case EXCEPTION_FLT_INEXACT_RESULT: + return "EXCEPTION_FLT_INEXACT_RESULT"; + case EXCEPTION_FLT_INVALID_OPERATION: + return "EXCEPTION_FLT_INVALID_OPERATION"; + case EXCEPTION_FLT_OVERFLOW: + return "EXCEPTION_FLT_OVERFLOW"; + case EXCEPTION_FLT_STACK_CHECK: + return "EXCEPTION_FLT_STACK_CHECK"; + case EXCEPTION_FLT_UNDERFLOW: + return "EXCEPTION_FLT_UNDERFLOW"; + case EXCEPTION_ILLEGAL_INSTRUCTION: + return "EXCEPTION_ILLEGAL_INSTRUCTION"; + case EXCEPTION_IN_PAGE_ERROR: + return "EXCEPTION_IN_PAGE_ERROR"; + case EXCEPTION_INT_DIVIDE_BY_ZERO: + return "EXCEPTION_INT_DIVIDE_BY_ZERO"; + case EXCEPTION_INT_OVERFLOW: + return "EXCEPTION_INT_OVERFLOW"; + case EXCEPTION_INVALID_DISPOSITION: + return "EXCEPTION_INVALID_DISPOSITION"; + case EXCEPTION_NONCONTINUABLE_EXCEPTION: + return "EXCEPTION_NONCONTINUABLE_EXCEPTION"; + case EXCEPTION_PRIV_INSTRUCTION: + return "EXCEPTION_PRIV_INSTRUCTION"; + case EXCEPTION_SINGLE_STEP: + return "EXCEPTION_SINGLE_STEP"; + case EXCEPTION_STACK_OVERFLOW: + return "EXCEPTION_STACK_OVERFLOW"; + default: + return "Unrecognized Exception"; + } +} + +/***/ +template +BOOL WINAPI on_console_signal(DWORD signal) +{ + uint32_t const backend_thread_id = SignalHandlerContext::instance().backend_thread_id.load(); + uint32_t const current_thread_id = get_thread_id(); + + // Check if the signal handler is running from a caller thread and if the signal is CTRL+C or CTRL+BREAK + if ((backend_thread_id != 0) && (current_thread_id != backend_thread_id) && + (signal == CTRL_C_EVENT || signal == CTRL_BREAK_EVENT)) + { + // Log the interruption and flush log messages + LoggerBase* logger_base = detail::LoggerManager::instance().get_valid_logger(); + if (logger_base) + { + auto logger = reinterpret_cast*>(logger_base); + QUILL_SIGNAL_HANDLER_LOG(logger, quill::LogLevel::Info, + "Program interrupted by Ctrl+C or Ctrl+Break signal"); + + // Pass `0` to avoid calling std::this_thread::sleep_for() + logger->flush_log(0); + std::exit(EXIT_SUCCESS); + } + } + + return TRUE; +} + +/***/ +template +LONG WINAPI on_exception(EXCEPTION_POINTERS* exception_p) +{ + uint32_t const backend_thread_id = SignalHandlerContext::instance().backend_thread_id.load(); + uint32_t const current_thread_id = get_thread_id(); + + // Check if the signal handler is running from a caller thread and if the signal is CTRL+C or CTRL+BREAK + if ((backend_thread_id != 0) && (current_thread_id != backend_thread_id)) + { + // Log the interruption and flush log messages + LoggerBase* logger_base = detail::LoggerManager::instance().get_valid_logger(); + if (logger_base) + { + auto logger = reinterpret_cast*>(logger_base); + + QUILL_SIGNAL_HANDLER_LOG(logger, quill::LogLevel::Info, "Received exception: {} (Code: {})", + get_error_message(exception_p->ExceptionRecord->ExceptionCode), + exception_p->ExceptionRecord->ExceptionCode); + + QUILL_SIGNAL_HANDLER_LOG(logger, quill::LogLevel::Critical, + "Program terminated unexpectedly due to exception: {} (Code: {})", + get_error_message(exception_p->ExceptionRecord->ExceptionCode), + exception_p->ExceptionRecord->ExceptionCode); + + // Pass `0` to avoid calling std::this_thread::sleep_for() + logger->flush_log(0); + } + } + + // FATAL Exception: It doesn't necessarily stop here. we pass on continue search + // If nobody catches it, then it will exit anyhow. + // The risk here is if someone is catching this and returning "EXCEPTION_EXECUTE_HANDLER" + // but won't shut down then the app will be running with quill shutdown. + return EXCEPTION_CONTINUE_SEARCH; +} + +/***/ +template +void init_exception_handler() +{ + SetUnhandledExceptionFilter(on_exception); + + if (!SetConsoleCtrlHandler(on_console_signal, TRUE)) + { + QUILL_THROW(QuillError{"Failed to call SetConsoleCtrlHandler"}); + } +} +} // namespace detail + +/** + * On windows it has to be called on each thread + * @param catchable_signals the signals we are catching + */ +template +void init_signal_handler(std::initializer_list const& catchable_signals = std::initializer_list{ + SIGTERM, SIGINT, SIGABRT, SIGFPE, SIGILL, SIGSEGV}) +{ + for (auto const& catchable_signal : catchable_signals) + { + // setup a signal handler per signal in the array + if (std::signal(catchable_signal, detail::on_signal) == SIG_ERR) + { + QUILL_THROW(QuillError{"Failed to setup signal handler for signal: " + std::to_string(catchable_signal)}); + } + } +} +#else +namespace detail +{ +/***/ +inline void on_alarm(int32_t signal_number) +{ + if (SignalHandlerContext::instance().signal_number.load() == 0) + { + // Will only happen if SIGALRM is the first signal we receive + SignalHandlerContext::instance().signal_number = signal_number; + } + + // We will raise the original signal back + std::signal(SignalHandlerContext::instance().signal_number, SIG_DFL); + std::raise(SignalHandlerContext::instance().signal_number); +} + +template +void init_signal_handler(std::initializer_list const& catchable_signals) +{ + for (auto const& catchable_signal : catchable_signals) + { + if (catchable_signal == SIGALRM) + { + QUILL_THROW(QuillError{"SIGALRM can not be part of catchable_signals."}); + } + + // set up a signal handler per signal in the array + if (std::signal(catchable_signal, on_signal) == SIG_ERR) + { + QUILL_THROW(QuillError{"Failed to setup signal handler for signal: " + std::to_string(catchable_signal)}); + } + } + + /* Register the alarm handler */ + if (std::signal(SIGALRM, on_alarm) == SIG_ERR) + { + QUILL_THROW(QuillError{"Failed to setup signal handler for signal: SIGALRM"}); + } +} +} // namespace detail +#endif + +} // namespace quill \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/StringFromTime.h b/Dependencies/quill/quill/backend/StringFromTime.h new file mode 100644 index 00000000..4fc22173 --- /dev/null +++ b/Dependencies/quill/quill/backend/StringFromTime.h @@ -0,0 +1,533 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" +#include "quill/core/QuillError.h" +#include "quill/core/TimeUtilities.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace quill::detail +{ +/** + * A class that converts a timestamp to a string based on the given format. + * It works exactly the same as strftime() but it caches the string on it's creation + * and only modifies the parts of the string that need to change. + * This is much more efficient than calling strftime as we just need to calculate the different + * between the cached and the requested timestamp and modify our preformatted string. + * + * 1) We take a format string eg "%Y-%m-%dT%H:%M:%SZ". + * 2) We split it into several parts (_initial_parts) where we separate the time modifiers. + * e.g "%Y-%m-%dT", "%H", ":", "%M", ":", "%S", Z". + * 3) We cache the current timestamp and current h/m/s in seconds and on each part above + * we call strftime() and we create a preformatted string. + * 4) While calling stftime in 3) we can manually check for any time modifiers and store + * their index in the final pre-formatted string. + * 5) Next time we want to calculate the timestamp we will just calculate the difference + * in seconds between the current and the cache timestamp. + * Then we add this value to the cached seconds and then convert the seconds + * to hh::mm::ss and replace in our pre-formatted string using the stored indexes. + * 6) We re-calculate the pre-formatted string every midnight and noon. + */ +class StringFromTime +{ +public: + /***/ + QUILL_ATTRIBUTE_COLD void init(std::string timestamp_format, Timezone timezone) + { + _timestamp_format = std::move(timestamp_format); + _time_zone = timezone; + + if (_timestamp_format.find("%X") != std::string::npos) + { + QUILL_THROW(QuillError("`%X` as format modifier is not currently supported in format: " + _timestamp_format)); + } + + // We first look for some special format modifiers and replace them + _replace_all(_timestamp_format, "%r", "%I:%M:%S %p"); + _replace_all(_timestamp_format, "%R", "%H:%M"); + _replace_all(_timestamp_format, "%T", "%H:%M:%S"); + + // Populate the initial parts that we will use to generate a pre-formatted string + _populate_initial_parts(_timestamp_format); + + // Get the current timestamp now + time_t timestamp; + std::time(×tamp); + + if (_time_zone == Timezone::LocalTime) + { + // If localtime is used we will recalculate every 1 hour - this is because of the DST changes + // and an easy work-around + + // Then round it down to the nearest hour + timestamp = _nearest_hour_timestamp(timestamp); + + // Also calculate and store the next hour timestamp + _next_recalculation_timestamp = _next_hour_timestamp(timestamp); + } + else if (_time_zone == Timezone::GmtTime) + { + // otherwise we will only recalculate every noon and midnight. the reason for this is in case + // user is using PM, AM format etc + _next_recalculation_timestamp = _next_noon_or_midnight_timestamp(timestamp, _time_zone); + + // we don't need to modify timestamp in the case of UTC + } + + // Now populate a pre formatted string for this hour, + // also cache any indexes of the time modifier in the string + _populate_pre_formatted_string_and_cached_indexes(timestamp); + } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT std::string const& format_timestamp(time_t timestamp) + { + // First we check for the edge case where the given timestamp is back in time. This is when + // the timestamp provided is less than our cached_timestamp. We only expect to format timestamps + // that are incrementing not those back in time. In this case we just fall back to calling strfime + if (timestamp < _cached_timestamp) + { + _fallback_formatted = _safe_strftime(_timestamp_format.data(), timestamp, _time_zone).data(); + return _fallback_formatted; + } + + // After this point we know that given timestamp is >= to the cache timestamp. + + // We check if the given timestamp greater than the _next_recalculation_timestamp to recalculate + if (timestamp >= _next_recalculation_timestamp) + { + // in this case we have to populate our cached string again using strftime + _pre_formatted_ts.clear(); + _cached_indexes.clear(); + + // Now populate a pre-formatted string for the next rec + _populate_pre_formatted_string_and_cached_indexes(timestamp); + + if (_time_zone == Timezone::LocalTime) + { + _next_recalculation_timestamp = _next_hour_timestamp(timestamp); + } + else if (_time_zone == Timezone::GmtTime) + { + _next_recalculation_timestamp = _next_noon_or_midnight_timestamp(timestamp + 1, _time_zone); + } + } + + if (_cached_indexes.empty()) + { + // if we don't have to format any hours minutes or seconds we can just return here + return _pre_formatted_ts; + } + + if (_cached_timestamp == timestamp) + { + // This has 2 usages: + // 1. Any timestamps in seconds precision that are the same, we don't need to do anything. + // 2. This checks happens after the _next_recalculation_timestamp calculation. The _next_recalculation_timestamp + // will mutate _cached_timestamp and if they are similar we will just return here anyway + return _pre_formatted_ts; + } + + // Get the difference from our cached timestamp + time_t const timestamp_diff = timestamp - _cached_timestamp; + + // cache this timestamp + _cached_timestamp = timestamp; + + // Add the timestamp_diff to the cached seconds and calculate the new hours minutes seconds. + // Note: cached_seconds could be in gmtime or localtime but we don't care as we are just + // adding the difference. + _cached_seconds += static_cast(timestamp_diff); + + uint32_t cached_seconds = _cached_seconds; + uint32_t const hours = cached_seconds / 3600; + cached_seconds = cached_seconds % 3600; + uint32_t const minutes = cached_seconds / 60; + cached_seconds = cached_seconds % 60; + uint32_t const seconds = cached_seconds; + + std::string to_replace; + + for (auto const& index : _cached_indexes) + { + // for each cached index we have, replace it when the new value + switch (index.second) + { + case format_type::H: + to_replace = std::to_string(hours); + + if (to_replace.size() == 1) + { + to_replace.insert(0, 1, '0'); + } + + _pre_formatted_ts.replace(index.first, 2, to_replace); + break; + case format_type::M: + to_replace = std::to_string(minutes); + + if (to_replace.size() == 1) + { + to_replace.insert(0, 1, '0'); + } + _pre_formatted_ts.replace(index.first, 2, to_replace); + break; + case format_type::S: + to_replace = std::to_string(seconds); + + if (to_replace.size() == 1) + { + to_replace.insert(0, 1, '0'); + } + _pre_formatted_ts.replace(index.first, 2, to_replace); + break; + case format_type::I: + if (hours != 0) + { + to_replace = std::to_string(hours > 12 ? hours - 12 : hours); + } + else + { + // if hours is `00` we need to replace than with '12' instead in this format + to_replace = std::to_string(12); + } + + if (to_replace.size() == 1) + { + to_replace.insert(0, 1, '0'); + } + _pre_formatted_ts.replace(index.first, 2, to_replace); + break; + case format_type::k: + to_replace = std::to_string(hours); + + if (to_replace.size() == 1) + { + to_replace.insert(0, 1, ' '); + } + _pre_formatted_ts.replace(index.first, 2, to_replace); + break; + case format_type::l: + if (hours != 0) + { + to_replace = std::to_string(hours > 12 ? hours - 12 : hours); + } + else + { + // if hours is `00` we need to replace than with '12' instead in this format + to_replace = std::to_string(12); + } + + if (to_replace.size() == 1) + { + to_replace.insert(0, 1, ' '); + } + _pre_formatted_ts.replace(index.first, 2, to_replace); + break; + case format_type::s: + to_replace = std::to_string(_cached_timestamp); + _pre_formatted_ts.replace(index.first, 10, to_replace); + break; + default: + abort(); + } + } + + return _pre_formatted_ts; + } + +protected: + enum class format_type : uint8_t + { + H, + M, + S, + I, + k, + l, + s + }; + + /***/ + QUILL_ATTRIBUTE_COLD void _populate_initial_parts(std::string timestamp_format) + { + do + { + // we get part1 and part2 and keep looping on the new modified string without the part1 and + // part2 until we find not %H, %M or %S at all + auto const [part1, part2] = _split_timestamp_format_once(timestamp_format); + + if (!part1.empty()) + { + _initial_parts.push_back(part1); + } + + if (!part2.empty()) + { + _initial_parts.push_back(part2); + } + + if (part1.empty() && part2.empty()) + { + // if both part_1 and part_2 are empty it means we have no more + // format modifiers to add, we push back the remaining timestamp_format string + // and break + if (!timestamp_format.empty()) + { + _initial_parts.push_back(timestamp_format); + } + break; + } + } while (true); + } + + /***/ + void _populate_pre_formatted_string_and_cached_indexes(time_t timestamp) + { + _cached_timestamp = timestamp; + + tm time_info{}; + + if (_time_zone == Timezone::LocalTime) + { + localtime_rs(reinterpret_cast(std::addressof(_cached_timestamp)), std::addressof(time_info)); + } + else if (_time_zone == Timezone::GmtTime) + { + gmtime_rs(reinterpret_cast(std::addressof(_cached_timestamp)), std::addressof(time_info)); + } + + // also cache the seconds + _cached_seconds = + static_cast((time_info.tm_hour * 3600) + (time_info.tm_min * 60) + time_info.tm_sec); + + // Now run through all parts and call strftime + for (auto const& format_part : _initial_parts) + { + // We call strftime on each part of the timestamp to format it. + _pre_formatted_ts += _safe_strftime(format_part.data(), _cached_timestamp, _time_zone).data(); + + // If we formatted and appended to the string a time modifier also store the + // current index in the string + if (format_part == "%H") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 2, format_type::H); + } + else if (format_part == "%M") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 2, format_type::M); + } + else if (format_part == "%S") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 2, format_type::S); + } + else if (format_part == "%I") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 2, format_type::I); + } + else if (format_part == "%k") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 2, format_type::k); + } + else if (format_part == "%l") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 2, format_type::l); + } + else if (format_part == "%s") + { + _cached_indexes.emplace_back(_pre_formatted_ts.size() - 10, format_type::s); + } + } + } + + /***/ + std::pair static _split_timestamp_format_once(std::string& timestamp_format) noexcept + { + // don't make this static as it breaks on windows with atexit when backend worker stops + std::array const modifiers{"%H", "%M", "%S", "%I", "%k", "%l", "%s"}; + + // if we find any modifier in the timestamp format we store the index where we + // found it. + // We use a map to find the first modifier (with the lowest index) in the given string + // Maps found_index -> modifier value + std::map found_format_modifiers; + + for (auto const& modifier : modifiers) + { + if (auto const search = timestamp_format.find(modifier); search != std::string::npos) + { + // Add the index and the modifier string to our map + found_format_modifiers.emplace(search, modifier); + } + } + + if (found_format_modifiers.empty()) + { + // We didn't find any modifiers in the given string, therefore we return + // both parts as empty + return std::make_pair(std::string{}, std::string{}); + } + + // we will split the formatted timestamp on the first modifier we found + + // Part 1 is the part before the modifier + // Here we check that there is actually a part of before and the format doesn't start with the + // modifier, otherwise we use an empty string + std::string const part_1 = found_format_modifiers.begin()->first > 0 + ? std::string{timestamp_format.data(), found_format_modifiers.begin()->first} + : ""; + + // The actual value of the modifier string + std::string const part_2 = found_format_modifiers.begin()->second; + + // We modify the given timestamp string to exclude part_1 and part_2. + // part_2 length as the modifier value will always be 2 + timestamp_format = std::string{timestamp_format.data() + found_format_modifiers.begin()->first + 2}; + + return std::make_pair(part_1, part_2); + } + + /***/ + QUILL_NODISCARD static std::vector _safe_strftime(char const* format_string, time_t timestamp, Timezone timezone) + { + if (format_string[0] == '\0') + { + std::vector res; + res.push_back('\0'); + return res; + } + + // Convert timestamp to time_info + tm time_info; + if (timezone == Timezone::LocalTime) + { + localtime_rs(reinterpret_cast(std::addressof(timestamp)), std::addressof(time_info)); + } + else if (timezone == Timezone::GmtTime) + { + gmtime_rs(reinterpret_cast(std::addressof(timestamp)), std::addressof(time_info)); + } + + // Create a buffer to call strftimex + std::vector buffer; + buffer.resize(32); + size_t res = strftime(&buffer[0], buffer.size(), format_string, std::addressof(time_info)); + + while (res == 0) + { + // if strftime fails we will reserve more space + buffer.resize(buffer.size() * 2); + res = strftime(&buffer[0], buffer.size(), format_string, std::addressof(time_info)); + } + + return buffer; + } + + /***/ + static void _replace_all(std::string& str, std::string const& old_value, std::string const& new_value) noexcept + { + std::string::size_type pos = 0u; + while ((pos = str.find(old_value, pos)) != std::string::npos) + { + str.replace(pos, old_value.length(), new_value); + pos += new_value.length(); + } + } + + /***/ + QUILL_NODISCARD static time_t _nearest_hour_timestamp(time_t timestamp) noexcept + { + time_t const nearest_hour_ts = timestamp - (timestamp % 3600); + return nearest_hour_ts; + } + + /***/ + QUILL_NODISCARD static time_t _next_hour_timestamp(time_t timestamp) noexcept + { + time_t const next_hour_ts = _nearest_hour_timestamp(timestamp) + 3600; + return next_hour_ts; + } + + /***/ + QUILL_NODISCARD static time_t _next_noon_or_midnight_timestamp(time_t timestamp, Timezone timezone) noexcept + { + // Get the current date and time now as time_info + tm time_info; + + if (timezone == Timezone::GmtTime) + { + gmtime_rs(×tamp, &time_info); + } + else + { + localtime_rs(×tamp, &time_info); + } + + if (time_info.tm_hour < 12) + { + // we are before noon, so calculate noon + time_info.tm_hour = 11; + time_info.tm_min = 59; + time_info.tm_sec = 59; // we add 1 second later + } + else + { + // we are after noon so we calculate midnight + time_info.tm_hour = 23; + time_info.tm_min = 59; + time_info.tm_sec = 59; // we add 1 second later + } + + // convert back to time since epoch + std::chrono::system_clock::time_point const next_midnight = (timezone == Timezone::GmtTime) + ? std::chrono::system_clock::from_time_t(detail::timegm(&time_info)) + : std::chrono::system_clock::from_time_t(std::mktime(&time_info)); + + // returns seconds since epoch of the next midnight. + return std::chrono::duration_cast(next_midnight.time_since_epoch()).count() + 1; + } + +private: + /** Contains the timestamp_format broken down into parts. We call use those parts to + * create a pre-formatted string */ + std::vector _initial_parts; + + /** Contains stored indexes of the _pre_formatted_ts for each format time modifier*/ + std::vector> _cached_indexes; + + /** The format request format of the timestamp. This can be slightly modified in constructor so we store it. */ + std::string _timestamp_format; + + /** The pre-formatted timestamp string */ + std::string _pre_formatted_ts; + + /** This is only used only when we fallback to strftime */ + std::string _fallback_formatted; + + /** The timestamp of the next noon, or midnight, we use this to resync */ + time_t _next_recalculation_timestamp{0}; + + /** The timestamp of value of our pre-formated string */ + time_t _cached_timestamp{0}; + + /** The seconds of hh:mm:ss of the pre-formatted string this is after using gmtime or localtime on cached_timestamp */ + uint32_t _cached_seconds{0}; + + /** gmtime or localtime */ + Timezone _time_zone; +}; +} // namespace quill::detail \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/TimestampFormatter.h b/Dependencies/quill/quill/backend/TimestampFormatter.h new file mode 100644 index 00000000..265ac2b0 --- /dev/null +++ b/Dependencies/quill/quill/backend/TimestampFormatter.h @@ -0,0 +1,214 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/StringFromTime.h" +#include "quill/bundled/fmt/format.h" +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" +#include "quill/core/QuillError.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace quill::detail +{ + +/** + * Formats a timestamp given a format string as a pattern. The format pattern uses the + * same format specifiers as strftime() but with the following additional specifiers : + * 1) %Qms - Milliseconds + * 2) %Qus - Microseconds + * 3) %Qns - Nanoseconds + * @note %Qms, %Qus, %Qns specifiers are mutually exclusive + * e.g given : "%I:%M.%Qms%p" the output would be "03:21.343PM" + */ +class TimestampFormatter +{ +private: + enum AdditionalSpecifier : uint8_t + { + None, + Qms, + Qus, + Qns + }; + +public: + /***/ + explicit TimestampFormatter(std::string time_format, Timezone timestamp_timezone = Timezone::LocalTime) + : _time_format(std::move(time_format)), _timestamp_timezone(timestamp_timezone) + { + assert((_timestamp_timezone == Timezone::LocalTime || _timestamp_timezone == Timezone::GmtTime) && + "Invalid timezone type"); + + // store the beginning of the found specifier + size_t specifier_begin{std::string::npos}; + + // look for all three special specifiers + + if (size_t const search_qms = _time_format.find(specifier_name[AdditionalSpecifier::Qms]); + search_qms != std::string::npos) + { + _additional_format_specifier = AdditionalSpecifier::Qms; + specifier_begin = search_qms; + } + + if (size_t const search_qus = _time_format.find(specifier_name[AdditionalSpecifier::Qus]); + search_qus != std::string::npos) + { + if (specifier_begin != std::string::npos) + { + QUILL_THROW(QuillError{"format specifiers %Qms, %Qus and %Qns are mutually exclusive"}); + } + + _additional_format_specifier = AdditionalSpecifier::Qus; + specifier_begin = search_qus; + } + + if (size_t const search_qns = _time_format.find(specifier_name[AdditionalSpecifier::Qns]); + search_qns != std::string::npos) + { + if (specifier_begin != std::string::npos) + { + QUILL_THROW(QuillError{"format specifiers %Qms, %Qus and %Qns are mutually exclusive"}); + } + + _additional_format_specifier = AdditionalSpecifier::Qns; + specifier_begin = search_qns; + } + + if (specifier_begin == std::string::npos) + { + // If no additional specifier was found then we can simply store the whole format string + assert(_additional_format_specifier == AdditionalSpecifier::None); + _format_part_1 = _time_format; + } + else + { + // We now the index where the specifier begins so copy everything until there from beginning + _format_part_1 = _time_format.substr(0, specifier_begin); + + // Now copy the remaining format string, ignoring the specifier + size_t const specifier_end = specifier_begin + specifier_length; + + _format_part_2 = _time_format.substr(specifier_end, _time_format.length() - specifier_end); + } + + // Now init two custom string from time classes with pre-formatted strings + _strftime_part_1.init(_format_part_1, _timestamp_timezone); + _strftime_part_2.init(_format_part_2, _timestamp_timezone); + } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT std::string_view format_timestamp(std::chrono::nanoseconds time_since_epoch) + { + int64_t const timestamp_ns = time_since_epoch.count(); + + // convert timestamp to seconds + int64_t const timestamp_secs = timestamp_ns / 1'000'000'000; + + // First always clear our cached string + _formatted_date.clear(); + + // 1. we always format part 1 + _formatted_date += _strftime_part_1.format_timestamp(timestamp_secs); + + // 2. We add any special ms/us/ns specifier if any + auto const extracted_ns = static_cast(timestamp_ns - (timestamp_secs * 1'000'000'000)); + + if (_additional_format_specifier == AdditionalSpecifier::Qms) + { + uint32_t const extracted_ms = extracted_ns / 1'000'000; + constexpr char const* zeros = "000"; + + // Add as many zeros as the extracted_fractional_seconds_length + _formatted_date += zeros; + + _append_fractional_seconds(extracted_ms); + } + else if (_additional_format_specifier == AdditionalSpecifier::Qus) + { + uint32_t const extracted_us = extracted_ns / 1'000; + constexpr char const* zeros = "000000"; + + // Add as many zeros as the extracted_fractional_seconds_length + _formatted_date += zeros; + + _append_fractional_seconds(extracted_us); + } + else if (_additional_format_specifier == AdditionalSpecifier::Qns) + { + constexpr char const* zeros = "000000000"; + + // Add as many zeros as the extracted_fractional_seconds_length + _formatted_date += zeros; + + _append_fractional_seconds(extracted_ns); + } + + // 3. format part 2 after fractional seconds - if any + if (!_format_part_2.empty()) + { + _formatted_date += _strftime_part_2.format_timestamp(timestamp_secs); + } + + return _formatted_date; + } + + /***/ + QUILL_NODISCARD std::string const& time_format() const noexcept { return _time_format; } + + /***/ + QUILL_NODISCARD Timezone timestamp_timezone() const noexcept { return _timestamp_timezone; } + +private: + /***/ + void _append_fractional_seconds(uint32_t extracted_fractional_seconds) + { + // Format the seconds and add them + fmtquill::format_int const extracted_ms_string{extracted_fractional_seconds}; + + // _formatted_date.size() - extracted_ms_string.size() is where we want to begin placing the fractional seconds + memcpy(&_formatted_date[_formatted_date.size() - extracted_ms_string.size()], + extracted_ms_string.data(), extracted_ms_string.size()); + } + +private: + /** Contains the additional specifier name, at the same index as the enum **/ + static constexpr std::array specifier_name{"", "%Qms", "%Qus", "%Qns"}; + + /** All special specifiers have same length at the moment **/ + static constexpr size_t specifier_length = 4u; + + std::string _time_format; + + /** As class member to avoid re-allocating **/ + std::string _formatted_date; + + /** The format string is broken down to two parts. Before and after our additional specifiers */ + std::string _format_part_1; + std::string _format_part_2; + + /** Strftime cache for both parts of the string */ + StringFromTime _strftime_part_1; + StringFromTime _strftime_part_2; + + /** Timezone, Local time by default **/ + Timezone _timestamp_timezone; + + /** fractional seconds */ + AdditionalSpecifier _additional_format_specifier{AdditionalSpecifier::None}; +}; + +} // namespace quill::detail \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/TransitEvent.h b/Dependencies/quill/quill/backend/TransitEvent.h new file mode 100644 index 00000000..4c006e48 --- /dev/null +++ b/Dependencies/quill/quill/backend/TransitEvent.h @@ -0,0 +1,93 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/core/Attributes.h" +#include "quill/core/Codec.h" +#include "quill/core/FormatBuffer.h" +#include "quill/core/LogLevel.h" +#include "quill/core/MacroMetadata.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace quill::detail +{ +/** Forward declaration */ +class LoggerBase; + +/***/ +struct TransitEvent +{ + /***/ + TransitEvent() { formatted_msg.reserve(32); } + + /***/ + ~TransitEvent() = default; + + /***/ + TransitEvent(TransitEvent const& other) = delete; + TransitEvent& operator=(TransitEvent const& other) = delete; + + /***/ + TransitEvent(TransitEvent&& other) noexcept + : timestamp(other.timestamp), + macro_metadata(other.macro_metadata), + logger_base(other.logger_base), + format_args_decoder(other.format_args_decoder), + thread_id(other.thread_id), + thread_name(other.thread_name), + formatted_msg(std::move(other.formatted_msg)), + named_args(std::move(other.named_args)), + dynamic_log_level(other.dynamic_log_level), + flush_flag(other.flush_flag) + { + } + + /***/ + TransitEvent& operator=(TransitEvent&& other) noexcept + { + if (this != &other) + { + timestamp = other.timestamp; + macro_metadata = other.macro_metadata; + logger_base = other.logger_base; + format_args_decoder = other.format_args_decoder; + thread_id = other.thread_id; + thread_name = other.thread_name; + formatted_msg = std::move(other.formatted_msg); + named_args = std::move(other.named_args); + dynamic_log_level = other.dynamic_log_level; + flush_flag = other.flush_flag; + } + + return *this; + } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT LogLevel log_level() const noexcept + { + return (macro_metadata->log_level() != LogLevel::Dynamic) ? macro_metadata->log_level() : dynamic_log_level; + } + + uint64_t timestamp{0}; + MacroMetadata const* macro_metadata{nullptr}; + detail::LoggerBase* logger_base{nullptr}; + detail::FormatArgsDecoder format_args_decoder{nullptr}; + std::string_view thread_id; + std::string_view thread_name; + FormatBuffer formatted_msg; /** buffer for message **/ + std::unique_ptr>> named_args; /** A unique ptr to save space as named args feature is not always used */ + LogLevel dynamic_log_level{LogLevel::None}; + std::atomic* flush_flag{nullptr}; /** This is only used in the case of Event::Flush **/ +}; +} // namespace quill::detail \ No newline at end of file diff --git a/Dependencies/quill/quill/backend/TransitEventBuffer.h b/Dependencies/quill/quill/backend/TransitEventBuffer.h new file mode 100644 index 00000000..d5d52c1f --- /dev/null +++ b/Dependencies/quill/quill/backend/TransitEventBuffer.h @@ -0,0 +1,211 @@ +/** + * Copyright(c) 2020-present, Odysseas Georgoudis & quill contributors. + * Distributed under the MIT License (http://opensource.org/licenses/MIT) + */ + +#pragma once + +#include "quill/backend/TransitEvent.h" +#include "quill/core/Attributes.h" +#include "quill/core/Common.h" +#include "quill/core/MathUtils.h" + +#include +#include +#include +#include + +namespace quill::detail +{ +template +class BoundedTransitEventBufferImpl +{ +public: + using integer_type = T; + + /***/ + explicit BoundedTransitEventBufferImpl(integer_type capacity) + : _capacity(next_power_of_two(capacity)), _mask(static_cast(_capacity - 1u)) + { + _storage.resize(_capacity); + } + + /***/ + BoundedTransitEventBufferImpl(BoundedTransitEventBufferImpl const&) = delete; + BoundedTransitEventBufferImpl& operator=(BoundedTransitEventBufferImpl const&) = delete; + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT TransitEvent* front() noexcept + { + if (_writer_pos == _reader_pos) + { + // empty + return nullptr; + } + + return &_storage[static_cast(_reader_pos & _mask)]; + } + + /***/ + QUILL_ATTRIBUTE_HOT void pop_front() noexcept { ++_reader_pos; } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT TransitEvent* back() noexcept + { + if (_capacity - size() == 0) + { + // is full + return nullptr; + } + + return &_storage[static_cast(_writer_pos & _mask)]; + } + + /***/ + QUILL_ATTRIBUTE_HOT void push_back() noexcept { ++_writer_pos; } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT integer_type size() const noexcept + { + return static_cast(_writer_pos - _reader_pos); + } + + /***/ + QUILL_NODISCARD integer_type capacity() const noexcept + { + return static_cast(_capacity); + } + +private: + integer_type const _capacity; + integer_type const _mask; + integer_type _reader_pos{0}; + integer_type _writer_pos{0}; + std::vector _storage; +}; + +using BoundedTransitEventBuffer = BoundedTransitEventBufferImpl; + +class UnboundedTransitEventBuffer +{ +public: + /***/ + struct Node + { + /** + * Constructor + * @param transit_buffer_capacity the capacity of the fixed buffer + */ + explicit Node(uint32_t transit_buffer_capacity) : transit_buffer(transit_buffer_capacity) {} + + /** members */ + Node* next{nullptr}; + BoundedTransitEventBuffer transit_buffer; + }; + + /***/ + explicit UnboundedTransitEventBuffer(uint32_t initial_transit_buffer_capacity) + : _writer(new Node(initial_transit_buffer_capacity)), _reader(_writer) + { + } + + /***/ + UnboundedTransitEventBuffer(UnboundedTransitEventBuffer const&) = delete; + UnboundedTransitEventBuffer& operator=(UnboundedTransitEventBuffer const&) = delete; + + /***/ + ~UnboundedTransitEventBuffer() + { + Node const* reader_node = _reader; + + // Look for extra nodes to delete + while (reader_node) + { + auto const to_delete = reader_node; + reader_node = reader_node->next; + delete to_delete; + } + } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT TransitEvent* front() noexcept + { + TransitEvent* next_event = _reader->transit_buffer.front(); + + if (!next_event) + { + // the buffer is empty check if another buffer exists + if (QUILL_UNLIKELY(_reader->next != nullptr)) + { + // a new buffer was added by the producer, this happens only when we have allocated a new queue + + // switch to the new buffer, existing one is deleted + Node* next_node = _reader->next; + delete _reader; + _reader = next_node; + next_event = _reader->transit_buffer.front(); + } + } + + return next_event; + } + + /***/ + QUILL_ATTRIBUTE_HOT void pop_front() noexcept { _reader->transit_buffer.pop_front(); } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT TransitEvent* back() noexcept + { + // Try to reserve the bounded queue + TransitEvent* write_event = _writer->transit_buffer.back(); + + if (QUILL_UNLIKELY(write_event == nullptr)) + { + // buffer doesn't have enough space + uint64_t capacity = static_cast(_writer->transit_buffer.capacity()) * 2ull; + uint64_t constexpr max_bounded_queue_capacity = + (std::numeric_limits::max() >> 1) + 1; + + if (QUILL_UNLIKELY(capacity > max_bounded_queue_capacity)) + { + capacity = max_bounded_queue_capacity; + } + + auto const new_node = new Node{static_cast(capacity)}; + _writer->next = new_node; + _writer = _writer->next; + write_event = _writer->transit_buffer.back(); + } + + assert(write_event && "Write event is always true"); + + return write_event; + } + + /***/ + QUILL_ATTRIBUTE_HOT void push_back() noexcept { _writer->transit_buffer.push_back(); } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT uint32_t size() const noexcept + { + Node const* reader = _reader; + + uint32_t size = reader->transit_buffer.size(); + + while (reader->next) + { + reader = reader->next; + size += reader->transit_buffer.size(); + } + + return size; + } + + /***/ + QUILL_NODISCARD QUILL_ATTRIBUTE_HOT bool empty() noexcept { return front() ? false : true; } + +private: + Node* _writer{nullptr}; + Node* _reader{nullptr}; +}; +} // namespace quill::detail diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/args.h b/Dependencies/quill/quill/bundled/fmt/args.h similarity index 81% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/args.h rename to Dependencies/quill/quill/bundled/fmt/args.h index a3966d14..3e2364cc 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/args.h +++ b/Dependencies/quill/quill/bundled/fmt/args.h @@ -1,12 +1,12 @@ -// Formatting library for C++ - dynamic format arguments +// Formatting library for C++ - dynamic argument lists // // Copyright (c) 2012 - present, Victor Zverovich // All rights reserved. // // For the license information refer to format.h. -#ifndef FMT_ARGS_H_ -#define FMT_ARGS_H_ +#ifndef FMTQUILL_ARGS_H_ +#define FMTQUILL_ARGS_H_ #include // std::reference_wrapper #include // std::unique_ptr @@ -14,7 +14,7 @@ #include "core.h" -FMT_BEGIN_NAMESPACE +FMTQUILL_BEGIN_NAMESPACE namespace detail { @@ -22,8 +22,9 @@ template struct is_reference_wrapper : std::false_type {}; template struct is_reference_wrapper> : std::true_type {}; -template const T& unwrap(const T& v) { return v; } -template const T& unwrap(const std::reference_wrapper& v) { +template auto unwrap(const T& v) -> const T& { return v; } +template +auto unwrap(const std::reference_wrapper& v) -> const T& { return static_cast(v); } @@ -40,17 +41,17 @@ class dynamic_arg_list { T value; template - FMT_CONSTEXPR typed_node(const Arg& arg) : value(arg) {} + FMTQUILL_CONSTEXPR typed_node(const Arg& arg) : value(arg) {} template - FMT_CONSTEXPR typed_node(const basic_string_view& arg) + FMTQUILL_CONSTEXPR typed_node(const basic_string_view& arg) : value(arg.data(), arg.size()) {} }; std::unique_ptr> head_; public: - template const T& push(const Arg& arg) { + template auto push(const Arg& arg) -> const T& { auto new_node = std::unique_ptr>(new typed_node(arg)); auto& value = new_node->value; new_node->next = std::move(head_); @@ -62,17 +63,17 @@ class dynamic_arg_list { /** \rst - A dynamic version of `fmt::format_arg_store`. + A dynamic version of `fmtquill::format_arg_store`. It's equipped with a storage to potentially temporary objects which lifetimes could be shorter than the format arguments object. - It can be implicitly converted into `~fmt::basic_format_args` for passing - into type-erased formatting functions such as `~fmt::vformat`. + It can be implicitly converted into `~fmtquill::basic_format_args` for passing + into type-erased formatting functions such as `~fmtquill::vformat`. \endrst */ template class dynamic_format_arg_store -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 +#if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 409 // Workaround a GCC template argument substitution bug. : public basic_format_args #endif @@ -110,14 +111,14 @@ class dynamic_format_arg_store friend class basic_format_args; - unsigned long long get_types() const { + auto get_types() const -> unsigned long long { return detail::is_unpacked_bit | data_.size() | (named_info_.empty() ? 0ULL : static_cast(detail::has_named_args_bit)); } - const basic_format_arg* data() const { + auto data() const -> const basic_format_arg* { return named_info_.empty() ? data_.data() : data_.data() + 1; } @@ -155,11 +156,11 @@ class dynamic_format_arg_store **Example**:: - fmt::dynamic_format_arg_store store; + fmtquill::dynamic_format_arg_store store; store.push_back(42); store.push_back("abc"); store.push_back(1.5f); - std::string result = fmt::vformat("{} and {} and {}", store); + std::string result = fmtquill::vformat("{} and {} and {}", store); \endrst */ template void push_back(const T& arg) { @@ -176,11 +177,11 @@ class dynamic_format_arg_store **Example**:: - fmt::dynamic_format_arg_store store; + fmtquill::dynamic_format_arg_store store; char band[] = "Rolling Stones"; store.push_back(std::cref(band)); band[9] = 'c'; // Changing str affects the output. - std::string result = fmt::vformat("{}", store); + std::string result = fmtquill::vformat("{}", store); // result == "Rolling Scones" \endrst */ @@ -202,9 +203,9 @@ class dynamic_format_arg_store dynamic_args_.push>(arg.name).c_str(); if (detail::const_check(need_copy::value)) { emplace_arg( - fmt::arg(arg_name, dynamic_args_.push>(arg.value))); + fmtquill::arg(arg_name, dynamic_args_.push>(arg.value))); } else { - emplace_arg(fmt::arg(arg_name, arg.value)); + emplace_arg(fmtquill::arg(arg_name, arg.value)); } } @@ -222,13 +223,13 @@ class dynamic_format_arg_store \endrst */ void reserve(size_t new_cap, size_t new_cap_named) { - FMT_ASSERT(new_cap >= new_cap_named, + FMTQUILL_ASSERT(new_cap >= new_cap_named, "Set of arguments includes set of named arguments"); data_.reserve(new_cap); named_info_.reserve(new_cap_named); } }; -FMT_END_NAMESPACE +FMTQUILL_END_NAMESPACE -#endif // FMT_ARGS_H_ +#endif // FMTQUILL_ARGS_H_ diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/chrono.h b/Dependencies/quill/quill/bundled/fmt/chrono.h similarity index 58% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/chrono.h rename to Dependencies/quill/quill/bundled/fmt/chrono.h index b112f76e..f3bb7e4a 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/chrono.h +++ b/Dependencies/quill/quill/bundled/fmt/chrono.h @@ -5,8 +5,8 @@ // // For the license information refer to format.h. -#ifndef FMT_CHRONO_H_ -#define FMT_CHRONO_H_ +#ifndef FMTQUILL_CHRONO_H_ +#define FMTQUILL_CHRONO_H_ #include #include @@ -18,29 +18,47 @@ #include #include -#include "format.h" +#include "ostream.h" // formatbuf -FMT_BEGIN_NAMESPACE +FMTQUILL_BEGIN_NAMESPACE + +// Check if std::chrono::local_t is available. +#ifndef FMTQUILL_USE_LOCAL_TIME +# ifdef __cpp_lib_chrono +# define FMTQUILL_USE_LOCAL_TIME (__cpp_lib_chrono >= 201907L) +# else +# define FMTQUILL_USE_LOCAL_TIME 0 +# endif +#endif + +// Check if std::chrono::utc_timestamp is available. +#ifndef FMTQUILL_USE_UTC_TIME +# ifdef __cpp_lib_chrono +# define FMTQUILL_USE_UTC_TIME (__cpp_lib_chrono >= 201907L) +# else +# define FMTQUILL_USE_UTC_TIME 0 +# endif +#endif // Enable tzset. -#ifndef FMT_USE_TZSET +#ifndef FMTQUILL_USE_TZSET // UWP doesn't provide _tzset. -# if FMT_HAS_INCLUDE("winapifamily.h") +# if FMTQUILL_HAS_INCLUDE("winapifamily.h") # include # endif # if defined(_WIN32) && (!defined(WINAPI_FAMILY) || \ (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) -# define FMT_USE_TZSET 1 +# define FMTQUILL_USE_TZSET 1 # else -# define FMT_USE_TZSET 0 +# define FMTQUILL_USE_TZSET 0 # endif #endif // Enable safe chrono durations, unless explicitly disabled. -#ifndef FMT_SAFE_DURATION_CAST -# define FMT_SAFE_DURATION_CAST 1 +#ifndef FMTQUILL_SAFE_DURATION_CAST +# define FMTQUILL_SAFE_DURATION_CAST 1 #endif -#if FMT_SAFE_DURATION_CAST +#if FMTQUILL_SAFE_DURATION_CAST // For conversion between std::chrono::durations without undefined // behaviour or erroneous results. @@ -51,10 +69,11 @@ FMT_BEGIN_NAMESPACE namespace safe_duration_cast { template ::value && + FMTQUILL_ENABLE_IF(!std::is_same::value && std::numeric_limits::is_signed == std::numeric_limits::is_signed)> -FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { +FMTQUILL_CONSTEXPR auto lossless_integral_conversion(const From from, int& ec) + -> To { ec = 0; using F = std::numeric_limits; using T = std::numeric_limits; @@ -80,10 +99,11 @@ FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { * can't be converted to To without loss, ec is set. */ template ::value && + FMTQUILL_ENABLE_IF(!std::is_same::value && std::numeric_limits::is_signed != std::numeric_limits::is_signed)> -FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { +FMTQUILL_CONSTEXPR auto lossless_integral_conversion(const From from, int& ec) + -> To { ec = 0; using F = std::numeric_limits; using T = std::numeric_limits; @@ -92,7 +112,7 @@ FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { if (detail::const_check(F::is_signed && !T::is_signed)) { // From may be negative, not allowed! - if (fmt::detail::is_negative(from)) { + if (fmtquill::detail::is_negative(from)) { ec = 1; return {}; } @@ -114,8 +134,9 @@ FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { } template ::value)> -FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { + FMTQUILL_ENABLE_IF(std::is_same::value)> +FMTQUILL_CONSTEXPR auto lossless_integral_conversion(const From from, int& ec) + -> To { ec = 0; return from; } // function @@ -135,8 +156,8 @@ FMT_CONSTEXPR To lossless_integral_conversion(const From from, int& ec) { */ // clang-format on template ::value)> -FMT_CONSTEXPR To safe_float_conversion(const From from, int& ec) { + FMTQUILL_ENABLE_IF(!std::is_same::value)> +FMTQUILL_CONSTEXPR auto safe_float_conversion(const From from, int& ec) -> To { ec = 0; using T = std::numeric_limits; static_assert(std::is_floating_point::value, "From must be floating"); @@ -157,8 +178,8 @@ FMT_CONSTEXPR To safe_float_conversion(const From from, int& ec) { } // function template ::value)> -FMT_CONSTEXPR To safe_float_conversion(const From from, int& ec) { + FMTQUILL_ENABLE_IF(std::is_same::value)> +FMTQUILL_CONSTEXPR auto safe_float_conversion(const From from, int& ec) -> To { ec = 0; static_assert(std::is_floating_point::value, "From must be floating"); return from; @@ -168,10 +189,10 @@ FMT_CONSTEXPR To safe_float_conversion(const From from, int& ec) { * safe duration cast between integral durations */ template ::value), - FMT_ENABLE_IF(std::is_integral::value)> -To safe_duration_cast(std::chrono::duration from, - int& ec) { + FMTQUILL_ENABLE_IF(std::is_integral::value), + FMTQUILL_ENABLE_IF(std::is_integral::value)> +auto safe_duration_cast(std::chrono::duration from, + int& ec) -> To { using From = std::chrono::duration; ec = 0; // the basic idea is that we need to convert from count() in the from type @@ -203,7 +224,8 @@ To safe_duration_cast(std::chrono::duration from, } const auto min1 = (std::numeric_limits::min)() / Factor::num; - if (!std::is_unsigned::value && count < min1) { + if (detail::const_check(!std::is_unsigned::value) && + count < min1) { ec = 1; return {}; } @@ -219,10 +241,10 @@ To safe_duration_cast(std::chrono::duration from, * safe duration_cast between floating point durations */ template ::value), - FMT_ENABLE_IF(std::is_floating_point::value)> -To safe_duration_cast(std::chrono::duration from, - int& ec) { + FMTQUILL_ENABLE_IF(std::is_floating_point::value), + FMTQUILL_ENABLE_IF(std::is_floating_point::value)> +auto safe_duration_cast(std::chrono::duration from, + int& ec) -> To { using From = std::chrono::duration; ec = 0; if (std::isnan(from.count())) { @@ -297,17 +319,17 @@ To safe_duration_cast(std::chrono::duration from, #endif // Prevents expansion of a preceding token as a function-style macro. -// Usage: f FMT_NOMACRO() -#define FMT_NOMACRO +// Usage: f FMTQUILL_NOMACRO() +#define FMTQUILL_NOMACRO namespace detail { template struct null {}; -inline null<> localtime_r FMT_NOMACRO(...) { return null<>(); } -inline null<> localtime_s(...) { return null<>(); } -inline null<> gmtime_r(...) { return null<>(); } -inline null<> gmtime_s(...) { return null<>(); } +inline auto localtime_r FMTQUILL_NOMACRO(...) -> null<> { return null<>(); } +inline auto localtime_s(...) -> null<> { return null<>(); } +inline auto gmtime_r(...) -> null<> { return null<>(); } +inline auto gmtime_s(...) -> null<> { return null<>(); } -inline const std::locale& get_classic_locale() { +inline auto get_classic_locale() -> const std::locale& { static const auto& locale = std::locale::classic(); return locale; } @@ -317,13 +339,11 @@ template struct codecvt_result { CodeUnit buf[max_size]; CodeUnit* end; }; -template -constexpr const size_t codecvt_result::max_size; template void write_codecvt(codecvt_result& out, string_view in_buf, const std::locale& loc) { -#if FMT_CLANG_VERSION +#if FMTQUILL_CLANG_VERSION # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wdeprecated" auto& f = std::use_facet>(loc); @@ -336,7 +356,7 @@ void write_codecvt(codecvt_result& out, string_view in_buf, auto result = f.in(mb, in_buf.begin(), in_buf.end(), from_next, std::begin(out.buf), std::end(out.buf), out.end); if (result != std::codecvt_base::ok) - FMT_THROW(format_error("failed to format time")); + FMTQUILL_THROW(format_error("failed to format time")); } template @@ -345,7 +365,7 @@ auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc) if (detail::is_utf8() && loc != get_classic_locale()) { // char16_t and char32_t codecvts are broken in MSVC (linkage errors) and // gcc-4. -#if FMT_MSC_VERSION != 0 || \ +#if FMTQUILL_MSC_VERSION != 0 || \ (defined(__GLIBCXX__) && !defined(_GLIBCXX_USE_DUAL_ABI)) // The _GLIBCXX_USE_DUAL_ABI macro is always defined in libstdc++ from gcc-5 // and newer. @@ -358,43 +378,17 @@ auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc) unit_t unit; write_codecvt(unit, in, loc); // In UTF-8 is used one to four one-byte code units. - auto&& buf = basic_memory_buffer(); - for (code_unit* p = unit.buf; p != unit.end; ++p) { - uint32_t c = static_cast(*p); - if (sizeof(code_unit) == 2 && c >= 0xd800 && c <= 0xdfff) { - // surrogate pair - ++p; - if (p == unit.end || (c & 0xfc00) != 0xd800 || - (*p & 0xfc00) != 0xdc00) { - FMT_THROW(format_error("failed to format time")); - } - c = (c << 10) + static_cast(*p) - 0x35fdc00; - } - if (c < 0x80) { - buf.push_back(static_cast(c)); - } else if (c < 0x800) { - buf.push_back(static_cast(0xc0 | (c >> 6))); - buf.push_back(static_cast(0x80 | (c & 0x3f))); - } else if ((c >= 0x800 && c <= 0xd7ff) || (c >= 0xe000 && c <= 0xffff)) { - buf.push_back(static_cast(0xe0 | (c >> 12))); - buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); - buf.push_back(static_cast(0x80 | (c & 0x3f))); - } else if (c >= 0x10000 && c <= 0x10ffff) { - buf.push_back(static_cast(0xf0 | (c >> 18))); - buf.push_back(static_cast(0x80 | ((c & 0x3ffff) >> 12))); - buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); - buf.push_back(static_cast(0x80 | (c & 0x3f))); - } else { - FMT_THROW(format_error("failed to format time")); - } - } - return copy_str(buf.data(), buf.data() + buf.size(), out); + auto u = + to_utf8>(); + if (!u.convert({unit.buf, to_unsigned(unit.end - unit.buf)})) + FMTQUILL_THROW(format_error("failed to format time")); + return copy_str(u.c_str(), u.c_str() + u.size(), out); } return copy_str(in.data(), in.data() + in.size(), out); } template ::value)> + FMTQUILL_ENABLE_IF(!std::is_same::value)> auto write_tm_str(OutputIt out, string_view sv, const std::locale& loc) -> OutputIt { codecvt_result unit; @@ -403,7 +397,7 @@ auto write_tm_str(OutputIt out, string_view sv, const std::locale& loc) } template ::value)> + FMTQUILL_ENABLE_IF(std::is_same::value)> auto write_tm_str(OutputIt out, string_view sv, const std::locale& loc) -> OutputIt { return write_encoded_tm_str(out, sv, loc); @@ -415,23 +409,22 @@ inline void do_write(buffer& buf, const std::tm& time, auto&& format_buf = formatbuf>(buf); auto&& os = std::basic_ostream(&format_buf); os.imbue(loc); - using iterator = std::ostreambuf_iterator; - const auto& facet = std::use_facet>(loc); + const auto& facet = std::use_facet>(loc); auto end = facet.put(os, os, Char(' '), &time, format, modifier); - if (end.failed()) FMT_THROW(format_error("failed to format time")); + if (end.failed()) FMTQUILL_THROW(format_error("failed to format time")); } template ::value)> + FMTQUILL_ENABLE_IF(!std::is_same::value)> auto write(OutputIt out, const std::tm& time, const std::locale& loc, char format, char modifier = 0) -> OutputIt { auto&& buf = get_buffer(out); do_write(buf, time, loc, format, modifier); - return buf.out(); + return get_iterator(buf, out); } template ::value)> + FMTQUILL_ENABLE_IF(std::is_same::value)> auto write(OutputIt out, const std::tm& time, const std::locale& loc, char format, char modifier = 0) -> OutputIt { auto&& buf = basic_memory_buffer(); @@ -439,39 +432,84 @@ auto write(OutputIt out, const std::tm& time, const std::locale& loc, return write_encoded_tm_str(out, string_view(buf.data(), buf.size()), loc); } +template +struct is_same_arithmetic_type + : public std::integral_constant::value && + std::is_integral::value) || + (std::is_floating_point::value && + std::is_floating_point::value)> { +}; + +template < + typename To, typename FromRep, typename FromPeriod, + FMTQUILL_ENABLE_IF(is_same_arithmetic_type::value)> +auto fmt_duration_cast(std::chrono::duration from) -> To { +#if FMTQUILL_SAFE_DURATION_CAST + // Throwing version of safe_duration_cast is only available for + // integer to integer or float to float casts. + int ec; + To to = safe_duration_cast::safe_duration_cast(from, ec); + if (ec) FMTQUILL_THROW(format_error("cannot format duration")); + return to; +#else + // Standard duration cast, may overflow. + return std::chrono::duration_cast(from); +#endif +} + +template < + typename To, typename FromRep, typename FromPeriod, + FMTQUILL_ENABLE_IF(!is_same_arithmetic_type::value)> +auto fmt_duration_cast(std::chrono::duration from) -> To { + // Mixed integer <-> float cast is not supported by safe_duration_cast. + return std::chrono::duration_cast(from); +} + +template +auto to_time_t( + std::chrono::time_point time_point) + -> std::time_t { + // Cannot use std::chrono::system_clock::to_time_t since this would first + // require a cast to std::chrono::system_clock::time_point, which could + // overflow. + return fmt_duration_cast>( + time_point.time_since_epoch()) + .count(); +} } // namespace detail -FMT_MODULE_EXPORT_BEGIN +FMTQUILL_BEGIN_EXPORT /** Converts given time since epoch as ``std::time_t`` value into calendar time, expressed in local time. Unlike ``std::localtime``, this function is thread-safe on most platforms. */ -inline std::tm localtime(std::time_t time) { +inline auto localtime(std::time_t time) -> std::tm { struct dispatcher { std::time_t time_; std::tm tm_; dispatcher(std::time_t t) : time_(t) {} - bool run() { - using namespace fmt::detail; + auto run() -> bool { + using namespace fmtquill::detail; return handle(localtime_r(&time_, &tm_)); } - bool handle(std::tm* tm) { return tm != nullptr; } + auto handle(std::tm* tm) -> bool { return tm != nullptr; } - bool handle(detail::null<>) { - using namespace fmt::detail; + auto handle(detail::null<>) -> bool { + using namespace fmtquill::detail; return fallback(localtime_s(&tm_, &time_)); } - bool fallback(int res) { return res == 0; } + auto fallback(int res) -> bool { return res == 0; } -#if !FMT_MSC_VERSION - bool fallback(detail::null<>) { - using namespace fmt::detail; +#if !FMTQUILL_MSC_VERSION + auto fallback(detail::null<>) -> bool { + using namespace fmtquill::detail; std::tm* tm = std::localtime(&time_); if (tm) tm_ = *tm; return tm != nullptr; @@ -480,61 +518,66 @@ inline std::tm localtime(std::time_t time) { }; dispatcher lt(time); // Too big time values may be unsupported. - if (!lt.run()) FMT_THROW(format_error("time_t value out of range")); + if (!lt.run()) FMTQUILL_THROW(format_error("time_t value out of range")); return lt.tm_; } -inline std::tm localtime( - std::chrono::time_point time_point) { - return localtime(std::chrono::system_clock::to_time_t(time_point)); +#if FMTQUILL_USE_LOCAL_TIME +template +inline auto localtime(std::chrono::local_time time) -> std::tm { + return localtime( + detail::to_time_t(std::chrono::current_zone()->to_sys(time))); } +#endif /** Converts given time since epoch as ``std::time_t`` value into calendar time, expressed in Coordinated Universal Time (UTC). Unlike ``std::gmtime``, this function is thread-safe on most platforms. */ -inline std::tm gmtime(std::time_t time) { +inline auto gmtime(std::time_t time) -> std::tm { struct dispatcher { std::time_t time_; std::tm tm_; dispatcher(std::time_t t) : time_(t) {} - bool run() { - using namespace fmt::detail; + auto run() -> bool { + using namespace fmtquill::detail; return handle(gmtime_r(&time_, &tm_)); } - bool handle(std::tm* tm) { return tm != nullptr; } + auto handle(std::tm* tm) -> bool { return tm != nullptr; } - bool handle(detail::null<>) { - using namespace fmt::detail; + auto handle(detail::null<>) -> bool { + using namespace fmtquill::detail; return fallback(gmtime_s(&tm_, &time_)); } - bool fallback(int res) { return res == 0; } + auto fallback(int res) -> bool { return res == 0; } -#if !FMT_MSC_VERSION - bool fallback(detail::null<>) { +#if !FMTQUILL_MSC_VERSION + auto fallback(detail::null<>) -> bool { std::tm* tm = std::gmtime(&time_); if (tm) tm_ = *tm; return tm != nullptr; } #endif }; - dispatcher gt(time); + auto gt = dispatcher(time); // Too big time values may be unsupported. - if (!gt.run()) FMT_THROW(format_error("time_t value out of range")); + if (!gt.run()) FMTQUILL_THROW(format_error("time_t value out of range")); return gt.tm_; } -inline std::tm gmtime( - std::chrono::time_point time_point) { - return gmtime(std::chrono::system_clock::to_time_t(time_point)); +template +inline auto gmtime( + std::chrono::time_point time_point) + -> std::tm { + return gmtime(detail::to_time_t(time_point)); } -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { // Writes two-digit numbers a, b and c separated by sep to buf. // The method by Pavel Novikov based on @@ -570,7 +613,8 @@ inline void write_digit2_separated(char* buf, unsigned a, unsigned b, } } -template FMT_CONSTEXPR inline const char* get_units() { +template +FMTQUILL_CONSTEXPR inline auto get_units() -> const char* { if (std::is_same::value) return "as"; if (std::is_same::value) return "fs"; if (std::is_same::value) return "ps"; @@ -588,8 +632,9 @@ template FMT_CONSTEXPR inline const char* get_units() { if (std::is_same::value) return "Ts"; if (std::is_same::value) return "Ps"; if (std::is_same::value) return "Es"; - if (std::is_same>::value) return "m"; + if (std::is_same>::value) return "min"; if (std::is_same>::value) return "h"; + if (std::is_same>::value) return "d"; return nullptr; } @@ -599,12 +644,38 @@ enum class numeric_system { alternative }; +// Glibc extensions for formatting numeric values. +enum class pad_type { + unspecified, + // Do not pad a numeric result string. + none, + // Pad a numeric result string with zeros even if the conversion specifier + // character uses space-padding by default. + zero, + // Pad a numeric result string with spaces. + space, +}; + +template +auto write_padding(OutputIt out, pad_type pad, int width) -> OutputIt { + if (pad == pad_type::none) return out; + return std::fill_n(out, width, pad == pad_type::space ? ' ' : '0'); +} + +template +auto write_padding(OutputIt out, pad_type pad) -> OutputIt { + if (pad != pad_type::none) *out++ = pad == pad_type::space ? ' ' : '0'; + return out; +} + // Parses a put_time-like format string and invokes handler actions. template -FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, - const Char* end, - Handler&& handler) { +FMTQUILL_CONSTEXPR auto parse_chrono_format(const Char* begin, const Char* end, + Handler&& handler) -> const Char* { + if (begin == end || *begin == '}') return begin; + if (*begin != '%') FMTQUILL_THROW(format_error("invalid format")); auto ptr = begin; + pad_type pad = pad_type::unspecified; while (ptr != end) { auto c = *ptr; if (c == '}') break; @@ -614,7 +685,23 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, } if (begin != ptr) handler.on_text(begin, ptr); ++ptr; // consume '%' - if (ptr == end) FMT_THROW(format_error("invalid format")); + if (ptr == end) FMTQUILL_THROW(format_error("invalid format")); + c = *ptr; + switch (c) { + case '_': + pad = pad_type::space; + ++ptr; + break; + case '-': + pad = pad_type::none; + ++ptr; + break; + case '0': + pad = pad_type::zero; + ++ptr; + break; + } + if (ptr == end) FMTQUILL_THROW(format_error("invalid format")); c = *ptr++; switch (c) { case '%': @@ -691,16 +778,16 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, break; // Hour, minute, second: case 'H': - handler.on_24_hour(numeric_system::standard); + handler.on_24_hour(numeric_system::standard, pad); break; case 'I': - handler.on_12_hour(numeric_system::standard); + handler.on_12_hour(numeric_system::standard, pad); break; case 'M': - handler.on_minute(numeric_system::standard); + handler.on_minute(numeric_system::standard, pad); break; case 'S': - handler.on_second(numeric_system::standard); + handler.on_second(numeric_system::standard, pad); break; // Other: case 'c': @@ -737,14 +824,14 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, handler.on_duration_unit(); break; case 'z': - handler.on_utc_offset(); + handler.on_utc_offset(numeric_system::standard); break; case 'Z': handler.on_tz_name(); break; // Alternative representation: case 'E': { - if (ptr == end) FMT_THROW(format_error("invalid format")); + if (ptr == end) FMTQUILL_THROW(format_error("invalid format")); c = *ptr++; switch (c) { case 'Y': @@ -765,13 +852,16 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, case 'X': handler.on_loc_time(numeric_system::alternative); break; + case 'z': + handler.on_utc_offset(numeric_system::alternative); + break; default: - FMT_THROW(format_error("invalid format")); + FMTQUILL_THROW(format_error("invalid format")); } break; } case 'O': - if (ptr == end) FMT_THROW(format_error("invalid format")); + if (ptr == end) FMTQUILL_THROW(format_error("invalid format")); c = *ptr++; switch (c) { case 'y': @@ -802,23 +892,26 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, handler.on_dec1_weekday(numeric_system::alternative); break; case 'H': - handler.on_24_hour(numeric_system::alternative); + handler.on_24_hour(numeric_system::alternative, pad); break; case 'I': - handler.on_12_hour(numeric_system::alternative); + handler.on_12_hour(numeric_system::alternative, pad); break; case 'M': - handler.on_minute(numeric_system::alternative); + handler.on_minute(numeric_system::alternative, pad); break; case 'S': - handler.on_second(numeric_system::alternative); + handler.on_second(numeric_system::alternative, pad); + break; + case 'z': + handler.on_utc_offset(numeric_system::alternative); break; default: - FMT_THROW(format_error("invalid format")); + FMTQUILL_THROW(format_error("invalid format")); } break; default: - FMT_THROW(format_error("invalid format")); + FMTQUILL_THROW(format_error("invalid format")); } begin = ptr; } @@ -827,107 +920,107 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, } template struct null_chrono_spec_handler { - FMT_CONSTEXPR void unsupported() { + FMTQUILL_CONSTEXPR void unsupported() { static_cast(this)->unsupported(); } - FMT_CONSTEXPR void on_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_short_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_offset_year() { unsupported(); } - FMT_CONSTEXPR void on_century(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_iso_week_based_year() { unsupported(); } - FMT_CONSTEXPR void on_iso_week_based_short_year() { unsupported(); } - FMT_CONSTEXPR void on_abbr_weekday() { unsupported(); } - FMT_CONSTEXPR void on_full_weekday() { unsupported(); } - FMT_CONSTEXPR void on_dec0_weekday(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_dec1_weekday(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_abbr_month() { unsupported(); } - FMT_CONSTEXPR void on_full_month() { unsupported(); } - FMT_CONSTEXPR void on_dec_month(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_dec0_week_of_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_dec1_week_of_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_iso_week_of_year(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_day_of_year() { unsupported(); } - FMT_CONSTEXPR void on_day_of_month(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_day_of_month_space(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_24_hour(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_12_hour(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_minute(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_second(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_datetime(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_loc_date(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_loc_time(numeric_system) { unsupported(); } - FMT_CONSTEXPR void on_us_date() { unsupported(); } - FMT_CONSTEXPR void on_iso_date() { unsupported(); } - FMT_CONSTEXPR void on_12_hour_time() { unsupported(); } - FMT_CONSTEXPR void on_24_hour_time() { unsupported(); } - FMT_CONSTEXPR void on_iso_time() { unsupported(); } - FMT_CONSTEXPR void on_am_pm() { unsupported(); } - FMT_CONSTEXPR void on_duration_value() { unsupported(); } - FMT_CONSTEXPR void on_duration_unit() { unsupported(); } - FMT_CONSTEXPR void on_utc_offset() { unsupported(); } - FMT_CONSTEXPR void on_tz_name() { unsupported(); } + FMTQUILL_CONSTEXPR void on_year(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_short_year(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_offset_year() { unsupported(); } + FMTQUILL_CONSTEXPR void on_century(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_iso_week_based_year() { unsupported(); } + FMTQUILL_CONSTEXPR void on_iso_week_based_short_year() { unsupported(); } + FMTQUILL_CONSTEXPR void on_abbr_weekday() { unsupported(); } + FMTQUILL_CONSTEXPR void on_full_weekday() { unsupported(); } + FMTQUILL_CONSTEXPR void on_dec0_weekday(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_dec1_weekday(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_abbr_month() { unsupported(); } + FMTQUILL_CONSTEXPR void on_full_month() { unsupported(); } + FMTQUILL_CONSTEXPR void on_dec_month(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_dec0_week_of_year(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_dec1_week_of_year(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_iso_week_of_year(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_day_of_year() { unsupported(); } + FMTQUILL_CONSTEXPR void on_day_of_month(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_day_of_month_space(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_24_hour(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_12_hour(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_minute(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_second(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_datetime(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_loc_date(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_loc_time(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_us_date() { unsupported(); } + FMTQUILL_CONSTEXPR void on_iso_date() { unsupported(); } + FMTQUILL_CONSTEXPR void on_12_hour_time() { unsupported(); } + FMTQUILL_CONSTEXPR void on_24_hour_time() { unsupported(); } + FMTQUILL_CONSTEXPR void on_iso_time() { unsupported(); } + FMTQUILL_CONSTEXPR void on_am_pm() { unsupported(); } + FMTQUILL_CONSTEXPR void on_duration_value() { unsupported(); } + FMTQUILL_CONSTEXPR void on_duration_unit() { unsupported(); } + FMTQUILL_CONSTEXPR void on_utc_offset(numeric_system) { unsupported(); } + FMTQUILL_CONSTEXPR void on_tz_name() { unsupported(); } }; struct tm_format_checker : null_chrono_spec_handler { - FMT_NORETURN void unsupported() { FMT_THROW(format_error("no format")); } + FMTQUILL_NORETURN void unsupported() { FMTQUILL_THROW(format_error("no format")); } template - FMT_CONSTEXPR void on_text(const Char*, const Char*) {} - FMT_CONSTEXPR void on_year(numeric_system) {} - FMT_CONSTEXPR void on_short_year(numeric_system) {} - FMT_CONSTEXPR void on_offset_year() {} - FMT_CONSTEXPR void on_century(numeric_system) {} - FMT_CONSTEXPR void on_iso_week_based_year() {} - FMT_CONSTEXPR void on_iso_week_based_short_year() {} - FMT_CONSTEXPR void on_abbr_weekday() {} - FMT_CONSTEXPR void on_full_weekday() {} - FMT_CONSTEXPR void on_dec0_weekday(numeric_system) {} - FMT_CONSTEXPR void on_dec1_weekday(numeric_system) {} - FMT_CONSTEXPR void on_abbr_month() {} - FMT_CONSTEXPR void on_full_month() {} - FMT_CONSTEXPR void on_dec_month(numeric_system) {} - FMT_CONSTEXPR void on_dec0_week_of_year(numeric_system) {} - FMT_CONSTEXPR void on_dec1_week_of_year(numeric_system) {} - FMT_CONSTEXPR void on_iso_week_of_year(numeric_system) {} - FMT_CONSTEXPR void on_day_of_year() {} - FMT_CONSTEXPR void on_day_of_month(numeric_system) {} - FMT_CONSTEXPR void on_day_of_month_space(numeric_system) {} - FMT_CONSTEXPR void on_24_hour(numeric_system) {} - FMT_CONSTEXPR void on_12_hour(numeric_system) {} - FMT_CONSTEXPR void on_minute(numeric_system) {} - FMT_CONSTEXPR void on_second(numeric_system) {} - FMT_CONSTEXPR void on_datetime(numeric_system) {} - FMT_CONSTEXPR void on_loc_date(numeric_system) {} - FMT_CONSTEXPR void on_loc_time(numeric_system) {} - FMT_CONSTEXPR void on_us_date() {} - FMT_CONSTEXPR void on_iso_date() {} - FMT_CONSTEXPR void on_12_hour_time() {} - FMT_CONSTEXPR void on_24_hour_time() {} - FMT_CONSTEXPR void on_iso_time() {} - FMT_CONSTEXPR void on_am_pm() {} - FMT_CONSTEXPR void on_utc_offset() {} - FMT_CONSTEXPR void on_tz_name() {} + FMTQUILL_CONSTEXPR void on_text(const Char*, const Char*) {} + FMTQUILL_CONSTEXPR void on_year(numeric_system) {} + FMTQUILL_CONSTEXPR void on_short_year(numeric_system) {} + FMTQUILL_CONSTEXPR void on_offset_year() {} + FMTQUILL_CONSTEXPR void on_century(numeric_system) {} + FMTQUILL_CONSTEXPR void on_iso_week_based_year() {} + FMTQUILL_CONSTEXPR void on_iso_week_based_short_year() {} + FMTQUILL_CONSTEXPR void on_abbr_weekday() {} + FMTQUILL_CONSTEXPR void on_full_weekday() {} + FMTQUILL_CONSTEXPR void on_dec0_weekday(numeric_system) {} + FMTQUILL_CONSTEXPR void on_dec1_weekday(numeric_system) {} + FMTQUILL_CONSTEXPR void on_abbr_month() {} + FMTQUILL_CONSTEXPR void on_full_month() {} + FMTQUILL_CONSTEXPR void on_dec_month(numeric_system) {} + FMTQUILL_CONSTEXPR void on_dec0_week_of_year(numeric_system) {} + FMTQUILL_CONSTEXPR void on_dec1_week_of_year(numeric_system) {} + FMTQUILL_CONSTEXPR void on_iso_week_of_year(numeric_system) {} + FMTQUILL_CONSTEXPR void on_day_of_year() {} + FMTQUILL_CONSTEXPR void on_day_of_month(numeric_system) {} + FMTQUILL_CONSTEXPR void on_day_of_month_space(numeric_system) {} + FMTQUILL_CONSTEXPR void on_24_hour(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_12_hour(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_minute(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_second(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_datetime(numeric_system) {} + FMTQUILL_CONSTEXPR void on_loc_date(numeric_system) {} + FMTQUILL_CONSTEXPR void on_loc_time(numeric_system) {} + FMTQUILL_CONSTEXPR void on_us_date() {} + FMTQUILL_CONSTEXPR void on_iso_date() {} + FMTQUILL_CONSTEXPR void on_12_hour_time() {} + FMTQUILL_CONSTEXPR void on_24_hour_time() {} + FMTQUILL_CONSTEXPR void on_iso_time() {} + FMTQUILL_CONSTEXPR void on_am_pm() {} + FMTQUILL_CONSTEXPR void on_utc_offset(numeric_system) {} + FMTQUILL_CONSTEXPR void on_tz_name() {} }; -inline const char* tm_wday_full_name(int wday) { +inline auto tm_wday_full_name(int wday) -> const char* { static constexpr const char* full_name_list[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; return wday >= 0 && wday <= 6 ? full_name_list[wday] : "?"; } -inline const char* tm_wday_short_name(int wday) { +inline auto tm_wday_short_name(int wday) -> const char* { static constexpr const char* short_name_list[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; return wday >= 0 && wday <= 6 ? short_name_list[wday] : "???"; } -inline const char* tm_mon_full_name(int mon) { +inline auto tm_mon_full_name(int mon) -> const char* { static constexpr const char* full_name_list[] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; return mon >= 0 && mon <= 11 ? full_name_list[mon] : "?"; } -inline const char* tm_mon_short_name(int mon) { +inline auto tm_mon_short_name(int mon) -> const char* { static constexpr const char* short_name_list[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", @@ -947,7 +1040,7 @@ template struct has_member_data_tm_zone> : std::true_type {}; -#if FMT_USE_TZSET +#if FMTQUILL_USE_TZSET inline void tzset_once() { static bool init = []() -> bool { _tzset(); @@ -957,42 +1050,158 @@ inline void tzset_once() { } #endif -template class tm_writer { +// Converts value to Int and checks that it's in the range [0, upper). +template ::value)> +inline auto to_nonnegative_int(T value, Int upper) -> Int { + if (!std::is_unsigned::value && + (value < 0 || to_unsigned(value) > to_unsigned(upper))) { + FMTQUILL_THROW(fmtquill::format_error("chrono value is out of range")); + } + return static_cast(value); +} +template ::value)> +inline auto to_nonnegative_int(T value, Int upper) -> Int { + if (value < 0 || value > static_cast(upper)) + FMTQUILL_THROW(format_error("invalid value")); + return static_cast(value); +} + +constexpr auto pow10(std::uint32_t n) -> long long { + return n == 0 ? 1 : 10 * pow10(n - 1); +} + +// Counts the number of fractional digits in the range [0, 18] according to the +// C++20 spec. If more than 18 fractional digits are required then returns 6 for +// microseconds precision. +template () / 10)> +struct count_fractional_digits { + static constexpr int value = + Num % Den == 0 ? N : count_fractional_digits::value; +}; + +// Base case that doesn't instantiate any more templates +// in order to avoid overflow. +template +struct count_fractional_digits { + static constexpr int value = (Num % Den == 0) ? N : 6; +}; + +// Format subseconds which are given as an integer type with an appropriate +// number of digits. +template +void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { + constexpr auto num_fractional_digits = + count_fractional_digits::value; + + using subsecond_precision = std::chrono::duration< + typename std::common_type::type, + std::ratio<1, detail::pow10(num_fractional_digits)>>; + + const auto fractional = d - fmt_duration_cast(d); + const auto subseconds = + std::chrono::treat_as_floating_point< + typename subsecond_precision::rep>::value + ? fractional.count() + : fmt_duration_cast(fractional).count(); + auto n = static_cast>(subseconds); + const int num_digits = detail::count_digits(n); + + int leading_zeroes = (std::max)(0, num_fractional_digits - num_digits); + if (precision < 0) { + FMTQUILL_ASSERT(!std::is_floating_point::value, ""); + if (std::ratio_less::value) { + *out++ = '.'; + out = std::fill_n(out, leading_zeroes, '0'); + out = format_decimal(out, n, num_digits).end; + } + } else { + *out++ = '.'; + leading_zeroes = (std::min)(leading_zeroes, precision); + out = std::fill_n(out, leading_zeroes, '0'); + int remaining = precision - leading_zeroes; + if (remaining != 0 && remaining < num_digits) { + n /= to_unsigned(detail::pow10(to_unsigned(num_digits - remaining))); + out = format_decimal(out, n, remaining).end; + return; + } + out = format_decimal(out, n, num_digits).end; + remaining -= num_digits; + out = std::fill_n(out, remaining, '0'); + } +} + +// Format subseconds which are given as a floating point type with an +// appropriate number of digits. We cannot pass the Duration here, as we +// explicitly need to pass the Rep value in the chrono_formatter. +template +void write_floating_seconds(memory_buffer& buf, Duration duration, + int num_fractional_digits = -1) { + using rep = typename Duration::rep; + FMTQUILL_ASSERT(std::is_floating_point::value, ""); + + auto val = duration.count(); + + if (num_fractional_digits < 0) { + // For `std::round` with fallback to `round`: + // On some toolchains `std::round` is not available (e.g. GCC 6). + using namespace std; + num_fractional_digits = + count_fractional_digits::value; + if (num_fractional_digits < 6 && static_cast(round(val)) != val) + num_fractional_digits = 6; + } + + fmtquill::format_to(std::back_inserter(buf), FMTQUILL_STRING("{:.{}f}"), + std::fmod(val * static_cast(Duration::period::num) / + static_cast(Duration::period::den), + static_cast(60)), + num_fractional_digits); +} + +template +class tm_writer { private: static constexpr int days_per_week = 7; const std::locale& loc_; const bool is_classic_; OutputIt out_; + const Duration* subsecs_; const std::tm& tm_; auto tm_sec() const noexcept -> int { - FMT_ASSERT(tm_.tm_sec >= 0 && tm_.tm_sec <= 61, ""); + FMTQUILL_ASSERT(tm_.tm_sec >= 0 && tm_.tm_sec <= 61, ""); return tm_.tm_sec; } auto tm_min() const noexcept -> int { - FMT_ASSERT(tm_.tm_min >= 0 && tm_.tm_min <= 59, ""); + FMTQUILL_ASSERT(tm_.tm_min >= 0 && tm_.tm_min <= 59, ""); return tm_.tm_min; } auto tm_hour() const noexcept -> int { - FMT_ASSERT(tm_.tm_hour >= 0 && tm_.tm_hour <= 23, ""); + FMTQUILL_ASSERT(tm_.tm_hour >= 0 && tm_.tm_hour <= 23, ""); return tm_.tm_hour; } auto tm_mday() const noexcept -> int { - FMT_ASSERT(tm_.tm_mday >= 1 && tm_.tm_mday <= 31, ""); + FMTQUILL_ASSERT(tm_.tm_mday >= 1 && tm_.tm_mday <= 31, ""); return tm_.tm_mday; } auto tm_mon() const noexcept -> int { - FMT_ASSERT(tm_.tm_mon >= 0 && tm_.tm_mon <= 11, ""); + FMTQUILL_ASSERT(tm_.tm_mon >= 0 && tm_.tm_mon <= 11, ""); return tm_.tm_mon; } auto tm_year() const noexcept -> long long { return 1900ll + tm_.tm_year; } auto tm_wday() const noexcept -> int { - FMT_ASSERT(tm_.tm_wday >= 0 && tm_.tm_wday <= 6, ""); + FMTQUILL_ASSERT(tm_.tm_wday >= 0 && tm_.tm_wday <= 6, ""); return tm_.tm_wday; } auto tm_yday() const noexcept -> int { - FMT_ASSERT(tm_.tm_yday >= 0 && tm_.tm_yday <= 365, ""); + FMTQUILL_ASSERT(tm_.tm_yday >= 0 && tm_.tm_yday <= 365, ""); return tm_.tm_yday; } @@ -1012,8 +1221,7 @@ template class tm_writer { return static_cast(l); } - // Algorithm: - // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_the_week_number_from_a_month_and_day_of_the_month_or_ordinal_date + // Algorithm: https://en.wikipedia.org/wiki/ISO_week_date. auto iso_year_weeks(long long curr_year) const noexcept -> int { const auto prev_year = curr_year - 1; const auto curr_p = @@ -1051,6 +1259,17 @@ template class tm_writer { *out_++ = *d++; *out_++ = *d; } + void write2(int value, pad_type pad) { + unsigned int v = to_unsigned(value) % 100; + if (v >= 10) { + const char* d = digits2(v); + *out_++ = *d++; + *out_++ = *d; + } else { + out_ = detail::write_padding(out_, pad); + *out_++ = static_cast('0' + v); + } + } void write_year_extended(long long year) { // At least 4 characters. @@ -1074,7 +1293,7 @@ template class tm_writer { } } - void write_utc_offset(long offset) { + void write_utc_offset(long offset, numeric_system ns) { if (offset < 0) { *out_++ = '-'; offset = -offset; @@ -1083,16 +1302,17 @@ template class tm_writer { } offset /= 60; write2(static_cast(offset / 60)); + if (ns != numeric_system::standard) *out_++ = ':'; write2(static_cast(offset % 60)); } - template ::value)> - void format_utc_offset_impl(const T& tm) { - write_utc_offset(tm.tm_gmtoff); + template ::value)> + void format_utc_offset_impl(const T& tm, numeric_system ns) { + write_utc_offset(tm.tm_gmtoff, ns); } - template ::value)> - void format_utc_offset_impl(const T& tm) { + template ::value)> + void format_utc_offset_impl(const T& tm, numeric_system ns) { #if defined(_WIN32) && defined(_UCRT) -# if FMT_USE_TZSET +# if FMTQUILL_USE_TZSET tzset_once(); # endif long offset = 0; @@ -1102,21 +1322,28 @@ template class tm_writer { _get_dstbias(&dstbias); offset += dstbias; } - write_utc_offset(-offset); + write_utc_offset(-offset, ns); #else - ignore_unused(tm); - format_localized('z'); + if (ns == numeric_system::standard) return format_localized('z'); + + // Extract timezone offset from timezone conversion functions. + std::tm gtm = tm; + std::time_t gt = std::mktime(>m); + std::tm ltm = gmtime(gt); + std::time_t lt = std::mktime(<m); + long offset = gt - lt; + write_utc_offset(offset, ns); #endif } - template ::value)> + template ::value)> void format_tz_name_impl(const T& tm) { if (is_classic_) out_ = write_tm_str(out_, tm.tm_zone, loc_); else format_localized('Z'); } - template ::value)> + template ::value)> void format_tz_name_impl(const T&) { format_localized('Z'); } @@ -1126,15 +1353,17 @@ template class tm_writer { } public: - tm_writer(const std::locale& loc, OutputIt out, const std::tm& tm) + tm_writer(const std::locale& loc, OutputIt out, const std::tm& tm, + const Duration* subsecs = nullptr) : loc_(loc), is_classic_(loc_ == get_classic_locale()), out_(out), + subsecs_(subsecs), tm_(tm) {} - OutputIt out() const { return out_; } + auto out() const -> OutputIt { return out_; } - FMT_CONSTEXPR void on_text(const Char* begin, const Char* end) { + FMTQUILL_CONSTEXPR void on_text(const Char* begin, const Char* end) { out_ = copy_str(begin, end, out_); } @@ -1227,7 +1456,7 @@ template class tm_writer { out_ = copy_str(std::begin(buf) + offset, std::end(buf), out_); } - void on_utc_offset() { format_utc_offset_impl(tm_); } + void on_utc_offset(numeric_system ns) { format_utc_offset_impl(tm_, ns); } void on_tz_name() { format_tz_name_impl(tm_); } void on_year(numeric_system ns) { @@ -1315,22 +1544,41 @@ template class tm_writer { } } - void on_24_hour(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_hour()); + void on_24_hour(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) + return write2(tm_hour(), pad); format_localized('H', 'O'); } - void on_12_hour(numeric_system ns) { + void on_12_hour(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) - return write2(tm_hour12()); + return write2(tm_hour12(), pad); format_localized('I', 'O'); } - void on_minute(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_min()); + void on_minute(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) + return write2(tm_min(), pad); format_localized('M', 'O'); } - void on_second(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_sec()); - format_localized('S', 'O'); + + void on_second(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) { + write2(tm_sec(), pad); + if (subsecs_) { + if (std::is_floating_point::value) { + auto buf = memory_buffer(); + write_floating_seconds(buf, *subsecs_); + if (buf.size() > 1) { + // Remove the leading "0", write something like ".123". + out_ = std::copy(buf.begin() + 1, buf.end(), out_); + } + } else { + write_fractional_seconds(out_, *subsecs_); + } + } + } else { + // Currently no formatting of subseconds when a locale is set. + format_localized('S', 'O'); + } } void on_12_hour_time() { @@ -1351,10 +1599,9 @@ template class tm_writer { write2(tm_min()); } void on_iso_time() { - char buf[8]; - write_digit2_separated(buf, to_unsigned(tm_hour()), to_unsigned(tm_min()), - to_unsigned(tm_sec()), ':'); - out_ = copy_str(std::begin(buf), std::end(buf), out_); + on_24_hour_time(); + *out_++ = ':'; + on_second(numeric_system::standard, pad_type::unspecified); } void on_am_pm() { @@ -1372,49 +1619,41 @@ template class tm_writer { }; struct chrono_format_checker : null_chrono_spec_handler { - FMT_NORETURN void unsupported() { FMT_THROW(format_error("no date")); } + bool has_precision_integral = false; + + FMTQUILL_NORETURN void unsupported() { FMTQUILL_THROW(format_error("no date")); } template - FMT_CONSTEXPR void on_text(const Char*, const Char*) {} - FMT_CONSTEXPR void on_24_hour(numeric_system) {} - FMT_CONSTEXPR void on_12_hour(numeric_system) {} - FMT_CONSTEXPR void on_minute(numeric_system) {} - FMT_CONSTEXPR void on_second(numeric_system) {} - FMT_CONSTEXPR void on_12_hour_time() {} - FMT_CONSTEXPR void on_24_hour_time() {} - FMT_CONSTEXPR void on_iso_time() {} - FMT_CONSTEXPR void on_am_pm() {} - FMT_CONSTEXPR void on_duration_value() {} - FMT_CONSTEXPR void on_duration_unit() {} + FMTQUILL_CONSTEXPR void on_text(const Char*, const Char*) {} + FMTQUILL_CONSTEXPR void on_day_of_year() {} + FMTQUILL_CONSTEXPR void on_24_hour(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_12_hour(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_minute(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_second(numeric_system, pad_type) {} + FMTQUILL_CONSTEXPR void on_12_hour_time() {} + FMTQUILL_CONSTEXPR void on_24_hour_time() {} + FMTQUILL_CONSTEXPR void on_iso_time() {} + FMTQUILL_CONSTEXPR void on_am_pm() {} + FMTQUILL_CONSTEXPR void on_duration_value() const { + if (has_precision_integral) { + FMTQUILL_THROW(format_error("precision not allowed for this argument type")); + } + } + FMTQUILL_CONSTEXPR void on_duration_unit() {} }; -template ::value)> -inline bool isfinite(T) { +template ::value&& has_isfinite::value)> +inline auto isfinite(T) -> bool { return true; } -// Converts value to Int and checks that it's in the range [0, upper). -template ::value)> -inline Int to_nonnegative_int(T value, Int upper) { - FMT_ASSERT(std::is_unsigned::value || - (value >= 0 && to_unsigned(value) <= to_unsigned(upper)), - "invalid value"); - (void)upper; - return static_cast(value); -} -template ::value)> -inline Int to_nonnegative_int(T value, Int upper) { - if (value < 0 || value > static_cast(upper)) - FMT_THROW(format_error("invalid value")); - return static_cast(value); -} - -template ::value)> -inline T mod(T x, int y) { +template ::value)> +inline auto mod(T x, int y) -> T { return x % static_cast(y); } -template ::value)> -inline T mod(T x, int y) { +template ::value)> +inline auto mod(T x, int y) -> T { return std::fmod(x, static_cast(y)); } @@ -1429,91 +1668,39 @@ template struct make_unsigned_or_unchanged { using type = typename std::make_unsigned::type; }; -#if FMT_SAFE_DURATION_CAST -// throwing version of safe_duration_cast -template -To fmt_safe_duration_cast(std::chrono::duration from) { - int ec; - To to = safe_duration_cast::safe_duration_cast(from, ec); - if (ec) FMT_THROW(format_error("cannot format duration")); - return to; -} -#endif - template ::value)> -inline std::chrono::duration get_milliseconds( - std::chrono::duration d) { + FMTQUILL_ENABLE_IF(std::is_integral::value)> +inline auto get_milliseconds(std::chrono::duration d) + -> std::chrono::duration { // this may overflow and/or the result may not fit in the // target type. -#if FMT_SAFE_DURATION_CAST +#if FMTQUILL_SAFE_DURATION_CAST using CommonSecondsType = typename std::common_type::type; - const auto d_as_common = fmt_safe_duration_cast(d); + const auto d_as_common = fmt_duration_cast(d); const auto d_as_whole_seconds = - fmt_safe_duration_cast(d_as_common); + fmt_duration_cast(d_as_common); // this conversion should be nonproblematic const auto diff = d_as_common - d_as_whole_seconds; const auto ms = - fmt_safe_duration_cast>(diff); + fmt_duration_cast>(diff); return ms; #else - auto s = std::chrono::duration_cast(d); - return std::chrono::duration_cast(d - s); + auto s = fmt_duration_cast(d); + return fmt_duration_cast(d - s); #endif } -// Counts the number of fractional digits in the range [0, 18] according to the -// C++20 spec. If more than 18 fractional digits are required then returns 6 for -// microseconds precision. -template () / 10)> -struct count_fractional_digits { - static constexpr int value = - Num % Den == 0 ? N : count_fractional_digits::value; -}; - -// Base case that doesn't instantiate any more templates -// in order to avoid overflow. -template -struct count_fractional_digits { - static constexpr int value = (Num % Den == 0) ? N : 6; -}; - -constexpr long long pow10(std::uint32_t n) { - return n == 0 ? 1 : 10 * pow10(n - 1); -} - -template ::is_signed)> -constexpr std::chrono::duration abs( - std::chrono::duration d) { - // We need to compare the duration using the count() method directly - // due to a compiler bug in clang-11 regarding the spaceship operator, - // when -Wzero-as-null-pointer-constant is enabled. - // In clang-12 the bug has been fixed. See - // https://bugs.llvm.org/show_bug.cgi?id=46235 and the reproducible example: - // https://www.godbolt.org/z/Knbb5joYx. - return d.count() >= d.zero().count() ? d : -d; -} - -template ::is_signed)> -constexpr std::chrono::duration abs( - std::chrono::duration d) { - return d; -} - template ::value)> -OutputIt format_duration_value(OutputIt out, Rep val, int) { + FMTQUILL_ENABLE_IF(std::is_integral::value)> +auto format_duration_value(OutputIt out, Rep val, int) -> OutputIt { return write(out, val); } template ::value)> -OutputIt format_duration_value(OutputIt out, Rep val, int precision) { - auto specs = basic_format_specs(); + FMTQUILL_ENABLE_IF(std::is_floating_point::value)> +auto format_duration_value(OutputIt out, Rep val, int precision) -> OutputIt { + auto specs = format_specs(); specs.precision = precision; specs.type = precision >= 0 ? presentation_type::fixed_lower : presentation_type::general_lower; @@ -1521,12 +1708,12 @@ OutputIt format_duration_value(OutputIt out, Rep val, int precision) { } template -OutputIt copy_unit(string_view unit, OutputIt out, Char) { +auto copy_unit(string_view unit, OutputIt out, Char) -> OutputIt { return std::copy(unit.begin(), unit.end(), out); } template -OutputIt copy_unit(string_view unit, OutputIt out, wchar_t) { +auto copy_unit(string_view unit, OutputIt out, wchar_t) -> OutputIt { // This works when wchar_t is UTF-32 because units only contain characters // that have the same representation in UTF-16 and UTF-32. utf8_to_utf16 u(unit); @@ -1534,7 +1721,7 @@ OutputIt copy_unit(string_view unit, OutputIt out, wchar_t) { } template -OutputIt format_duration_unit(OutputIt out) { +auto format_duration_unit(OutputIt out) -> OutputIt { if (const char* unit = get_units()) return copy_unit(string_view(unit), out, Char()); *out++ = '['; @@ -1601,18 +1788,12 @@ struct chrono_formatter { // this may overflow and/or the result may not fit in the // target type. -#if FMT_SAFE_DURATION_CAST // might need checked conversion (rep!=Rep) - auto tmpval = std::chrono::duration(val); - s = fmt_safe_duration_cast(tmpval); -#else - s = std::chrono::duration_cast( - std::chrono::duration(val)); -#endif + s = fmt_duration_cast(std::chrono::duration(val)); } // returns true if nan or inf, writes to out. - bool handle_nan_inf() { + auto handle_nan_inf() -> bool { if (isfinite(val)) { return false; } @@ -1629,17 +1810,22 @@ struct chrono_formatter { return true; } - Rep hour() const { return static_cast(mod((s.count() / 3600), 24)); } + auto days() const -> Rep { return static_cast(s.count() / 86400); } + auto hour() const -> Rep { + return static_cast(mod((s.count() / 3600), 24)); + } - Rep hour12() const { + auto hour12() const -> Rep { Rep hour = static_cast(mod((s.count() / 3600), 12)); return hour <= 0 ? 12 : hour; } - Rep minute() const { return static_cast(mod((s.count() / 60), 60)); } - Rep second() const { return static_cast(mod(s.count(), 60)); } + auto minute() const -> Rep { + return static_cast(mod((s.count() / 60), 60)); + } + auto second() const -> Rep { return static_cast(mod(s.count(), 60)); } - std::tm time() const { + auto time() const -> std::tm { auto time = std::tm(); time.tm_hour = to_nonnegative_int(hour(), 24); time.tm_min = to_nonnegative_int(minute(), 60); @@ -1654,44 +1840,16 @@ struct chrono_formatter { } } - void write(Rep value, int width) { + void write(Rep value, int width, pad_type pad = pad_type::unspecified) { write_sign(); if (isnan(value)) return write_nan(); uint32_or_64_or_128_t n = to_unsigned(to_nonnegative_int(value, max_value())); int num_digits = detail::count_digits(n); - if (width > num_digits) out = std::fill_n(out, width - num_digits, '0'); - out = format_decimal(out, n, num_digits).end; - } - - template void write_fractional_seconds(Duration d) { - FMT_ASSERT(!std::is_floating_point::value, ""); - constexpr auto num_fractional_digits = - count_fractional_digits::value; - - using subsecond_precision = std::chrono::duration< - typename std::common_type::type, - std::ratio<1, detail::pow10(num_fractional_digits)>>; - if (std::ratio_less::value) { - *out++ = '.'; - auto fractional = - detail::abs(d) - std::chrono::duration_cast(d); - auto subseconds = - std::chrono::treat_as_floating_point< - typename subsecond_precision::rep>::value - ? fractional.count() - : std::chrono::duration_cast(fractional) - .count(); - uint32_or_64_or_128_t n = - to_unsigned(to_nonnegative_int(subseconds, max_value())); - int num_digits = detail::count_digits(n); - if (num_fractional_digits > num_digits) - out = std::fill_n(out, num_fractional_digits - num_digits, '0'); - out = format_decimal(out, n, num_digits).end; + if (width > num_digits) { + out = detail::write_padding(out, pad, width - num_digits); } + out = format_decimal(out, n, num_digits).end; } void write_nan() { std::copy_n("nan", 3, out); } @@ -1723,7 +1881,7 @@ struct chrono_formatter { void on_loc_time(numeric_system) {} void on_us_date() {} void on_iso_date() {} - void on_utc_offset() {} + void on_utc_offset(numeric_system) {} void on_tz_name() {} void on_year(numeric_system) {} void on_short_year(numeric_system) {} @@ -1735,62 +1893,64 @@ struct chrono_formatter { void on_dec0_week_of_year(numeric_system) {} void on_dec1_week_of_year(numeric_system) {} void on_iso_week_of_year(numeric_system) {} - void on_day_of_year() {} void on_day_of_month(numeric_system) {} void on_day_of_month_space(numeric_system) {} - void on_24_hour(numeric_system ns) { + void on_day_of_year() { + if (handle_nan_inf()) return; + write(days(), 0); + } + + void on_24_hour(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; - if (ns == numeric_system::standard) return write(hour(), 2); + if (ns == numeric_system::standard) return write(hour(), 2, pad); auto time = tm(); time.tm_hour = to_nonnegative_int(hour(), 24); - format_tm(time, &tm_writer_type::on_24_hour, ns); + format_tm(time, &tm_writer_type::on_24_hour, ns, pad); } - void on_12_hour(numeric_system ns) { + void on_12_hour(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; - if (ns == numeric_system::standard) return write(hour12(), 2); + if (ns == numeric_system::standard) return write(hour12(), 2, pad); auto time = tm(); time.tm_hour = to_nonnegative_int(hour12(), 12); - format_tm(time, &tm_writer_type::on_12_hour, ns); + format_tm(time, &tm_writer_type::on_12_hour, ns, pad); } - void on_minute(numeric_system ns) { + void on_minute(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; - if (ns == numeric_system::standard) return write(minute(), 2); + if (ns == numeric_system::standard) return write(minute(), 2, pad); auto time = tm(); time.tm_min = to_nonnegative_int(minute(), 60); - format_tm(time, &tm_writer_type::on_minute, ns); + format_tm(time, &tm_writer_type::on_minute, ns, pad); } - void on_second(numeric_system ns) { + void on_second(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; if (ns == numeric_system::standard) { if (std::is_floating_point::value) { - constexpr auto num_fractional_digits = - count_fractional_digits::value; auto buf = memory_buffer(); - format_to(std::back_inserter(buf), runtime("{:.{}f}"), - std::fmod(val * static_cast(Period::num) / - static_cast(Period::den), - static_cast(60)), - num_fractional_digits); + write_floating_seconds(buf, std::chrono::duration(val), + precision); if (negative) *out++ = '-'; - if (buf.size() < 2 || buf[1] == '.') *out++ = '0'; + if (buf.size() < 2 || buf[1] == '.') { + out = detail::write_padding(out, pad); + } out = std::copy(buf.begin(), buf.end(), out); } else { - write(second(), 2); - write_fractional_seconds(std::chrono::duration(val)); + write(second(), 2, pad); + write_fractional_seconds( + out, std::chrono::duration(val), precision); } return; } auto time = tm(); time.tm_sec = to_nonnegative_int(second(), 60); - format_tm(time, &tm_writer_type::on_second, ns); + format_tm(time, &tm_writer_type::on_second, ns, pad); } void on_12_hour_time() { @@ -1814,7 +1974,7 @@ struct chrono_formatter { on_24_hour_time(); *out++ = ':'; if (handle_nan_inf()) return; - on_second(numeric_system::standard); + on_second(numeric_system::standard, pad_type::unspecified); } void on_am_pm() { @@ -1833,7 +1993,7 @@ struct chrono_formatter { } }; -FMT_END_DETAIL_NAMESPACE +} // namespace detail #if defined(__cpp_lib_chrono) && __cpp_lib_chrono >= 201907 using weekday = std::chrono::weekday; @@ -1847,7 +2007,7 @@ class weekday { weekday() = default; explicit constexpr weekday(unsigned wd) noexcept : value(static_cast(wd != 7 ? wd : 0)) {} - constexpr unsigned c_encoding() const noexcept { return value; } + constexpr auto c_encoding() const noexcept -> unsigned { return value; } }; class year_month_day {}; @@ -1859,7 +2019,7 @@ template struct formatter { bool localized = false; public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) + FMTQUILL_CONSTEXPR auto parse(basic_format_parse_context& ctx) -> decltype(ctx.begin()) { auto begin = ctx.begin(), end = ctx.end(); if (begin != end && *begin == 'L') { @@ -1883,187 +2043,198 @@ template struct formatter { template struct formatter, Char> { private: - basic_format_specs specs; - int precision = -1; - using arg_ref_type = detail::arg_ref; - arg_ref_type width_ref; - arg_ref_type precision_ref; - bool localized = false; - basic_string_view format_str; - using duration = std::chrono::duration; - - struct spec_handler { - formatter& f; - basic_format_parse_context& context; - basic_string_view format_str; - - template FMT_CONSTEXPR arg_ref_type make_arg_ref(Id arg_id) { - context.check_arg_id(arg_id); - return arg_ref_type(arg_id); - } - - FMT_CONSTEXPR arg_ref_type make_arg_ref(basic_string_view arg_id) { - context.check_arg_id(arg_id); - return arg_ref_type(arg_id); - } + format_specs specs_; + detail::arg_ref width_ref_; + detail::arg_ref precision_ref_; + bool localized_ = false; + basic_string_view format_str_; - FMT_CONSTEXPR arg_ref_type make_arg_ref(detail::auto_id) { - return arg_ref_type(context.next_arg_id()); - } + public: + FMTQUILL_CONSTEXPR auto parse(basic_format_parse_context& ctx) + -> decltype(ctx.begin()) { + auto it = ctx.begin(), end = ctx.end(); + if (it == end || *it == '}') return it; - void on_error(const char* msg) { FMT_THROW(format_error(msg)); } - FMT_CONSTEXPR void on_fill(basic_string_view fill) { - f.specs.fill = fill; - } - FMT_CONSTEXPR void on_align(align_t align) { f.specs.align = align; } - FMT_CONSTEXPR void on_width(int width) { f.specs.width = width; } - FMT_CONSTEXPR void on_precision(int _precision) { - f.precision = _precision; - } - FMT_CONSTEXPR void end_precision() {} + it = detail::parse_align(it, end, specs_); + if (it == end) return it; - template FMT_CONSTEXPR void on_dynamic_width(Id arg_id) { - f.width_ref = make_arg_ref(arg_id); - } + it = detail::parse_dynamic_spec(it, end, specs_.width, width_ref_, ctx); + if (it == end) return it; - template FMT_CONSTEXPR void on_dynamic_precision(Id arg_id) { - f.precision_ref = make_arg_ref(arg_id); + auto checker = detail::chrono_format_checker(); + if (*it == '.') { + checker.has_precision_integral = !std::is_floating_point::value; + it = detail::parse_precision(it, end, specs_.precision, precision_ref_, + ctx); } - }; - - using iterator = typename basic_format_parse_context::iterator; - struct parse_range { - iterator begin; - iterator end; - }; - - FMT_CONSTEXPR parse_range do_parse(basic_format_parse_context& ctx) { - auto begin = ctx.begin(), end = ctx.end(); - if (begin == end || *begin == '}') return {begin, begin}; - spec_handler handler{*this, ctx, format_str}; - begin = detail::parse_align(begin, end, handler); - if (begin == end) return {begin, begin}; - begin = detail::parse_width(begin, end, handler); - if (begin == end) return {begin, begin}; - if (*begin == '.') { - if (std::is_floating_point::value) - begin = detail::parse_precision(begin, end, handler); - else - handler.on_error("precision not allowed for this argument type"); + if (it != end && *it == 'L') { + localized_ = true; + ++it; } - if (begin != end && *begin == 'L') { - ++begin; - localized = true; - } - end = detail::parse_chrono_format(begin, end, - detail::chrono_format_checker()); - return {begin, end}; - } - - public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) - -> decltype(ctx.begin()) { - auto range = do_parse(ctx); - format_str = basic_string_view( - &*range.begin, detail::to_unsigned(range.end - range.begin)); - return range.end; + end = detail::parse_chrono_format(it, end, checker); + format_str_ = {it, detail::to_unsigned(end - it)}; + return end; } template - auto format(const duration& d, FormatContext& ctx) const + auto format(std::chrono::duration d, FormatContext& ctx) const -> decltype(ctx.out()) { - auto specs_copy = specs; - auto precision_copy = precision; - auto begin = format_str.begin(), end = format_str.end(); + auto specs = specs_; + auto precision = specs.precision; + specs.precision = -1; + auto begin = format_str_.begin(), end = format_str_.end(); // As a possible future optimization, we could avoid extra copying if width // is not specified. - basic_memory_buffer buf; + auto buf = basic_memory_buffer(); auto out = std::back_inserter(buf); - detail::handle_dynamic_spec(specs_copy.width, - width_ref, ctx); - detail::handle_dynamic_spec(precision_copy, - precision_ref, ctx); + detail::handle_dynamic_spec(specs.width, width_ref_, + ctx); + detail::handle_dynamic_spec(precision, + precision_ref_, ctx); if (begin == end || *begin == '}') { - out = detail::format_duration_value(out, d.count(), precision_copy); + out = detail::format_duration_value(out, d.count(), precision); detail::format_duration_unit(out); } else { - detail::chrono_formatter f( - ctx, out, d); - f.precision = precision_copy; - f.localized = localized; + using chrono_formatter = + detail::chrono_formatter; + auto f = chrono_formatter(ctx, out, d); + f.precision = precision; + f.localized = localized_; detail::parse_chrono_format(begin, end, f); } return detail::write( - ctx.out(), basic_string_view(buf.data(), buf.size()), specs_copy); + ctx.out(), basic_string_view(buf.data(), buf.size()), specs); } }; template struct formatter, Char> : formatter { - FMT_CONSTEXPR formatter() { - basic_string_view default_specs = - detail::string_literal{}; - this->do_parse(default_specs.begin(), default_specs.end()); + FMTQUILL_CONSTEXPR formatter() { + this->format_str_ = detail::string_literal{}; } template - auto format(std::chrono::time_point val, + auto format(std::chrono::time_point val, FormatContext& ctx) const -> decltype(ctx.out()) { + using period = typename Duration::period; + if (detail::const_check( + period::num != 1 || period::den != 1 || + std::is_floating_point::value)) { + const auto epoch = val.time_since_epoch(); + auto subsecs = detail::fmt_duration_cast( + epoch - detail::fmt_duration_cast(epoch)); + + if (subsecs.count() < 0) { + auto second = + detail::fmt_duration_cast(std::chrono::seconds(1)); + if (epoch.count() < ((Duration::min)() + second).count()) + FMTQUILL_THROW(format_error("duration is too small")); + subsecs += second; + val -= second; + } + + return formatter::do_format(gmtime(val), ctx, &subsecs); + } + + return formatter::format(gmtime(val), ctx); + } +}; + +#if FMTQUILL_USE_LOCAL_TIME +template +struct formatter, Char> + : formatter { + FMTQUILL_CONSTEXPR formatter() { + this->format_str_ = detail::string_literal{}; + } + + template + auto format(std::chrono::local_time val, FormatContext& ctx) const + -> decltype(ctx.out()) { + using period = typename Duration::period; + if (period::num != 1 || period::den != 1 || + std::is_floating_point::value) { + const auto epoch = val.time_since_epoch(); + const auto subsecs = detail::fmt_duration_cast( + epoch - detail::fmt_duration_cast(epoch)); + + return formatter::do_format(localtime(val), ctx, &subsecs); + } + return formatter::format(localtime(val), ctx); } }; +#endif + +#if FMTQUILL_USE_UTC_TIME +template +struct formatter, + Char> + : formatter, + Char> { + template + auto format(std::chrono::time_point val, + FormatContext& ctx) const -> decltype(ctx.out()) { + return formatter< + std::chrono::time_point, + Char>::format(std::chrono::utc_clock::to_sys(val), ctx); + } +}; +#endif template struct formatter { private: - enum class spec { - unknown, - year_month_day, - hh_mm_ss, - }; - spec spec_ = spec::unknown; - basic_string_view specs; + format_specs specs_; + detail::arg_ref width_ref_; protected: - template FMT_CONSTEXPR auto do_parse(It begin, It end) -> It { - if (begin != end && *begin == ':') ++begin; - end = detail::parse_chrono_format(begin, end, detail::tm_format_checker()); - // Replace default spec only if the new spec is not empty. - if (end != begin) specs = {begin, detail::to_unsigned(end - begin)}; - return end; + basic_string_view format_str_; + + template + auto do_format(const std::tm& tm, FormatContext& ctx, + const Duration* subsecs) const -> decltype(ctx.out()) { + auto specs = specs_; + auto buf = basic_memory_buffer(); + auto out = std::back_inserter(buf); + detail::handle_dynamic_spec(specs.width, width_ref_, + ctx); + + auto loc_ref = ctx.locale(); + detail::get_locale loc(static_cast(loc_ref), loc_ref); + auto w = + detail::tm_writer(loc, out, tm, subsecs); + detail::parse_chrono_format(format_str_.begin(), format_str_.end(), w); + return detail::write( + ctx.out(), basic_string_view(buf.data(), buf.size()), specs); } public: - FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) + FMTQUILL_CONSTEXPR auto parse(basic_format_parse_context& ctx) -> decltype(ctx.begin()) { - auto end = this->do_parse(ctx.begin(), ctx.end()); - // basic_string_view<>::compare isn't constexpr before C++17. - if (specs.size() == 2 && specs[0] == Char('%')) { - if (specs[1] == Char('F')) - spec_ = spec::year_month_day; - else if (specs[1] == Char('T')) - spec_ = spec::hh_mm_ss; - } + auto it = ctx.begin(), end = ctx.end(); + if (it == end || *it == '}') return it; + + it = detail::parse_align(it, end, specs_); + if (it == end) return it; + + it = detail::parse_dynamic_spec(it, end, specs_.width, width_ref_, ctx); + if (it == end) return it; + + end = detail::parse_chrono_format(it, end, detail::tm_format_checker()); + // Replace the default format_str only if the new spec is not empty. + if (end != it) format_str_ = {it, detail::to_unsigned(end - it)}; return end; } template auto format(const std::tm& tm, FormatContext& ctx) const -> decltype(ctx.out()) { - const auto loc_ref = ctx.locale(); - detail::get_locale loc(static_cast(loc_ref), loc_ref); - auto w = detail::tm_writer(loc, ctx.out(), tm); - if (spec_ == spec::year_month_day) - w.on_iso_date(); - else if (spec_ == spec::hh_mm_ss) - w.on_iso_time(); - else - detail::parse_chrono_format(specs.begin(), specs.end(), w); - return w.out(); + return do_format(tm, ctx, nullptr); } }; -FMT_MODULE_EXPORT_END -FMT_END_NAMESPACE +FMTQUILL_END_EXPORT +FMTQUILL_END_NAMESPACE -#endif // FMT_CHRONO_H_ +#endif // FMTQUILL_CHRONO_H_ diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/color.h b/Dependencies/quill/quill/bundled/fmt/color.h similarity index 77% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/color.h rename to Dependencies/quill/quill/bundled/fmt/color.h index 4c163277..56a12d8d 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/color.h +++ b/Dependencies/quill/quill/bundled/fmt/color.h @@ -5,13 +5,13 @@ // // For the license information refer to format.h. -#ifndef FMT_COLOR_H_ -#define FMT_COLOR_H_ +#ifndef FMTQUILL_COLOR_H_ +#define FMTQUILL_COLOR_H_ #include "format.h" -FMT_BEGIN_NAMESPACE -FMT_MODULE_EXPORT_BEGIN +FMTQUILL_BEGIN_NAMESPACE +FMTQUILL_BEGIN_EXPORT enum class color : uint32_t { alice_blue = 0xF0F8FF, // rgb(240,248,255) @@ -190,11 +190,11 @@ enum class emphasis : uint8_t { // rgb is a struct for red, green and blue colors. // Using the name "rgb" makes some editors show the color in a tooltip. struct rgb { - FMT_CONSTEXPR rgb() : r(0), g(0), b(0) {} - FMT_CONSTEXPR rgb(uint8_t r_, uint8_t g_, uint8_t b_) : r(r_), g(g_), b(b_) {} - FMT_CONSTEXPR rgb(uint32_t hex) + FMTQUILL_CONSTEXPR rgb() : r(0), g(0), b(0) {} + FMTQUILL_CONSTEXPR rgb(uint8_t r_, uint8_t g_, uint8_t b_) : r(r_), g(g_), b(b_) {} + FMTQUILL_CONSTEXPR rgb(uint32_t hex) : r((hex >> 16) & 0xFF), g((hex >> 8) & 0xFF), b(hex & 0xFF) {} - FMT_CONSTEXPR rgb(color hex) + FMTQUILL_CONSTEXPR rgb(color hex) : r((uint32_t(hex) >> 16) & 0xFF), g((uint32_t(hex) >> 8) & 0xFF), b(uint32_t(hex) & 0xFF) {} @@ -203,19 +203,19 @@ struct rgb { uint8_t b; }; -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { // color is a struct of either a rgb color or a terminal color. struct color_type { - FMT_CONSTEXPR color_type() noexcept : is_rgb(), value{} {} - FMT_CONSTEXPR color_type(color rgb_color) noexcept : is_rgb(true), value{} { + FMTQUILL_CONSTEXPR color_type() noexcept : is_rgb(), value{} {} + FMTQUILL_CONSTEXPR color_type(color rgb_color) noexcept : is_rgb(true), value{} { value.rgb_color = static_cast(rgb_color); } - FMT_CONSTEXPR color_type(rgb rgb_color) noexcept : is_rgb(true), value{} { + FMTQUILL_CONSTEXPR color_type(rgb rgb_color) noexcept : is_rgb(true), value{} { value.rgb_color = (static_cast(rgb_color.r) << 16) | (static_cast(rgb_color.g) << 8) | rgb_color.b; } - FMT_CONSTEXPR color_type(terminal_color term_color) noexcept + FMTQUILL_CONSTEXPR color_type(terminal_color term_color) noexcept : is_rgb(), value{} { value.term_color = static_cast(term_color); } @@ -225,22 +225,21 @@ struct color_type { uint32_t rgb_color; } value; }; - -FMT_END_DETAIL_NAMESPACE +} // namespace detail /** A text style consisting of foreground and background colors and emphasis. */ class text_style { public: - FMT_CONSTEXPR text_style(emphasis em = emphasis()) noexcept + FMTQUILL_CONSTEXPR text_style(emphasis em = emphasis()) noexcept : set_foreground_color(), set_background_color(), ems(em) {} - FMT_CONSTEXPR text_style& operator|=(const text_style& rhs) { + FMTQUILL_CONSTEXPR auto operator|=(const text_style& rhs) -> text_style& { if (!set_foreground_color) { set_foreground_color = rhs.set_foreground_color; foreground_color = rhs.foreground_color; } else if (rhs.set_foreground_color) { if (!foreground_color.is_rgb || !rhs.foreground_color.is_rgb) - FMT_THROW(format_error("can't OR a terminal color")); + FMTQUILL_THROW(format_error("can't OR a terminal color")); foreground_color.value.rgb_color |= rhs.foreground_color.value.rgb_color; } @@ -249,7 +248,7 @@ class text_style { background_color = rhs.background_color; } else if (rhs.set_background_color) { if (!background_color.is_rgb || !rhs.background_color.is_rgb) - FMT_THROW(format_error("can't OR a terminal color")); + FMTQUILL_THROW(format_error("can't OR a terminal color")); background_color.value.rgb_color |= rhs.background_color.value.rgb_color; } @@ -258,35 +257,35 @@ class text_style { return *this; } - friend FMT_CONSTEXPR text_style operator|(text_style lhs, - const text_style& rhs) { + friend FMTQUILL_CONSTEXPR auto operator|(text_style lhs, const text_style& rhs) + -> text_style { return lhs |= rhs; } - FMT_CONSTEXPR bool has_foreground() const noexcept { + FMTQUILL_CONSTEXPR auto has_foreground() const noexcept -> bool { return set_foreground_color; } - FMT_CONSTEXPR bool has_background() const noexcept { + FMTQUILL_CONSTEXPR auto has_background() const noexcept -> bool { return set_background_color; } - FMT_CONSTEXPR bool has_emphasis() const noexcept { + FMTQUILL_CONSTEXPR auto has_emphasis() const noexcept -> bool { return static_cast(ems) != 0; } - FMT_CONSTEXPR detail::color_type get_foreground() const noexcept { - FMT_ASSERT(has_foreground(), "no foreground specified for this style"); + FMTQUILL_CONSTEXPR auto get_foreground() const noexcept -> detail::color_type { + FMTQUILL_ASSERT(has_foreground(), "no foreground specified for this style"); return foreground_color; } - FMT_CONSTEXPR detail::color_type get_background() const noexcept { - FMT_ASSERT(has_background(), "no background specified for this style"); + FMTQUILL_CONSTEXPR auto get_background() const noexcept -> detail::color_type { + FMTQUILL_ASSERT(has_background(), "no background specified for this style"); return background_color; } - FMT_CONSTEXPR emphasis get_emphasis() const noexcept { - FMT_ASSERT(has_emphasis(), "no emphasis specified for this style"); + FMTQUILL_CONSTEXPR auto get_emphasis() const noexcept -> emphasis { + FMTQUILL_ASSERT(has_emphasis(), "no emphasis specified for this style"); return ems; } private: - FMT_CONSTEXPR text_style(bool is_foreground, + FMTQUILL_CONSTEXPR text_style(bool is_foreground, detail::color_type text_color) noexcept : set_foreground_color(), set_background_color(), ems() { if (is_foreground) { @@ -298,9 +297,11 @@ class text_style { } } - friend FMT_CONSTEXPR text_style fg(detail::color_type foreground) noexcept; + friend FMTQUILL_CONSTEXPR auto fg(detail::color_type foreground) noexcept + -> text_style; - friend FMT_CONSTEXPR text_style bg(detail::color_type background) noexcept; + friend FMTQUILL_CONSTEXPR auto bg(detail::color_type background) noexcept + -> text_style; detail::color_type foreground_color; detail::color_type background_color; @@ -310,23 +311,26 @@ class text_style { }; /** Creates a text style from the foreground (text) color. */ -FMT_CONSTEXPR inline text_style fg(detail::color_type foreground) noexcept { +FMTQUILL_CONSTEXPR inline auto fg(detail::color_type foreground) noexcept + -> text_style { return text_style(true, foreground); } /** Creates a text style from the background color. */ -FMT_CONSTEXPR inline text_style bg(detail::color_type background) noexcept { +FMTQUILL_CONSTEXPR inline auto bg(detail::color_type background) noexcept + -> text_style { return text_style(false, background); } -FMT_CONSTEXPR inline text_style operator|(emphasis lhs, emphasis rhs) noexcept { +FMTQUILL_CONSTEXPR inline auto operator|(emphasis lhs, emphasis rhs) noexcept + -> text_style { return text_style(lhs) | rhs; } -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { template struct ansi_color_escape { - FMT_CONSTEXPR ansi_color_escape(detail::color_type text_color, + FMTQUILL_CONSTEXPR ansi_color_escape(detail::color_type text_color, const char* esc) noexcept { // If we have a terminal color, we need to output another escape code // sequence. @@ -362,7 +366,7 @@ template struct ansi_color_escape { to_esc(color.b, buffer + 15, 'm'); buffer[19] = static_cast(0); } - FMT_CONSTEXPR ansi_color_escape(emphasis em) noexcept { + FMTQUILL_CONSTEXPR ansi_color_escape(emphasis em) noexcept { uint8_t em_codes[num_emphases] = {}; if (has_emphasis(em, emphasis::bold)) em_codes[0] = 1; if (has_emphasis(em, emphasis::faint)) em_codes[1] = 2; @@ -383,10 +387,10 @@ template struct ansi_color_escape { } buffer[index++] = static_cast(0); } - FMT_CONSTEXPR operator const Char*() const noexcept { return buffer; } + FMTQUILL_CONSTEXPR operator const Char*() const noexcept { return buffer; } - FMT_CONSTEXPR const Char* begin() const noexcept { return buffer; } - FMT_CONSTEXPR_CHAR_TRAITS const Char* end() const noexcept { + FMTQUILL_CONSTEXPR auto begin() const noexcept -> const Char* { return buffer; } + FMTQUILL_CONSTEXPR_CHAR_TRAITS auto end() const noexcept -> const Char* { return buffer + std::char_traits::length(buffer); } @@ -394,63 +398,46 @@ template struct ansi_color_escape { static constexpr size_t num_emphases = 8; Char buffer[7u + 3u * num_emphases + 1u]; - static FMT_CONSTEXPR void to_esc(uint8_t c, Char* out, + static FMTQUILL_CONSTEXPR void to_esc(uint8_t c, Char* out, char delimiter) noexcept { out[0] = static_cast('0' + c / 100); out[1] = static_cast('0' + c / 10 % 10); out[2] = static_cast('0' + c % 10); out[3] = static_cast(delimiter); } - static FMT_CONSTEXPR bool has_emphasis(emphasis em, emphasis mask) noexcept { + static FMTQUILL_CONSTEXPR auto has_emphasis(emphasis em, emphasis mask) noexcept + -> bool { return static_cast(em) & static_cast(mask); } }; template -FMT_CONSTEXPR ansi_color_escape make_foreground_color( - detail::color_type foreground) noexcept { +FMTQUILL_CONSTEXPR auto make_foreground_color(detail::color_type foreground) noexcept + -> ansi_color_escape { return ansi_color_escape(foreground, "\x1b[38;2;"); } template -FMT_CONSTEXPR ansi_color_escape make_background_color( - detail::color_type background) noexcept { +FMTQUILL_CONSTEXPR auto make_background_color(detail::color_type background) noexcept + -> ansi_color_escape { return ansi_color_escape(background, "\x1b[48;2;"); } template -FMT_CONSTEXPR ansi_color_escape make_emphasis(emphasis em) noexcept { +FMTQUILL_CONSTEXPR auto make_emphasis(emphasis em) noexcept + -> ansi_color_escape { return ansi_color_escape(em); } -template inline void fputs(const Char* chars, FILE* stream) { - int result = std::fputs(chars, stream); - if (result < 0) - FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); -} - -template <> inline void fputs(const wchar_t* chars, FILE* stream) { - int result = std::fputws(chars, stream); - if (result < 0) - FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); -} - -template inline void reset_color(FILE* stream) { - fputs("\x1b[0m", stream); -} - -template <> inline void reset_color(FILE* stream) { - fputs(L"\x1b[0m", stream); -} - template inline void reset_color(buffer& buffer) { auto reset_color = string_view("\x1b[0m"); buffer.append(reset_color.begin(), reset_color.end()); } -template struct styled_arg { +template struct styled_arg : detail::view { const T& value; text_style style; + styled_arg(const T& v, text_style s) : value(v), style(s) {} }; template @@ -477,19 +464,21 @@ void vformat_to(buffer& buf, const text_style& ts, if (has_style) detail::reset_color(buf); } -FMT_END_DETAIL_NAMESPACE +} // namespace detail -template > -void vprint(std::FILE* f, const text_style& ts, const S& format, - basic_format_args>> args) { - basic_memory_buffer buf; - detail::vformat_to(buf, ts, detail::to_string_view(format), args); +inline void vprint(std::FILE* f, const text_style& ts, string_view fmt, + format_args args) { + // Legacy wide streams are not supported. + auto buf = memory_buffer(); + detail::vformat_to(buf, ts, fmt, args); if (detail::is_utf8()) { - detail::print(f, basic_string_view(buf.begin(), buf.size())); - } else { - buf.push_back(Char(0)); - detail::fputs(buf.data(), f); + detail::print(f, string_view(buf.begin(), buf.size())); + return; } + buf.push_back('\0'); + int result = std::fputs(buf.data(), f); + if (result < 0) + FMTQUILL_THROW(system_error(errno, FMTQUILL_STRING("cannot write to file"))); } /** @@ -499,16 +488,16 @@ void vprint(std::FILE* f, const text_style& ts, const S& format, **Example**:: - fmt::print(fmt::emphasis::bold | fg(fmt::color::red), + fmtquill::print(fmtquill::emphasis::bold | fg(fmtquill::color::red), "Elapsed time: {0:.2f} seconds", 1.23); \endrst */ template ::value)> + FMTQUILL_ENABLE_IF(detail::is_string::value)> void print(std::FILE* f, const text_style& ts, const S& format_str, const Args&... args) { vprint(f, ts, format_str, - fmt::make_format_args>>(args...)); + fmtquill::make_format_args>>(args...)); } /** @@ -518,23 +507,24 @@ void print(std::FILE* f, const text_style& ts, const S& format_str, **Example**:: - fmt::print(fmt::emphasis::bold | fg(fmt::color::red), + fmtquill::print(fmtquill::emphasis::bold | fg(fmtquill::color::red), "Elapsed time: {0:.2f} seconds", 1.23); \endrst */ template ::value)> + FMTQUILL_ENABLE_IF(detail::is_string::value)> void print(const text_style& ts, const S& format_str, const Args&... args) { return print(stdout, ts, format_str, args...); } template > -inline std::basic_string vformat( +inline auto vformat( const text_style& ts, const S& format_str, - basic_format_args>> args) { + basic_format_args>> args) + -> std::basic_string { basic_memory_buffer buf; detail::vformat_to(buf, ts, detail::to_string_view(format_str), args); - return fmt::to_string(buf); + return fmtquill::to_string(buf); } /** @@ -545,28 +535,29 @@ inline std::basic_string vformat( **Example**:: #include - std::string message = fmt::format(fmt::emphasis::bold | fg(fmt::color::red), + std::string message = fmtquill::format(fmtquill::emphasis::bold | fg(fmtquill::color::red), "The answer is {}", 42); \endrst */ template > -inline std::basic_string format(const text_style& ts, const S& format_str, - const Args&... args) { - return fmt::vformat(ts, detail::to_string_view(format_str), - fmt::make_format_args>(args...)); +inline auto format(const text_style& ts, const S& format_str, + const Args&... args) -> std::basic_string { + return fmtquill::vformat(ts, detail::to_string_view(format_str), + fmtquill::make_format_args>(args...)); } /** Formats a string with the given text_style and writes the output to ``out``. */ template ::value)> -OutputIt vformat_to( - OutputIt out, const text_style& ts, basic_string_view format_str, - basic_format_args>> args) { + FMTQUILL_ENABLE_IF(detail::is_output_iterator::value)> +auto vformat_to(OutputIt out, const text_style& ts, + basic_string_view format_str, + basic_format_args>> args) + -> OutputIt { auto&& buf = detail::get_buffer(out); detail::vformat_to(buf, ts, format_str, args); - return detail::get_iterator(buf); + return detail::get_iterator(buf, out); } /** @@ -577,18 +568,19 @@ OutputIt vformat_to( **Example**:: std::vector out; - fmt::format_to(std::back_inserter(out), - fmt::emphasis::bold | fg(fmt::color::red), "{}", 42); + fmtquill::format_to(std::back_inserter(out), + fmtquill::emphasis::bold | fg(fmtquill::color::red), "{}", 42); \endrst */ -template >::value&& - detail::is_string::value> +template < + typename OutputIt, typename S, typename... Args, + bool enable = detail::is_output_iterator>::value && + detail::is_string::value> inline auto format_to(OutputIt out, const text_style& ts, const S& format_str, Args&&... args) -> typename std::enable_if::type { return vformat_to(out, ts, detail::to_string_view(format_str), - fmt::make_format_args>>(args...)); + fmtquill::make_format_args>>(args...)); } template @@ -634,18 +626,18 @@ struct formatter, Char> : formatter { **Example**:: - fmt::print("Elapsed time: {0:.2f} seconds", - fmt::styled(1.23, fmt::fg(fmt::color::green) | - fmt::bg(fmt::color::blue))); + fmtquill::print("Elapsed time: {0:.2f} seconds", + fmtquill::styled(1.23, fmtquill::fg(fmtquill::color::green) | + fmtquill::bg(fmtquill::color::blue))); \endrst */ template -FMT_CONSTEXPR auto styled(const T& value, text_style ts) +FMTQUILL_CONSTEXPR auto styled(const T& value, text_style ts) -> detail::styled_arg> { return detail::styled_arg>{value, ts}; } -FMT_MODULE_EXPORT_END -FMT_END_NAMESPACE +FMTQUILL_END_EXPORT +FMTQUILL_END_NAMESPACE -#endif // FMT_COLOR_H_ +#endif // FMTQUILL_COLOR_H_ diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/compile.h b/Dependencies/quill/quill/bundled/fmt/compile.h similarity index 71% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/compile.h rename to Dependencies/quill/quill/bundled/fmt/compile.h index 933668c4..aa43b9c9 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/compile.h +++ b/Dependencies/quill/quill/bundled/fmt/compile.h @@ -5,98 +5,20 @@ // // For the license information refer to format.h. -#ifndef FMT_COMPILE_H_ -#define FMT_COMPILE_H_ +#ifndef FMTQUILL_COMPILE_H_ +#define FMTQUILL_COMPILE_H_ #include "format.h" -FMT_BEGIN_NAMESPACE +FMTQUILL_BEGIN_NAMESPACE namespace detail { template -FMT_CONSTEXPR inline counting_iterator copy_str(InputIt begin, InputIt end, - counting_iterator it) { +FMTQUILL_CONSTEXPR inline auto copy_str(InputIt begin, InputIt end, + counting_iterator it) -> counting_iterator { return it + (end - begin); } -template class truncating_iterator_base { - protected: - OutputIt out_; - size_t limit_; - size_t count_ = 0; - - truncating_iterator_base() : out_(), limit_(0) {} - - truncating_iterator_base(OutputIt out, size_t limit) - : out_(out), limit_(limit) {} - - public: - using iterator_category = std::output_iterator_tag; - using value_type = typename std::iterator_traits::value_type; - using difference_type = std::ptrdiff_t; - using pointer = void; - using reference = void; - FMT_UNCHECKED_ITERATOR(truncating_iterator_base); - - OutputIt base() const { return out_; } - size_t count() const { return count_; } -}; - -// An output iterator that truncates the output and counts the number of objects -// written to it. -template ::value_type>::type> -class truncating_iterator; - -template -class truncating_iterator - : public truncating_iterator_base { - mutable typename truncating_iterator_base::value_type blackhole_; - - public: - using value_type = typename truncating_iterator_base::value_type; - - truncating_iterator() = default; - - truncating_iterator(OutputIt out, size_t limit) - : truncating_iterator_base(out, limit) {} - - truncating_iterator& operator++() { - if (this->count_++ < this->limit_) ++this->out_; - return *this; - } - - truncating_iterator operator++(int) { - auto it = *this; - ++*this; - return it; - } - - value_type& operator*() const { - return this->count_ < this->limit_ ? *this->out_ : blackhole_; - } -}; - -template -class truncating_iterator - : public truncating_iterator_base { - public: - truncating_iterator() = default; - - truncating_iterator(OutputIt out, size_t limit) - : truncating_iterator_base(out, limit) {} - - template truncating_iterator& operator=(T val) { - if (this->count_++ < this->limit_) *this->out_++ = val; - return *this; - } - - truncating_iterator& operator++() { return *this; } - truncating_iterator& operator++(int) { return *this; } - truncating_iterator& operator*() { return *this; } -}; - // A compile-time string which is compiled into fast formatting code. class compiled_string {}; @@ -113,19 +35,19 @@ struct is_compiled_string : std::is_base_of {}; // Converts 42 into std::string using the most efficient method and no // runtime format string processing. - std::string s = fmt::format(FMT_COMPILE("{}"), 42); + std::string s = fmtquill::format(FMTQUILL_COMPILE("{}"), 42); \endrst */ #if defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) -# define FMT_COMPILE(s) \ - FMT_STRING_IMPL(s, fmt::detail::compiled_string, explicit) +# define FMTQUILL_COMPILE(s) \ + FMTQUILL_STRING_IMPL(s, fmtquill::detail::compiled_string, explicit) #else -# define FMT_COMPILE(s) FMT_STRING(s) +# define FMTQUILL_COMPILE(s) FMTQUILL_STRING(s) #endif -#if FMT_USE_NONTYPE_TEMPLATE_ARGS +#if FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS template Str> + fmtquill::detail_exported::fixed_string Str> struct udl_compiled_string : compiled_string { using char_type = Char; explicit constexpr operator basic_string_view() const { @@ -135,7 +57,7 @@ struct udl_compiled_string : compiled_string { #endif template -const T& first(const T& value, const Tail&...) { +auto first(const T& value, const Tail&...) -> const T& { return value; } @@ -196,7 +118,8 @@ template struct code_unit { template constexpr OutputIt format(OutputIt out, const Args&...) const { - return write(out, value); + *out++ = value; + return out; } }; @@ -220,7 +143,12 @@ template struct field { template constexpr OutputIt format(OutputIt out, const Args&... args) const { - return write(out, get_arg_checked(args...)); + const T& arg = get_arg_checked(args...); + if constexpr (std::is_convertible_v>) { + auto s = basic_string_view(arg); + return copy_str(s.begin(), s.end(), out); + } + return write(out, arg); } }; @@ -250,7 +178,7 @@ template struct runtime_named_field { constexpr OutputIt format(OutputIt out, const Args&... args) const { bool found = (try_format_argument(out, name, args) || ...); if (!found) { - FMT_THROW(format_error("argument with specified name is not found")); + FMTQUILL_THROW(format_error("argument with specified name is not found")); } return out; } @@ -265,10 +193,10 @@ template struct spec_field { formatter fmt; template - constexpr FMT_INLINE OutputIt format(OutputIt out, + constexpr FMTQUILL_INLINE OutputIt format(OutputIt out, const Args&... args) const { const auto& vargs = - fmt::make_format_args>(args...); + fmtquill::make_format_args>(args...); basic_format_context ctx(out, vargs); return fmt.format(get_arg_checked(args...), ctx); } @@ -331,39 +259,35 @@ template struct parse_specs_result { int next_arg_id; }; -constexpr int manual_indexing_id = -1; +enum { manual_indexing_id = -1 }; template constexpr parse_specs_result parse_specs(basic_string_view str, size_t pos, int next_arg_id) { str.remove_prefix(pos); - auto ctx = compile_parse_context(str, max_value(), nullptr, {}, - next_arg_id); + auto ctx = + compile_parse_context(str, max_value(), nullptr, next_arg_id); auto f = formatter(); auto end = f.parse(ctx); - return {f, pos + fmt::detail::to_unsigned(end - str.data()), + return {f, pos + fmtquill::detail::to_unsigned(end - str.data()), next_arg_id == 0 ? manual_indexing_id : ctx.next_arg_id()}; } template struct arg_id_handler { arg_ref arg_id; - constexpr int operator()() { - FMT_ASSERT(false, "handler cannot be used with automatic indexing"); + constexpr int on_auto() { + FMTQUILL_ASSERT(false, "handler cannot be used with automatic indexing"); return 0; } - constexpr int operator()(int id) { + constexpr int on_index(int id) { arg_id = arg_ref(id); return 0; } - constexpr int operator()(basic_string_view id) { + constexpr int on_name(basic_string_view id) { arg_id = arg_ref(id); return 0; } - - constexpr void on_error(const char* message) { - FMT_THROW(format_error(message)); - } }; template struct parse_arg_id_result { @@ -398,12 +322,12 @@ constexpr auto parse_replacement_field_then_tail(S format_str) { field::type, ARG_INDEX>(), format_str); } else if constexpr (c != ':') { - FMT_THROW(format_error("expected ':'")); + FMTQUILL_THROW(format_error("expected ':'")); } else { constexpr auto result = parse_specs::type>( str, END_POS + 1, NEXT_ID == manual_indexing_id ? 0 : NEXT_ID); if constexpr (result.end >= str.size() || str[result.end] != '}') { - FMT_THROW(format_error("expected '}'")); + FMTQUILL_THROW(format_error("expected '}'")); return 0; } else { return parse_tail( @@ -422,7 +346,7 @@ constexpr auto compile_format_string(S format_str) { constexpr auto str = basic_string_view(format_str); if constexpr (str[POS] == '{') { if constexpr (POS + 1 == str.size()) - FMT_THROW(format_error("unmatched '{' in format string")); + FMTQUILL_THROW(format_error("unmatched '{' in format string")); if constexpr (str[POS + 1] == '{') { return parse_tail(make_text(str, POS, 1), format_str); } else if constexpr (str[POS + 1] == '}' || str[POS + 1] == ':') { @@ -452,26 +376,24 @@ constexpr auto compile_format_string(S format_str) { } else if constexpr (arg_id_result.arg_id.kind == arg_id_kind::name) { constexpr auto arg_index = get_arg_index_by_name(arg_id_result.arg_id.val.name, Args{}); - if constexpr (arg_index != invalid_arg_index) { + if constexpr (arg_index >= 0) { constexpr auto next_id = ID != manual_indexing_id ? ID + 1 : manual_indexing_id; return parse_replacement_field_then_tail< decltype(get_type::value), Args, arg_id_end_pos, arg_index, next_id>(format_str); - } else { - if constexpr (c == '}') { - return parse_tail( - runtime_named_field{arg_id_result.arg_id.val.name}, - format_str); - } else if constexpr (c == ':') { - return unknown_format(); // no type info for specs parsing - } + } else if constexpr (c == '}') { + return parse_tail( + runtime_named_field{arg_id_result.arg_id.val.name}, + format_str); + } else if constexpr (c == ':') { + return unknown_format(); // no type info for specs parsing } } } } else if constexpr (str[POS] == '}') { if constexpr (POS + 1 == str.size()) - FMT_THROW(format_error("unmatched '}' in format string")); + FMTQUILL_THROW(format_error("unmatched '}' in format string")); return parse_tail(make_text(str, POS, 1), format_str); } else { constexpr auto end = parse_text(str, POS + 1); @@ -486,7 +408,7 @@ constexpr auto compile_format_string(S format_str) { } template ::value)> + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> constexpr auto compile(S format_str) { constexpr auto str = basic_string_view(format_str); if constexpr (str.size() == 0) { @@ -501,14 +423,14 @@ constexpr auto compile(S format_str) { #endif // defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) } // namespace detail -FMT_MODULE_EXPORT_BEGIN +FMTQUILL_BEGIN_EXPORT #if defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) template ::value)> -FMT_INLINE std::basic_string format(const CompiledFormat& cf, + FMTQUILL_ENABLE_IF(detail::is_compiled_format::value)> +FMTQUILL_INLINE std::basic_string format(const CompiledFormat& cf, const Args&... args) { auto s = std::basic_string(); cf.format(std::back_inserter(s), args...); @@ -516,15 +438,15 @@ FMT_INLINE std::basic_string format(const CompiledFormat& cf, } template ::value)> -constexpr FMT_INLINE OutputIt format_to(OutputIt out, const CompiledFormat& cf, + FMTQUILL_ENABLE_IF(detail::is_compiled_format::value)> +constexpr FMTQUILL_INLINE OutputIt format_to(OutputIt out, const CompiledFormat& cf, const Args&... args) { return cf.format(out, args...); } template ::value)> -FMT_INLINE std::basic_string format(const S&, + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> +FMTQUILL_INLINE std::basic_string format(const S&, Args&&... args) { if constexpr (std::is_same::value) { constexpr auto str = basic_string_view(S()); @@ -532,70 +454,72 @@ FMT_INLINE std::basic_string format(const S&, const auto& first = detail::first(args...); if constexpr (detail::is_named_arg< remove_cvref_t>::value) { - return fmt::to_string(first.value); + return fmtquill::to_string(first.value); } else { - return fmt::to_string(first); + return fmtquill::to_string(first); } } } constexpr auto compiled = detail::compile(S()); if constexpr (std::is_same, detail::unknown_format>()) { - return fmt::format( + return fmtquill::format( static_cast>(S()), std::forward(args)...); } else { - return fmt::format(compiled, std::forward(args)...); + return fmtquill::format(compiled, std::forward(args)...); } } template ::value)> -FMT_CONSTEXPR OutputIt format_to(OutputIt out, const S&, Args&&... args) { + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> +FMTQUILL_CONSTEXPR OutputIt format_to(OutputIt out, const S&, Args&&... args) { constexpr auto compiled = detail::compile(S()); if constexpr (std::is_same, detail::unknown_format>()) { - return fmt::format_to( + return fmtquill::format_to( out, static_cast>(S()), std::forward(args)...); } else { - return fmt::format_to(out, compiled, std::forward(args)...); + return fmtquill::format_to(out, compiled, std::forward(args)...); } } #endif template ::value)> -format_to_n_result format_to_n(OutputIt out, size_t n, - const S& format_str, Args&&... args) { - auto it = fmt::format_to(detail::truncating_iterator(out, n), - format_str, std::forward(args)...); - return {it.base(), it.count()}; + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> +auto format_to_n(OutputIt out, size_t n, const S& format_str, Args&&... args) + -> format_to_n_result { + using traits = detail::fixed_buffer_traits; + auto buf = detail::iterator_buffer(out, n); + fmtquill::format_to(std::back_inserter(buf), format_str, + std::forward(args)...); + return {buf.out(), buf.count()}; } template ::value)> -FMT_CONSTEXPR20 size_t formatted_size(const S& format_str, - const Args&... args) { - return fmt::format_to(detail::counting_iterator(), format_str, args...) + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> +FMTQUILL_CONSTEXPR20 auto formatted_size(const S& format_str, const Args&... args) + -> size_t { + return fmtquill::format_to(detail::counting_iterator(), format_str, args...) .count(); } template ::value)> + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> void print(std::FILE* f, const S& format_str, const Args&... args) { memory_buffer buffer; - fmt::format_to(std::back_inserter(buffer), format_str, args...); + fmtquill::format_to(std::back_inserter(buffer), format_str, args...); detail::print(f, {buffer.data(), buffer.size()}); } template ::value)> + FMTQUILL_ENABLE_IF(detail::is_compiled_string::value)> void print(const S& format_str, const Args&... args) { print(stdout, format_str, args...); } -#if FMT_USE_NONTYPE_TEMPLATE_ARGS +#if FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS inline namespace literals { template constexpr auto operator""_cf() { using char_t = remove_cvref_t; @@ -605,7 +529,7 @@ template constexpr auto operator""_cf() { } // namespace literals #endif -FMT_MODULE_EXPORT_END -FMT_END_NAMESPACE +FMTQUILL_END_EXPORT +FMTQUILL_END_NAMESPACE -#endif // FMT_COMPILE_H_ +#endif // FMTQUILL_COMPILE_H_ diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/core.h b/Dependencies/quill/quill/bundled/fmt/core.h similarity index 50% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/core.h rename to Dependencies/quill/quill/bundled/fmt/core.h index f6a37af9..b9849a6a 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/core.h +++ b/Dependencies/quill/quill/bundled/fmt/core.h @@ -5,293 +5,270 @@ // // For the license information refer to format.h. -#ifndef FMT_CORE_H_ -#define FMT_CORE_H_ +#ifndef FMTQUILL_CORE_H_ +#define FMTQUILL_CORE_H_ + +#if !defined(FMTQUILL_HEADER_ONLY) + #define FMTQUILL_HEADER_ONLY +#endif #include // std::byte #include // std::FILE #include // std::strlen #include #include +#include // std::addressof #include #include // The fmt library version in the form major * 10000 + minor * 100 + patch. -#define FMT_VERSION 90100 +#define FMTQUILL_VERSION 100201 #if defined(__clang__) && !defined(__ibmxl__) -# define FMT_CLANG_VERSION (__clang_major__ * 100 + __clang_minor__) +# define FMTQUILL_CLANG_VERSION (__clang_major__ * 100 + __clang_minor__) #else -# define FMT_CLANG_VERSION 0 +# define FMTQUILL_CLANG_VERSION 0 #endif #if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && \ !defined(__NVCOMPILER) -# define FMT_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) +# define FMTQUILL_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) #else -# define FMT_GCC_VERSION 0 +# define FMTQUILL_GCC_VERSION 0 #endif -#ifndef FMT_GCC_PRAGMA +#ifndef FMTQUILL_GCC_PRAGMA // Workaround _Pragma bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884. -# if FMT_GCC_VERSION >= 504 -# define FMT_GCC_PRAGMA(arg) _Pragma(arg) +# if FMTQUILL_GCC_VERSION >= 504 +# define FMTQUILL_GCC_PRAGMA(arg) _Pragma(arg) # else -# define FMT_GCC_PRAGMA(arg) +# define FMTQUILL_GCC_PRAGMA(arg) # endif #endif #ifdef __ICL -# define FMT_ICC_VERSION __ICL +# define FMTQUILL_ICC_VERSION __ICL #elif defined(__INTEL_COMPILER) -# define FMT_ICC_VERSION __INTEL_COMPILER +# define FMTQUILL_ICC_VERSION __INTEL_COMPILER #else -# define FMT_ICC_VERSION 0 +# define FMTQUILL_ICC_VERSION 0 #endif #ifdef _MSC_VER -# define FMT_MSC_VERSION _MSC_VER -# define FMT_MSC_WARNING(...) __pragma(warning(__VA_ARGS__)) +# define FMTQUILL_MSC_VERSION _MSC_VER +# define FMTQUILL_MSC_WARNING(...) __pragma(warning(__VA_ARGS__)) #else -# define FMT_MSC_VERSION 0 -# define FMT_MSC_WARNING(...) +# define FMTQUILL_MSC_VERSION 0 +# define FMTQUILL_MSC_WARNING(...) #endif #ifdef _MSVC_LANG -# define FMT_CPLUSPLUS _MSVC_LANG +# define FMTQUILL_CPLUSPLUS _MSVC_LANG #else -# define FMT_CPLUSPLUS __cplusplus +# define FMTQUILL_CPLUSPLUS __cplusplus #endif #ifdef __has_feature -# define FMT_HAS_FEATURE(x) __has_feature(x) +# define FMTQUILL_HAS_FEATURE(x) __has_feature(x) #else -# define FMT_HAS_FEATURE(x) 0 +# define FMTQUILL_HAS_FEATURE(x) 0 #endif -#if (defined(__has_include) || FMT_ICC_VERSION >= 1600 || \ - FMT_MSC_VERSION > 1900) && \ - !defined(__INTELLISENSE__) -# define FMT_HAS_INCLUDE(x) __has_include(x) +#if defined(__has_include) || FMTQUILL_ICC_VERSION >= 1600 || FMTQUILL_MSC_VERSION > 1900 +# define FMTQUILL_HAS_INCLUDE(x) __has_include(x) #else -# define FMT_HAS_INCLUDE(x) 0 +# define FMTQUILL_HAS_INCLUDE(x) 0 #endif #ifdef __has_cpp_attribute -# define FMT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +# define FMTQUILL_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) #else -# define FMT_HAS_CPP_ATTRIBUTE(x) 0 +# define FMTQUILL_HAS_CPP_ATTRIBUTE(x) 0 #endif -#define FMT_HAS_CPP14_ATTRIBUTE(attribute) \ - (FMT_CPLUSPLUS >= 201402L && FMT_HAS_CPP_ATTRIBUTE(attribute)) +#define FMTQUILL_HAS_CPP14_ATTRIBUTE(attribute) \ + (FMTQUILL_CPLUSPLUS >= 201402L && FMTQUILL_HAS_CPP_ATTRIBUTE(attribute)) -#define FMT_HAS_CPP17_ATTRIBUTE(attribute) \ - (FMT_CPLUSPLUS >= 201703L && FMT_HAS_CPP_ATTRIBUTE(attribute)) +#define FMTQUILL_HAS_CPP17_ATTRIBUTE(attribute) \ + (FMTQUILL_CPLUSPLUS >= 201703L && FMTQUILL_HAS_CPP_ATTRIBUTE(attribute)) // Check if relaxed C++14 constexpr is supported. // GCC doesn't allow throw in constexpr until version 6 (bug 67371). -#ifndef FMT_USE_CONSTEXPR -# if (FMT_HAS_FEATURE(cxx_relaxed_constexpr) || FMT_MSC_VERSION >= 1912 || \ - (FMT_GCC_VERSION >= 600 && FMT_CPLUSPLUS >= 201402L)) && \ - !FMT_ICC_VERSION && !defined(__NVCC__) -# define FMT_USE_CONSTEXPR 1 +#ifndef FMTQUILL_USE_CONSTEXPR +# if (FMTQUILL_HAS_FEATURE(cxx_relaxed_constexpr) || FMTQUILL_MSC_VERSION >= 1912 || \ + (FMTQUILL_GCC_VERSION >= 600 && FMTQUILL_CPLUSPLUS >= 201402L)) && \ + !FMTQUILL_ICC_VERSION && (!defined(__NVCC__) || FMTQUILL_CPLUSPLUS >= 202002L) +# define FMTQUILL_USE_CONSTEXPR 1 # else -# define FMT_USE_CONSTEXPR 0 +# define FMTQUILL_USE_CONSTEXPR 0 # endif #endif -#if FMT_USE_CONSTEXPR -# define FMT_CONSTEXPR constexpr +#if FMTQUILL_USE_CONSTEXPR +# define FMTQUILL_CONSTEXPR constexpr #else -# define FMT_CONSTEXPR +# define FMTQUILL_CONSTEXPR #endif -#if ((FMT_CPLUSPLUS >= 202002L) && \ - (!defined(_GLIBCXX_RELEASE) || _GLIBCXX_RELEASE > 9)) || \ - (FMT_CPLUSPLUS >= 201709L && FMT_GCC_VERSION >= 1002) -# define FMT_CONSTEXPR20 constexpr +#if (FMTQUILL_CPLUSPLUS >= 202002L || \ + (FMTQUILL_CPLUSPLUS >= 201709L && FMTQUILL_GCC_VERSION >= 1002)) && \ + ((!defined(_GLIBCXX_RELEASE) || _GLIBCXX_RELEASE >= 10) && \ + (!defined(_LIBCPP_VERSION) || _LIBCPP_VERSION >= 10000) && \ + (!FMTQUILL_MSC_VERSION || FMTQUILL_MSC_VERSION >= 1928)) && \ + defined(__cpp_lib_is_constant_evaluated) +# define FMTQUILL_CONSTEXPR20 constexpr #else -# define FMT_CONSTEXPR20 +# define FMTQUILL_CONSTEXPR20 #endif // Check if constexpr std::char_traits<>::{compare,length} are supported. #if defined(__GLIBCXX__) -# if FMT_CPLUSPLUS >= 201703L && defined(_GLIBCXX_RELEASE) && \ +# if FMTQUILL_CPLUSPLUS >= 201703L && defined(_GLIBCXX_RELEASE) && \ _GLIBCXX_RELEASE >= 7 // GCC 7+ libstdc++ has _GLIBCXX_RELEASE. -# define FMT_CONSTEXPR_CHAR_TRAITS constexpr +# define FMTQUILL_CONSTEXPR_CHAR_TRAITS constexpr # endif -#elif defined(_LIBCPP_VERSION) && FMT_CPLUSPLUS >= 201703L && \ +#elif defined(_LIBCPP_VERSION) && FMTQUILL_CPLUSPLUS >= 201703L && \ _LIBCPP_VERSION >= 4000 -# define FMT_CONSTEXPR_CHAR_TRAITS constexpr -#elif FMT_MSC_VERSION >= 1914 && FMT_CPLUSPLUS >= 201703L -# define FMT_CONSTEXPR_CHAR_TRAITS constexpr +# define FMTQUILL_CONSTEXPR_CHAR_TRAITS constexpr +#elif FMTQUILL_MSC_VERSION >= 1914 && FMTQUILL_CPLUSPLUS >= 201703L +# define FMTQUILL_CONSTEXPR_CHAR_TRAITS constexpr #endif -#ifndef FMT_CONSTEXPR_CHAR_TRAITS -# define FMT_CONSTEXPR_CHAR_TRAITS +#ifndef FMTQUILL_CONSTEXPR_CHAR_TRAITS +# define FMTQUILL_CONSTEXPR_CHAR_TRAITS #endif // Check if exceptions are disabled. -#ifndef FMT_EXCEPTIONS +#ifndef FMTQUILL_EXCEPTIONS # if (defined(__GNUC__) && !defined(__EXCEPTIONS)) || \ - (FMT_MSC_VERSION && !_HAS_EXCEPTIONS) -# define FMT_EXCEPTIONS 0 -# else -# define FMT_EXCEPTIONS 1 -# endif -#endif - -#ifndef FMT_DEPRECATED -# if FMT_HAS_CPP14_ATTRIBUTE(deprecated) || FMT_MSC_VERSION >= 1900 -# define FMT_DEPRECATED [[deprecated]] + (FMTQUILL_MSC_VERSION && !_HAS_EXCEPTIONS) +# define FMTQUILL_EXCEPTIONS 0 # else -# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) -# define FMT_DEPRECATED __attribute__((deprecated)) -# elif FMT_MSC_VERSION -# define FMT_DEPRECATED __declspec(deprecated) -# else -# define FMT_DEPRECATED /* deprecated */ -# endif +# define FMTQUILL_EXCEPTIONS 1 # endif #endif -// [[noreturn]] is disabled on MSVC and NVCC because of bogus unreachable code -// warnings. -#if FMT_EXCEPTIONS && FMT_HAS_CPP_ATTRIBUTE(noreturn) && !FMT_MSC_VERSION && \ +// Disable [[noreturn]] on MSVC/NVCC because of bogus unreachable code warnings. +#if FMTQUILL_EXCEPTIONS && FMTQUILL_HAS_CPP_ATTRIBUTE(noreturn) && !FMTQUILL_MSC_VERSION && \ !defined(__NVCC__) -# define FMT_NORETURN [[noreturn]] -#else -# define FMT_NORETURN -#endif - -#if FMT_HAS_CPP17_ATTRIBUTE(fallthrough) -# define FMT_FALLTHROUGH [[fallthrough]] -#elif defined(__clang__) -# define FMT_FALLTHROUGH [[clang::fallthrough]] -#elif FMT_GCC_VERSION >= 700 && \ - (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) -# define FMT_FALLTHROUGH [[gnu::fallthrough]] +# define FMTQUILL_NORETURN [[noreturn]] #else -# define FMT_FALLTHROUGH +# define FMTQUILL_NORETURN #endif -#ifndef FMT_NODISCARD -# if FMT_HAS_CPP17_ATTRIBUTE(nodiscard) -# define FMT_NODISCARD [[nodiscard]] +#ifndef FMTQUILL_NODISCARD +# if FMTQUILL_HAS_CPP17_ATTRIBUTE(nodiscard) +# define FMTQUILL_NODISCARD [[nodiscard]] # else -# define FMT_NODISCARD +# define FMTQUILL_NODISCARD # endif #endif -#ifndef FMT_USE_FLOAT -# define FMT_USE_FLOAT 1 -#endif -#ifndef FMT_USE_DOUBLE -# define FMT_USE_DOUBLE 1 -#endif -#ifndef FMT_USE_LONG_DOUBLE -# define FMT_USE_LONG_DOUBLE 1 -#endif - -#ifndef FMT_INLINE -# if FMT_GCC_VERSION || FMT_CLANG_VERSION -# define FMT_INLINE inline __attribute__((always_inline)) +#ifndef FMTQUILL_INLINE +# if FMTQUILL_GCC_VERSION || FMTQUILL_CLANG_VERSION +# define FMTQUILL_INLINE inline __attribute__((always_inline)) # else -# define FMT_INLINE inline +# define FMTQUILL_INLINE inline # endif #endif -// An inline std::forward replacement. -#define FMT_FORWARD(...) static_cast(__VA_ARGS__) - #ifdef _MSC_VER -# define FMT_UNCHECKED_ITERATOR(It) \ +# define FMTQUILL_UNCHECKED_ITERATOR(It) \ using _Unchecked_type = It // Mark iterator as checked. #else -# define FMT_UNCHECKED_ITERATOR(It) using unchecked_type = It +# define FMTQUILL_UNCHECKED_ITERATOR(It) using unchecked_type = It #endif -#ifndef FMT_BEGIN_NAMESPACE -# define FMT_BEGIN_NAMESPACE \ - namespace fmt { \ - inline namespace v9 { -# define FMT_END_NAMESPACE \ +#ifndef FMTQUILL_BEGIN_NAMESPACE +# define FMTQUILL_BEGIN_NAMESPACE \ + namespace fmtquill { \ + inline namespace v10 { +# define FMTQUILL_END_NAMESPACE \ } \ } #endif -#ifndef FMT_MODULE_EXPORT -# define FMT_MODULE_EXPORT -# define FMT_MODULE_EXPORT_BEGIN -# define FMT_MODULE_EXPORT_END -# define FMT_BEGIN_DETAIL_NAMESPACE namespace detail { -# define FMT_END_DETAIL_NAMESPACE } +#ifndef FMTQUILL_EXPORT +# define FMTQUILL_EXPORT +# define FMTQUILL_BEGIN_EXPORT +# define FMTQUILL_END_EXPORT #endif -#if !defined(FMT_HEADER_ONLY) && defined(_WIN32) -# define FMT_CLASS_API FMT_MSC_WARNING(suppress : 4275) -# ifdef FMT_EXPORT -# define FMT_API __declspec(dllexport) -# elif defined(FMT_SHARED) -# define FMT_API __declspec(dllimport) -# endif +#if FMTQUILL_GCC_VERSION || FMTQUILL_CLANG_VERSION +# define FMTQUILL_VISIBILITY(value) __attribute__((visibility(value))) #else -# define FMT_CLASS_API -# if defined(FMT_EXPORT) || defined(FMT_SHARED) -# if defined(__GNUC__) || defined(__clang__) -# define FMT_API __attribute__((visibility("default"))) -# endif +# define FMTQUILL_VISIBILITY(value) +#endif + +#if !defined(FMTQUILL_HEADER_ONLY) && defined(_WIN32) +# if defined(FMTQUILL_LIB_EXPORT) +# define FMTQUILL_API __declspec(dllexport) +# elif defined(FMTQUILL_SHARED) +# define FMTQUILL_API __declspec(dllimport) # endif +#elif defined(FMTQUILL_LIB_EXPORT) || defined(FMTQUILL_SHARED) +# define FMTQUILL_API FMTQUILL_VISIBILITY("default") #endif -#ifndef FMT_API -# define FMT_API +#ifndef FMTQUILL_API +# define FMTQUILL_API #endif // libc++ supports string_view in pre-c++17. -#if FMT_HAS_INCLUDE() && \ - (FMT_CPLUSPLUS >= 201703L || defined(_LIBCPP_VERSION)) +#if FMTQUILL_HAS_INCLUDE() && \ + (FMTQUILL_CPLUSPLUS >= 201703L || defined(_LIBCPP_VERSION)) # include -# define FMT_USE_STRING_VIEW -#elif FMT_HAS_INCLUDE("experimental/string_view") && FMT_CPLUSPLUS >= 201402L +# define FMTQUILL_USE_STRING_VIEW +#elif FMTQUILL_HAS_INCLUDE("experimental/string_view") && FMTQUILL_CPLUSPLUS >= 201402L # include -# define FMT_USE_EXPERIMENTAL_STRING_VIEW +# define FMTQUILL_USE_EXPERIMENTAL_STRING_VIEW #endif -#ifndef FMT_UNICODE -# define FMT_UNICODE !FMT_MSC_VERSION +#ifndef FMTQUILL_UNICODE +# define FMTQUILL_UNICODE !FMTQUILL_MSC_VERSION #endif -#ifndef FMT_CONSTEVAL -# if ((FMT_GCC_VERSION >= 1000 || FMT_CLANG_VERSION >= 1101) && \ - FMT_CPLUSPLUS >= 202002L && !defined(__apple_build_version__)) || \ - (defined(__cpp_consteval) && \ - (!FMT_MSC_VERSION || _MSC_FULL_VER >= 193030704)) -// consteval is broken in MSVC before VS2022 and Apple clang 13. -# define FMT_CONSTEVAL consteval -# define FMT_HAS_CONSTEVAL +#ifndef FMTQUILL_CONSTEVAL +# if ((FMTQUILL_GCC_VERSION >= 1000 || FMTQUILL_CLANG_VERSION >= 1101) && \ + (!defined(__apple_build_version__) || \ + __apple_build_version__ >= 14000029L) && \ + FMTQUILL_CPLUSPLUS >= 202002L) || \ + (defined(__cpp_consteval) && \ + (!FMTQUILL_MSC_VERSION || FMTQUILL_MSC_VERSION >= 1929)) +// consteval is broken in MSVC before VS2019 version 16.10 and Apple clang +// before 14. +# define FMTQUILL_CONSTEVAL consteval +# define FMTQUILL_HAS_CONSTEVAL # else -# define FMT_CONSTEVAL +# define FMTQUILL_CONSTEVAL # endif #endif -#ifndef FMT_USE_NONTYPE_TEMPLATE_ARGS +#ifndef FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS # if defined(__cpp_nontype_template_args) && \ - ((FMT_GCC_VERSION >= 903 && FMT_CPLUSPLUS >= 201709L) || \ + ((FMTQUILL_GCC_VERSION >= 903 && FMTQUILL_CPLUSPLUS >= 201709L) || \ __cpp_nontype_template_args >= 201911L) && \ - !defined(__NVCOMPILER) -# define FMT_USE_NONTYPE_TEMPLATE_ARGS 1 + !defined(__NVCOMPILER) && !defined(__LCC__) +# define FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS 1 +# else +# define FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS 0 +# endif +#endif + +// GCC < 5 requires this-> in decltype +#ifndef FMTQUILL_DECLTYPE_THIS +# if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 500 +# define FMTQUILL_DECLTYPE_THIS this-> # else -# define FMT_USE_NONTYPE_TEMPLATE_ARGS 0 +# define FMTQUILL_DECLTYPE_THIS # endif #endif // Enable minimal optimizations for more compact code in debug mode. -FMT_GCC_PRAGMA("GCC push_options") -#if !defined(__OPTIMIZE__) && !defined(__NVCOMPILER) -FMT_GCC_PRAGMA("GCC optimize(\"Og\")") +FMTQUILL_GCC_PRAGMA("GCC push_options") +#if !defined(__OPTIMIZE__) && !defined(__NVCOMPILER) && !defined(__LCC__) && \ + !defined(__CUDACC__) +FMTQUILL_GCC_PRAGMA("GCC optimize(\"Og\")") #endif -FMT_BEGIN_NAMESPACE -FMT_MODULE_EXPORT_BEGIN +FMTQUILL_BEGIN_NAMESPACE // Implementations of enable_if_t and other metafunctions for older systems. template @@ -305,22 +282,17 @@ template using remove_const_t = typename std::remove_const::type; template using remove_cvref_t = typename std::remove_cv>::type; -template struct type_identity { using type = T; }; +template struct type_identity { + using type = T; +}; template using type_identity_t = typename type_identity::type; template using underlying_t = typename std::underlying_type::type; -template struct disjunction : std::false_type {}; -template struct disjunction

: P {}; -template -struct disjunction - : conditional_t> {}; - -template struct conjunction : std::true_type {}; -template struct conjunction

: P {}; -template -struct conjunction - : conditional_t, P1> {}; +// Checks whether T is a container with contiguous storage. +template struct is_contiguous : std::false_type {}; +template +struct is_contiguous> : std::true_type {}; struct monostate { constexpr monostate() {} @@ -329,22 +301,38 @@ struct monostate { // An enable_if helper to be used in template parameters which results in much // shorter symbols: https://godbolt.org/z/sWw4vP. Extra parentheses are needed // to workaround a bug in MSVC 2019 (see #1140 and #1186). -#ifdef FMT_DOC -# define FMT_ENABLE_IF(...) +#ifdef FMTQUILL_DOC +# define FMTQUILL_ENABLE_IF(...) #else -# define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0 +# define FMTQUILL_ENABLE_IF(...) fmtquill::enable_if_t<(__VA_ARGS__), int> = 0 #endif -FMT_BEGIN_DETAIL_NAMESPACE +// This is defined in core.h instead of format.h to avoid injecting in std. +// It is a template to avoid undesirable implicit conversions to std::byte. +#ifdef __cpp_lib_byte +template ::value)> +inline auto format_as(T b) -> unsigned char { + return static_cast(b); +} +#endif +namespace detail { // Suppresses "unused variable" warnings with the method described in // https://herbsutter.com/2009/10/18/mailbag-shutting-up-compiler-warnings/. // (void)var does not work on many Intel compilers. -template FMT_CONSTEXPR void ignore_unused(const T&...) {} +template FMTQUILL_CONSTEXPR void ignore_unused(const T&...) {} -constexpr FMT_INLINE auto is_constant_evaluated( +constexpr FMTQUILL_INLINE auto is_constant_evaluated( bool default_value = false) noexcept -> bool { -#ifdef __cpp_lib_is_constant_evaluated +// Workaround for incompatibility between libstdc++ consteval-based +// std::is_constant_evaluated() implementation and clang-14. +// https://github.com/fmtlib/fmt/issues/3247 +#if FMTQUILL_CPLUSPLUS >= 202002L && defined(_GLIBCXX_RELEASE) && \ + _GLIBCXX_RELEASE >= 12 && \ + (FMTQUILL_CLANG_VERSION >= 1400 && FMTQUILL_CLANG_VERSION < 1500) + ignore_unused(default_value); + return __builtin_is_constant_evaluated(); +#elif defined(__cpp_lib_is_constant_evaluated) ignore_unused(default_value); return std::is_constant_evaluated(); #else @@ -353,49 +341,49 @@ constexpr FMT_INLINE auto is_constant_evaluated( } // Suppresses "conditional expression is constant" warnings. -template constexpr FMT_INLINE auto const_check(T value) -> T { +template constexpr FMTQUILL_INLINE auto const_check(T value) -> T { return value; } -FMT_NORETURN FMT_API void assert_fail(const char* file, int line, +FMTQUILL_NORETURN FMTQUILL_API void assert_fail(const char* file, int line, const char* message); -#ifndef FMT_ASSERT +#ifndef FMTQUILL_ASSERT # ifdef NDEBUG -// FMT_ASSERT is not empty to avoid -Wempty-body. -# define FMT_ASSERT(condition, message) \ - ::fmt::detail::ignore_unused((condition), (message)) +// FMTQUILL_ASSERT is not empty to avoid -Wempty-body. +# define FMTQUILL_ASSERT(condition, message) \ + fmtquill::detail::ignore_unused((condition), (message)) # else -# define FMT_ASSERT(condition, message) \ +# define FMTQUILL_ASSERT(condition, message) \ ((condition) /* void() fails with -Winvalid-constexpr on clang 4.0.1 */ \ ? (void)0 \ - : ::fmt::detail::assert_fail(__FILE__, __LINE__, (message))) + : fmtquill::detail::assert_fail(__FILE__, __LINE__, (message))) # endif #endif -#if defined(FMT_USE_STRING_VIEW) +#if defined(FMTQUILL_USE_STRING_VIEW) template using std_string_view = std::basic_string_view; -#elif defined(FMT_USE_EXPERIMENTAL_STRING_VIEW) +#elif defined(FMTQUILL_USE_EXPERIMENTAL_STRING_VIEW) template using std_string_view = std::experimental::basic_string_view; #else template struct std_string_view {}; #endif -#ifdef FMT_USE_INT128 +#ifdef FMTQUILL_USE_INT128 // Do nothing. #elif defined(__SIZEOF_INT128__) && !defined(__NVCC__) && \ - !(FMT_CLANG_VERSION && FMT_MSC_VERSION) -# define FMT_USE_INT128 1 + !(FMTQUILL_CLANG_VERSION && FMTQUILL_MSC_VERSION) +# define FMTQUILL_USE_INT128 1 using int128_opt = __int128_t; // An optional native 128-bit integer. using uint128_opt = __uint128_t; template inline auto convert_for_visit(T value) -> T { return value; } #else -# define FMT_USE_INT128 0 +# define FMTQUILL_USE_INT128 0 #endif -#if !FMT_USE_INT128 +#if !FMTQUILL_USE_INT128 enum class int128_opt {}; enum class uint128_opt {}; // Reduce template instantiations. @@ -404,29 +392,30 @@ template auto convert_for_visit(T) -> monostate { return {}; } // Casts a nonnegative integer to unsigned. template -FMT_CONSTEXPR auto to_unsigned(Int value) -> +FMTQUILL_CONSTEXPR auto to_unsigned(Int value) -> typename std::make_unsigned::type { - FMT_ASSERT(std::is_unsigned::value || value >= 0, "negative value"); + FMTQUILL_ASSERT(std::is_unsigned::value || value >= 0, "negative value"); return static_cast::type>(value); } -FMT_MSC_WARNING(suppress : 4566) constexpr unsigned char micro[] = "\u00B5"; +FMTQUILL_CONSTEXPR inline auto is_utf8() -> bool { + FMTQUILL_MSC_WARNING(suppress : 4566) constexpr unsigned char section[] = "\u00A7"; -constexpr auto is_utf8() -> bool { // Avoid buggy sign extensions in MSVC's constant evaluation mode (#2297). using uchar = unsigned char; - return FMT_UNICODE || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 && - uchar(micro[1]) == 0xB5); + return FMTQUILL_UNICODE || (sizeof(section) == 3 && uchar(section[0]) == 0xC2 && + uchar(section[1]) == 0xA7); } -FMT_END_DETAIL_NAMESPACE +} // namespace detail /** An implementation of ``std::basic_string_view`` for pre-C++17. It provides a - subset of the API. ``fmt::basic_string_view`` is used for format strings even + subset of the API. ``fmtquill::basic_string_view`` is used for format strings even if ``std::string_view`` is available to prevent issues when a library is compiled with a different ``-std`` option than the client code (which is not recommended). */ +FMTQUILL_EXPORT template class basic_string_view { private: const Char* data_; @@ -448,8 +437,8 @@ template class basic_string_view { the size with ``std::char_traits::length``. \endrst */ - FMT_CONSTEXPR_CHAR_TRAITS - FMT_INLINE + FMTQUILL_CONSTEXPR_CHAR_TRAITS + FMTQUILL_INLINE basic_string_view(const Char* s) : data_(s), size_(detail::const_check(std::is_same::value && @@ -459,13 +448,13 @@ template class basic_string_view { /** Constructs a string reference from a ``std::basic_string`` object. */ template - FMT_CONSTEXPR basic_string_view( + FMTQUILL_CONSTEXPR basic_string_view( const std::basic_string& s) noexcept : data_(s.data()), size_(s.size()) {} - template >::value)> - FMT_CONSTEXPR basic_string_view(S s) noexcept + FMTQUILL_CONSTEXPR basic_string_view(S s) noexcept : data_(s.data()), size_(s.size()) {} /** Returns a pointer to the string data. */ @@ -481,13 +470,25 @@ template class basic_string_view { return data_[pos]; } - FMT_CONSTEXPR void remove_prefix(size_t n) noexcept { + FMTQUILL_CONSTEXPR void remove_prefix(size_t n) noexcept { data_ += n; size_ -= n; } + FMTQUILL_CONSTEXPR_CHAR_TRAITS auto starts_with( + basic_string_view sv) const noexcept -> bool { + return size_ >= sv.size_ && + std::char_traits::compare(data_, sv.data_, sv.size_) == 0; + } + FMTQUILL_CONSTEXPR_CHAR_TRAITS auto starts_with(Char c) const noexcept -> bool { + return size_ >= 1 && std::char_traits::eq(*data_, c); + } + FMTQUILL_CONSTEXPR_CHAR_TRAITS auto starts_with(const Char* s) const -> bool { + return starts_with(basic_string_view(s)); + } + // Lexicographically compare this string reference to other. - FMT_CONSTEXPR_CHAR_TRAITS auto compare(basic_string_view other) const -> int { + FMTQUILL_CONSTEXPR_CHAR_TRAITS auto compare(basic_string_view other) const -> int { size_t str_size = size_ < other.size_ ? size_ : other.size_; int result = std::char_traits::compare(data_, other.data_, str_size); if (result == 0) @@ -495,7 +496,7 @@ template class basic_string_view { return result; } - FMT_CONSTEXPR_CHAR_TRAITS friend auto operator==(basic_string_view lhs, + FMTQUILL_CONSTEXPR_CHAR_TRAITS friend auto operator==(basic_string_view lhs, basic_string_view rhs) -> bool { return lhs.compare(rhs) == 0; @@ -517,13 +518,15 @@ template class basic_string_view { } }; +FMTQUILL_EXPORT using string_view = basic_string_view; /** Specifies if ``T`` is a character type. Can be specialized by users. */ +FMTQUILL_EXPORT template struct is_char : std::false_type {}; template <> struct is_char : std::true_type {}; -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { // A base class for compile-time strings. struct compile_string {}; @@ -531,9 +534,8 @@ struct compile_string {}; template struct is_compile_string : std::is_base_of {}; -// Returns a string view of `s`. -template ::value)> -FMT_INLINE auto to_string_view(const Char* s) -> basic_string_view { +template ::value)> +FMTQUILL_INLINE auto to_string_view(const Char* s) -> basic_string_view { return s; } template @@ -547,24 +549,24 @@ constexpr auto to_string_view(basic_string_view s) return s; } template >::value)> + FMTQUILL_ENABLE_IF(!std::is_empty>::value)> inline auto to_string_view(std_string_view s) -> basic_string_view { return s; } -template ::value)> +template ::value)> constexpr auto to_string_view(const S& s) -> basic_string_view { return basic_string_view(s); } void to_string_view(...); -// Specifies whether S is a string type convertible to fmt::basic_string_view. +// Specifies whether S is a string type convertible to fmtquill::basic_string_view. // It should be a constexpr function but MSVC 2017 fails to compile it in // enable_if and MSVC 2015 fails to compile it as an alias template. -// ADL invocation of to_string_view is DEPRECATED! +// ADL is intentionally disabled as to_string_view is not an extension point. template -struct is_string : std::is_class()))> { -}; +struct is_string + : std::is_class()))> {}; template struct char_t_impl {}; template struct char_t_impl::value>> { @@ -599,46 +601,68 @@ enum class type { template struct type_constant : std::integral_constant {}; -#define FMT_TYPE_CONSTANT(Type, constant) \ +#define FMTQUILL_TYPE_CONSTANT(Type, constant) \ template \ struct type_constant \ : std::integral_constant {} -FMT_TYPE_CONSTANT(int, int_type); -FMT_TYPE_CONSTANT(unsigned, uint_type); -FMT_TYPE_CONSTANT(long long, long_long_type); -FMT_TYPE_CONSTANT(unsigned long long, ulong_long_type); -FMT_TYPE_CONSTANT(int128_opt, int128_type); -FMT_TYPE_CONSTANT(uint128_opt, uint128_type); -FMT_TYPE_CONSTANT(bool, bool_type); -FMT_TYPE_CONSTANT(Char, char_type); -FMT_TYPE_CONSTANT(float, float_type); -FMT_TYPE_CONSTANT(double, double_type); -FMT_TYPE_CONSTANT(long double, long_double_type); -FMT_TYPE_CONSTANT(const Char*, cstring_type); -FMT_TYPE_CONSTANT(basic_string_view, string_type); -FMT_TYPE_CONSTANT(const void*, pointer_type); - -constexpr bool is_integral_type(type t) { +FMTQUILL_TYPE_CONSTANT(int, int_type); +FMTQUILL_TYPE_CONSTANT(unsigned, uint_type); +FMTQUILL_TYPE_CONSTANT(long long, long_long_type); +FMTQUILL_TYPE_CONSTANT(unsigned long long, ulong_long_type); +FMTQUILL_TYPE_CONSTANT(int128_opt, int128_type); +FMTQUILL_TYPE_CONSTANT(uint128_opt, uint128_type); +FMTQUILL_TYPE_CONSTANT(bool, bool_type); +FMTQUILL_TYPE_CONSTANT(Char, char_type); +FMTQUILL_TYPE_CONSTANT(float, float_type); +FMTQUILL_TYPE_CONSTANT(double, double_type); +FMTQUILL_TYPE_CONSTANT(long double, long_double_type); +FMTQUILL_TYPE_CONSTANT(const Char*, cstring_type); +FMTQUILL_TYPE_CONSTANT(basic_string_view, string_type); +FMTQUILL_TYPE_CONSTANT(const void*, pointer_type); + +constexpr auto is_integral_type(type t) -> bool { return t > type::none_type && t <= type::last_integer_type; } - -constexpr bool is_arithmetic_type(type t) { +constexpr auto is_arithmetic_type(type t) -> bool { return t > type::none_type && t <= type::last_numeric_type; } -FMT_NORETURN FMT_API void throw_format_error(const char* message); +constexpr auto set(type rhs) -> int { return 1 << static_cast(rhs); } +constexpr auto in(type t, int set) -> bool { + return ((set >> static_cast(t)) & 1) != 0; +} + +// Bitsets of types. +enum { + sint_set = + set(type::int_type) | set(type::long_long_type) | set(type::int128_type), + uint_set = set(type::uint_type) | set(type::ulong_long_type) | + set(type::uint128_type), + bool_set = set(type::bool_type), + char_set = set(type::char_type), + float_set = set(type::float_type) | set(type::double_type) | + set(type::long_double_type), + string_set = set(type::string_type), + cstring_set = set(type::cstring_type), + pointer_set = set(type::pointer_type) +}; + +// DEPRECATED! +FMTQUILL_NORETURN FMTQUILL_API void throw_format_error(const char* message); struct error_handler { constexpr error_handler() = default; - constexpr error_handler(const error_handler&) = default; // This function is intentionally not constexpr to give a compile-time error. - FMT_NORETURN void on_error(const char* message) { + FMTQUILL_NORETURN void on_error(const char* message) { throw_format_error(message); } }; -FMT_END_DETAIL_NAMESPACE +} // namespace detail + +/** Throws ``format_error`` with a given message. */ +using detail::throw_format_error; /** String's character type. */ template using char_t = typename detail::char_t_impl::type; @@ -650,22 +674,21 @@ template using char_t = typename detail::char_t_impl::type; You can use the ``format_parse_context`` type alias for ``char`` instead. \endrst */ -template -class basic_format_parse_context : private ErrorHandler { +FMTQUILL_EXPORT +template class basic_format_parse_context { private: basic_string_view format_str_; int next_arg_id_; - FMT_CONSTEXPR void do_check_arg_id(int id); + FMTQUILL_CONSTEXPR void do_check_arg_id(int id); public: using char_type = Char; - using iterator = typename basic_string_view::iterator; + using iterator = const Char*; explicit constexpr basic_format_parse_context( - basic_string_view format_str, ErrorHandler eh = {}, - int next_arg_id = 0) - : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {} + basic_string_view format_str, int next_arg_id = 0) + : format_str_(format_str), next_arg_id_(next_arg_id) {} /** Returns an iterator to the beginning of the format string range being @@ -681,7 +704,7 @@ class basic_format_parse_context : private ErrorHandler { constexpr auto end() const noexcept -> iterator { return format_str_.end(); } /** Advances the begin iterator to ``it``. */ - FMT_CONSTEXPR void advance_to(iterator it) { + FMTQUILL_CONSTEXPR void advance_to(iterator it) { format_str_.remove_prefix(detail::to_unsigned(it - begin())); } @@ -689,9 +712,10 @@ class basic_format_parse_context : private ErrorHandler { Reports an error if using the manual argument indexing; otherwise returns the next argument index and switches to the automatic indexing. */ - FMT_CONSTEXPR auto next_arg_id() -> int { + FMTQUILL_CONSTEXPR auto next_arg_id() -> int { if (next_arg_id_ < 0) { - on_error("cannot switch from manual to automatic argument indexing"); + detail::throw_format_error( + "cannot switch from manual to automatic argument indexing"); return 0; } int id = next_arg_id_++; @@ -703,127 +727,61 @@ class basic_format_parse_context : private ErrorHandler { Reports an error if using the automatic argument indexing; otherwise switches to the manual indexing. */ - FMT_CONSTEXPR void check_arg_id(int id) { + FMTQUILL_CONSTEXPR void check_arg_id(int id) { if (next_arg_id_ > 0) { - on_error("cannot switch from automatic to manual argument indexing"); + detail::throw_format_error( + "cannot switch from automatic to manual argument indexing"); return; } next_arg_id_ = -1; do_check_arg_id(id); } - FMT_CONSTEXPR void check_arg_id(basic_string_view) {} - FMT_CONSTEXPR void check_dynamic_spec(int arg_id); - - FMT_CONSTEXPR void on_error(const char* message) { - ErrorHandler::on_error(message); - } - - constexpr auto error_handler() const -> ErrorHandler { return *this; } + FMTQUILL_CONSTEXPR void check_arg_id(basic_string_view) {} + FMTQUILL_CONSTEXPR void check_dynamic_spec(int arg_id); }; +FMTQUILL_EXPORT using format_parse_context = basic_format_parse_context; -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { // A parse context with extra data used only in compile-time checks. -template -class compile_parse_context - : public basic_format_parse_context { +template +class compile_parse_context : public basic_format_parse_context { private: int num_args_; const type* types_; - using base = basic_format_parse_context; + using base = basic_format_parse_context; public: - explicit FMT_CONSTEXPR compile_parse_context( + explicit FMTQUILL_CONSTEXPR compile_parse_context( basic_string_view format_str, int num_args, const type* types, - ErrorHandler eh = {}, int next_arg_id = 0) - : base(format_str, eh, next_arg_id), num_args_(num_args), types_(types) {} + int next_arg_id = 0) + : base(format_str, next_arg_id), num_args_(num_args), types_(types) {} constexpr auto num_args() const -> int { return num_args_; } constexpr auto arg_type(int id) const -> type { return types_[id]; } - FMT_CONSTEXPR auto next_arg_id() -> int { + FMTQUILL_CONSTEXPR auto next_arg_id() -> int { int id = base::next_arg_id(); - if (id >= num_args_) this->on_error("argument not found"); + if (id >= num_args_) throw_format_error("argument not found"); return id; } - FMT_CONSTEXPR void check_arg_id(int id) { + FMTQUILL_CONSTEXPR void check_arg_id(int id) { base::check_arg_id(id); - if (id >= num_args_) this->on_error("argument not found"); + if (id >= num_args_) throw_format_error("argument not found"); } using base::check_arg_id; - FMT_CONSTEXPR void check_dynamic_spec(int arg_id) { + FMTQUILL_CONSTEXPR void check_dynamic_spec(int arg_id) { + detail::ignore_unused(arg_id); +#if !defined(__LCC__) if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id])) - this->on_error("width/precision is not integer"); - } -}; -FMT_END_DETAIL_NAMESPACE - -template -FMT_CONSTEXPR void -basic_format_parse_context::do_check_arg_id(int id) { - // Argument id is only checked at compile-time during parsing because - // formatting has its own validation. - if (detail::is_constant_evaluated() && FMT_GCC_VERSION >= 1200) { - using context = detail::compile_parse_context; - if (id >= static_cast(this)->num_args()) - on_error("argument not found"); - } -} - -template -FMT_CONSTEXPR void -basic_format_parse_context::check_dynamic_spec(int arg_id) { - if (detail::is_constant_evaluated()) { - using context = detail::compile_parse_context; - static_cast(this)->check_dynamic_spec(arg_id); + throw_format_error("width/precision is not integer"); +#endif } -} - -template class basic_format_arg; -template class basic_format_args; -template class dynamic_format_arg_store; - -// A formatter for objects of type T. -template -struct formatter { - // A deleted default constructor indicates a disabled formatter. - formatter() = delete; }; -// Specifies if T has an enabled formatter specialization. A type can be -// formattable even if it doesn't have a formatter e.g. via a conversion. -template -using has_formatter = - std::is_constructible>; - -// Checks whether T is a container with contiguous storage. -template struct is_contiguous : std::false_type {}; -template -struct is_contiguous> : std::true_type {}; - -class appender; - -FMT_BEGIN_DETAIL_NAMESPACE - -template -constexpr auto has_const_formatter_impl(T*) - -> decltype(typename Context::template formatter_type().format( - std::declval(), std::declval()), - true) { - return true; -} -template -constexpr auto has_const_formatter_impl(...) -> bool { - return false; -} -template -constexpr auto has_const_formatter() -> bool { - return has_const_formatter_impl(static_cast(nullptr)); -} - // Extracts a reference to the container from back_insert_iterator. template inline auto get_container(std::back_insert_iterator it) @@ -837,53 +795,53 @@ inline auto get_container(std::back_insert_iterator it) } template -FMT_CONSTEXPR auto copy_str(InputIt begin, InputIt end, OutputIt out) +FMTQUILL_CONSTEXPR auto copy_str(InputIt begin, InputIt end, OutputIt out) -> OutputIt { while (begin != end) *out++ = static_cast(*begin++); return out; } template , U>::value&& is_char::value)> -FMT_CONSTEXPR auto copy_str(T* begin, T* end, U* out) -> U* { +FMTQUILL_CONSTEXPR auto copy_str(T* begin, T* end, U* out) -> U* { if (is_constant_evaluated()) return copy_str(begin, end, out); auto size = to_unsigned(end - begin); - memcpy(out, begin, size * sizeof(U)); + if (size > 0) memcpy(out, begin, size * sizeof(U)); return out + size; } /** \rst A contiguous memory buffer with an optional growing ability. It is an internal - class and shouldn't be used directly, only via `~fmt::basic_memory_buffer`. + class and shouldn't be used directly, only via `~fmtquill::basic_memory_buffer`. \endrst */ template class buffer { - private: +protected: T* ptr_; size_t size_; size_t capacity_; - protected: // Don't initialize ptr_ since it is not accessed to save a few cycles. - FMT_MSC_WARNING(suppress : 26495) - buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {} + FMTQUILL_MSC_WARNING(suppress : 26495) + FMTQUILL_CONSTEXPR buffer(size_t sz) noexcept : size_(sz), capacity_(sz) {} - FMT_CONSTEXPR20 buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept + FMTQUILL_CONSTEXPR20 buffer(T* p = nullptr, size_t sz = 0, size_t cap = 0) noexcept : ptr_(p), size_(sz), capacity_(cap) {} - FMT_CONSTEXPR20 ~buffer() = default; + FMTQUILL_CONSTEXPR20 ~buffer() = default; buffer(buffer&&) = default; /** Sets the buffer data and capacity. */ - FMT_CONSTEXPR void set(T* buf_data, size_t buf_capacity) noexcept { + FMTQUILL_CONSTEXPR void set(T* buf_data, size_t buf_capacity) noexcept { ptr_ = buf_data; capacity_ = buf_capacity; } /** Increases the buffer capacity to hold at least *capacity* elements. */ - virtual FMT_CONSTEXPR20 void grow(size_t capacity) = 0; + // DEPRECATED! + virtual FMTQUILL_CONSTEXPR20 void grow(size_t capacity) = 0; public: using value_type = T; @@ -892,11 +850,11 @@ template class buffer { buffer(const buffer&) = delete; void operator=(const buffer&) = delete; - auto begin() noexcept -> T* { return ptr_; } - auto end() noexcept -> T* { return ptr_ + size_; } + FMTQUILL_INLINE auto begin() noexcept -> T* { return ptr_; } + FMTQUILL_INLINE auto end() noexcept -> T* { return ptr_ + size_; } - auto begin() const noexcept -> const T* { return ptr_; } - auto end() const noexcept -> const T* { return ptr_ + size_; } + FMTQUILL_INLINE auto begin() const noexcept -> const T* { return ptr_; } + FMTQUILL_INLINE auto end() const noexcept -> const T* { return ptr_ + size_; } /** Returns the size of this buffer. */ constexpr auto size() const noexcept -> size_t { return size_; } @@ -904,18 +862,16 @@ template class buffer { /** Returns the capacity of this buffer. */ constexpr auto capacity() const noexcept -> size_t { return capacity_; } - /** Returns a pointer to the buffer data. */ - FMT_CONSTEXPR auto data() noexcept -> T* { return ptr_; } - - /** Returns a pointer to the buffer data. */ - FMT_CONSTEXPR auto data() const noexcept -> const T* { return ptr_; } + /** Returns a pointer to the buffer data (not null-terminated). */ + FMTQUILL_CONSTEXPR auto data() noexcept -> T* { return ptr_; } + FMTQUILL_CONSTEXPR auto data() const noexcept -> const T* { return ptr_; } /** Clears this buffer. */ void clear() { size_ = 0; } // Tries resizing the buffer to contain *count* elements. If T is a POD type // the new elements may not be initialized. - FMT_CONSTEXPR20 void try_resize(size_t count) { + FMTQUILL_CONSTEXPR20 void try_resize(size_t count) { try_reserve(count); size_ = count <= capacity_ ? count : capacity_; } @@ -924,11 +880,11 @@ template class buffer { // capacity by a smaller amount than requested but guarantees there is space // for at least one additional element either by increasing the capacity or by // flushing the buffer if it is full. - FMT_CONSTEXPR20 void try_reserve(size_t new_capacity) { + FMTQUILL_CONSTEXPR20 void try_reserve(size_t new_capacity) { if (new_capacity > capacity_) grow(new_capacity); } - FMT_CONSTEXPR20 void push_back(const T& value) { + FMTQUILL_CONSTEXPR20 void push_back(const T& value) { try_reserve(size_ + 1); ptr_[size_++] = value; } @@ -936,11 +892,11 @@ template class buffer { /** Appends data to the end of the buffer. */ template void append(const U* begin, const U* end); - template FMT_CONSTEXPR auto operator[](Idx index) -> T& { + template FMTQUILL_CONSTEXPR auto operator[](Idx index) -> T& { return ptr_[index]; } template - FMT_CONSTEXPR auto operator[](Idx index) const -> const T& { + FMTQUILL_CONSTEXPR auto operator[](Idx index) const -> const T& { return ptr_[index]; } }; @@ -975,7 +931,7 @@ class iterator_buffer final : public Traits, public buffer { T data_[buffer_size]; protected: - FMT_CONSTEXPR20 void grow(size_t) override { + FMTQUILL_CONSTEXPR20 void grow(size_t) override { if (this->size() == buffer_size) flush(); } @@ -1009,7 +965,7 @@ class iterator_buffer final T data_[buffer_size]; protected: - FMT_CONSTEXPR20 void grow(size_t) override { + FMTQUILL_CONSTEXPR20 void grow(size_t) override { if (this->size() == this->capacity()) flush(); } @@ -1047,7 +1003,7 @@ class iterator_buffer final template class iterator_buffer final : public buffer { protected: - FMT_CONSTEXPR20 void grow(size_t) override {} + FMTQUILL_CONSTEXPR20 void grow(size_t) override {} public: explicit iterator_buffer(T* out, size_t = 0) : buffer(out, 0, ~size_t()) {} @@ -1065,7 +1021,7 @@ class iterator_buffer, Container& container_; protected: - FMT_CONSTEXPR20 void grow(size_t capacity) override { + FMTQUILL_CONSTEXPR20 void grow(size_t capacity) override { container_.resize(capacity); this->set(&container_[0], capacity); } @@ -1089,7 +1045,7 @@ template class counting_buffer final : public buffer { size_t count_ = 0; protected: - FMT_CONSTEXPR20 void grow(size_t) override { + FMTQUILL_CONSTEXPR20 void grow(size_t) override { if (this->size() != buffer_size) return; count_ += this->size(); this->clear(); @@ -1100,6 +1056,79 @@ template class counting_buffer final : public buffer { auto count() -> size_t { return count_ + this->size(); } }; +} // namespace detail + +template +FMTQUILL_CONSTEXPR void basic_format_parse_context::do_check_arg_id(int id) { + // Argument id is only checked at compile-time during parsing because + // formatting has its own validation. + if (detail::is_constant_evaluated() && + (!FMTQUILL_GCC_VERSION || FMTQUILL_GCC_VERSION >= 1200)) { + using context = detail::compile_parse_context; + if (id >= static_cast(this)->num_args()) + detail::throw_format_error("argument not found"); + } +} + +template +FMTQUILL_CONSTEXPR void basic_format_parse_context::check_dynamic_spec( + int arg_id) { + if (detail::is_constant_evaluated() && + (!FMTQUILL_GCC_VERSION || FMTQUILL_GCC_VERSION >= 1200)) { + using context = detail::compile_parse_context; + static_cast(this)->check_dynamic_spec(arg_id); + } +} + +FMTQUILL_EXPORT template class basic_format_arg; +FMTQUILL_EXPORT template class basic_format_args; +FMTQUILL_EXPORT template class dynamic_format_arg_store; + +// A formatter for objects of type T. +FMTQUILL_EXPORT +template +struct formatter { + // A deleted default constructor indicates a disabled formatter. + formatter() = delete; +}; + +// Specifies if T has an enabled formatter specialization. A type can be +// formattable even if it doesn't have a formatter e.g. via a conversion. +template +using has_formatter = + std::is_constructible>; + +// An output iterator that appends to a buffer. +// It is used to reduce symbol sizes for the common case. +class appender : public std::back_insert_iterator> { + using base = std::back_insert_iterator>; + + public: + using std::back_insert_iterator>::back_insert_iterator; + appender(base it) noexcept : base(it) {} + FMTQUILL_UNCHECKED_ITERATOR(appender); + + auto operator++() noexcept -> appender& { return *this; } + auto operator++(int) noexcept -> appender { return *this; } +}; + +namespace detail { + +template +constexpr auto has_const_formatter_impl(T*) + -> decltype(typename Context::template formatter_type().format( + std::declval(), std::declval()), + true) { + return true; +} +template +constexpr auto has_const_formatter_impl(...) -> bool { + return false; +} +template +constexpr auto has_const_formatter() -> bool { + return has_const_formatter_impl(static_cast(nullptr)); +} template using buffer_appender = conditional_t::value, appender, @@ -1110,29 +1139,21 @@ template auto get_buffer(OutputIt out) -> iterator_buffer { return iterator_buffer(out); } +template , Buf>::value)> +auto get_buffer(std::back_insert_iterator out) -> buffer& { + return get_container(out); +} -template -auto get_iterator(Buffer& buf) -> decltype(buf.out()) { +template +FMTQUILL_INLINE auto get_iterator(Buf& buf, OutputIt) -> decltype(buf.out()) { return buf.out(); } -template auto get_iterator(buffer& buf) -> buffer_appender { - return buffer_appender(buf); +template +auto get_iterator(buffer&, OutputIt out) -> OutputIt { + return out; } -template -struct fallback_formatter { - fallback_formatter() = delete; -}; - -// Specifies if T has an enabled fallback_formatter specialization. -template -using has_fallback_formatter = -#ifdef FMT_DEPRECATED_OSTREAM - std::is_constructible>; -#else - std::false_type; -#endif - struct view {}; template struct named_arg : view { @@ -1166,9 +1187,9 @@ struct arg_data { T args_[NUM_ARGS != 0 ? NUM_ARGS : +1]; template - FMT_CONSTEXPR FMT_INLINE arg_data(const U&... init) : args_{init...} {} - FMT_CONSTEXPR FMT_INLINE auto args() const -> const T* { return args_; } - FMT_CONSTEXPR FMT_INLINE auto named_args() -> std::nullptr_t { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE arg_data(const U&... init) : args_{init...} {} + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto args() const -> const T* { return args_; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto named_args() -> std::nullptr_t { return nullptr; } }; @@ -1183,14 +1204,14 @@ template struct is_named_arg> : std::true_type {}; template ::value)> + FMTQUILL_ENABLE_IF(!is_named_arg::value)> void init_named_args(named_arg_info* named_args, int arg_count, int named_arg_count, const T&, const Tail&... args) { init_named_args(named_args, arg_count + 1, named_arg_count, args...); } template ::value)> + FMTQUILL_ENABLE_IF(is_named_arg::value)> void init_named_args(named_arg_info* named_args, int arg_count, int named_arg_count, const T& arg, const Tail&... args) { named_args[named_arg_count++] = {arg.name, arg_count}; @@ -1198,7 +1219,7 @@ void init_named_args(named_arg_info* named_args, int arg_count, } template -FMT_CONSTEXPR FMT_INLINE void init_named_args(std::nullptr_t, int, int, +FMTQUILL_CONSTEXPR FMTQUILL_INLINE void init_named_args(std::nullptr_t, int, int, const Args&...) {} template constexpr auto count() -> size_t { return B ? 1 : 0; } @@ -1217,7 +1238,6 @@ constexpr auto count_statically_named_args() -> size_t { struct unformattable {}; struct unformattable_char : unformattable {}; -struct unformattable_const : unformattable {}; struct unformattable_pointer : unformattable {}; template struct string_value { @@ -1260,45 +1280,41 @@ template class value { named_arg_value named_args; }; - constexpr FMT_INLINE value() : no_value() {} - constexpr FMT_INLINE value(int val) : int_value(val) {} - constexpr FMT_INLINE value(unsigned val) : uint_value(val) {} - constexpr FMT_INLINE value(long long val) : long_long_value(val) {} - constexpr FMT_INLINE value(unsigned long long val) : ulong_long_value(val) {} - FMT_INLINE value(int128_opt val) : int128_value(val) {} - FMT_INLINE value(uint128_opt val) : uint128_value(val) {} - constexpr FMT_INLINE value(float val) : float_value(val) {} - constexpr FMT_INLINE value(double val) : double_value(val) {} - FMT_INLINE value(long double val) : long_double_value(val) {} - constexpr FMT_INLINE value(bool val) : bool_value(val) {} - constexpr FMT_INLINE value(char_type val) : char_value(val) {} - FMT_CONSTEXPR FMT_INLINE value(const char_type* val) { + constexpr FMTQUILL_INLINE value() : no_value() {} + constexpr FMTQUILL_INLINE value(int val) : int_value(val) {} + constexpr FMTQUILL_INLINE value(unsigned val) : uint_value(val) {} + constexpr FMTQUILL_INLINE value(long long val) : long_long_value(val) {} + constexpr FMTQUILL_INLINE value(unsigned long long val) : ulong_long_value(val) {} + FMTQUILL_INLINE value(int128_opt val) : int128_value(val) {} + FMTQUILL_INLINE value(uint128_opt val) : uint128_value(val) {} + constexpr FMTQUILL_INLINE value(float val) : float_value(val) {} + constexpr FMTQUILL_INLINE value(double val) : double_value(val) {} + FMTQUILL_INLINE value(long double val) : long_double_value(val) {} + constexpr FMTQUILL_INLINE value(bool val) : bool_value(val) {} + constexpr FMTQUILL_INLINE value(char_type val) : char_value(val) {} + FMTQUILL_CONSTEXPR FMTQUILL_INLINE value(const char_type* val) { string.data = val; if (is_constant_evaluated()) string.size = {}; } - FMT_CONSTEXPR FMT_INLINE value(basic_string_view val) { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE value(basic_string_view val) { string.data = val.data(); string.size = val.size(); } - FMT_INLINE value(const void* val) : pointer(val) {} - FMT_INLINE value(const named_arg_info* args, size_t size) + FMTQUILL_INLINE value(const void* val) : pointer(val) {} + FMTQUILL_INLINE value(const named_arg_info* args, size_t size) : named_args{args, size} {} - template FMT_CONSTEXPR FMT_INLINE value(T& val) { - using value_type = remove_cvref_t; - custom.value = const_cast(&val); + template FMTQUILL_CONSTEXPR20 FMTQUILL_INLINE value(T& val) { + using value_type = remove_const_t; + custom.value = const_cast(std::addressof(val)); // Get the formatter type through the context to allow different contexts // have different extension points, e.g. `formatter` for `format` and // `printf_formatter` for `printf`. custom.format = format_custom_arg< - value_type, - conditional_t::value, - typename Context::template formatter_type, - fallback_formatter>>; + value_type, typename Context::template formatter_type>; } value(unformattable); value(unformattable_char); - value(unformattable_const); value(unformattable_pointer); private: @@ -1311,33 +1327,30 @@ template class value { parse_ctx.advance_to(f.parse(parse_ctx)); using qualified_type = conditional_t(), const T, T>; + // Calling format through a mutable reference is deprecated. ctx.advance_to(f.format(*static_cast(arg), ctx)); } }; -template -FMT_CONSTEXPR auto make_arg(T&& value) -> basic_format_arg; - // To minimize the number of types we need to deal with, long is translated // either to int or to long long depending on its size. enum { long_short = sizeof(long) == sizeof(int) }; using long_type = conditional_t; using ulong_type = conditional_t; -#ifdef __cpp_lib_byte -inline auto format_as(std::byte b) -> unsigned char { - return static_cast(b); -} -#endif +template struct format_as_result { + template ::value || std::is_class::value)> + static auto map(U*) -> remove_cvref_t()))>; + static auto map(...) -> void; -template struct has_format_as { - template ::value&& std::is_integral::value)> - static auto check(U*) -> std::true_type; - static auto check(...) -> std::false_type; - - enum { value = decltype(check(static_cast(nullptr)))::value }; + using type = decltype(map(static_cast(nullptr))); }; +template using format_as_t = typename format_as_result::type; + +template +struct has_format_as + : bool_constant, void>::value> {}; // Maps formatting arguments to core types. // arg_mapper reports errors by returning unformattable instead of using @@ -1345,36 +1358,36 @@ template struct has_format_as { template struct arg_mapper { using char_type = typename Context::char_type; - FMT_CONSTEXPR FMT_INLINE auto map(signed char val) -> int { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned char val) -> unsigned { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(signed char val) -> int { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(unsigned char val) -> unsigned { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(short val) -> int { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned short val) -> unsigned { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(short val) -> int { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(unsigned short val) -> unsigned { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(int val) -> int { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned val) -> unsigned { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(long val) -> long_type { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned long val) -> ulong_type { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(int val) -> int { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(unsigned val) -> unsigned { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(long val) -> long_type { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(unsigned long val) -> ulong_type { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(long long val) -> long long { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(unsigned long long val) + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(long long val) -> long long { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(unsigned long long val) -> unsigned long long { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(int128_opt val) -> int128_opt { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(int128_opt val) -> int128_opt { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(uint128_opt val) -> uint128_opt { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(uint128_opt val) -> uint128_opt { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(bool val) -> bool { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(bool val) -> bool { return val; } - template ::value || + template ::value || std::is_same::value)> - FMT_CONSTEXPR FMT_INLINE auto map(T val) -> char_type { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(T val) -> char_type { return val; } template ::value || @@ -1385,139 +1398,99 @@ template struct arg_mapper { std::is_same::value) && !std::is_same::value, int> = 0> - FMT_CONSTEXPR FMT_INLINE auto map(T) -> unformattable_char { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(T) -> unformattable_char { return {}; } - FMT_CONSTEXPR FMT_INLINE auto map(float val) -> float { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(double val) -> double { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(long double val) -> long double { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(float val) -> float { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(double val) -> double { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(long double val) -> long double { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(char_type* val) -> const char_type* { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(char_type* val) -> const char_type* { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(const char_type* val) -> const char_type* { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const char_type* val) -> const char_type* { return val; } template ::value && !std::is_pointer::value && + FMTQUILL_ENABLE_IF(is_string::value && !std::is_pointer::value && std::is_same>::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const T& val) -> basic_string_view { return to_string_view(val); } template ::value && !std::is_pointer::value && + FMTQUILL_ENABLE_IF(is_string::value && !std::is_pointer::value && !std::is_same>::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T&) -> unformattable_char { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const T&) -> unformattable_char { return {}; } - template >::value && - !is_string::value && !has_formatter::value && - !has_fallback_formatter::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> basic_string_view { - return basic_string_view(val); - } - template >::value && - !std::is_convertible>::value && - !is_string::value && !has_formatter::value && - !has_fallback_formatter::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> basic_string_view { - return std_string_view(val); - } - FMT_CONSTEXPR FMT_INLINE auto map(void* val) -> const void* { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(const void* val) -> const void* { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(void* val) -> const void* { return val; } + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const void* val) -> const void* { return val; } - FMT_CONSTEXPR FMT_INLINE auto map(std::nullptr_t val) -> const void* { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(std::nullptr_t val) -> const void* { return val; } - // We use SFINAE instead of a const T* parameter to avoid conflicting with - // the C array overload. + // Use SFINAE instead of a const T* parameter to avoid a conflict with the + // array overload. template < typename T, - FMT_ENABLE_IF( + FMTQUILL_ENABLE_IF( std::is_pointer::value || std::is_member_pointer::value || std::is_function::type>::value || - (std::is_convertible::value && - !std::is_convertible::value && - !has_formatter::value))> - FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer { + (std::is_array::value && + !std::is_convertible::value))> + FMTQUILL_CONSTEXPR auto map(const T&) -> unformattable_pointer { return {}; } template ::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T (&values)[N]) -> const T (&)[N] { + FMTQUILL_ENABLE_IF(!std::is_same::value)> + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const T (&values)[N]) -> const T (&)[N] { return values; } - template ::value&& std::is_convertible::value && - !has_format_as::value && !has_formatter::value && - !has_fallback_formatter::value)> - FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> decltype(std::declval().map( - static_cast>(val))) { - return map(static_cast>(val)); - } - - template ::value && - !has_formatter::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> decltype(std::declval().map(format_as(T()))) { + // Only map owning types because mapping views can be unsafe. + template , + FMTQUILL_ENABLE_IF(std::is_arithmetic::value)> + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const T& val) + -> decltype(FMTQUILL_DECLTYPE_THIS map(U())) { return map(format_as(val)); } - template > - struct formattable - : bool_constant() || - !std::is_const>::value || - has_fallback_formatter::value> {}; + template > + struct formattable : bool_constant() || + (has_formatter::value && + !std::is_const::value)> {}; -#if (FMT_MSC_VERSION != 0 && FMT_MSC_VERSION < 1910) || \ - FMT_ICC_VERSION != 0 || defined(__NVCC__) - // Workaround a bug in MSVC and Intel (Issue 2746). - template FMT_CONSTEXPR FMT_INLINE auto do_map(T&& val) -> T& { - return val; - } -#else - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto do_map(T&& val) -> T& { + template ::value)> + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto do_map(T& val) -> T& { return val; } - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto do_map(T&&) -> unformattable_const { + template ::value)> + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto do_map(T&) -> unformattable { return {}; } -#endif - template , - FMT_ENABLE_IF(!is_string::value && !is_char::value && - !std::is_array::value && - !std::is_pointer::value && - !has_format_as::value && - (has_formatter::value || - has_fallback_formatter::value))> - FMT_CONSTEXPR FMT_INLINE auto map(T&& val) - -> decltype(this->do_map(std::forward(val))) { - return do_map(std::forward(val)); - } - - template ::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& named_arg) - -> decltype(std::declval().map(named_arg.value)) { + template , + FMTQUILL_ENABLE_IF((std::is_class::value || std::is_enum::value || + std::is_union::value) && + !is_string::value && !is_char::value && + !is_named_arg::value && + !std::is_arithmetic>::value)> + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(T& val) + -> decltype(FMTQUILL_DECLTYPE_THIS do_map(val)) { + return do_map(val); + } + + template ::value)> + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto map(const T& named_arg) + -> decltype(FMTQUILL_DECLTYPE_THIS map(named_arg.value)) { return map(named_arg.value); } @@ -1536,58 +1509,153 @@ enum { max_packed_args = 62 / packed_arg_bits }; enum : unsigned long long { is_unpacked_bit = 1ULL << 63 }; enum : unsigned long long { has_named_args_bit = 1ULL << 62 }; -FMT_END_DETAIL_NAMESPACE - -// An output iterator that appends to a buffer. -// It is used to reduce symbol sizes for the common case. -class appender : public std::back_insert_iterator> { - using base = std::back_insert_iterator>; - - template - friend auto get_buffer(appender out) -> detail::buffer& { - return detail::get_container(out); - } +template +auto copy_str(InputIt begin, InputIt end, appender out) -> appender { + get_container(out).append(begin, end); + return out; +} +template +auto copy_str(InputIt begin, InputIt end, + std::back_insert_iterator out) + -> std::back_insert_iterator { + get_container(out).append(begin, end); + return out; +} - public: - using std::back_insert_iterator>::back_insert_iterator; - appender(base it) noexcept : base(it) {} - FMT_UNCHECKED_ITERATOR(appender); +template +FMTQUILL_CONSTEXPR auto copy_str(R&& rng, OutputIt out) -> OutputIt { + return detail::copy_str(rng.begin(), rng.end(), out); +} - auto operator++() noexcept -> appender& { return *this; } - auto operator++(int) noexcept -> appender { return *this; } +#if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 500 +// A workaround for gcc 4.8 to make void_t work in a SFINAE context. +template struct void_t_impl { + using type = void; }; +template using void_t = typename void_t_impl::type; +#else +template using void_t = void; +#endif -// A formatting argument. It is a trivially copyable/constructible type to -// allow storage in basic_memory_buffer. -template class basic_format_arg { - private: - detail::value value_; - detail::type type_; +template +struct is_output_iterator : std::false_type {}; - template - friend FMT_CONSTEXPR auto detail::make_arg(T&& value) - -> basic_format_arg; +template +struct is_output_iterator< + It, T, + void_t::iterator_category, + decltype(*std::declval() = std::declval())>> + : std::true_type {}; - template - friend FMT_CONSTEXPR auto visit_format_arg(Visitor&& vis, - const basic_format_arg& arg) - -> decltype(vis(0)); +template struct is_back_insert_iterator : std::false_type {}; +template +struct is_back_insert_iterator> + : std::true_type {}; - friend class basic_format_args; - friend class dynamic_format_arg_store; +// A type-erased reference to an std::locale to avoid a heavy include. +class locale_ref { + private: + const void* locale_; // A type-erased pointer to std::locale. - using char_type = typename Context::char_type; + public: + constexpr FMTQUILL_INLINE locale_ref() : locale_(nullptr) {} + template explicit locale_ref(const Locale& loc); - template - friend struct detail::arg_data; + explicit operator bool() const noexcept { return locale_ != nullptr; } - basic_format_arg(const detail::named_arg_info* args, size_t size) - : value_(args, size) {} + template auto get() const -> Locale; +}; - public: - class handle { - public: - explicit handle(detail::custom_value custom) : custom_(custom) {} +template constexpr auto encode_types() -> unsigned long long { + return 0; +} + +template +constexpr auto encode_types() -> unsigned long long { + return static_cast(mapped_type_constant::value) | + (encode_types() << packed_arg_bits); +} + +#if defined(__cpp_if_constexpr) +// This type is intentionally undefined, only used for errors +template struct type_is_unformattable_for; +#endif + +template = 0> +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto make_arg(T& val) -> value { + using arg_type = remove_cvref_t().map(val))>; + + constexpr bool formattable_char = + !std::is_same::value; + static_assert(formattable_char, "Mixing character types is disallowed."); + + // Formatting of arbitrary pointers is disallowed. If you want to format a + // pointer cast it to `void*` or `const void*`. In particular, this forbids + // formatting of `[const] volatile char*` printed as bool by iostreams. + constexpr bool formattable_pointer = + !std::is_same::value; + static_assert(formattable_pointer, + "Formatting of non-void pointers is disallowed."); + + constexpr bool formattable = !std::is_same::value; +#if defined(__cpp_if_constexpr) + if constexpr (!formattable) { + type_is_unformattable_for _; + } +#endif + static_assert( + formattable, + "Cannot format an argument. To make type T formattable provide a " + "formatter specialization: https://fmt.dev/latest/api.html#udt"); + return {arg_mapper().map(val)}; +} + +template +FMTQUILL_CONSTEXPR auto make_arg(T& val) -> basic_format_arg { + auto arg = basic_format_arg(); + arg.type_ = mapped_type_constant::value; + arg.value_ = make_arg(val); + return arg; +} + +template +FMTQUILL_CONSTEXPR inline auto make_arg(T& val) -> basic_format_arg { + return make_arg(val); +} +} // namespace detail +FMTQUILL_BEGIN_EXPORT + +// A formatting argument. Context is a template parameter for the compiled API +// where output can be unbuffered. +template class basic_format_arg { + private: + detail::value value_; + detail::type type_; + + template + friend FMTQUILL_CONSTEXPR auto detail::make_arg(T& value) + -> basic_format_arg; + + template + friend FMTQUILL_CONSTEXPR auto visit_format_arg(Visitor&& vis, + const basic_format_arg& arg) + -> decltype(vis(0)); + + friend class basic_format_args; + friend class dynamic_format_arg_store; + + using char_type = typename Context::char_type; + + template + friend struct detail::arg_data; + + basic_format_arg(const detail::named_arg_info* args, size_t size) + : value_(args, size) {} + + public: + class handle { + public: + explicit handle(detail::custom_value custom) : custom_(custom) {} void format(typename Context::parse_context_type& parse_ctx, Context& ctx) const { @@ -1610,6 +1678,15 @@ template class basic_format_arg { auto is_arithmetic() const -> bool { return detail::is_arithmetic_type(type_); } + + FMTQUILL_INLINE auto format_custom(const char_type* parse_begin, + typename Context::parse_context_type& parse_ctx, + Context& ctx) -> bool { + if (type_ != detail::type::custom_type) return false; + parse_ctx.advance_to(parse_begin); + value_.custom.format(value_.custom.value, parse_ctx, ctx); + return true; + } }; /** @@ -1619,8 +1696,9 @@ template class basic_format_arg { ``vis(value)`` will be called with the value of type ``double``. \endrst */ +// DEPRECATED! template -FMT_CONSTEXPR FMT_INLINE auto visit_format_arg( +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto visit_format_arg( Visitor&& vis, const basic_format_arg& arg) -> decltype(vis(0)) { switch (arg.type_) { case detail::type::none_type: @@ -1660,136 +1738,8 @@ FMT_CONSTEXPR FMT_INLINE auto visit_format_arg( return vis(monostate()); } -FMT_BEGIN_DETAIL_NAMESPACE - -template -auto copy_str(InputIt begin, InputIt end, appender out) -> appender { - get_container(out).append(begin, end); - return out; -} - -template -FMT_CONSTEXPR auto copy_str(R&& rng, OutputIt out) -> OutputIt { - return detail::copy_str(rng.begin(), rng.end(), out); -} - -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 500 -// A workaround for gcc 4.8 to make void_t work in a SFINAE context. -template struct void_t_impl { using type = void; }; -template -using void_t = typename detail::void_t_impl::type; -#else -template using void_t = void; -#endif - -template -struct is_output_iterator : std::false_type {}; - -template -struct is_output_iterator< - It, T, - void_t::iterator_category, - decltype(*std::declval() = std::declval())>> - : std::true_type {}; - -template -struct is_back_insert_iterator : std::false_type {}; -template -struct is_back_insert_iterator> - : std::true_type {}; - -template -struct is_contiguous_back_insert_iterator : std::false_type {}; -template -struct is_contiguous_back_insert_iterator> - : is_contiguous {}; -template <> -struct is_contiguous_back_insert_iterator : std::true_type {}; - -// A type-erased reference to an std::locale to avoid a heavy include. -class locale_ref { - private: - const void* locale_; // A type-erased pointer to std::locale. - - public: - constexpr locale_ref() : locale_(nullptr) {} - template explicit locale_ref(const Locale& loc); - - explicit operator bool() const noexcept { return locale_ != nullptr; } - - template auto get() const -> Locale; -}; - -template constexpr auto encode_types() -> unsigned long long { - return 0; -} - -template -constexpr auto encode_types() -> unsigned long long { - return static_cast(mapped_type_constant::value) | - (encode_types() << packed_arg_bits); -} - -template -FMT_CONSTEXPR FMT_INLINE auto make_value(T&& val) -> value { - const auto& arg = arg_mapper().map(FMT_FORWARD(val)); - - constexpr bool formattable_char = - !std::is_same::value; - static_assert(formattable_char, "Mixing character types is disallowed."); - - constexpr bool formattable_const = - !std::is_same::value; - static_assert(formattable_const, "Cannot format a const argument."); - - // Formatting of arbitrary pointers is disallowed. If you want to output - // a pointer cast it to "void *" or "const void *". In particular, this - // forbids formatting of "[const] volatile char *" which is printed as bool - // by iostreams. - constexpr bool formattable_pointer = - !std::is_same::value; - static_assert(formattable_pointer, - "Formatting of non-void pointers is disallowed."); - - constexpr bool formattable = - !std::is_same::value; - static_assert( - formattable, - "Cannot format an argument. To make type T formattable provide a " - "formatter specialization: https://fmt.dev/latest/api.html#udt"); - return {arg}; -} - -template -FMT_CONSTEXPR auto make_arg(T&& value) -> basic_format_arg { - basic_format_arg arg; - arg.type_ = mapped_type_constant::value; - arg.value_ = make_value(value); - return arg; -} - -// The type template parameter is there to avoid an ODR violation when using -// a fallback formatter in one translation unit and an implicit conversion in -// another (not recommended). -template -FMT_CONSTEXPR FMT_INLINE auto make_arg(T&& val) -> value { - return make_value(val); -} - -template -FMT_CONSTEXPR inline auto make_arg(T&& value) -> basic_format_arg { - return make_arg(value); -} -FMT_END_DETAIL_NAMESPACE - // Formatting context. template class basic_format_context { - public: - /** The character type for the output. */ - using char_type = Char; - private: OutputIt out_; basic_format_args args_; @@ -1798,44 +1748,46 @@ template class basic_format_context { public: using iterator = OutputIt; using format_arg = basic_format_arg; + using format_args = basic_format_args; using parse_context_type = basic_format_parse_context; - template using formatter_type = formatter; + template using formatter_type = formatter; + + /** The character type for the output. */ + using char_type = Char; basic_format_context(basic_format_context&&) = default; basic_format_context(const basic_format_context&) = delete; void operator=(const basic_format_context&) = delete; /** - Constructs a ``basic_format_context`` object. References to the arguments are - stored in the object so make sure they have appropriate lifetimes. + Constructs a ``basic_format_context`` object. References to the arguments + are stored in the object so make sure they have appropriate lifetimes. */ - constexpr basic_format_context( - OutputIt out, basic_format_args ctx_args, - detail::locale_ref loc = detail::locale_ref()) + constexpr basic_format_context(OutputIt out, format_args ctx_args, + detail::locale_ref loc = {}) : out_(out), args_(ctx_args), loc_(loc) {} constexpr auto arg(int id) const -> format_arg { return args_.get(id); } - FMT_CONSTEXPR auto arg(basic_string_view name) -> format_arg { + FMTQUILL_CONSTEXPR auto arg(basic_string_view name) -> format_arg { return args_.get(name); } - FMT_CONSTEXPR auto arg_id(basic_string_view name) -> int { + FMTQUILL_CONSTEXPR auto arg_id(basic_string_view name) -> int { return args_.get_id(name); } - auto args() const -> const basic_format_args& { - return args_; - } + auto args() const -> const format_args& { return args_; } - FMT_CONSTEXPR auto error_handler() -> detail::error_handler { return {}; } + // DEPRECATED! + FMTQUILL_CONSTEXPR auto error_handler() -> detail::error_handler { return {}; } void on_error(const char* message) { error_handler().on_error(message); } // Returns an iterator to the beginning of the output range. - FMT_CONSTEXPR auto out() -> iterator { return out_; } + FMTQUILL_CONSTEXPR auto out() -> iterator { return out_; } // Advances the begin iterator to ``it``. void advance_to(iterator it) { if (!detail::is_back_insert_iterator()) out_ = it; } - FMT_CONSTEXPR auto locale() -> detail::locale_ref { return loc_; } + FMTQUILL_CONSTEXPR auto locale() -> detail::locale_ref { return loc_; } }; template @@ -1843,34 +1795,28 @@ using buffer_context = basic_format_context, Char>; using format_context = buffer_context; -// Workaround an alias issue: https://stackoverflow.com/q/62767544/471164. -#define FMT_BUFFER_CONTEXT(Char) \ - basic_format_context, Char> - template -using is_formattable = bool_constant< - !std::is_base_of>().map( - std::declval()))>::value && - !detail::has_fallback_formatter::value>; +using is_formattable = bool_constant>() + .map(std::declval()))>::value>; /** \rst An array of references to arguments. It can be implicitly converted into - `~fmt::basic_format_args` for passing into type-erased formatting functions - such as `~fmt::vformat`. + `~fmtquill::basic_format_args` for passing into type-erased formatting functions + such as `~fmtquill::vformat`. \endrst */ template class format_arg_store -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 +#if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 409 // Workaround a GCC template argument substitution bug. : public basic_format_args #endif { private: static const size_t num_args = sizeof...(Args); - static const size_t num_named_args = detail::count_named_args(); + static constexpr size_t num_named_args = detail::count_named_args(); static const bool is_packed = num_args <= detail::max_packed_args; using value_type = conditional_t, @@ -1891,31 +1837,30 @@ class format_arg_store public: template - FMT_CONSTEXPR FMT_INLINE format_arg_store(T&&... args) + FMTQUILL_CONSTEXPR FMTQUILL_INLINE format_arg_store(T&... args) : -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 +#if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 409 basic_format_args(*this), #endif - data_{detail::make_arg< - is_packed, Context, - detail::mapped_type_constant, Context>::value>( - FMT_FORWARD(args))...} { - detail::init_named_args(data_.named_args(), 0, 0, args...); + data_{detail::make_arg(args)...} { + if (detail::const_check(num_named_args != 0)) + detail::init_named_args(data_.named_args(), 0, 0, args...); } }; /** \rst - Constructs a `~fmt::format_arg_store` object that contains references to - arguments and can be implicitly converted to `~fmt::format_args`. `Context` - can be omitted in which case it defaults to `~fmt::context`. - See `~fmt::arg` for lifetime considerations. + Constructs a `~fmtquill::format_arg_store` object that contains references to + arguments and can be implicitly converted to `~fmtquill::format_args`. `Context` + can be omitted in which case it defaults to `~fmtquill::format_context`. + See `~fmtquill::arg` for lifetime considerations. \endrst */ -template -constexpr auto make_format_args(Args&&... args) - -> format_arg_store...> { - return {FMT_FORWARD(args)...}; +// Arguments are taken by lvalue references to avoid some lifetime issues. +template +constexpr auto make_format_args(T&... args) + -> format_arg_store...> { + return {args...}; } /** @@ -1926,7 +1871,7 @@ constexpr auto make_format_args(Args&&... args) **Example**:: - fmt::print("Elapsed time: {s:.2f} seconds", fmt::arg("s", 1.23)); + fmtquill::print("Elapsed time: {s:.2f} seconds", fmtquill::arg("s", 1.23)); \endrst */ template @@ -1934,6 +1879,7 @@ inline auto arg(const Char* name, const T& arg) -> detail::named_arg { static_assert(!detail::is_named_arg(), "nested named arguments"); return {name, arg}; } +FMTQUILL_END_EXPORT /** \rst @@ -1942,7 +1888,7 @@ inline auto arg(const Char* name, const T& arg) -> detail::named_arg { ``vformat``:: void vlog(string_view format_str, format_args args); // OK - format_args args = make_format_args(42); // Error: dangling reference + format_args args = make_format_args(); // Error: dangling reference \endrst */ template class basic_format_args { @@ -1973,28 +1919,26 @@ template class basic_format_args { return (desc_ & detail::has_named_args_bit) != 0; } - FMT_CONSTEXPR auto type(int index) const -> detail::type { + FMTQUILL_CONSTEXPR auto type(int index) const -> detail::type { int shift = index * detail::packed_arg_bits; unsigned int mask = (1 << detail::packed_arg_bits) - 1; return static_cast((desc_ >> shift) & mask); } - constexpr FMT_INLINE basic_format_args(unsigned long long desc, + constexpr FMTQUILL_INLINE basic_format_args(unsigned long long desc, const detail::value* values) : desc_(desc), values_(values) {} - constexpr basic_format_args(unsigned long long desc, const format_arg* args) - : desc_(desc), args_(args) {} public: constexpr basic_format_args() : desc_(0), args_(nullptr) {} /** \rst - Constructs a `basic_format_args` object from `~fmt::format_arg_store`. + Constructs a `basic_format_args` object from `~fmtquill::format_arg_store`. \endrst */ template - constexpr FMT_INLINE basic_format_args( + constexpr FMTQUILL_INLINE basic_format_args( const format_arg_store& store) : basic_format_args(format_arg_store::desc, store.data_.args()) {} @@ -2002,13 +1946,16 @@ template class basic_format_args { /** \rst Constructs a `basic_format_args` object from - `~fmt::dynamic_format_arg_store`. + `~fmtquill::dynamic_format_arg_store`. \endrst */ - constexpr FMT_INLINE basic_format_args( + constexpr FMTQUILL_INLINE basic_format_args( const dynamic_format_arg_store& store) : basic_format_args(store.get_types(), store.data()) {} + constexpr basic_format_args(unsigned long long desc, const format_arg* args) + : desc_(desc), args_(args) {} + /** \rst Constructs a `basic_format_args` object from a dynamic set of arguments. @@ -2019,7 +1966,7 @@ template class basic_format_args { args) {} /** Returns the argument with the specified id. */ - FMT_CONSTEXPR auto get(int id) const -> format_arg { + FMTQUILL_CONSTEXPR auto get(int id) const -> format_arg { format_arg arg; if (!is_packed()) { if (id < max_size()) arg = args_[id]; @@ -2059,28 +2006,28 @@ template class basic_format_args { /** An alias to ``basic_format_args``. */ // A separate type would result in shorter symbols but break ABI compatibility // between clang and gcc on ARM (#1919). -using format_args = basic_format_args; +FMTQUILL_EXPORT using format_args = basic_format_args; // We cannot use enum classes as bit fields because of a gcc bug, so we put them // in namespaces instead (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414). // Additionally, if an underlying type is specified, older gcc incorrectly warns // that the type is too small. Both bugs are fixed in gcc 9.3. -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 903 -# define FMT_ENUM_UNDERLYING_TYPE(type) +#if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 903 +# define FMTQUILL_ENUM_UNDERLYING_TYPE(type) #else -# define FMT_ENUM_UNDERLYING_TYPE(type) : type +# define FMTQUILL_ENUM_UNDERLYING_TYPE(type) : type #endif namespace align { -enum type FMT_ENUM_UNDERLYING_TYPE(unsigned char){none, left, right, center, +enum type FMTQUILL_ENUM_UNDERLYING_TYPE(unsigned char){none, left, right, center, numeric}; } using align_t = align::type; namespace sign { -enum type FMT_ENUM_UNDERLYING_TYPE(unsigned char){none, minus, plus, space}; +enum type FMTQUILL_ENUM_UNDERLYING_TYPE(unsigned char){none, minus, plus, space}; } using sign_t = sign::type; -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { // Workaround an array initialization issue in gcc 4.8. template struct fill_t { @@ -2090,9 +2037,9 @@ template struct fill_t { unsigned char size_ = 1; public: - FMT_CONSTEXPR void operator=(basic_string_view s) { + FMTQUILL_CONSTEXPR void operator=(basic_string_view s) { auto size = s.size(); - if (size > max_size) return throw_format_error("invalid fill"); + FMTQUILL_ASSERT(size <= max_size, "invalid fill"); for (size_t i = 0; i < size; ++i) data_[i] = s[i]; size_ = static_cast(size); } @@ -2100,16 +2047,15 @@ template struct fill_t { constexpr auto size() const -> size_t { return size_; } constexpr auto data() const -> const Char* { return data_; } - FMT_CONSTEXPR auto operator[](size_t index) -> Char& { return data_[index]; } - FMT_CONSTEXPR auto operator[](size_t index) const -> const Char& { + FMTQUILL_CONSTEXPR auto operator[](size_t index) -> Char& { return data_[index]; } + FMTQUILL_CONSTEXPR auto operator[](size_t index) const -> const Char& { return data_[index]; } }; -FMT_END_DETAIL_NAMESPACE +} // namespace detail enum class presentation_type : unsigned char { none, - // Integer types should go first, dec, // 'd' oct, // 'o' hex_lower, // 'x' @@ -2131,7 +2077,7 @@ enum class presentation_type : unsigned char { }; // Format specifiers for built-in and string types. -template struct basic_format_specs { +template struct format_specs { int width; int precision; presentation_type type; @@ -2141,7 +2087,7 @@ template struct basic_format_specs { bool localized : 1; detail::fill_t fill; - constexpr basic_format_specs() + constexpr format_specs() : width(0), precision(-1), type(presentation_type::none), @@ -2151,22 +2097,20 @@ template struct basic_format_specs { localized(false) {} }; -using format_specs = basic_format_specs; - -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { enum class arg_id_kind { none, index, name }; // An argument reference. template struct arg_ref { - FMT_CONSTEXPR arg_ref() : kind(arg_id_kind::none), val() {} + FMTQUILL_CONSTEXPR arg_ref() : kind(arg_id_kind::none), val() {} - FMT_CONSTEXPR explicit arg_ref(int index) + FMTQUILL_CONSTEXPR explicit arg_ref(int index) : kind(arg_id_kind::index), val(index) {} - FMT_CONSTEXPR explicit arg_ref(basic_string_view name) + FMTQUILL_CONSTEXPR explicit arg_ref(basic_string_view name) : kind(arg_id_kind::name), val(name) {} - FMT_CONSTEXPR auto operator=(int idx) -> arg_ref& { + FMTQUILL_CONSTEXPR auto operator=(int idx) -> arg_ref& { kind = arg_id_kind::index; val.index = idx; return *this; @@ -2174,8 +2118,8 @@ template struct arg_ref { arg_id_kind kind; union value { - FMT_CONSTEXPR value(int id = 0) : index{id} {} - FMT_CONSTEXPR value(basic_string_view n) : name(n) {} + FMTQUILL_CONSTEXPR value(int idx = 0) : index(idx) {} + FMTQUILL_CONSTEXPR value(basic_string_view n) : name(n) {} int index; basic_string_view name; @@ -2183,139 +2127,35 @@ template struct arg_ref { }; // Format specifiers with width and precision resolved at formatting rather -// than parsing time to allow re-using the same parsed specifiers with +// than parsing time to allow reusing the same parsed specifiers with // different sets of arguments (precompilation of format strings). -template -struct dynamic_format_specs : basic_format_specs { +template +struct dynamic_format_specs : format_specs { arg_ref width_ref; arg_ref precision_ref; }; -struct auto_id {}; - -// A format specifier handler that sets fields in basic_format_specs. -template class specs_setter { - protected: - basic_format_specs& specs_; - - public: - explicit FMT_CONSTEXPR specs_setter(basic_format_specs& specs) - : specs_(specs) {} - - FMT_CONSTEXPR specs_setter(const specs_setter& other) - : specs_(other.specs_) {} - - FMT_CONSTEXPR void on_align(align_t align) { specs_.align = align; } - FMT_CONSTEXPR void on_fill(basic_string_view fill) { - specs_.fill = fill; - } - FMT_CONSTEXPR void on_sign(sign_t s) { specs_.sign = s; } - FMT_CONSTEXPR void on_hash() { specs_.alt = true; } - FMT_CONSTEXPR void on_localized() { specs_.localized = true; } - - FMT_CONSTEXPR void on_zero() { - if (specs_.align == align::none) specs_.align = align::numeric; - specs_.fill[0] = Char('0'); - } - - FMT_CONSTEXPR void on_width(int width) { specs_.width = width; } - FMT_CONSTEXPR void on_precision(int precision) { - specs_.precision = precision; - } - FMT_CONSTEXPR void end_precision() {} - - FMT_CONSTEXPR void on_type(presentation_type type) { specs_.type = type; } -}; - -// Format spec handler that saves references to arguments representing dynamic -// width and precision to be resolved at formatting time. -template -class dynamic_specs_handler - : public specs_setter { - public: - using char_type = typename ParseContext::char_type; - - FMT_CONSTEXPR dynamic_specs_handler(dynamic_format_specs& specs, - ParseContext& ctx) - : specs_setter(specs), specs_(specs), context_(ctx) {} - - FMT_CONSTEXPR dynamic_specs_handler(const dynamic_specs_handler& other) - : specs_setter(other), - specs_(other.specs_), - context_(other.context_) {} - - template FMT_CONSTEXPR void on_dynamic_width(Id arg_id) { - specs_.width_ref = make_arg_ref(arg_id); - } - - template FMT_CONSTEXPR void on_dynamic_precision(Id arg_id) { - specs_.precision_ref = make_arg_ref(arg_id); - } - - FMT_CONSTEXPR void on_error(const char* message) { - context_.on_error(message); - } - - private: - dynamic_format_specs& specs_; - ParseContext& context_; - - using arg_ref_type = arg_ref; - - FMT_CONSTEXPR auto make_arg_ref(int arg_id) -> arg_ref_type { - context_.check_arg_id(arg_id); - context_.check_dynamic_spec(arg_id); - return arg_ref_type(arg_id); - } - - FMT_CONSTEXPR auto make_arg_ref(auto_id) -> arg_ref_type { - int arg_id = context_.next_arg_id(); - context_.check_dynamic_spec(arg_id); - return arg_ref_type(arg_id); - } - - FMT_CONSTEXPR auto make_arg_ref(basic_string_view arg_id) - -> arg_ref_type { - context_.check_arg_id(arg_id); - basic_string_view format_str( - context_.begin(), to_unsigned(context_.end() - context_.begin())); - return arg_ref_type(arg_id); - } -}; - -template constexpr bool is_ascii_letter(Char c) { - return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); +// Converts a character to ASCII. Returns '\0' on conversion failure. +template ::value)> +constexpr auto to_ascii(Char c) -> char { + return c <= 0xff ? static_cast(c) : '\0'; } - -// Converts a character to ASCII. Returns a number > 127 on conversion failure. -template ::value)> -constexpr auto to_ascii(Char c) -> Char { - return c; -} -template ::value)> -constexpr auto to_ascii(Char c) -> underlying_t { - return c; -} - -FMT_CONSTEXPR inline auto code_point_length_impl(char c) -> int { - return "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4" - [static_cast(c) >> 3]; +template ::value)> +constexpr auto to_ascii(Char c) -> char { + return c <= 0xff ? static_cast(c) : '\0'; } +// Returns the number of code units in a code point or 1 on error. template -FMT_CONSTEXPR auto code_point_length(const Char* begin) -> int { +FMTQUILL_CONSTEXPR auto code_point_length(const Char* begin) -> int { if (const_check(sizeof(Char) != 1)) return 1; - int len = code_point_length_impl(static_cast(*begin)); - - // Compute the pointer to the next character early so that the next - // iteration can start working on the next character. Neither Clang - // nor GCC figure out this reordering on their own. - return len + !len; + auto c = static_cast(*begin); + return static_cast((0x3a55000000000000ull >> (2 * (c >> 3))) & 0x3) + 1; } // Return the result via the out param to workaround gcc bug 77539. template -FMT_CONSTEXPR auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool { +FMTQUILL_CONSTEXPR auto find(Ptr first, Ptr last, T value, Ptr& out) -> bool { for (out = first; out != last; ++out) { if (*out == value) return true; } @@ -2333,9 +2173,9 @@ inline auto find(const char* first, const char* last, char value, // Parses the range [begin, end) as an unsigned integer. This function assumes // that the range is non-empty and the first character is a digit. template -FMT_CONSTEXPR auto parse_nonnegative_int(const Char*& begin, const Char* end, +FMTQUILL_CONSTEXPR auto parse_nonnegative_int(const Char*& begin, const Char* end, int error_value) noexcept -> int { - FMT_ASSERT(begin != end && '0' <= *begin && *begin <= '9', ""); + FMTQUILL_ASSERT(begin != end && '0' <= *begin && *begin <= '9', ""); unsigned value = 0, prev = 0; auto p = begin; do { @@ -2355,296 +2195,309 @@ FMT_CONSTEXPR auto parse_nonnegative_int(const Char*& begin, const Char* end, : error_value; } -// Parses fill and alignment. -template -FMT_CONSTEXPR auto parse_align(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - FMT_ASSERT(begin != end, ""); - auto align = align::none; - auto p = begin + code_point_length(begin); - if (end - p <= 0) p = begin; - for (;;) { - switch (to_ascii(*p)) { - case '<': - align = align::left; - break; - case '>': - align = align::right; - break; - case '^': - align = align::center; - break; - default: - break; - } - if (align != align::none) { - if (p != begin) { - auto c = *begin; - if (c == '{') - return handler.on_error("invalid fill character '{'"), begin; - handler.on_fill(basic_string_view(begin, to_unsigned(p - begin))); - begin = p + 1; - } else - ++begin; - handler.on_align(align); - break; - } else if (p == begin) { - break; - } - p = begin; +FMTQUILL_CONSTEXPR inline auto parse_align(char c) -> align_t { + switch (c) { + case '<': + return align::left; + case '>': + return align::right; + case '^': + return align::center; } - return begin; + return align::none; } -template FMT_CONSTEXPR bool is_name_start(Char c) { - return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c; +template constexpr auto is_name_start(Char c) -> bool { + return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '_'; } -template -FMT_CONSTEXPR auto do_parse_arg_id(const Char* begin, const Char* end, - IDHandler&& handler) -> const Char* { - FMT_ASSERT(begin != end, ""); +template +FMTQUILL_CONSTEXPR auto do_parse_arg_id(const Char* begin, const Char* end, + Handler&& handler) -> const Char* { Char c = *begin; if (c >= '0' && c <= '9') { int index = 0; + constexpr int max = (std::numeric_limits::max)(); if (c != '0') - index = - parse_nonnegative_int(begin, end, (std::numeric_limits::max)()); + index = parse_nonnegative_int(begin, end, max); else ++begin; if (begin == end || (*begin != '}' && *begin != ':')) - handler.on_error("invalid format string"); + throw_format_error("invalid format string"); else - handler(index); + handler.on_index(index); return begin; } if (!is_name_start(c)) { - handler.on_error("invalid format string"); + throw_format_error("invalid format string"); return begin; } auto it = begin; do { ++it; - } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9'))); - handler(basic_string_view(begin, to_unsigned(it - begin))); + } while (it != end && (is_name_start(*it) || ('0' <= *it && *it <= '9'))); + handler.on_name({begin, to_unsigned(it - begin)}); return it; } -template -FMT_CONSTEXPR FMT_INLINE auto parse_arg_id(const Char* begin, const Char* end, - IDHandler&& handler) -> const Char* { +template +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto parse_arg_id(const Char* begin, const Char* end, + Handler&& handler) -> const Char* { + FMTQUILL_ASSERT(begin != end, ""); Char c = *begin; if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler); - handler(); + handler.on_auto(); return begin; } -template -FMT_CONSTEXPR auto parse_width(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - using detail::auto_id; - struct width_adapter { - Handler& handler; +template struct dynamic_spec_id_handler { + basic_format_parse_context& ctx; + arg_ref& ref; - FMT_CONSTEXPR void operator()() { handler.on_dynamic_width(auto_id()); } - FMT_CONSTEXPR void operator()(int id) { handler.on_dynamic_width(id); } - FMT_CONSTEXPR void operator()(basic_string_view id) { - handler.on_dynamic_width(id); - } - FMT_CONSTEXPR void on_error(const char* message) { - if (message) handler.on_error(message); - } - }; + FMTQUILL_CONSTEXPR void on_auto() { + int id = ctx.next_arg_id(); + ref = arg_ref(id); + ctx.check_dynamic_spec(id); + } + FMTQUILL_CONSTEXPR void on_index(int id) { + ref = arg_ref(id); + ctx.check_arg_id(id); + ctx.check_dynamic_spec(id); + } + FMTQUILL_CONSTEXPR void on_name(basic_string_view id) { + ref = arg_ref(id); + ctx.check_arg_id(id); + } +}; - FMT_ASSERT(begin != end, ""); +// Parses [integer | "{" [arg_id] "}"]. +template +FMTQUILL_CONSTEXPR auto parse_dynamic_spec(const Char* begin, const Char* end, + int& value, arg_ref& ref, + basic_format_parse_context& ctx) + -> const Char* { + FMTQUILL_ASSERT(begin != end, ""); if ('0' <= *begin && *begin <= '9') { - int width = parse_nonnegative_int(begin, end, -1); - if (width != -1) - handler.on_width(width); + int val = parse_nonnegative_int(begin, end, -1); + if (val != -1) + value = val; else - handler.on_error("number is too big"); + throw_format_error("number is too big"); } else if (*begin == '{') { ++begin; - if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler}); - if (begin == end || *begin != '}') - return handler.on_error("invalid format string"), begin; - ++begin; - } - return begin; -} - -template -FMT_CONSTEXPR auto parse_precision(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - using detail::auto_id; - struct precision_adapter { - Handler& handler; - - FMT_CONSTEXPR void operator()() { handler.on_dynamic_precision(auto_id()); } - FMT_CONSTEXPR void operator()(int id) { handler.on_dynamic_precision(id); } - FMT_CONSTEXPR void operator()(basic_string_view id) { - handler.on_dynamic_precision(id); - } - FMT_CONSTEXPR void on_error(const char* message) { - if (message) handler.on_error(message); - } - }; - - ++begin; - auto c = begin != end ? *begin : Char(); - if ('0' <= c && c <= '9') { - auto precision = parse_nonnegative_int(begin, end, -1); - if (precision != -1) - handler.on_precision(precision); - else - handler.on_error("number is too big"); - } else if (c == '{') { - ++begin; - if (begin != end) - begin = parse_arg_id(begin, end, precision_adapter{handler}); - if (begin == end || *begin++ != '}') - return handler.on_error("invalid format string"), begin; - } else { - return handler.on_error("missing precision specifier"), begin; + auto handler = dynamic_spec_id_handler{ctx, ref}; + if (begin != end) begin = parse_arg_id(begin, end, handler); + if (begin != end && *begin == '}') return ++begin; + throw_format_error("invalid format string"); } - handler.end_precision(); return begin; } template -FMT_CONSTEXPR auto parse_presentation_type(Char type) -> presentation_type { - switch (to_ascii(type)) { - case 'd': - return presentation_type::dec; - case 'o': - return presentation_type::oct; - case 'x': - return presentation_type::hex_lower; - case 'X': - return presentation_type::hex_upper; - case 'b': - return presentation_type::bin_lower; - case 'B': - return presentation_type::bin_upper; - case 'a': - return presentation_type::hexfloat_lower; - case 'A': - return presentation_type::hexfloat_upper; - case 'e': - return presentation_type::exp_lower; - case 'E': - return presentation_type::exp_upper; - case 'f': - return presentation_type::fixed_lower; - case 'F': - return presentation_type::fixed_upper; - case 'g': - return presentation_type::general_lower; - case 'G': - return presentation_type::general_upper; - case 'c': - return presentation_type::chr; - case 's': - return presentation_type::string; - case 'p': - return presentation_type::pointer; - case '?': - return presentation_type::debug; - default: - return presentation_type::none; - } -} - -// Parses standard format specifiers and sends notifications about parsed -// components to handler. -template -FMT_CONSTEXPR FMT_INLINE auto parse_format_specs(const Char* begin, - const Char* end, - SpecHandler&& handler) +FMTQUILL_CONSTEXPR auto parse_precision(const Char* begin, const Char* end, + int& value, arg_ref& ref, + basic_format_parse_context& ctx) -> const Char* { - if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) && - *begin != 'L') { - presentation_type type = parse_presentation_type(*begin++); - if (type == presentation_type::none) - handler.on_error("invalid type specifier"); - handler.on_type(type); + ++begin; + if (begin == end || *begin == '}') { + throw_format_error("invalid precision"); return begin; } + return parse_dynamic_spec(begin, end, value, ref, ctx); +} - if (begin == end) return begin; - - begin = parse_align(begin, end, handler); - if (begin == end) return begin; - - // Parse sign. - switch (to_ascii(*begin)) { - case '+': - handler.on_sign(sign::plus); - ++begin; - break; - case '-': - handler.on_sign(sign::minus); - ++begin; - break; - case ' ': - handler.on_sign(sign::space); - ++begin; - break; - default: - break; - } - if (begin == end) return begin; - - if (*begin == '#') { - handler.on_hash(); - if (++begin == end) return begin; - } - - // Parse zero flag. - if (*begin == '0') { - handler.on_zero(); - if (++begin == end) return begin; - } - - begin = parse_width(begin, end, handler); - if (begin == end) return begin; +enum class state { start, align, sign, hash, zero, width, precision, locale }; - // Parse precision. - if (*begin == '.') { - begin = parse_precision(begin, end, handler); +// Parses standard format specifiers. +template +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto parse_format_specs( + const Char* begin, const Char* end, dynamic_format_specs& specs, + basic_format_parse_context& ctx, type arg_type) -> const Char* { + auto c = '\0'; + if (end - begin > 1) { + auto next = to_ascii(begin[1]); + c = parse_align(next) == align::none ? to_ascii(*begin) : '\0'; + } else { if (begin == end) return begin; + c = to_ascii(*begin); } - if (*begin == 'L') { - handler.on_localized(); - ++begin; - } + struct { + state current_state = state::start; + FMTQUILL_CONSTEXPR void operator()(state s, bool valid = true) { + if (current_state >= s || !valid) + throw_format_error("invalid format specifier"); + current_state = s; + } + } enter_state; + + using pres = presentation_type; + constexpr auto integral_set = sint_set | uint_set | bool_set | char_set; + struct { + const Char*& begin; + dynamic_format_specs& specs; + type arg_type; + + FMTQUILL_CONSTEXPR auto operator()(pres pres_type, int set) -> const Char* { + if (!in(arg_type, set)) { + if (arg_type == type::none_type) return begin; + throw_format_error("invalid format specifier"); + } + specs.type = pres_type; + return begin + 1; + } + } parse_presentation_type{begin, specs, arg_type}; - // Parse type. - if (begin != end && *begin != '}') { - presentation_type type = parse_presentation_type(*begin++); - if (type == presentation_type::none) - handler.on_error("invalid type specifier"); - handler.on_type(type); + for (;;) { + switch (c) { + case '<': + case '>': + case '^': + enter_state(state::align); + specs.align = parse_align(c); + ++begin; + break; + case '+': + case '-': + case ' ': + if (arg_type == type::none_type) return begin; + enter_state(state::sign, in(arg_type, sint_set | float_set)); + switch (c) { + case '+': + specs.sign = sign::plus; + break; + case '-': + specs.sign = sign::minus; + break; + case ' ': + specs.sign = sign::space; + break; + } + ++begin; + break; + case '#': + if (arg_type == type::none_type) return begin; + enter_state(state::hash, is_arithmetic_type(arg_type)); + specs.alt = true; + ++begin; + break; + case '0': + enter_state(state::zero); + if (!is_arithmetic_type(arg_type)) { + if (arg_type == type::none_type) return begin; + throw_format_error("format specifier requires numeric argument"); + } + if (specs.align == align::none) { + // Ignore 0 if align is specified for compatibility with std::format. + specs.align = align::numeric; + specs.fill[0] = Char('0'); + } + ++begin; + break; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '{': + enter_state(state::width); + begin = parse_dynamic_spec(begin, end, specs.width, specs.width_ref, ctx); + break; + case '.': + if (arg_type == type::none_type) return begin; + enter_state(state::precision, + in(arg_type, float_set | string_set | cstring_set)); + begin = parse_precision(begin, end, specs.precision, specs.precision_ref, + ctx); + break; + case 'L': + if (arg_type == type::none_type) return begin; + enter_state(state::locale, is_arithmetic_type(arg_type)); + specs.localized = true; + ++begin; + break; + case 'd': + return parse_presentation_type(pres::dec, integral_set); + case 'o': + return parse_presentation_type(pres::oct, integral_set); + case 'x': + return parse_presentation_type(pres::hex_lower, integral_set); + case 'X': + return parse_presentation_type(pres::hex_upper, integral_set); + case 'b': + return parse_presentation_type(pres::bin_lower, integral_set); + case 'B': + return parse_presentation_type(pres::bin_upper, integral_set); + case 'a': + return parse_presentation_type(pres::hexfloat_lower, float_set); + case 'A': + return parse_presentation_type(pres::hexfloat_upper, float_set); + case 'e': + return parse_presentation_type(pres::exp_lower, float_set); + case 'E': + return parse_presentation_type(pres::exp_upper, float_set); + case 'f': + return parse_presentation_type(pres::fixed_lower, float_set); + case 'F': + return parse_presentation_type(pres::fixed_upper, float_set); + case 'g': + return parse_presentation_type(pres::general_lower, float_set); + case 'G': + return parse_presentation_type(pres::general_upper, float_set); + case 'c': + if (arg_type == type::bool_type) + throw_format_error("invalid format specifier"); + return parse_presentation_type(pres::chr, integral_set); + case 's': + return parse_presentation_type(pres::string, + bool_set | string_set | cstring_set); + case 'p': + return parse_presentation_type(pres::pointer, pointer_set | cstring_set); + case '?': + return parse_presentation_type(pres::debug, + char_set | string_set | cstring_set); + case '}': + return begin; + default: { + if (*begin == '}') return begin; + // Parse fill and alignment. + auto fill_end = begin + code_point_length(begin); + if (end - fill_end <= 0) { + throw_format_error("invalid format specifier"); + return begin; + } + if (*begin == '{') { + throw_format_error("invalid fill character '{'"); + return begin; + } + auto align = parse_align(to_ascii(*fill_end)); + enter_state(state::align, align != align::none); + specs.fill = {begin, to_unsigned(fill_end - begin)}; + specs.align = align; + begin = fill_end + 1; + } + } + if (begin == end) return begin; + c = to_ascii(*begin); } - return begin; } template -FMT_CONSTEXPR auto parse_replacement_field(const Char* begin, const Char* end, +FMTQUILL_CONSTEXPR auto parse_replacement_field(const Char* begin, const Char* end, Handler&& handler) -> const Char* { struct id_adapter { Handler& handler; int arg_id; - FMT_CONSTEXPR void operator()() { arg_id = handler.on_arg_id(); } - FMT_CONSTEXPR void operator()(int id) { arg_id = handler.on_arg_id(id); } - FMT_CONSTEXPR void operator()(basic_string_view id) { + FMTQUILL_CONSTEXPR void on_auto() { arg_id = handler.on_arg_id(); } + FMTQUILL_CONSTEXPR void on_index(int id) { arg_id = handler.on_arg_id(id); } + FMTQUILL_CONSTEXPR void on_name(basic_string_view id) { arg_id = handler.on_arg_id(id); } - FMT_CONSTEXPR void on_error(const char* message) { - if (message) handler.on_error(message); - } }; ++begin; @@ -2671,11 +2524,8 @@ FMT_CONSTEXPR auto parse_replacement_field(const Char* begin, const Char* end, } template -FMT_CONSTEXPR FMT_INLINE void parse_format_string( +FMTQUILL_CONSTEXPR FMTQUILL_INLINE void parse_format_string( basic_string_view format_str, Handler&& handler) { - // Workaround a name-lookup bug in MSVC's modules implementation. - using detail::find; - auto begin = format_str.data(); auto end = begin + format_str.size(); if (end - begin < 32) { @@ -2697,7 +2547,7 @@ FMT_CONSTEXPR FMT_INLINE void parse_format_string( return; } struct writer { - FMT_CONSTEXPR void operator()(const Char* from, const Char* to) { + FMTQUILL_CONSTEXPR void operator()(const Char* from, const Char* to) { if (from == to) return; for (;;) { const Char* p = nullptr; @@ -2731,243 +2581,95 @@ template struct strip_named_arg { }; template -FMT_CONSTEXPR auto parse_format_specs(ParseContext& ctx) +FMTQUILL_CONSTEXPR auto parse_format_specs(ParseContext& ctx) -> decltype(ctx.begin()) { using char_type = typename ParseContext::char_type; using context = buffer_context; - using stripped_type = typename strip_named_arg::type; using mapped_type = conditional_t< mapped_type_constant::value != type::custom_type, decltype(arg_mapper().map(std::declval())), - stripped_type>; - auto f = conditional_t::value, - formatter, - fallback_formatter>(); - return f.parse(ctx); -} - -template -FMT_CONSTEXPR void check_int_type_spec(presentation_type type, - ErrorHandler&& eh) { - if (type > presentation_type::bin_upper && type != presentation_type::chr) - eh.on_error("invalid type specifier"); + typename strip_named_arg::type>; +#if defined(__cpp_if_constexpr) + if constexpr (std::is_default_constructible< + formatter>::value) { + return formatter().parse(ctx); + } else { + type_is_unformattable_for _; + return ctx.begin(); + } +#else + return formatter().parse(ctx); +#endif } -// Checks char specs and returns true if the type spec is char (and not int). -template -FMT_CONSTEXPR auto check_char_specs(const basic_format_specs& specs, - ErrorHandler&& eh = {}) -> bool { +// Checks char specs and returns true iff the presentation type is char-like. +template +FMTQUILL_CONSTEXPR auto check_char_specs(const format_specs& specs) -> bool { if (specs.type != presentation_type::none && specs.type != presentation_type::chr && specs.type != presentation_type::debug) { - check_int_type_spec(specs.type, eh); return false; } if (specs.align == align::numeric || specs.sign != sign::none || specs.alt) - eh.on_error("invalid format specifier for char"); + throw_format_error("invalid format specifier for char"); return true; } -// A floating-point presentation format. -enum class float_format : unsigned char { - general, // General: exponent notation or fixed point based on magnitude. - exp, // Exponent notation with the default precision of 6, e.g. 1.2e-3. - fixed, // Fixed point with the default precision of 6, e.g. 0.0012. - hex -}; - -struct float_specs { - int precision; - float_format format : 8; - sign_t sign : 8; - bool upper : 1; - bool locale : 1; - bool binary32 : 1; - bool showpoint : 1; -}; - -template -FMT_CONSTEXPR auto parse_float_type_spec(const basic_format_specs& specs, - ErrorHandler&& eh = {}) - -> float_specs { - auto result = float_specs(); - result.showpoint = specs.alt; - result.locale = specs.localized; - switch (specs.type) { - case presentation_type::none: - result.format = float_format::general; - break; - case presentation_type::general_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::general_lower: - result.format = float_format::general; - break; - case presentation_type::exp_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::exp_lower: - result.format = float_format::exp; - result.showpoint |= specs.precision != 0; - break; - case presentation_type::fixed_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::fixed_lower: - result.format = float_format::fixed; - result.showpoint |= specs.precision != 0; - break; - case presentation_type::hexfloat_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::hexfloat_lower: - result.format = float_format::hex; - break; - default: - eh.on_error("invalid type specifier"); - break; - } - return result; -} - -template -FMT_CONSTEXPR auto check_cstring_type_spec(presentation_type type, - ErrorHandler&& eh = {}) -> bool { - if (type == presentation_type::none || type == presentation_type::string || - type == presentation_type::debug) - return true; - if (type != presentation_type::pointer) eh.on_error("invalid type specifier"); - return false; -} - -template -FMT_CONSTEXPR void check_string_type_spec(presentation_type type, - ErrorHandler&& eh = {}) { - if (type != presentation_type::none && type != presentation_type::string && - type != presentation_type::debug) - eh.on_error("invalid type specifier"); -} - -template -FMT_CONSTEXPR void check_pointer_type_spec(presentation_type type, - ErrorHandler&& eh) { - if (type != presentation_type::none && type != presentation_type::pointer) - eh.on_error("invalid type specifier"); -} - -// A parse_format_specs handler that checks if specifiers are consistent with -// the argument type. -template class specs_checker : public Handler { - private: - detail::type arg_type_; - - FMT_CONSTEXPR void require_numeric_argument() { - if (!is_arithmetic_type(arg_type_)) - this->on_error("format specifier requires numeric argument"); - } - - public: - FMT_CONSTEXPR specs_checker(const Handler& handler, detail::type arg_type) - : Handler(handler), arg_type_(arg_type) {} - - FMT_CONSTEXPR void on_align(align_t align) { - if (align == align::numeric) require_numeric_argument(); - Handler::on_align(align); - } - - FMT_CONSTEXPR void on_sign(sign_t s) { - require_numeric_argument(); - if (is_integral_type(arg_type_) && arg_type_ != type::int_type && - arg_type_ != type::long_long_type && arg_type_ != type::int128_type && - arg_type_ != type::char_type) { - this->on_error("format specifier requires signed argument"); - } - Handler::on_sign(s); - } - - FMT_CONSTEXPR void on_hash() { - require_numeric_argument(); - Handler::on_hash(); - } - - FMT_CONSTEXPR void on_localized() { - require_numeric_argument(); - Handler::on_localized(); - } - - FMT_CONSTEXPR void on_zero() { - require_numeric_argument(); - Handler::on_zero(); - } - - FMT_CONSTEXPR void end_precision() { - if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type) - this->on_error("precision not allowed for this argument type"); - } -}; - -constexpr int invalid_arg_index = -1; - -#if FMT_USE_NONTYPE_TEMPLATE_ARGS +#if FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS template constexpr auto get_arg_index_by_name(basic_string_view name) -> int { - if constexpr (detail::is_statically_named_arg()) { + if constexpr (is_statically_named_arg()) { if (name == T::name) return N; } if constexpr (sizeof...(Args) > 0) return get_arg_index_by_name(name); (void)name; // Workaround an MSVC bug about "unused" parameter. - return invalid_arg_index; + return -1; } #endif template -FMT_CONSTEXPR auto get_arg_index_by_name(basic_string_view name) -> int { -#if FMT_USE_NONTYPE_TEMPLATE_ARGS +FMTQUILL_CONSTEXPR auto get_arg_index_by_name(basic_string_view name) -> int { +#if FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS if constexpr (sizeof...(Args) > 0) return get_arg_index_by_name<0, Args...>(name); #endif (void)name; - return invalid_arg_index; + return -1; } -template -class format_string_checker { +template class format_string_checker { private: - // In the future basic_format_parse_context will replace compile_parse_context - // here and will use is_constant_evaluated and downcasting to access the data - // needed for compile-time checks: https://godbolt.org/z/GvWzcTjh1. - using parse_context_type = compile_parse_context; + using parse_context_type = compile_parse_context; static constexpr int num_args = sizeof...(Args); // Format specifier parsing function. + // In the future basic_format_parse_context will replace compile_parse_context + // here and will use is_constant_evaluated and downcasting to access the data + // needed for compile-time checks: https://godbolt.org/z/GvWzcTjh1. using parse_func = const Char* (*)(parse_context_type&); + type types_[num_args > 0 ? static_cast(num_args) : 1]; parse_context_type context_; parse_func parse_funcs_[num_args > 0 ? static_cast(num_args) : 1]; - type types_[num_args > 0 ? static_cast(num_args) : 1]; public: - explicit FMT_CONSTEXPR format_string_checker( - basic_string_view format_str, ErrorHandler eh) - : context_(format_str, num_args, types_, eh), - parse_funcs_{&parse_format_specs...}, - types_{ - mapped_type_constant>::value...} { - } + explicit FMTQUILL_CONSTEXPR format_string_checker(basic_string_view fmt) + : types_{mapped_type_constant>::value...}, + context_(fmt, num_args, types_), + parse_funcs_{&parse_format_specs...} {} - FMT_CONSTEXPR void on_text(const Char*, const Char*) {} + FMTQUILL_CONSTEXPR void on_text(const Char*, const Char*) {} - FMT_CONSTEXPR auto on_arg_id() -> int { return context_.next_arg_id(); } - FMT_CONSTEXPR auto on_arg_id(int id) -> int { + FMTQUILL_CONSTEXPR auto on_arg_id() -> int { return context_.next_arg_id(); } + FMTQUILL_CONSTEXPR auto on_arg_id(int id) -> int { return context_.check_arg_id(id), id; } - FMT_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { -#if FMT_USE_NONTYPE_TEMPLATE_ARGS + FMTQUILL_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { +#if FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS auto index = get_arg_index_by_name(id); - if (index == invalid_arg_index) on_error("named argument is not found"); - return context_.check_arg_id(index), index; + if (index < 0) on_error("named argument is not found"); + return index; #else (void)id; on_error("compile-time checks for named arguments require C++20 support"); @@ -2975,54 +2677,63 @@ class format_string_checker { #endif } - FMT_CONSTEXPR void on_replacement_field(int, const Char*) {} + FMTQUILL_CONSTEXPR void on_replacement_field(int id, const Char* begin) { + on_format_specs(id, begin, begin); // Call parse() on empty specs. + } - FMT_CONSTEXPR auto on_format_specs(int id, const Char* begin, const Char*) + FMTQUILL_CONSTEXPR auto on_format_specs(int id, const Char* begin, const Char*) -> const Char* { - context_.advance_to(context_.begin() + (begin - &*context_.begin())); + context_.advance_to(begin); // id >= 0 check is a workaround for gcc 10 bug (#2065). return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin; } - FMT_CONSTEXPR void on_error(const char* message) { - context_.on_error(message); + FMTQUILL_CONSTEXPR void on_error(const char* message) { + throw_format_error(message); } }; // Reports a compile-time error if S is not a valid format string. -template ::value)> -FMT_INLINE void check_format_string(const S&) { -#ifdef FMT_ENFORCE_COMPILE_STRING +template ::value)> +FMTQUILL_INLINE void check_format_string(const S&) { +#ifdef FMTQUILL_ENFORCE_COMPILE_STRING static_assert(is_compile_string::value, - "FMT_ENFORCE_COMPILE_STRING requires all format strings to use " - "FMT_STRING."); + "FMTQUILL_ENFORCE_COMPILE_STRING requires all format strings to use " + "FMTQUILL_STRING."); #endif } template ::value)> + FMTQUILL_ENABLE_IF(is_compile_string::value)> void check_format_string(S format_str) { - FMT_CONSTEXPR auto s = basic_string_view(format_str); - using checker = format_string_checker...>; - FMT_CONSTEXPR bool invalid_format = - (parse_format_string(s, checker(s, {})), true); - ignore_unused(invalid_format); + using char_t = typename S::char_type; + FMTQUILL_CONSTEXPR auto s = basic_string_view(format_str); + using checker = format_string_checker...>; + FMTQUILL_CONSTEXPR bool error = (parse_format_string(s, checker(s)), true); + ignore_unused(error); } +template struct vformat_args { + using type = basic_format_args< + basic_format_context>, Char>>; +}; +template <> struct vformat_args { + using type = format_args; +}; + +// Use vformat_args and avoid type_identity to keep symbols short. template -void vformat_to( - buffer& buf, basic_string_view fmt, - basic_format_args)> args, - locale_ref loc = {}); +void vformat_to(buffer& buf, basic_string_view fmt, + typename vformat_args::type args, locale_ref loc = {}); -FMT_API void vprint_mojibake(std::FILE*, string_view, format_args); +FMTQUILL_API void vprint_mojibake(std::FILE*, string_view, format_args); #ifndef _WIN32 inline void vprint_mojibake(std::FILE*, string_view, format_args) {} #endif -FMT_END_DETAIL_NAMESPACE +} // namespace detail + +FMTQUILL_BEGIN_EXPORT -// A formatter specialization for the core types corresponding to detail::type -// constants. +// A formatter specialization for natively supported types. template struct formatter::value != @@ -3031,110 +2742,31 @@ struct formatter specs_; public: - // Parses format specifiers stopping either at the end of the range or at the - // terminating '}'. template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { - auto begin = ctx.begin(), end = ctx.end(); - if (begin == end) return begin; - using handler_type = detail::dynamic_specs_handler; + FMTQUILL_CONSTEXPR auto parse(ParseContext& ctx) -> const Char* { auto type = detail::type_constant::value; - auto checker = - detail::specs_checker(handler_type(specs_, ctx), type); - auto it = detail::parse_format_specs(begin, end, checker); - auto eh = ctx.error_handler(); - switch (type) { - case detail::type::none_type: - FMT_ASSERT(false, "invalid argument type"); - break; - case detail::type::bool_type: - if (specs_.type == presentation_type::none || - specs_.type == presentation_type::string) { - break; - } - FMT_FALLTHROUGH; - case detail::type::int_type: - case detail::type::uint_type: - case detail::type::long_long_type: - case detail::type::ulong_long_type: - case detail::type::int128_type: - case detail::type::uint128_type: - detail::check_int_type_spec(specs_.type, eh); - break; - case detail::type::char_type: - detail::check_char_specs(specs_, eh); - break; - case detail::type::float_type: - if (detail::const_check(FMT_USE_FLOAT)) - detail::parse_float_type_spec(specs_, eh); - else - FMT_ASSERT(false, "float support disabled"); - break; - case detail::type::double_type: - if (detail::const_check(FMT_USE_DOUBLE)) - detail::parse_float_type_spec(specs_, eh); - else - FMT_ASSERT(false, "double support disabled"); - break; - case detail::type::long_double_type: - if (detail::const_check(FMT_USE_LONG_DOUBLE)) - detail::parse_float_type_spec(specs_, eh); - else - FMT_ASSERT(false, "long double support disabled"); - break; - case detail::type::cstring_type: - detail::check_cstring_type_spec(specs_.type, eh); - break; - case detail::type::string_type: - detail::check_string_type_spec(specs_.type, eh); - break; - case detail::type::pointer_type: - detail::check_pointer_type_spec(specs_.type, eh); - break; - case detail::type::custom_type: - // Custom format specifiers are checked in parse functions of - // formatter specializations. - break; - } - return it; + auto end = + detail::parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, type); + if (type == detail::type::char_type) detail::check_char_specs(specs_); + return end; } template ::value, - enable_if_t<(U == detail::type::string_type || - U == detail::type::cstring_type || - U == detail::type::char_type), - int> = 0> - FMT_CONSTEXPR void set_debug_format() { - specs_.type = presentation_type::debug; + FMTQUILL_ENABLE_IF(U == detail::type::string_type || + U == detail::type::cstring_type || + U == detail::type::char_type)> + FMTQUILL_CONSTEXPR void set_debug_format(bool set = true) { + specs_.type = set ? presentation_type::debug : presentation_type::none; } template - FMT_CONSTEXPR auto format(const T& val, FormatContext& ctx) const + FMTQUILL_CONSTEXPR auto format(const T& val, FormatContext& ctx) const -> decltype(ctx.out()); }; -#define FMT_FORMAT_AS(Type, Base) \ - template \ - struct formatter : formatter { \ - template \ - auto format(Type const& val, FormatContext& ctx) const \ - -> decltype(ctx.out()) { \ - return formatter::format(static_cast(val), ctx); \ - } \ - } - -FMT_FORMAT_AS(signed char, int); -FMT_FORMAT_AS(unsigned char, unsigned); -FMT_FORMAT_AS(short, int); -FMT_FORMAT_AS(unsigned short, unsigned); -FMT_FORMAT_AS(long, long long); -FMT_FORMAT_AS(unsigned long, unsigned long long); -FMT_FORMAT_AS(Char*, const Char*); -FMT_FORMAT_AS(std::basic_string, basic_string_view); -FMT_FORMAT_AS(std::nullptr_t, const void*); -FMT_FORMAT_AS(detail::std_string_view, basic_string_view); - -template struct basic_runtime { basic_string_view str; }; +template struct runtime_format_string { + basic_string_view str; +}; /** A compile-time format string. */ template class basic_format_string { @@ -3143,31 +2775,32 @@ template class basic_format_string { public: template >::value)> - FMT_CONSTEVAL FMT_INLINE basic_format_string(const S& s) : str_(s) { + FMTQUILL_CONSTEVAL FMTQUILL_INLINE basic_format_string(const S& s) : str_(s) { static_assert( detail::count< (std::is_base_of>::value && std::is_reference::value)...>() == 0, "passing views as lvalues is disallowed"); -#ifdef FMT_HAS_CONSTEVAL +#ifdef FMTQUILL_HAS_CONSTEVAL if constexpr (detail::count_named_args() == detail::count_statically_named_args()) { - using checker = detail::format_string_checker...>; - detail::parse_format_string(str_, checker(s, {})); + using checker = + detail::format_string_checker...>; + detail::parse_format_string(str_, checker(s)); } #else detail::check_format_string(s); #endif } - basic_format_string(basic_runtime r) : str_(r.str) {} + basic_format_string(runtime_format_string fmt) : str_(fmt.str) {} - FMT_INLINE operator basic_string_view() const { return str_; } + FMTQUILL_INLINE operator basic_string_view() const { return str_; } + FMTQUILL_INLINE auto get() const -> basic_string_view { return str_; } }; -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 +#if FMTQUILL_GCC_VERSION && FMTQUILL_GCC_VERSION < 409 // Workaround broken conversion on older gcc. template using format_string = string_view; inline auto runtime(string_view s) -> string_view { return s; } @@ -3181,13 +2814,13 @@ using format_string = basic_format_string...>; **Example**:: // Check format string at runtime instead of compile-time. - fmt::print(fmt::runtime("{:d}"), "I am not a number"); + fmtquill::print(fmtquill::runtime("{:d}"), "I am not a number"); \endrst */ -inline auto runtime(string_view s) -> basic_runtime { return {{s}}; } +inline auto runtime(string_view s) -> runtime_format_string<> { return {{s}}; } #endif -FMT_API auto vformat(string_view fmt, format_args args) -> std::string; +FMTQUILL_API auto vformat(string_view fmt, format_args args) -> std::string; /** \rst @@ -3197,23 +2830,22 @@ FMT_API auto vformat(string_view fmt, format_args args) -> std::string; **Example**:: #include - std::string message = fmt::format("The answer is {}.", 42); + std::string message = fmtquill::format("The answer is {}.", 42); \endrst */ template -FMT_NODISCARD FMT_INLINE auto format(format_string fmt, T&&... args) +FMTQUILL_NODISCARD FMTQUILL_INLINE auto format(format_string fmt, T&&... args) -> std::string { - return vformat(fmt, fmt::make_format_args(args...)); + return vformat(fmt, fmtquill::make_format_args(args...)); } /** Formats a string and writes the output to ``out``. */ template ::value)> + FMTQUILL_ENABLE_IF(detail::is_output_iterator::value)> auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt { - using detail::get_buffer; - auto&& buf = get_buffer(out); + auto&& buf = detail::get_buffer(out); detail::vformat_to(buf, fmt, args, {}); - return detail::get_iterator(buf); + return detail::get_iterator(buf, out); } /** @@ -3225,14 +2857,14 @@ auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt { **Example**:: auto out = std::vector(); - fmt::format_to(std::back_inserter(out), "{}", 42); + fmtquill::format_to(std::back_inserter(out), "{}", 42); \endrst */ template ::value)> -FMT_INLINE auto format_to(OutputIt out, format_string fmt, T&&... args) + FMTQUILL_ENABLE_IF(detail::is_output_iterator::value)> +FMTQUILL_INLINE auto format_to(OutputIt out, format_string fmt, T&&... args) -> OutputIt { - return vformat_to(out, fmt, fmt::make_format_args(args...)); + return vformat_to(out, fmt, fmtquill::make_format_args(args...)); } template struct format_to_n_result { @@ -3243,7 +2875,7 @@ template struct format_to_n_result { }; template ::value)> + FMTQUILL_ENABLE_IF(detail::is_output_iterator::value)> auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args) -> format_to_n_result { using traits = detail::fixed_buffer_traits; @@ -3261,23 +2893,23 @@ auto vformat_to_n(OutputIt out, size_t n, string_view fmt, format_args args) \endrst */ template ::value)> -FMT_INLINE auto format_to_n(OutputIt out, size_t n, format_string fmt, + FMTQUILL_ENABLE_IF(detail::is_output_iterator::value)> +FMTQUILL_INLINE auto format_to_n(OutputIt out, size_t n, format_string fmt, T&&... args) -> format_to_n_result { - return vformat_to_n(out, n, fmt, fmt::make_format_args(args...)); + return vformat_to_n(out, n, fmt, fmtquill::make_format_args(args...)); } /** Returns the number of chars in the output of ``format(fmt, args...)``. */ template -FMT_NODISCARD FMT_INLINE auto formatted_size(format_string fmt, +FMTQUILL_NODISCARD FMTQUILL_INLINE auto formatted_size(format_string fmt, T&&... args) -> size_t { auto buf = detail::counting_buffer<>(); - detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {}); + detail::vformat_to(buf, fmt, fmtquill::make_format_args(args...), {}); return buf.count(); } -FMT_API void vprint(string_view fmt, format_args args); -FMT_API void vprint(std::FILE* f, string_view fmt, format_args args); +FMTQUILL_API void vprint(string_view fmt, format_args args); +FMTQUILL_API void vprint(std::FILE* f, string_view fmt, format_args args); /** \rst @@ -3286,12 +2918,12 @@ FMT_API void vprint(std::FILE* f, string_view fmt, format_args args); **Example**:: - fmt::print("Elapsed time: {0:.2f} seconds", 1.23); + fmtquill::print("Elapsed time: {0:.2f} seconds", 1.23); \endrst */ template -FMT_INLINE void print(format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); +FMTQUILL_INLINE void print(format_string fmt, T&&... args) { + const auto& vargs = fmtquill::make_format_args(args...); return detail::is_utf8() ? vprint(fmt, vargs) : detail::vprint_mojibake(stdout, fmt, vargs); } @@ -3303,21 +2935,36 @@ FMT_INLINE void print(format_string fmt, T&&... args) { **Example**:: - fmt::print(stderr, "Don't {}!", "panic"); + fmtquill::print(stderr, "Don't {}!", "panic"); \endrst */ template -FMT_INLINE void print(std::FILE* f, format_string fmt, T&&... args) { - const auto& vargs = fmt::make_format_args(args...); +FMTQUILL_INLINE void print(std::FILE* f, format_string fmt, T&&... args) { + const auto& vargs = fmtquill::make_format_args(args...); return detail::is_utf8() ? vprint(f, fmt, vargs) : detail::vprint_mojibake(f, fmt, vargs); } -FMT_MODULE_EXPORT_END -FMT_GCC_PRAGMA("GCC pop_options") -FMT_END_NAMESPACE +/** + Formats ``args`` according to specifications in ``fmt`` and writes the + output to the file ``f`` followed by a newline. + */ +template +FMTQUILL_INLINE void println(std::FILE* f, format_string fmt, T&&... args) { + return fmtquill::print(f, "{}\n", fmtquill::format(fmt, std::forward(args)...)); +} + +/** + Formats ``args`` according to specifications in ``fmt`` and writes the output + to ``stdout`` followed by a newline. + */ +template +FMTQUILL_INLINE void println(format_string fmt, T&&... args) { + return fmtquill::println(stdout, fmt, std::forward(args)...); +} + +FMTQUILL_END_EXPORT +FMTQUILL_GCC_PRAGMA("GCC pop_options") +FMTQUILL_END_NAMESPACE -#ifdef FMT_HEADER_ONLY -# include "format.h" -#endif -#endif // FMT_CORE_H_ +#endif // FMTQUILL_CORE_H_ diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/format-inl.h b/Dependencies/quill/quill/bundled/fmt/format-inl.h similarity index 85% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/format-inl.h rename to Dependencies/quill/quill/bundled/fmt/format-inl.h index 22b1ec8d..919c5129 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/format-inl.h +++ b/Dependencies/quill/quill/bundled/fmt/format-inl.h @@ -5,33 +5,29 @@ // // For the license information refer to format.h. -#ifndef FMT_FORMAT_INL_H_ -#define FMT_FORMAT_INL_H_ +#ifndef FMTQUILL_FORMAT_INL_H_ +#define FMTQUILL_FORMAT_INL_H_ #include -#include #include // errno #include #include -#include -#include // std::memmove -#include #include -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +#ifndef FMTQUILL_STATIC_THOUSANDS_SEPARATOR # include #endif -#ifdef _WIN32 +#if defined(_WIN32) && !defined(FMTQUILL_WINDOWS_NO_WCHAR) # include // _isatty #endif #include "format.h" -FMT_BEGIN_NAMESPACE +FMTQUILL_BEGIN_NAMESPACE namespace detail { -FMT_FUNC void assert_fail(const char* file, int line, const char* message) { +FMTQUILL_FUNC void assert_fail(const char* file, int line, const char* message) { // Use unchecked std::fprintf to avoid triggering another assertion when // writing to stderr fails std::fprintf(stderr, "%s:%d: assertion failed: %s", file, line, message); @@ -40,11 +36,11 @@ FMT_FUNC void assert_fail(const char* file, int line, const char* message) { std::terminate(); } -FMT_FUNC void throw_format_error(const char* message) { - FMT_THROW(format_error(message)); +FMTQUILL_FUNC void throw_format_error(const char* message) { + FMTQUILL_THROW(format_error(message)); } -FMT_FUNC void format_error_code(detail::buffer& out, int error_code, +FMTQUILL_FUNC void format_error_code(detail::buffer& out, int error_code, string_view message) noexcept { // Report error code making sure that the output fits into // inline_buffer_size to avoid dynamic memory allocation and potential @@ -62,12 +58,12 @@ FMT_FUNC void format_error_code(detail::buffer& out, int error_code, error_code_size += detail::to_unsigned(detail::count_digits(abs_value)); auto it = buffer_appender(out); if (message.size() <= inline_buffer_size - error_code_size) - format_to(it, FMT_STRING("{}{}"), message, SEP); - format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code); - FMT_ASSERT(out.size() <= inline_buffer_size, ""); + fmtquill::format_to(it, FMTQUILL_STRING("{}{}"), message, SEP); + fmtquill::format_to(it, FMTQUILL_STRING("{}{}"), ERROR_STR, error_code); + FMTQUILL_ASSERT(out.size() <= inline_buffer_size, ""); } -FMT_FUNC void report_error(format_func func, int error_code, +FMTQUILL_FUNC void report_error(format_func func, int error_code, const char* message) noexcept { memory_buffer full_message; func(full_message, error_code, message); @@ -77,134 +73,112 @@ FMT_FUNC void report_error(format_func func, int error_code, } // A wrapper around fwrite that throws on error. -inline void fwrite_fully(const void* ptr, size_t size, size_t count, - FILE* stream) { - size_t written = std::fwrite(ptr, size, count, stream); +inline void fwrite_fully(const void* ptr, size_t count, FILE* stream) { + size_t written = std::fwrite(ptr, 1, count, stream); if (written < count) - FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); + FMTQUILL_THROW(system_error(errno, FMTQUILL_STRING("cannot write to file"))); } -#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +#ifndef FMTQUILL_STATIC_THOUSANDS_SEPARATOR template locale_ref::locale_ref(const Locale& loc) : locale_(&loc) { static_assert(std::is_same::value, ""); } -template Locale locale_ref::get() const { +template auto locale_ref::get() const -> Locale { static_assert(std::is_same::value, ""); return locale_ ? *static_cast(locale_) : std::locale(); } template -FMT_FUNC auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result { +FMTQUILL_FUNC auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result { auto& facet = std::use_facet>(loc.get()); auto grouping = facet.grouping(); auto thousands_sep = grouping.empty() ? Char() : facet.thousands_sep(); return {std::move(grouping), thousands_sep}; } -template FMT_FUNC Char decimal_point_impl(locale_ref loc) { +template +FMTQUILL_FUNC auto decimal_point_impl(locale_ref loc) -> Char { return std::use_facet>(loc.get()) .decimal_point(); } #else template -FMT_FUNC auto thousands_sep_impl(locale_ref) -> thousands_sep_result { - return {"\03", FMT_STATIC_THOUSANDS_SEPARATOR}; +FMTQUILL_FUNC auto thousands_sep_impl(locale_ref) -> thousands_sep_result { + return {"\03", FMTQUILL_STATIC_THOUSANDS_SEPARATOR}; } -template FMT_FUNC Char decimal_point_impl(locale_ref) { +template FMTQUILL_FUNC Char decimal_point_impl(locale_ref) { return '.'; } #endif + +FMTQUILL_FUNC auto write_loc(appender out, loc_value value, + const format_specs<>& specs, locale_ref loc) -> bool { +#ifndef FMTQUILL_STATIC_THOUSANDS_SEPARATOR + auto locale = loc.get(); + // We cannot use the num_put facet because it may produce output in + // a wrong encoding. + using facet = format_facet; + if (std::has_facet(locale)) + return std::use_facet(locale).put(out, value, specs); + return facet(locale).put(out, value, specs); +#endif + return false; +} } // namespace detail -#if !FMT_MSC_VERSION -FMT_API FMT_FUNC format_error::~format_error() noexcept = default; +template typename Locale::id format_facet::id; + +#ifndef FMTQUILL_STATIC_THOUSANDS_SEPARATOR +template format_facet::format_facet(Locale& loc) { + auto& numpunct = std::use_facet>(loc); + grouping_ = numpunct.grouping(); + if (!grouping_.empty()) separator_ = std::string(1, numpunct.thousands_sep()); +} + +template <> +FMTQUILL_API FMTQUILL_FUNC auto format_facet::do_put( + appender out, loc_value val, const format_specs<>& specs) const -> bool { + return val.visit( + detail::loc_writer<>{out, specs, separator_, grouping_, decimal_point_}); +} #endif -FMT_FUNC std::system_error vsystem_error(int error_code, string_view format_str, - format_args args) { +FMTQUILL_FUNC auto vsystem_error(int error_code, string_view fmt, format_args args) + -> std::system_error { auto ec = std::error_code(error_code, std::generic_category()); - return std::system_error(ec, vformat(format_str, args)); + return std::system_error(ec, vformat(fmt, args)); } namespace detail { -template inline bool operator==(basic_fp x, basic_fp y) { +template +inline auto operator==(basic_fp x, basic_fp y) -> bool { return x.f == y.f && x.e == y.e; } // Compilers should be able to optimize this into the ror instruction. -FMT_CONSTEXPR inline uint32_t rotr(uint32_t n, uint32_t r) noexcept { +FMTQUILL_CONSTEXPR inline auto rotr(uint32_t n, uint32_t r) noexcept -> uint32_t { r &= 31; return (n >> r) | (n << (32 - r)); } -FMT_CONSTEXPR inline uint64_t rotr(uint64_t n, uint32_t r) noexcept { +FMTQUILL_CONSTEXPR inline auto rotr(uint64_t n, uint32_t r) noexcept -> uint64_t { r &= 63; return (n >> r) | (n << (64 - r)); } -// Computes 128-bit result of multiplication of two 64-bit unsigned integers. -inline uint128_fallback umul128(uint64_t x, uint64_t y) noexcept { -#if FMT_USE_INT128 - auto p = static_cast(x) * static_cast(y); - return {static_cast(p >> 64), static_cast(p)}; -#elif defined(_MSC_VER) && defined(_M_X64) - auto result = uint128_fallback(); - result.lo_ = _umul128(x, y, &result.hi_); - return result; -#else - const uint64_t mask = static_cast(max_value()); - - uint64_t a = x >> 32; - uint64_t b = x & mask; - uint64_t c = y >> 32; - uint64_t d = y & mask; - - uint64_t ac = a * c; - uint64_t bc = b * c; - uint64_t ad = a * d; - uint64_t bd = b * d; - - uint64_t intermediate = (bd >> 32) + (ad & mask) + (bc & mask); - - return {ac + (intermediate >> 32) + (ad >> 32) + (bc >> 32), - (intermediate << 32) + (bd & mask)}; -#endif -} - // Implementation of Dragonbox algorithm: https://github.com/jk-jeon/dragonbox. namespace dragonbox { -// Computes upper 64 bits of multiplication of two 64-bit unsigned integers. -inline uint64_t umul128_upper64(uint64_t x, uint64_t y) noexcept { -#if FMT_USE_INT128 - auto p = static_cast(x) * static_cast(y); - return static_cast(p >> 64); -#elif defined(_MSC_VER) && defined(_M_X64) - return __umulh(x, y); -#else - return umul128(x, y).high(); -#endif -} - -// Computes upper 128 bits of multiplication of a 64-bit unsigned integer and a -// 128-bit unsigned integer. -inline uint128_fallback umul192_upper128(uint64_t x, - uint128_fallback y) noexcept { - uint128_fallback r = umul128(x, y.high()); - r += umul128_upper64(x, y.low()); - return r; -} - // Computes upper 64 bits of multiplication of a 32-bit unsigned integer and a // 64-bit unsigned integer. -inline uint64_t umul96_upper64(uint32_t x, uint64_t y) noexcept { +inline auto umul96_upper64(uint32_t x, uint64_t y) noexcept -> uint64_t { return umul128_upper64(static_cast(x) << 32, y); } // Computes lower 128 bits of multiplication of a 64-bit unsigned integer and a // 128-bit unsigned integer. -inline uint128_fallback umul192_lower128(uint64_t x, - uint128_fallback y) noexcept { +inline auto umul192_lower128(uint64_t x, uint128_fallback y) noexcept + -> uint128_fallback { uint64_t high = x * y.high(); uint128_fallback high_low = umul128(x, y.low()); return {high + high_low.high(), high_low.low()}; @@ -212,29 +186,17 @@ inline uint128_fallback umul192_lower128(uint64_t x, // Computes lower 64 bits of multiplication of a 32-bit unsigned integer and a // 64-bit unsigned integer. -inline uint64_t umul96_lower64(uint32_t x, uint64_t y) noexcept { +inline auto umul96_lower64(uint32_t x, uint64_t y) noexcept -> uint64_t { return x * y; } -// Computes floor(log10(pow(2, e))) for e in [-2620, 2620] using the method from -// https://fmt.dev/papers/Dragonbox.pdf#page=28, section 6.1. -inline int floor_log10_pow2(int e) noexcept { - FMT_ASSERT(e <= 2620 && e >= -2620, "too large exponent"); - static_assert((-1 >> 1) == -1, "right shift is not arithmetic"); - return (e * 315653) >> 20; -} - // Various fast log computations. -inline int floor_log2_pow10(int e) noexcept { - FMT_ASSERT(e <= 1233 && e >= -1233, "too large exponent"); - return (e * 1741647) >> 19; -} -inline int floor_log10_pow2_minus_log10_4_over_3(int e) noexcept { - FMT_ASSERT(e <= 2936 && e >= -2985, "too large exponent"); +inline auto floor_log10_pow2_minus_log10_4_over_3(int e) noexcept -> int { + FMTQUILL_ASSERT(e <= 2936 && e >= -2985, "too large exponent"); return (e * 631305 - 261663) >> 21; } -static constexpr struct { +FMTQUILL_INLINE_VARIABLE constexpr struct { uint32_t divisor; int shift_amount; } div_small_pow10_infos[] = {{10, 16}, {100, 16}}; @@ -243,7 +205,7 @@ static constexpr struct { // divisible by pow(10, N). // Precondition: n <= pow(10, N + 1). template -bool check_divisibility_and_divide_by_pow10(uint32_t& n) noexcept { +auto check_divisibility_and_divide_by_pow10(uint32_t& n) noexcept -> bool { // The numbers below are chosen such that: // 1. floor(n/d) = floor(nm / 2^k) where d=10 or d=100, // 2. nm mod 2^k < m if and only if n is divisible by d, @@ -256,7 +218,7 @@ bool check_divisibility_and_divide_by_pow10(uint32_t& n) noexcept { // to ceil(2^k/d) for large enough k. // The idea for item 2 originates from Schubfach. constexpr auto info = div_small_pow10_infos[N - 1]; - FMT_ASSERT(n <= info.divisor * 10, "n is too large"); + FMTQUILL_ASSERT(n <= info.divisor * 10, "n is too large"); constexpr uint32_t magic_number = (1u << info.shift_amount) / info.divisor + 1; n *= magic_number; @@ -268,34 +230,34 @@ bool check_divisibility_and_divide_by_pow10(uint32_t& n) noexcept { // Computes floor(n / pow(10, N)) for small n and N. // Precondition: n <= pow(10, N + 1). -template uint32_t small_division_by_pow10(uint32_t n) noexcept { +template auto small_division_by_pow10(uint32_t n) noexcept -> uint32_t { constexpr auto info = div_small_pow10_infos[N - 1]; - FMT_ASSERT(n <= info.divisor * 10, "n is too large"); + FMTQUILL_ASSERT(n <= info.divisor * 10, "n is too large"); constexpr uint32_t magic_number = (1u << info.shift_amount) / info.divisor + 1; return (n * magic_number) >> info.shift_amount; } // Computes floor(n / 10^(kappa + 1)) (float) -inline uint32_t divide_by_10_to_kappa_plus_1(uint32_t n) noexcept { +inline auto divide_by_10_to_kappa_plus_1(uint32_t n) noexcept -> uint32_t { // 1374389535 = ceil(2^37/100) return static_cast((static_cast(n) * 1374389535) >> 37); } // Computes floor(n / 10^(kappa + 1)) (double) -inline uint64_t divide_by_10_to_kappa_plus_1(uint64_t n) noexcept { +inline auto divide_by_10_to_kappa_plus_1(uint64_t n) noexcept -> uint64_t { // 2361183241434822607 = ceil(2^(64+7)/1000) return umul128_upper64(n, 2361183241434822607ull) >> 7; } // Various subroutines using pow10 cache -template struct cache_accessor; +template struct cache_accessor; template <> struct cache_accessor { using carrier_uint = float_info::carrier_uint; using cache_entry_type = uint64_t; - static uint64_t get_cached_power(int k) noexcept { - FMT_ASSERT(k >= float_info::min_k && k <= float_info::max_k, + static auto get_cached_power(int k) noexcept -> uint64_t { + FMTQUILL_ASSERT(k >= float_info::min_k && k <= float_info::max_k, "k is out of range"); static constexpr const uint64_t pow10_significands[] = { 0x81ceb32c4b43fcf5, 0xa2425ff75e14fc32, 0xcad2f7f5359a3b3f, @@ -336,44 +298,47 @@ template <> struct cache_accessor { bool is_integer; }; - static compute_mul_result compute_mul( - carrier_uint u, const cache_entry_type& cache) noexcept { + static auto compute_mul(carrier_uint u, + const cache_entry_type& cache) noexcept + -> compute_mul_result { auto r = umul96_upper64(u, cache); return {static_cast(r >> 32), static_cast(r) == 0}; } - static uint32_t compute_delta(const cache_entry_type& cache, - int beta) noexcept { + static auto compute_delta(const cache_entry_type& cache, int beta) noexcept + -> uint32_t { return static_cast(cache >> (64 - 1 - beta)); } - static compute_mul_parity_result compute_mul_parity( - carrier_uint two_f, const cache_entry_type& cache, int beta) noexcept { - FMT_ASSERT(beta >= 1, ""); - FMT_ASSERT(beta < 64, ""); + static auto compute_mul_parity(carrier_uint two_f, + const cache_entry_type& cache, + int beta) noexcept + -> compute_mul_parity_result { + FMTQUILL_ASSERT(beta >= 1, ""); + FMTQUILL_ASSERT(beta < 64, ""); auto r = umul96_lower64(two_f, cache); return {((r >> (64 - beta)) & 1) != 0, static_cast(r >> (32 - beta)) == 0}; } - static carrier_uint compute_left_endpoint_for_shorter_interval_case( - const cache_entry_type& cache, int beta) noexcept { + static auto compute_left_endpoint_for_shorter_interval_case( + const cache_entry_type& cache, int beta) noexcept -> carrier_uint { return static_cast( (cache - (cache >> (num_significand_bits() + 2))) >> (64 - num_significand_bits() - 1 - beta)); } - static carrier_uint compute_right_endpoint_for_shorter_interval_case( - const cache_entry_type& cache, int beta) noexcept { + static auto compute_right_endpoint_for_shorter_interval_case( + const cache_entry_type& cache, int beta) noexcept -> carrier_uint { return static_cast( (cache + (cache >> (num_significand_bits() + 1))) >> (64 - num_significand_bits() - 1 - beta)); } - static carrier_uint compute_round_up_for_shorter_interval_case( - const cache_entry_type& cache, int beta) noexcept { + static auto compute_round_up_for_shorter_interval_case( + const cache_entry_type& cache, int beta) noexcept -> carrier_uint { return (static_cast( cache >> (64 - num_significand_bits() - 2 - beta)) + 1) / @@ -385,12 +350,12 @@ template <> struct cache_accessor { using carrier_uint = float_info::carrier_uint; using cache_entry_type = uint128_fallback; - static uint128_fallback get_cached_power(int k) noexcept { - FMT_ASSERT(k >= float_info::min_k && k <= float_info::max_k, + static auto get_cached_power(int k) noexcept -> uint128_fallback { + FMTQUILL_ASSERT(k >= float_info::min_k && k <= float_info::max_k, "k is out of range"); static constexpr const uint128_fallback pow10_significands[] = { -#if FMT_USE_FULL_CACHE_DRAGONBOX +#if FMTQUILL_USE_FULL_CACHE_DRAGONBOX {0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7b}, {0x9faacf3df73609b1, 0x77b191618c54e9ad}, {0xc795830d75038c1d, 0xd59df5b9ef6a2418}, @@ -1009,8 +974,22 @@ template <> struct cache_accessor { {0xfcf62c1dee382c42, 0x46729e03dd9ed7b6}, {0x9e19db92b4e31ba9, 0x6c07a2c26a8346d2}, {0xc5a05277621be293, 0xc7098b7305241886}, - { 0xf70867153aa2db38, - 0xb8cbee4fc66d1ea8 } + {0xf70867153aa2db38, 0xb8cbee4fc66d1ea8}, + {0x9a65406d44a5c903, 0x737f74f1dc043329}, + {0xc0fe908895cf3b44, 0x505f522e53053ff3}, + {0xf13e34aabb430a15, 0x647726b9e7c68ff0}, + {0x96c6e0eab509e64d, 0x5eca783430dc19f6}, + {0xbc789925624c5fe0, 0xb67d16413d132073}, + {0xeb96bf6ebadf77d8, 0xe41c5bd18c57e890}, + {0x933e37a534cbaae7, 0x8e91b962f7b6f15a}, + {0xb80dc58e81fe95a1, 0x723627bbb5a4adb1}, + {0xe61136f2227e3b09, 0xcec3b1aaa30dd91d}, + {0x8fcac257558ee4e6, 0x213a4f0aa5e8a7b2}, + {0xb3bd72ed2af29e1f, 0xa988e2cd4f62d19e}, + {0xe0accfa875af45a7, 0x93eb1b80a33b8606}, + {0x8c6c01c9498d8b88, 0xbc72f130660533c4}, + {0xaf87023b9bf0ee6a, 0xeb8fad7c7f8680b5}, + {0xdb68c2ca82ed2a05, 0xa67398db9f6820e2}, #else {0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7b}, {0xce5d73ff402d98e3, 0xfb0a3d212dc81290}, @@ -1034,12 +1013,12 @@ template <> struct cache_accessor { {0x8da471a9de737e24, 0x5ceaecfed289e5d3}, {0xe4d5e82392a40515, 0x0fabaf3feaa5334b}, {0xb8da1662e7b00a17, 0x3d6a751f3b936244}, - { 0x95527a5202df0ccb, - 0x0f37801e0c43ebc9 } + {0x95527a5202df0ccb, 0x0f37801e0c43ebc9}, + {0xf13e34aabb430a15, 0x647726b9e7c68ff0} #endif }; -#if FMT_USE_FULL_CACHE_DRAGONBOX +#if FMTQUILL_USE_FULL_CACHE_DRAGONBOX return pow10_significands[k - float_info::min_k]; #else static constexpr const uint64_t powers_of_5_64[] = { @@ -1066,7 +1045,7 @@ template <> struct cache_accessor { // Compute the required amount of bit-shift. int alpha = floor_log2_pow10(kb + offset) - floor_log2_pow10(kb) - offset; - FMT_ASSERT(alpha > 0 && alpha < 64, "shifting error detected"); + FMTQUILL_ASSERT(alpha > 0 && alpha < 64, "shifting error detected"); // Try to recover the real cache. uint64_t pow5 = powers_of_5_64[offset]; @@ -1081,7 +1060,7 @@ template <> struct cache_accessor { recovered_cache = uint128_fallback{(recovered_cache.low() >> alpha) | high_to_middle, ((middle_low.low() >> alpha) | middle_to_low)}; - FMT_ASSERT(recovered_cache.low() + 1 != 0, ""); + FMTQUILL_ASSERT(recovered_cache.low() + 1 != 0, ""); return {recovered_cache.high(), recovered_cache.low() + 1}; #endif } @@ -1095,52 +1074,59 @@ template <> struct cache_accessor { bool is_integer; }; - static compute_mul_result compute_mul( - carrier_uint u, const cache_entry_type& cache) noexcept { + static auto compute_mul(carrier_uint u, + const cache_entry_type& cache) noexcept + -> compute_mul_result { auto r = umul192_upper128(u, cache); return {r.high(), r.low() == 0}; } - static uint32_t compute_delta(cache_entry_type const& cache, - int beta) noexcept { + static auto compute_delta(cache_entry_type const& cache, int beta) noexcept + -> uint32_t { return static_cast(cache.high() >> (64 - 1 - beta)); } - static compute_mul_parity_result compute_mul_parity( - carrier_uint two_f, const cache_entry_type& cache, int beta) noexcept { - FMT_ASSERT(beta >= 1, ""); - FMT_ASSERT(beta < 64, ""); + static auto compute_mul_parity(carrier_uint two_f, + const cache_entry_type& cache, + int beta) noexcept + -> compute_mul_parity_result { + FMTQUILL_ASSERT(beta >= 1, ""); + FMTQUILL_ASSERT(beta < 64, ""); auto r = umul192_lower128(two_f, cache); return {((r.high() >> (64 - beta)) & 1) != 0, ((r.high() << beta) | (r.low() >> (64 - beta))) == 0}; } - static carrier_uint compute_left_endpoint_for_shorter_interval_case( - const cache_entry_type& cache, int beta) noexcept { + static auto compute_left_endpoint_for_shorter_interval_case( + const cache_entry_type& cache, int beta) noexcept -> carrier_uint { return (cache.high() - (cache.high() >> (num_significand_bits() + 2))) >> (64 - num_significand_bits() - 1 - beta); } - static carrier_uint compute_right_endpoint_for_shorter_interval_case( - const cache_entry_type& cache, int beta) noexcept { + static auto compute_right_endpoint_for_shorter_interval_case( + const cache_entry_type& cache, int beta) noexcept -> carrier_uint { return (cache.high() + (cache.high() >> (num_significand_bits() + 1))) >> (64 - num_significand_bits() - 1 - beta); } - static carrier_uint compute_round_up_for_shorter_interval_case( - const cache_entry_type& cache, int beta) noexcept { + static auto compute_round_up_for_shorter_interval_case( + const cache_entry_type& cache, int beta) noexcept -> carrier_uint { return ((cache.high() >> (64 - num_significand_bits() - 2 - beta)) + 1) / 2; } }; +FMTQUILL_FUNC auto get_cached_power(int k) noexcept -> uint128_fallback { + return cache_accessor::get_cached_power(k); +} + // Various integer checks -template -bool is_left_endpoint_integer_shorter_interval(int exponent) noexcept { +template +auto is_left_endpoint_integer_shorter_interval(int exponent) noexcept -> bool { const int case_shorter_interval_left_endpoint_lower_threshold = 2; const int case_shorter_interval_left_endpoint_upper_threshold = 3; return exponent >= case_shorter_interval_left_endpoint_lower_threshold && @@ -1148,12 +1134,12 @@ bool is_left_endpoint_integer_shorter_interval(int exponent) noexcept { } // Remove trailing zeros from n and return the number of zeros removed (float) -FMT_INLINE int remove_trailing_zeros(uint32_t& n) noexcept { - FMT_ASSERT(n != 0, ""); - const uint32_t mod_inv_5 = 0xcccccccd; - const uint32_t mod_inv_25 = mod_inv_5 * mod_inv_5; +FMTQUILL_INLINE int remove_trailing_zeros(uint32_t& n, int s = 0) noexcept { + FMTQUILL_ASSERT(n != 0, ""); + // Modular inverse of 5 (mod 2^32): (mod_inv_5 * 5) mod 2^32 = 1. + constexpr uint32_t mod_inv_5 = 0xcccccccd; + constexpr uint32_t mod_inv_25 = 0xc28f5c29; // = mod_inv_5 * mod_inv_5 - int s = 0; while (true) { auto q = rotr(n * mod_inv_25, 2); if (q > max_value() / 100) break; @@ -1165,13 +1151,12 @@ FMT_INLINE int remove_trailing_zeros(uint32_t& n) noexcept { n = q; s |= 1; } - return s; } // Removes trailing zeros and returns the number of zeros removed (double) -FMT_INLINE int remove_trailing_zeros(uint64_t& n) noexcept { - FMT_ASSERT(n != 0, ""); +FMTQUILL_INLINE int remove_trailing_zeros(uint64_t& n) noexcept { + FMTQUILL_ASSERT(n != 0, ""); // This magic number is ceil(2^90 / 10^8). constexpr uint64_t magic_number = 12379400392853802749ull; @@ -1179,32 +1164,17 @@ FMT_INLINE int remove_trailing_zeros(uint64_t& n) noexcept { // Is n is divisible by 10^8? if ((nm.high() & ((1ull << (90 - 64)) - 1)) == 0 && nm.low() < magic_number) { - // If yes, work with the quotient. + // If yes, work with the quotient... auto n32 = static_cast(nm.high() >> (90 - 64)); - - const uint32_t mod_inv_5 = 0xcccccccd; - const uint32_t mod_inv_25 = mod_inv_5 * mod_inv_5; - - int s = 8; - while (true) { - auto q = rotr(n32 * mod_inv_25, 2); - if (q > max_value() / 100) break; - n32 = q; - s += 2; - } - auto q = rotr(n32 * mod_inv_5, 1); - if (q <= max_value() / 10) { - n32 = q; - s |= 1; - } - + // ... and use the 32 bit variant of the function + int s = remove_trailing_zeros(n32, 8); n = n32; return s; } // If n is not divisible by 10^8, work with n itself. - const uint64_t mod_inv_5 = 0xcccccccccccccccd; - const uint64_t mod_inv_25 = mod_inv_5 * mod_inv_5; + constexpr uint64_t mod_inv_5 = 0xcccccccccccccccd; + constexpr uint64_t mod_inv_25 = 0x8f5c28f5c28f5c29; // mod_inv_5 * mod_inv_5 int s = 0; while (true) { @@ -1223,8 +1193,8 @@ FMT_INLINE int remove_trailing_zeros(uint64_t& n) noexcept { } // The main algorithm for shorter interval case -template -FMT_INLINE decimal_fp shorter_interval_case(int exponent) noexcept { +template +FMTQUILL_INLINE decimal_fp shorter_interval_case(int exponent) noexcept { decimal_fp ret_value; // Compute k and beta const int minus_k = floor_log10_pow2_minus_log10_4_over_3(exponent); @@ -1270,7 +1240,7 @@ FMT_INLINE decimal_fp shorter_interval_case(int exponent) noexcept { return ret_value; } -template decimal_fp to_decimal(T x) noexcept { +template auto to_decimal(T x) noexcept -> decimal_fp { // Step 1: integer promotion & Schubfach multiplier calculation. using carrier_uint = typename float_info::carrier_uint; @@ -1394,49 +1364,37 @@ template decimal_fp to_decimal(T x) noexcept { return ret_value; } } // namespace dragonbox - -#ifdef _MSC_VER -FMT_FUNC auto fmt_snprintf(char* buf, size_t size, const char* fmt, ...) - -> int { - auto args = va_list(); - va_start(args, fmt); - int result = vsnprintf_s(buf, size, _TRUNCATE, fmt, args); - va_end(args); - return result; -} -#endif } // namespace detail template <> struct formatter { - FMT_CONSTEXPR auto parse(format_parse_context& ctx) + FMTQUILL_CONSTEXPR auto parse(format_parse_context& ctx) -> format_parse_context::iterator { return ctx.begin(); } - template - auto format(const detail::bigint& n, FormatContext& ctx) const -> - typename FormatContext::iterator { + auto format(const detail::bigint& n, format_context& ctx) const + -> format_context::iterator { auto out = ctx.out(); bool first = true; for (auto i = n.bigits_.size(); i > 0; --i) { auto value = n.bigits_[i - 1u]; if (first) { - out = format_to(out, FMT_STRING("{:x}"), value); + out = fmtquill::format_to(out, FMTQUILL_STRING("{:x}"), value); first = false; continue; } - out = format_to(out, FMT_STRING("{:08x}"), value); + out = fmtquill::format_to(out, FMTQUILL_STRING("{:08x}"), value); } if (n.exp_ > 0) - out = format_to(out, FMT_STRING("p{}"), - n.exp_ * detail::bigint::bigit_bits); + out = fmtquill::format_to(out, FMTQUILL_STRING("p{}"), + n.exp_ * detail::bigint::bigit_bits); return out; } }; -FMT_FUNC detail::utf8_to_utf16::utf8_to_utf16(string_view s) { +FMTQUILL_FUNC detail::utf8_to_utf16::utf8_to_utf16(string_view s) { for_each_codepoint(s, [this](uint32_t cp, string_view) { - if (cp == invalid_code_point) FMT_THROW(std::runtime_error("invalid utf8")); + if (cp == invalid_code_point) FMTQUILL_THROW(std::runtime_error("invalid utf8")); if (cp <= 0xFFFF) { buffer_.push_back(static_cast(cp)); } else { @@ -1449,82 +1407,79 @@ FMT_FUNC detail::utf8_to_utf16::utf8_to_utf16(string_view s) { buffer_.push_back(0); } -FMT_FUNC void format_system_error(detail::buffer& out, int error_code, +FMTQUILL_FUNC void format_system_error(detail::buffer& out, int error_code, const char* message) noexcept { - FMT_TRY { + FMTQUILL_TRY { auto ec = std::error_code(error_code, std::generic_category()); write(std::back_inserter(out), std::system_error(ec, message).what()); return; } - FMT_CATCH(...) {} + FMTQUILL_CATCH(...) {} format_error_code(out, error_code, message); } -FMT_FUNC void report_system_error(int error_code, +FMTQUILL_FUNC void report_system_error(int error_code, const char* message) noexcept { report_error(format_system_error, error_code, message); } -FMT_FUNC std::string vformat(string_view fmt, format_args args) { +FMTQUILL_FUNC auto vformat(string_view fmt, format_args args) -> std::string { // Don't optimize the "{}" case to keep the binary size small and because it - // can be better optimized in fmt::format anyway. + // can be better optimized in fmtquill::format anyway. auto buffer = memory_buffer(); detail::vformat_to(buffer, fmt, args); return to_string(buffer); } namespace detail { -#ifdef _WIN32 +#if !defined(_WIN32) || defined(FMTQUILL_WINDOWS_NO_WCHAR) +FMTQUILL_FUNC auto write_console(int, string_view) -> bool { return false; } +FMTQUILL_FUNC auto write_console(std::FILE*, string_view) -> bool { return false; } +#else using dword = conditional_t; extern "C" __declspec(dllimport) int __stdcall WriteConsoleW( // void*, const void*, dword, dword*, void*); -FMT_FUNC bool write_console(std::FILE* f, string_view text) { - auto fd = _fileno(f); - if (_isatty(fd)) { - detail::utf8_to_utf16 u16(string_view(text.data(), text.size())); - auto written = detail::dword(); - if (detail::WriteConsoleW(reinterpret_cast(_get_osfhandle(fd)), - u16.c_str(), static_cast(u16.size()), - &written, nullptr)) { - return true; - } - } - // We return false if the file descriptor was not TTY, or it was but - // SetConsoleW failed which can happen if the output has been redirected to - // NUL. In both cases when we return false, we should attempt to do regular - // write via fwrite or std::ostream::write. - return false; +FMTQUILL_FUNC bool write_console(int fd, string_view text) { + auto u16 = utf8_to_utf16(text); + return WriteConsoleW(reinterpret_cast(_get_osfhandle(fd)), u16.c_str(), + static_cast(u16.size()), nullptr, nullptr) != 0; +} + +FMTQUILL_FUNC auto write_console(std::FILE* f, string_view text) -> bool { + return write_console(_fileno(f), text); } #endif -FMT_FUNC void print(std::FILE* f, string_view text) { #ifdef _WIN32 - if (write_console(f, text)) return; +// Print assuming legacy (non-Unicode) encoding. +FMTQUILL_FUNC void vprint_mojibake(std::FILE* f, string_view fmt, format_args args) { + auto buffer = memory_buffer(); + detail::vformat_to(buffer, fmt, args); + fwrite_fully(buffer.data(), buffer.size(), f); +} +#endif + +FMTQUILL_FUNC void print(std::FILE* f, string_view text) { +#ifdef _WIN32 + int fd = _fileno(f); + if (_isatty(fd)) { + std::fflush(f); + if (write_console(fd, text)) return; + } #endif - detail::fwrite_fully(text.data(), 1, text.size(), f); + fwrite_fully(text.data(), text.size(), f); } } // namespace detail -FMT_FUNC void vprint(std::FILE* f, string_view format_str, format_args args) { - memory_buffer buffer; - detail::vformat_to(buffer, format_str, args); +FMTQUILL_FUNC void vprint(std::FILE* f, string_view fmt, format_args args) { + auto buffer = memory_buffer(); + detail::vformat_to(buffer, fmt, args); detail::print(f, {buffer.data(), buffer.size()}); } -#ifdef _WIN32 -// Print assuming legacy (non-Unicode) encoding. -FMT_FUNC void detail::vprint_mojibake(std::FILE* f, string_view format_str, - format_args args) { - memory_buffer buffer; - detail::vformat_to(buffer, format_str, - basic_format_args>(args)); - fwrite_fully(buffer.data(), 1, buffer.size(), f); -} -#endif - -FMT_FUNC void vprint(string_view format_str, format_args args) { - vprint(stdout, format_str, args); +FMTQUILL_FUNC void vprint(string_view fmt, format_args args) { + vprint(stdout, fmt, args); } namespace detail { @@ -1566,7 +1521,7 @@ inline auto is_printable(uint16_t x, const singleton* singletons, } // This code is generated by support/printable.py. -FMT_FUNC auto is_printable(uint32_t cp) -> bool { +FMTQUILL_FUNC auto is_printable(uint32_t cp) -> bool { static constexpr singleton singletons0[] = { {0x00, 1}, {0x03, 5}, {0x05, 6}, {0x06, 3}, {0x07, 6}, {0x08, 8}, {0x09, 17}, {0x0a, 28}, {0x0b, 25}, {0x0c, 20}, {0x0d, 16}, {0x0e, 13}, @@ -1718,6 +1673,6 @@ FMT_FUNC auto is_printable(uint32_t cp) -> bool { } // namespace detail -FMT_END_NAMESPACE +FMTQUILL_END_NAMESPACE -#endif // FMT_FORMAT_INL_H_ +#endif // FMTQUILL_FORMAT_INL_H_ diff --git a/Dependencies/spdlog/include/spdlog/fmt/bundled/format.h b/Dependencies/quill/quill/bundled/fmt/format.h similarity index 59% rename from Dependencies/spdlog/include/spdlog/fmt/bundled/format.h rename to Dependencies/quill/quill/bundled/fmt/format.h index 7c607dbd..93718621 100644 --- a/Dependencies/spdlog/include/spdlog/fmt/bundled/format.h +++ b/Dependencies/quill/quill/bundled/fmt/format.h @@ -30,57 +30,96 @@ without including the above copyright and permission notices. */ -#ifndef FMT_FORMAT_H_ -#define FMT_FORMAT_H_ +#ifndef FMTQUILL_FORMAT_H_ +#define FMTQUILL_FORMAT_H_ -#include // std::signbit -#include // uint32_t -#include // std::memcpy -#include // std::numeric_limits -#include // std::uninitialized_copy -#include // std::runtime_error -#include // std::system_error +#if !defined(FMTQUILL_HEADER_ONLY) + #define FMTQUILL_HEADER_ONLY +#endif + +#include // std::signbit +#include // uint32_t +#include // std::memcpy +#include // std::initializer_list +#include // std::numeric_limits +#include // std::uninitialized_copy +#include // std::runtime_error +#include // std::system_error #ifdef __cpp_lib_bit_cast -# include // std::bitcast +# include // std::bit_cast #endif #include "core.h" -#if FMT_GCC_VERSION -# define FMT_GCC_VISIBILITY_HIDDEN __attribute__((visibility("hidden"))) +#if defined __cpp_inline_variables && __cpp_inline_variables >= 201606L +# define FMTQUILL_INLINE_VARIABLE inline #else -# define FMT_GCC_VISIBILITY_HIDDEN +# define FMTQUILL_INLINE_VARIABLE #endif -#ifdef __NVCC__ -# define FMT_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__) +#if FMTQUILL_HAS_CPP17_ATTRIBUTE(fallthrough) +# define FMTQUILL_FALLTHROUGH [[fallthrough]] +#elif defined(__clang__) +# define FMTQUILL_FALLTHROUGH [[clang::fallthrough]] +#elif FMTQUILL_GCC_VERSION >= 700 && \ + (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) +# define FMTQUILL_FALLTHROUGH [[gnu::fallthrough]] #else -# define FMT_CUDA_VERSION 0 +# define FMTQUILL_FALLTHROUGH #endif -#ifdef __has_builtin -# define FMT_HAS_BUILTIN(x) __has_builtin(x) +#ifndef FMTQUILL_DEPRECATED +# if FMTQUILL_HAS_CPP14_ATTRIBUTE(deprecated) || FMTQUILL_MSC_VERSION >= 1900 +# define FMTQUILL_DEPRECATED [[deprecated]] +# else +# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) +# define FMTQUILL_DEPRECATED __attribute__((deprecated)) +# elif FMTQUILL_MSC_VERSION +# define FMTQUILL_DEPRECATED __declspec(deprecated) +# else +# define FMTQUILL_DEPRECATED /* deprecated */ +# endif +# endif +#endif + +#ifndef FMTQUILL_NO_UNIQUE_ADDRESS +# if FMTQUILL_CPLUSPLUS >= 202002L +# if FMTQUILL_HAS_CPP_ATTRIBUTE(no_unique_address) +# define FMTQUILL_NO_UNIQUE_ADDRESS [[no_unique_address]] +// VS2019 v16.10 and later except clang-cl (https://reviews.llvm.org/D110485) +# elif (FMTQUILL_MSC_VERSION >= 1929) && !FMTQUILL_CLANG_VERSION +# define FMTQUILL_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]] +# endif +# endif +#endif +#ifndef FMTQUILL_NO_UNIQUE_ADDRESS +# define FMTQUILL_NO_UNIQUE_ADDRESS +#endif + +// Visibility when compiled as a shared library/object. +#if defined(FMTQUILL_LIB_EXPORT) || defined(FMTQUILL_SHARED) +# define FMTQUILL_SO_VISIBILITY(value) FMTQUILL_VISIBILITY(value) #else -# define FMT_HAS_BUILTIN(x) 0 +# define FMTQUILL_SO_VISIBILITY(value) #endif -#if FMT_GCC_VERSION || FMT_CLANG_VERSION -# define FMT_NOINLINE __attribute__((noinline)) +#ifdef __has_builtin +# define FMTQUILL_HAS_BUILTIN(x) __has_builtin(x) #else -# define FMT_NOINLINE +# define FMTQUILL_HAS_BUILTIN(x) 0 #endif -#if FMT_MSC_VERSION -# define FMT_MSC_DEFAULT = default +#if FMTQUILL_GCC_VERSION || FMTQUILL_CLANG_VERSION +# define FMTQUILL_NOINLINE __attribute__((noinline)) #else -# define FMT_MSC_DEFAULT +# define FMTQUILL_NOINLINE #endif -#ifndef FMT_THROW -# if FMT_EXCEPTIONS -# if FMT_MSC_VERSION || defined(__NVCC__) -FMT_BEGIN_NAMESPACE +#ifndef FMTQUILL_THROW +# if FMTQUILL_EXCEPTIONS +# if FMTQUILL_MSC_VERSION || defined(__NVCC__) +FMTQUILL_BEGIN_NAMESPACE namespace detail { template inline void do_throw(const Exception& x) { // Silence unreachable code warnings in MSVC and NVCC because these @@ -89,88 +128,89 @@ template inline void do_throw(const Exception& x) { if (b) throw x; } } // namespace detail -FMT_END_NAMESPACE -# define FMT_THROW(x) detail::do_throw(x) +FMTQUILL_END_NAMESPACE +# define FMTQUILL_THROW(x) detail::do_throw(x) # else -# define FMT_THROW(x) throw x +# define FMTQUILL_THROW(x) throw x # endif # else -# define FMT_THROW(x) \ - do { \ - FMT_ASSERT(false, (x).what()); \ - } while (false) +# define FMTQUILL_THROW(x) \ + ::fmtquill::detail::assert_fail(__FILE__, __LINE__, (x).what()) # endif #endif -#if FMT_EXCEPTIONS -# define FMT_TRY try -# define FMT_CATCH(x) catch (x) +#if FMTQUILL_EXCEPTIONS +# define FMTQUILL_TRY try +# define FMTQUILL_CATCH(x) catch (x) #else -# define FMT_TRY if (true) -# define FMT_CATCH(x) if (false) +# define FMTQUILL_TRY if (true) +# define FMTQUILL_CATCH(x) if (false) #endif -#ifndef FMT_MAYBE_UNUSED -# if FMT_HAS_CPP17_ATTRIBUTE(maybe_unused) -# define FMT_MAYBE_UNUSED [[maybe_unused]] +#ifndef FMTQUILL_MAYBE_UNUSED +# if FMTQUILL_HAS_CPP17_ATTRIBUTE(maybe_unused) +# define FMTQUILL_MAYBE_UNUSED [[maybe_unused]] # else -# define FMT_MAYBE_UNUSED +# define FMTQUILL_MAYBE_UNUSED # endif #endif -#ifndef FMT_USE_USER_DEFINED_LITERALS +#ifndef FMTQUILL_USE_USER_DEFINED_LITERALS // EDG based compilers (Intel, NVIDIA, Elbrus, etc), GCC and MSVC support UDLs. -# if (FMT_HAS_FEATURE(cxx_user_literals) || FMT_GCC_VERSION >= 407 || \ - FMT_MSC_VERSION >= 1900) && \ +// +// GCC before 4.9 requires a space in `operator"" _a` which is invalid in later +// compiler versions. +# if (FMTQUILL_HAS_FEATURE(cxx_user_literals) || FMTQUILL_GCC_VERSION >= 409 || \ + FMTQUILL_MSC_VERSION >= 1900) && \ (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= /* UDL feature */ 480) -# define FMT_USE_USER_DEFINED_LITERALS 1 +# define FMTQUILL_USE_USER_DEFINED_LITERALS 1 # else -# define FMT_USE_USER_DEFINED_LITERALS 0 +# define FMTQUILL_USE_USER_DEFINED_LITERALS 0 # endif #endif -// Defining FMT_REDUCE_INT_INSTANTIATIONS to 1, will reduce the number of +// Defining FMTQUILL_REDUCE_INT_INSTANTIATIONS to 1, will reduce the number of // integer formatter template instantiations to just one by only using the // largest integer type. This results in a reduction in binary size but will // cause a decrease in integer formatting performance. -#if !defined(FMT_REDUCE_INT_INSTANTIATIONS) -# define FMT_REDUCE_INT_INSTANTIATIONS 0 +#if !defined(FMTQUILL_REDUCE_INT_INSTANTIATIONS) +# define FMTQUILL_REDUCE_INT_INSTANTIATIONS 0 #endif // __builtin_clz is broken in clang with Microsoft CodeGen: // https://github.com/fmtlib/fmt/issues/519. -#if !FMT_MSC_VERSION -# if FMT_HAS_BUILTIN(__builtin_clz) || FMT_GCC_VERSION || FMT_ICC_VERSION -# define FMT_BUILTIN_CLZ(n) __builtin_clz(n) +#if !FMTQUILL_MSC_VERSION +# if FMTQUILL_HAS_BUILTIN(__builtin_clz) || FMTQUILL_GCC_VERSION || FMTQUILL_ICC_VERSION +# define FMTQUILL_BUILTIN_CLZ(n) __builtin_clz(n) # endif -# if FMT_HAS_BUILTIN(__builtin_clzll) || FMT_GCC_VERSION || FMT_ICC_VERSION -# define FMT_BUILTIN_CLZLL(n) __builtin_clzll(n) +# if FMTQUILL_HAS_BUILTIN(__builtin_clzll) || FMTQUILL_GCC_VERSION || FMTQUILL_ICC_VERSION +# define FMTQUILL_BUILTIN_CLZLL(n) __builtin_clzll(n) # endif #endif // __builtin_ctz is broken in Intel Compiler Classic on Windows: // https://github.com/fmtlib/fmt/issues/2510. #ifndef __ICL -# if FMT_HAS_BUILTIN(__builtin_ctz) || FMT_GCC_VERSION || FMT_ICC_VERSION || \ +# if FMTQUILL_HAS_BUILTIN(__builtin_ctz) || FMTQUILL_GCC_VERSION || FMTQUILL_ICC_VERSION || \ defined(__NVCOMPILER) -# define FMT_BUILTIN_CTZ(n) __builtin_ctz(n) +# define FMTQUILL_BUILTIN_CTZ(n) __builtin_ctz(n) # endif -# if FMT_HAS_BUILTIN(__builtin_ctzll) || FMT_GCC_VERSION || \ - FMT_ICC_VERSION || defined(__NVCOMPILER) -# define FMT_BUILTIN_CTZLL(n) __builtin_ctzll(n) +# if FMTQUILL_HAS_BUILTIN(__builtin_ctzll) || FMTQUILL_GCC_VERSION || \ + FMTQUILL_ICC_VERSION || defined(__NVCOMPILER) +# define FMTQUILL_BUILTIN_CTZLL(n) __builtin_ctzll(n) # endif #endif -#if FMT_MSC_VERSION +#if FMTQUILL_MSC_VERSION # include // _BitScanReverse[64], _BitScanForward[64], _umul128 #endif // Some compilers masquerade as both MSVC and GCC-likes or otherwise support -// __builtin_clz and __builtin_clzll, so only define FMT_BUILTIN_CLZ using the +// __builtin_clz and __builtin_clzll, so only define FMTQUILL_BUILTIN_CLZ using the // MSVC intrinsics if the clz and clzll builtins are not available. -#if FMT_MSC_VERSION && !defined(FMT_BUILTIN_CLZLL) && \ - !defined(FMT_BUILTIN_CTZLL) -FMT_BEGIN_NAMESPACE +#if FMTQUILL_MSC_VERSION && !defined(FMTQUILL_BUILTIN_CLZLL) && \ + !defined(FMTQUILL_BUILTIN_CTZLL) +FMTQUILL_BEGIN_NAMESPACE namespace detail { // Avoid Clang with Microsoft CodeGen's -Wunknown-pragmas warning. # if !defined(__clang__) @@ -185,14 +225,14 @@ namespace detail { inline auto clz(uint32_t x) -> int { unsigned long r = 0; _BitScanReverse(&r, x); - FMT_ASSERT(x != 0, ""); + FMTQUILL_ASSERT(x != 0, ""); // Static analysis complains about using uninitialized data // "r", but the only way that can happen is if "x" is 0, // which the callers guarantee to not happen. - FMT_MSC_WARNING(suppress : 6102) + FMTQUILL_MSC_WARNING(suppress : 6102) return 31 ^ static_cast(r); } -# define FMT_BUILTIN_CLZ(n) detail::clz(n) +# define FMTQUILL_BUILTIN_CLZ(n) detail::clz(n) inline auto clzll(uint64_t x) -> int { unsigned long r = 0; @@ -200,29 +240,30 @@ inline auto clzll(uint64_t x) -> int { _BitScanReverse64(&r, x); # else // Scan the high 32 bits. - if (_BitScanReverse(&r, static_cast(x >> 32))) return 63 ^ (r + 32); + if (_BitScanReverse(&r, static_cast(x >> 32))) + return 63 ^ static_cast(r + 32); // Scan the low 32 bits. _BitScanReverse(&r, static_cast(x)); # endif - FMT_ASSERT(x != 0, ""); - FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. + FMTQUILL_ASSERT(x != 0, ""); + FMTQUILL_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. return 63 ^ static_cast(r); } -# define FMT_BUILTIN_CLZLL(n) detail::clzll(n) +# define FMTQUILL_BUILTIN_CLZLL(n) detail::clzll(n) inline auto ctz(uint32_t x) -> int { unsigned long r = 0; _BitScanForward(&r, x); - FMT_ASSERT(x != 0, ""); - FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. + FMTQUILL_ASSERT(x != 0, ""); + FMTQUILL_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. return static_cast(r); } -# define FMT_BUILTIN_CTZ(n) detail::ctz(n) +# define FMTQUILL_BUILTIN_CTZ(n) detail::ctz(n) inline auto ctzll(uint64_t x) -> int { unsigned long r = 0; - FMT_ASSERT(x != 0, ""); - FMT_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. + FMTQUILL_ASSERT(x != 0, ""); + FMTQUILL_MSC_WARNING(suppress : 6102) // Suppress a bogus static analysis warning. # ifdef _WIN64 _BitScanForward64(&r, x); # else @@ -234,17 +275,17 @@ inline auto ctzll(uint64_t x) -> int { # endif return static_cast(r); } -# define FMT_BUILTIN_CTZLL(n) detail::ctzll(n) +# define FMTQUILL_BUILTIN_CTZLL(n) detail::ctzll(n) } // namespace detail -FMT_END_NAMESPACE +FMTQUILL_END_NAMESPACE #endif -FMT_BEGIN_NAMESPACE +FMTQUILL_BEGIN_NAMESPACE namespace detail { -FMT_CONSTEXPR inline void abort_fuzzing_if(bool condition) { +FMTQUILL_CONSTEXPR inline void abort_fuzzing_if(bool condition) { ignore_unused(condition); -#ifdef FMT_FUZZ +#ifdef FMTQUILL_FUZZ if (condition) throw std::runtime_error("fuzzing limit reached"); #endif } @@ -256,45 +297,14 @@ template struct string_literal { } }; -#if FMT_CPLUSPLUS < 201703L +#if FMTQUILL_CPLUSPLUS < 201703L template constexpr CharT string_literal::value[sizeof...(C)]; #endif -template class formatbuf : public Streambuf { - private: - using char_type = typename Streambuf::char_type; - using streamsize = decltype(std::declval().sputn(nullptr, 0)); - using int_type = typename Streambuf::int_type; - using traits_type = typename Streambuf::traits_type; - - buffer& buffer_; - - public: - explicit formatbuf(buffer& buf) : buffer_(buf) {} - - protected: - // The put area is always empty. This makes the implementation simpler and has - // the advantage that the streambuf and the buffer are always in sync and - // sputc never writes into uninitialized memory. A disadvantage is that each - // call to sputc always results in a (virtual) call to overflow. There is no - // disadvantage here for sputn since this always results in a call to xsputn. - - auto overflow(int_type ch) -> int_type override { - if (!traits_type::eq_int_type(ch, traits_type::eof())) - buffer_.push_back(static_cast(ch)); - return ch; - } - - auto xsputn(const char_type* s, streamsize count) -> streamsize override { - buffer_.append(s, s + count); - return count; - } -}; - // Implementation of std::bit_cast for pre-C++20. -template -FMT_CONSTEXPR20 auto bit_cast(const From& from) -> To { +template +FMTQUILL_CONSTEXPR20 auto bit_cast(const From& from) -> To { #ifdef __cpp_lib_bit_cast if (is_constant_evaluated()) return std::bit_cast(from); #endif @@ -323,16 +333,14 @@ class uint128_fallback { private: uint64_t lo_, hi_; - friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept; - public: constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {} constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {} - constexpr uint64_t high() const noexcept { return hi_; } - constexpr uint64_t low() const noexcept { return lo_; } + constexpr auto high() const noexcept -> uint64_t { return hi_; } + constexpr auto low() const noexcept -> uint64_t { return lo_; } - template ::value)> + template ::value)> constexpr explicit operator T() const { return static_cast(lo_); } @@ -359,6 +367,10 @@ class uint128_fallback { -> uint128_fallback { return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_}; } + friend constexpr auto operator~(const uint128_fallback& n) + -> uint128_fallback { + return {~n.hi_, ~n.lo_}; + } friend auto operator+(const uint128_fallback& lhs, const uint128_fallback& rhs) -> uint128_fallback { auto result = uint128_fallback(lhs); @@ -367,7 +379,7 @@ class uint128_fallback { } friend auto operator*(const uint128_fallback& lhs, uint32_t rhs) -> uint128_fallback { - FMT_ASSERT(lhs.hi_ == 0, ""); + FMTQUILL_ASSERT(lhs.hi_ == 0, ""); uint64_t hi = (lhs.lo_ >> 32) * rhs; uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs; uint64_t new_lo = (hi << 32) + lo; @@ -377,38 +389,42 @@ class uint128_fallback { -> uint128_fallback { return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs}; } - FMT_CONSTEXPR auto operator>>(int shift) const -> uint128_fallback { + FMTQUILL_CONSTEXPR auto operator>>(int shift) const -> uint128_fallback { if (shift == 64) return {0, hi_}; if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64); return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)}; } - FMT_CONSTEXPR auto operator<<(int shift) const -> uint128_fallback { + FMTQUILL_CONSTEXPR auto operator<<(int shift) const -> uint128_fallback { if (shift == 64) return {lo_, 0}; if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64); return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)}; } - FMT_CONSTEXPR auto operator>>=(int shift) -> uint128_fallback& { + FMTQUILL_CONSTEXPR auto operator>>=(int shift) -> uint128_fallback& { return *this = *this >> shift; } - FMT_CONSTEXPR void operator+=(uint128_fallback n) { + FMTQUILL_CONSTEXPR void operator+=(uint128_fallback n) { uint64_t new_lo = lo_ + n.lo_; uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0); - FMT_ASSERT(new_hi >= hi_, ""); + FMTQUILL_ASSERT(new_hi >= hi_, ""); lo_ = new_lo; hi_ = new_hi; } + FMTQUILL_CONSTEXPR void operator&=(uint128_fallback n) { + lo_ &= n.lo_; + hi_ &= n.hi_; + } - FMT_CONSTEXPR20 uint128_fallback& operator+=(uint64_t n) noexcept { + FMTQUILL_CONSTEXPR20 auto operator+=(uint64_t n) noexcept -> uint128_fallback& { if (is_constant_evaluated()) { lo_ += n; hi_ += (lo_ < n ? 1 : 0); return *this; } -#if FMT_HAS_BUILTIN(__builtin_addcll) && !defined(__ibmxl__) +#if FMTQUILL_HAS_BUILTIN(__builtin_addcll) && !defined(__ibmxl__) unsigned long long carry; lo_ = __builtin_addcll(lo_, n, 0, &carry); hi_ += carry; -#elif FMT_HAS_BUILTIN(__builtin_ia32_addcarryx_u64) && !defined(__ibmxl__) +#elif FMTQUILL_HAS_BUILTIN(__builtin_ia32_addcarryx_u64) && !defined(__ibmxl__) unsigned long long result; auto carry = __builtin_ia32_addcarryx_u64(0, lo_, n, &result); lo_ = result; @@ -424,7 +440,7 @@ class uint128_fallback { } }; -using uint128_t = conditional_t; +using uint128_t = conditional_t; #ifdef UINTPTR_MAX using uintptr_t = ::uintptr_t; @@ -446,7 +462,7 @@ template <> constexpr auto num_bits() -> int { return 128; } // A heterogeneous bit_cast used for converting 96-bit long double to uint128_t // and 128-bit pointers to uint128_fallback. -template sizeof(From))> +template sizeof(From))> inline auto bit_cast(const From& from) -> To { constexpr auto size = static_cast(sizeof(From) / sizeof(unsigned)); struct data_t { @@ -463,10 +479,34 @@ inline auto bit_cast(const From& from) -> To { return result; } -FMT_INLINE void assume(bool condition) { +template +FMTQUILL_CONSTEXPR20 inline auto countl_zero_fallback(UInt n) -> int { + int lz = 0; + constexpr UInt msb_mask = static_cast(1) << (num_bits() - 1); + for (; (n & msb_mask) == 0; n <<= 1) lz++; + return lz; +} + +FMTQUILL_CONSTEXPR20 inline auto countl_zero(uint32_t n) -> int { +#ifdef FMTQUILL_BUILTIN_CLZ + if (!is_constant_evaluated()) return FMTQUILL_BUILTIN_CLZ(n); +#endif + return countl_zero_fallback(n); +} + +FMTQUILL_CONSTEXPR20 inline auto countl_zero(uint64_t n) -> int { +#ifdef FMTQUILL_BUILTIN_CLZLL + if (!is_constant_evaluated()) return FMTQUILL_BUILTIN_CLZLL(n); +#endif + return countl_zero_fallback(n); +} + +FMTQUILL_INLINE void assume(bool condition) { (void)condition; -#if FMT_HAS_BUILTIN(__builtin_assume) && !FMT_ICC_VERSION +#if FMTQUILL_HAS_BUILTIN(__builtin_assume) && !FMTQUILL_ICC_VERSION __builtin_assume(condition); +#elif FMTQUILL_GCC_VERSION + if (!condition) __builtin_unreachable(); #endif } @@ -485,33 +525,19 @@ inline auto get_data(Container& c) -> typename Container::value_type* { return c.data(); } -#if defined(_SECURE_SCL) && _SECURE_SCL -// Make a checked iterator to avoid MSVC warnings. -template using checked_ptr = stdext::checked_array_iterator; -template -constexpr auto make_checked(T* p, size_t size) -> checked_ptr { - return {p, size}; -} -#else -template using checked_ptr = T*; -template constexpr auto make_checked(T* p, size_t) -> T* { - return p; -} -#endif - // Attempts to reserve space for n extra characters in the output range. // Returns a pointer to the reserved range or a reference to it. -template ::value)> -#if FMT_CLANG_VERSION >= 307 && !FMT_ICC_VERSION +template ::value)> +#if FMTQUILL_CLANG_VERSION >= 307 && !FMTQUILL_ICC_VERSION __attribute__((no_sanitize("undefined"))) #endif inline auto -reserve(std::back_insert_iterator it, size_t n) - -> checked_ptr { +reserve(std::back_insert_iterator it, size_t n) -> + typename Container::value_type* { Container& c = get_container(it); size_t size = c.size(); c.resize(size + n); - return make_checked(get_data(c) + size, n); + return get_data(c) + size; } template @@ -542,9 +568,9 @@ template auto to_pointer(buffer_appender it, size_t n) -> T* { return buf.data() + size; } -template ::value)> -inline auto base_iterator(std::back_insert_iterator& it, - checked_ptr) +template ::value)> +inline auto base_iterator(std::back_insert_iterator it, + typename Container::value_type*) -> std::back_insert_iterator { return it; } @@ -557,13 +583,13 @@ constexpr auto base_iterator(Iterator, Iterator it) -> Iterator { // is spectacularly slow to compile in C++20 so use a simple fill_n // instead (#1998). template -FMT_CONSTEXPR auto fill_n(OutputIt out, Size count, const T& value) +FMTQUILL_CONSTEXPR auto fill_n(OutputIt out, Size count, const T& value) -> OutputIt { for (Size i = 0; i < count; ++i) *out++ = value; return out; } template -FMT_CONSTEXPR20 auto fill_n(T* out, Size count, char value) -> T* { +FMTQUILL_CONSTEXPR20 auto fill_n(T* out, Size count, char value) -> T* { if (is_constant_evaluated()) { return fill_n(out, count, value); } @@ -578,7 +604,7 @@ enum char8_type : unsigned char {}; #endif template -FMT_CONSTEXPR FMT_NOINLINE auto copy_str_noinline(InputIt begin, InputIt end, +FMTQUILL_CONSTEXPR FMTQUILL_NOINLINE auto copy_str_noinline(InputIt begin, InputIt end, OutputIt out) -> OutputIt { return copy_str(begin, end, out); } @@ -600,14 +626,15 @@ FMT_CONSTEXPR FMT_NOINLINE auto copy_str_noinline(InputIt begin, InputIt end, * occurs, this pointer will be a guess that depends on the particular * error, but it will always advance at least one byte. */ -FMT_CONSTEXPR inline auto utf8_decode(const char* s, uint32_t* c, int* e) +FMTQUILL_CONSTEXPR inline auto utf8_decode(const char* s, uint32_t* c, int* e) -> const char* { constexpr const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07}; constexpr const uint32_t mins[] = {4194304, 0, 128, 2048, 65536}; constexpr const int shiftc[] = {0, 18, 12, 6, 0}; constexpr const int shifte[] = {0, 6, 4, 2, 0}; - int len = code_point_length_impl(*s); + int len = "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4" + [static_cast(*s) >> 3]; // Compute the pointer to the next character early so that the next // iteration can start working on the next character. Neither Clang // nor GCC figure out this reordering on their own. @@ -636,12 +663,12 @@ FMT_CONSTEXPR inline auto utf8_decode(const char* s, uint32_t* c, int* e) return next; } -constexpr uint32_t invalid_code_point = ~uint32_t(); +constexpr FMTQUILL_INLINE_VARIABLE uint32_t invalid_code_point = ~uint32_t(); // Invokes f(cp, sv) for every code point cp in s with sv being the string view // corresponding to the code point. cp is invalid_code_point on error. template -FMT_CONSTEXPR void for_each_codepoint(string_view s, F f) { +FMTQUILL_CONSTEXPR void for_each_codepoint(string_view s, F f) { auto decode = [f](const char* buf_ptr, const char* ptr) { auto cp = uint32_t(); auto error = 0; @@ -677,12 +704,12 @@ inline auto compute_width(basic_string_view s) -> size_t { } // Computes approximate display width of a UTF-8 string. -FMT_CONSTEXPR inline size_t compute_width(string_view s) { +FMTQUILL_CONSTEXPR inline auto compute_width(string_view s) -> size_t { size_t num_code_points = 0; // It is not a lambda for compatibility with C++14. struct count_code_points { size_t* count; - FMT_CONSTEXPR auto operator()(uint32_t cp, string_view) const -> bool { + FMTQUILL_CONSTEXPR auto operator()(uint32_t cp, string_view) const -> bool { *count += detail::to_unsigned( 1 + (cp >= 0x1100 && @@ -706,6 +733,7 @@ FMT_CONSTEXPR inline size_t compute_width(string_view s) { return true; } }; + // We could avoid branches by using utf8_decode directly. for_each_codepoint(s, count_code_points{&num_code_points}); return num_code_points; } @@ -723,12 +751,17 @@ inline auto code_point_index(basic_string_view s, size_t n) -> size_t { // Calculates the index of the nth code point in a UTF-8 string. inline auto code_point_index(string_view s, size_t n) -> size_t { - const char* data = s.data(); - size_t num_code_points = 0; - for (size_t i = 0, size = s.size(); i != size; ++i) { - if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i; - } - return s.size(); + size_t result = s.size(); + const char* begin = s.begin(); + for_each_codepoint(s, [begin, &n, &result](uint32_t, string_view sv) { + if (n != 0) { + --n; + return true; + } + result = to_unsigned(sv.begin() - begin); + return false; + }); + return result; } inline auto code_point_index(basic_string_view s, size_t n) @@ -737,14 +770,49 @@ inline auto code_point_index(basic_string_view s, size_t n) string_view(reinterpret_cast(s.data()), s.size()), n); } -#ifndef FMT_USE_FLOAT128 -# ifdef __SIZEOF_FLOAT128__ -# define FMT_USE_FLOAT128 1 -# else -# define FMT_USE_FLOAT128 0 +template struct is_integral : std::is_integral {}; +template <> struct is_integral : std::true_type {}; +template <> struct is_integral : std::true_type {}; + +template +using is_signed = + std::integral_constant::is_signed || + std::is_same::value>; + +template +using is_integer = + bool_constant::value && !std::is_same::value && + !std::is_same::value && + !std::is_same::value>; + +#ifndef FMTQUILL_USE_FLOAT +# define FMTQUILL_USE_FLOAT 1 +#endif +#ifndef FMTQUILL_USE_DOUBLE +# define FMTQUILL_USE_DOUBLE 1 +#endif +#ifndef FMTQUILL_USE_LONG_DOUBLE +# define FMTQUILL_USE_LONG_DOUBLE 1 +#endif + +#ifndef FMTQUILL_USE_FLOAT128 +# ifdef __clang__ +// Clang emulates GCC, so it has to appear early. +# if FMTQUILL_HAS_INCLUDE() +# define FMTQUILL_USE_FLOAT128 1 +# endif +# elif defined(__GNUC__) +// GNU C++: +# if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) +# define FMTQUILL_USE_FLOAT128 1 +# endif +# endif +# ifndef FMTQUILL_USE_FLOAT128 +# define FMTQUILL_USE_FLOAT128 0 # endif #endif -#if FMT_USE_FLOAT128 + +#if FMTQUILL_USE_FLOAT128 using float128 = __float128; #else using float128 = void; @@ -763,8 +831,8 @@ template struct is_fast_float : std::false_type {}; template using is_double_double = bool_constant::digits == 106>; -#ifndef FMT_USE_FULL_CACHE_DRAGONBOX -# define FMT_USE_FULL_CACHE_DRAGONBOX 0 +#ifndef FMTQUILL_USE_FULL_CACHE_DRAGONBOX +# define FMTQUILL_USE_FULL_CACHE_DRAGONBOX 0 #endif template @@ -775,7 +843,7 @@ void buffer::append(const U* begin, const U* end) { try_reserve(size_ + count); auto free_cap = capacity_ - size_; if (free_cap < count) count = free_cap; - std::uninitialized_copy_n(begin, count, make_checked(ptr_ + size_, count)); + std::uninitialized_copy_n(begin, count, ptr_ + size_); size_ += count; begin += count; } @@ -787,7 +855,7 @@ template struct is_locale> : std::true_type {}; } // namespace detail -FMT_MODULE_EXPORT_BEGIN +FMTQUILL_BEGIN_EXPORT // The number of characters to store in the basic_memory_buffer object itself // to avoid dynamic memory allocation. @@ -802,8 +870,8 @@ enum { inline_buffer_size = 500 }; **Example**:: - auto out = fmt::memory_buffer(); - format_to(std::back_inserter(out), "The answer is {}.", 42); + auto out = fmtquill::memory_buffer(); + fmtquill::format_to(std::back_inserter(out), "The answer is {}.", 42); This will append the following output to the ``out`` object: @@ -820,40 +888,60 @@ class basic_memory_buffer final : public detail::buffer { private: T store_[SIZE]; - // Don't inherit from Allocator avoid generating type_info for it. - Allocator alloc_; + // Don't inherit from Allocator to avoid generating type_info for it. + FMTQUILL_NO_UNIQUE_ADDRESS Allocator alloc_; // Deallocate memory allocated by the buffer. - FMT_CONSTEXPR20 void deallocate() { + FMTQUILL_CONSTEXPR20 void deallocate() { T* data = this->data(); if (data != store_) alloc_.deallocate(data, this->capacity()); } protected: - FMT_CONSTEXPR20 void grow(size_t size) override; + FMTQUILL_CONSTEXPR20 void grow(size_t size) override { + detail::abort_fuzzing_if(size > 5000); + const size_t max_size = std::allocator_traits::max_size(alloc_); + size_t old_capacity = this->capacity(); + size_t new_capacity = old_capacity + old_capacity / 2; + if (size > new_capacity) + new_capacity = size; + else if (new_capacity > max_size) + new_capacity = size > max_size ? size : max_size; + T* old_data = this->data(); + T* new_data = + std::allocator_traits::allocate(alloc_, new_capacity); + // Suppress a bogus -Wstringop-overflow in gcc 13.1 (#3481). + detail::assume(this->size() <= new_capacity); + // The following code doesn't throw, so the raw pointer above doesn't leak. + std::uninitialized_copy_n(old_data, this->size(), new_data); + this->set(new_data, new_capacity); + // deallocate must not throw according to the standard, but even if it does, + // the buffer already uses the new storage and will deallocate it in + // destructor. + if (old_data != store_) alloc_.deallocate(old_data, old_capacity); + } public: using value_type = T; using const_reference = const T&; - FMT_CONSTEXPR20 explicit basic_memory_buffer( + FMTQUILL_CONSTEXPR20 explicit basic_memory_buffer( const Allocator& alloc = Allocator()) : alloc_(alloc) { this->set(store_, SIZE); if (detail::is_constant_evaluated()) detail::fill_n(store_, SIZE, T()); } - FMT_CONSTEXPR20 ~basic_memory_buffer() { deallocate(); } + FMTQUILL_CONSTEXPR20 ~basic_memory_buffer() { deallocate(); } private: // Move data from other to this buffer. - FMT_CONSTEXPR20 void move(basic_memory_buffer& other) { + FMTQUILL_CONSTEXPR20 void move(basic_memory_buffer& other) { alloc_ = std::move(other.alloc_); T* data = other.data(); size_t size = other.size(), capacity = other.capacity(); if (data == other.store_) { this->set(store_, capacity); - detail::copy_str(other.store_, other.store_ + size, - detail::make_checked(store_, capacity)); + detail::copy_str(other.store_, other.store_ + size, store_); } else { this->set(data, capacity); // Set pointer to the inline array so that delete is not called @@ -867,11 +955,11 @@ class basic_memory_buffer final : public detail::buffer { public: /** \rst - Constructs a :class:`fmt::basic_memory_buffer` object moving the content + Constructs a :class:`fmtquill::basic_memory_buffer` object moving the content of the other object to it. \endrst */ - FMT_CONSTEXPR20 basic_memory_buffer(basic_memory_buffer&& other) noexcept { + FMTQUILL_CONSTEXPR20 basic_memory_buffer(basic_memory_buffer&& other) noexcept { move(other); } @@ -881,7 +969,7 @@ class basic_memory_buffer final : public detail::buffer { \endrst */ auto operator=(basic_memory_buffer&& other) noexcept -> basic_memory_buffer& { - FMT_ASSERT(this != &other, ""); + FMTQUILL_ASSERT(this != &other, ""); deallocate(); move(other); return *this; @@ -894,12 +982,11 @@ class basic_memory_buffer final : public detail::buffer { Resizes the buffer to contain *count* elements. If T is a POD type new elements may not be initialized. */ - FMT_CONSTEXPR20 void resize(size_t count) { this->try_resize(count); } + FMTQUILL_CONSTEXPR20 void resize(size_t count) { this->try_resize(count); } /** Increases the buffer capacity to *new_capacity*. */ void reserve(size_t new_capacity) { this->try_reserve(new_capacity); } - // Directly append data into the buffer using detail::buffer::append; template void append(const ContiguousRange& range) { @@ -907,59 +994,34 @@ class basic_memory_buffer final : public detail::buffer { } }; -template -FMT_CONSTEXPR20 void basic_memory_buffer::grow( - size_t size) { - detail::abort_fuzzing_if(size > 5000); - const size_t max_size = std::allocator_traits::max_size(alloc_); - size_t old_capacity = this->capacity(); - size_t new_capacity = old_capacity + old_capacity / 2; - if (size > new_capacity) - new_capacity = size; - else if (new_capacity > max_size) - new_capacity = size > max_size ? size : max_size; - T* old_data = this->data(); - T* new_data = - std::allocator_traits::allocate(alloc_, new_capacity); - // The following code doesn't throw, so the raw pointer above doesn't leak. - std::uninitialized_copy(old_data, old_data + this->size(), - detail::make_checked(new_data, new_capacity)); - this->set(new_data, new_capacity); - // deallocate must not throw according to the standard, but even if it does, - // the buffer already uses the new storage and will deallocate it in - // destructor. - if (old_data != store_) alloc_.deallocate(old_data, old_capacity); -} - using memory_buffer = basic_memory_buffer; template struct is_contiguous> : std::true_type { }; +FMTQUILL_END_EXPORT namespace detail { -#ifdef _WIN32 -FMT_API bool write_console(std::FILE* f, string_view text); -#endif -FMT_API void print(std::FILE*, string_view); +FMTQUILL_API auto write_console(int fd, string_view text) -> bool; +FMTQUILL_API auto write_console(std::FILE* f, string_view text) -> bool; +FMTQUILL_API void print(std::FILE*, string_view); } // namespace detail -/** A formatting error such as invalid format string. */ -FMT_CLASS_API -class FMT_API format_error : public std::runtime_error { +FMTQUILL_BEGIN_EXPORT + +// Suppress a misleading warning in older versions of clang. +#if FMTQUILL_CLANG_VERSION +# pragma clang diagnostic ignored "-Wweak-vtables" +#endif + +/** An error reported from a formatting function. */ +class FMTQUILL_SO_VISIBILITY("default") format_error : public std::runtime_error { public: - explicit format_error(const char* message) : std::runtime_error(message) {} - explicit format_error(const std::string& message) - : std::runtime_error(message) {} - format_error(const format_error&) = default; - format_error& operator=(const format_error&) = default; - format_error(format_error&&) = default; - format_error& operator=(format_error&&) = default; - ~format_error() noexcept override FMT_MSC_DEFAULT; + using std::runtime_error::runtime_error; }; namespace detail_exported { -#if FMT_USE_NONTYPE_TEMPLATE_ARGS +#if FMTQUILL_USE_NONTYPE_TEMPLATE_ARGS template struct fixed_string { constexpr fixed_string(const Char (&str)[N]) { detail::copy_str(static_cast(str), @@ -984,33 +1046,69 @@ constexpr auto compile_string_to_view(detail::std_string_view s) } } // namespace detail_exported -FMT_BEGIN_DETAIL_NAMESPACE +class loc_value { + private: + basic_format_arg value_; -template struct is_integral : std::is_integral {}; -template <> struct is_integral : std::true_type {}; -template <> struct is_integral : std::true_type {}; + public: + template ::value)> + loc_value(T value) : value_(detail::make_arg(value)) {} -template -using is_signed = - std::integral_constant::is_signed || - std::is_same::value>; + template ::value)> + loc_value(T) {} + + template auto visit(Visitor&& vis) -> decltype(vis(0)) { + return visit_format_arg(vis, value_); + } +}; + +// A locale facet that formats values in UTF-8. +// It is parameterized on the locale to avoid the heavy include. +template class format_facet : public Locale::facet { + private: + std::string separator_; + std::string grouping_; + std::string decimal_point_; + + protected: + virtual auto do_put(appender out, loc_value val, + const format_specs<>& specs) const -> bool; + + public: + static FMTQUILL_API typename Locale::id id; + + explicit format_facet(Locale& loc); + explicit format_facet(string_view sep = "", + std::initializer_list g = {3}, + std::string decimal_point = ".") + : separator_(sep.data(), sep.size()), + grouping_(g.begin(), g.end()), + decimal_point_(decimal_point) {} + + auto put(appender out, loc_value val, const format_specs<>& specs) const + -> bool { + return do_put(out, val, specs); + } +}; + +namespace detail { // Returns true if value is negative, false otherwise. // Same as `value < 0` but doesn't produce warnings if T is an unsigned type. -template ::value)> +template ::value)> constexpr auto is_negative(T value) -> bool { return value < 0; } -template ::value)> +template ::value)> constexpr auto is_negative(T) -> bool { return false; } template -FMT_CONSTEXPR auto is_supported_floating_point(T) -> bool { - if (std::is_same()) return FMT_USE_FLOAT; - if (std::is_same()) return FMT_USE_DOUBLE; - if (std::is_same()) return FMT_USE_LONG_DOUBLE; +FMTQUILL_CONSTEXPR auto is_supported_floating_point(T) -> bool { + if (std::is_same()) return FMTQUILL_USE_FLOAT; + if (std::is_same()) return FMTQUILL_USE_DOUBLE; + if (std::is_same()) return FMTQUILL_USE_LONG_DOUBLE; return true; } @@ -1018,19 +1116,19 @@ FMT_CONSTEXPR auto is_supported_floating_point(T) -> bool { // represent all values of an integral type T. template using uint32_or_64_or_128_t = - conditional_t() <= 32 && !FMT_REDUCE_INT_INSTANTIATIONS, + conditional_t() <= 32 && !FMTQUILL_REDUCE_INT_INSTANTIATIONS, uint32_t, conditional_t() <= 64, uint64_t, uint128_t>>; template using uint64_or_128_t = conditional_t() <= 64, uint64_t, uint128_t>; -#define FMT_POWERS_OF_10(factor) \ - factor * 10, (factor)*100, (factor)*1000, (factor)*10000, (factor)*100000, \ - (factor)*1000000, (factor)*10000000, (factor)*100000000, \ - (factor)*1000000000 +#define FMTQUILL_POWERS_OF_10(factor) \ + factor * 10, (factor) * 100, (factor) * 1000, (factor) * 10000, \ + (factor) * 100000, (factor) * 1000000, (factor) * 10000000, \ + (factor) * 100000000, (factor) * 1000000000 // Converts value in the range [0, 100) to a string. -constexpr const char* digits2(size_t value) { +constexpr auto digits2(size_t value) -> const char* { // GCC generates slightly better code when value is pointer-size. return &"0001020304050607080910111213141516171819" "2021222324252627282930313233343536373839" @@ -1040,14 +1138,14 @@ constexpr const char* digits2(size_t value) { } // Sign is a template parameter to workaround a bug in gcc 4.8. -template constexpr Char sign(Sign s) { -#if !FMT_GCC_VERSION || FMT_GCC_VERSION >= 604 +template constexpr auto sign(Sign s) -> Char { +#if !FMTQUILL_GCC_VERSION || FMTQUILL_GCC_VERSION >= 604 static_assert(std::is_same::value, ""); #endif return static_cast("\0-+ "[s]); } -template FMT_CONSTEXPR auto count_digits_fallback(T n) -> int { +template FMTQUILL_CONSTEXPR auto count_digits_fallback(T n) -> int { int count = 1; for (;;) { // Integer division is slow so do it for a group of four digits instead @@ -1061,13 +1159,13 @@ template FMT_CONSTEXPR auto count_digits_fallback(T n) -> int { count += 4; } } -#if FMT_USE_INT128 -FMT_CONSTEXPR inline auto count_digits(uint128_opt n) -> int { +#if FMTQUILL_USE_INT128 +FMTQUILL_CONSTEXPR inline auto count_digits(uint128_opt n) -> int { return count_digits_fallback(n); } #endif -#ifdef FMT_BUILTIN_CLZLL +#ifdef FMTQUILL_BUILTIN_CLZLL // It is a separate function rather than a part of count_digits to workaround // the lack of static constexpr in constexpr functions. inline auto do_count_digits(uint64_t n) -> int { @@ -1080,9 +1178,9 @@ inline auto do_count_digits(uint64_t n) -> int { 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20}; - auto t = bsr2log10[FMT_BUILTIN_CLZLL(n | 1) ^ 63]; + auto t = bsr2log10[FMTQUILL_BUILTIN_CLZLL(n | 1) ^ 63]; static constexpr const uint64_t zero_or_powers_of_10[] = { - 0, 0, FMT_POWERS_OF_10(1U), FMT_POWERS_OF_10(1000000000ULL), + 0, 0, FMTQUILL_POWERS_OF_10(1U), FMTQUILL_POWERS_OF_10(1000000000ULL), 10000000000000000000ULL}; return t - (n < zero_or_powers_of_10[t]); } @@ -1090,8 +1188,8 @@ inline auto do_count_digits(uint64_t n) -> int { // Returns the number of decimal digits in n. Leading zeros are not counted // except for n == 0 in which case count_digits returns 1. -FMT_CONSTEXPR20 inline auto count_digits(uint64_t n) -> int { -#ifdef FMT_BUILTIN_CLZLL +FMTQUILL_CONSTEXPR20 inline auto count_digits(uint64_t n) -> int { +#ifdef FMTQUILL_BUILTIN_CLZLL if (!is_constant_evaluated()) { return do_count_digits(n); } @@ -1101,10 +1199,10 @@ FMT_CONSTEXPR20 inline auto count_digits(uint64_t n) -> int { // Counts the number of digits in n. BITS = log2(radix). template -FMT_CONSTEXPR auto count_digits(UInt n) -> int { -#ifdef FMT_BUILTIN_CLZ +FMTQUILL_CONSTEXPR auto count_digits(UInt n) -> int { +#ifdef FMTQUILL_BUILTIN_CLZ if (!is_constant_evaluated() && num_bits() == 32) - return (FMT_BUILTIN_CLZ(static_cast(n) | 1) ^ 31) / BITS + 1; + return (FMTQUILL_BUILTIN_CLZ(static_cast(n) | 1) ^ 31) / BITS + 1; #endif // Lambda avoids unreachable code warnings from NVHPC. return [](UInt m) { @@ -1116,34 +1214,34 @@ FMT_CONSTEXPR auto count_digits(UInt n) -> int { }(n); } -#ifdef FMT_BUILTIN_CLZ +#ifdef FMTQUILL_BUILTIN_CLZ // It is a separate function rather than a part of count_digits to workaround // the lack of static constexpr in constexpr functions. -FMT_INLINE auto do_count_digits(uint32_t n) -> int { +FMTQUILL_INLINE auto do_count_digits(uint32_t n) -> int { // An optimization by Kendall Willets from https://bit.ly/3uOIQrB. // This increments the upper 32 bits (log10(T) - 1) when >= T is added. -# define FMT_INC(T) (((sizeof(# T) - 1ull) << 32) - T) +# define FMTQUILL_INC(T) (((sizeof(#T) - 1ull) << 32) - T) static constexpr uint64_t table[] = { - FMT_INC(0), FMT_INC(0), FMT_INC(0), // 8 - FMT_INC(10), FMT_INC(10), FMT_INC(10), // 64 - FMT_INC(100), FMT_INC(100), FMT_INC(100), // 512 - FMT_INC(1000), FMT_INC(1000), FMT_INC(1000), // 4096 - FMT_INC(10000), FMT_INC(10000), FMT_INC(10000), // 32k - FMT_INC(100000), FMT_INC(100000), FMT_INC(100000), // 256k - FMT_INC(1000000), FMT_INC(1000000), FMT_INC(1000000), // 2048k - FMT_INC(10000000), FMT_INC(10000000), FMT_INC(10000000), // 16M - FMT_INC(100000000), FMT_INC(100000000), FMT_INC(100000000), // 128M - FMT_INC(1000000000), FMT_INC(1000000000), FMT_INC(1000000000), // 1024M - FMT_INC(1000000000), FMT_INC(1000000000) // 4B + FMTQUILL_INC(0), FMTQUILL_INC(0), FMTQUILL_INC(0), // 8 + FMTQUILL_INC(10), FMTQUILL_INC(10), FMTQUILL_INC(10), // 64 + FMTQUILL_INC(100), FMTQUILL_INC(100), FMTQUILL_INC(100), // 512 + FMTQUILL_INC(1000), FMTQUILL_INC(1000), FMTQUILL_INC(1000), // 4096 + FMTQUILL_INC(10000), FMTQUILL_INC(10000), FMTQUILL_INC(10000), // 32k + FMTQUILL_INC(100000), FMTQUILL_INC(100000), FMTQUILL_INC(100000), // 256k + FMTQUILL_INC(1000000), FMTQUILL_INC(1000000), FMTQUILL_INC(1000000), // 2048k + FMTQUILL_INC(10000000), FMTQUILL_INC(10000000), FMTQUILL_INC(10000000), // 16M + FMTQUILL_INC(100000000), FMTQUILL_INC(100000000), FMTQUILL_INC(100000000), // 128M + FMTQUILL_INC(1000000000), FMTQUILL_INC(1000000000), FMTQUILL_INC(1000000000), // 1024M + FMTQUILL_INC(1000000000), FMTQUILL_INC(1000000000) // 4B }; - auto inc = table[FMT_BUILTIN_CLZ(n | 1) ^ 31]; + auto inc = table[FMTQUILL_BUILTIN_CLZ(n | 1) ^ 31]; return static_cast((n + inc) >> 32); } #endif // Optional version of count_digits for better performance on 32-bit platforms. -FMT_CONSTEXPR20 inline auto count_digits(uint32_t n) -> int { -#ifdef FMT_BUILTIN_CLZ +FMTQUILL_CONSTEXPR20 inline auto count_digits(uint32_t n) -> int { +#ifdef FMTQUILL_BUILTIN_CLZ if (!is_constant_evaluated()) { return do_count_digits(n); } @@ -1163,7 +1261,7 @@ template struct thousands_sep_result { }; template -FMT_API auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result; +FMTQUILL_API auto thousands_sep_impl(locale_ref loc) -> thousands_sep_result; template inline auto thousands_sep(locale_ref loc) -> thousands_sep_result { auto result = thousands_sep_impl(loc); @@ -1175,7 +1273,7 @@ inline auto thousands_sep(locale_ref loc) -> thousands_sep_result { } template -FMT_API auto decimal_point_impl(locale_ref loc) -> Char; +FMTQUILL_API auto decimal_point_impl(locale_ref loc) -> Char; template inline auto decimal_point(locale_ref loc) -> Char { return Char(decimal_point_impl(loc)); } @@ -1193,7 +1291,7 @@ inline auto equal2(const char* lhs, const char* rhs) -> bool { // Copies two characters from src to dst. template -FMT_CONSTEXPR20 FMT_INLINE void copy2(Char* dst, const char* src) { +FMTQUILL_CONSTEXPR20 FMTQUILL_INLINE void copy2(Char* dst, const char* src) { if (!is_constant_evaluated() && sizeof(Char) == sizeof(char)) { memcpy(dst, src, 2); return; @@ -1211,9 +1309,9 @@ template struct format_decimal_result { // buffer of specified size. The caller must ensure that the buffer is large // enough. template -FMT_CONSTEXPR20 auto format_decimal(Char* out, UInt value, int size) +FMTQUILL_CONSTEXPR20 auto format_decimal(Char* out, UInt value, int size) -> format_decimal_result { - FMT_ASSERT(size >= count_digits(value), "invalid digit count"); + FMTQUILL_ASSERT(size >= count_digits(value), "invalid digit count"); out += size; Char* end = out; while (value >= 100) { @@ -1234,17 +1332,17 @@ FMT_CONSTEXPR20 auto format_decimal(Char* out, UInt value, int size) } template >::value)> -FMT_CONSTEXPR inline auto format_decimal(Iterator out, UInt value, int size) + FMTQUILL_ENABLE_IF(!std::is_pointer>::value)> +FMTQUILL_CONSTEXPR inline auto format_decimal(Iterator out, UInt value, int size) -> format_decimal_result { // Buffer is large enough to hold all digits (digits10 + 1). - Char buffer[digits10() + 1]; + Char buffer[digits10() + 1] = {}; auto end = format_decimal(buffer, value, size).end; return {out, detail::copy_str_noinline(buffer, end, out)}; } template -FMT_CONSTEXPR auto format_uint(Char* buffer, UInt value, int num_digits, +FMTQUILL_CONSTEXPR auto format_uint(Char* buffer, UInt value, int num_digits, bool upper = false) -> Char* { buffer += num_digits; Char* end = buffer; @@ -1258,14 +1356,14 @@ FMT_CONSTEXPR auto format_uint(Char* buffer, UInt value, int num_digits, } template -inline auto format_uint(It out, UInt value, int num_digits, bool upper = false) - -> It { +FMTQUILL_CONSTEXPR inline auto format_uint(It out, UInt value, int num_digits, + bool upper = false) -> It { if (auto ptr = to_pointer(out, to_unsigned(num_digits))) { format_uint(ptr, value, num_digits, upper); return out; } // Buffer should be large enough to hold all digits (digits / BASE_BITS + 1). - char buffer[num_bits() / BASE_BITS + 1]; + char buffer[num_bits() / BASE_BITS + 1] = {}; format_uint(buffer, value, num_digits, upper); return detail::copy_str_noinline(buffer, buffer + num_digits, out); } @@ -1276,14 +1374,147 @@ class utf8_to_utf16 { basic_memory_buffer buffer_; public: - FMT_API explicit utf8_to_utf16(string_view s); + FMTQUILL_API explicit utf8_to_utf16(string_view s); operator basic_string_view() const { return {&buffer_[0], size()}; } auto size() const -> size_t { return buffer_.size() - 1; } auto c_str() const -> const wchar_t* { return &buffer_[0]; } auto str() const -> std::wstring { return {&buffer_[0], size()}; } }; +enum class to_utf8_error_policy { abort, replace }; + +// A converter from UTF-16/UTF-32 (host endian) to UTF-8. +template class to_utf8 { + private: + Buffer buffer_; + + public: + to_utf8() {} + explicit to_utf8(basic_string_view s, + to_utf8_error_policy policy = to_utf8_error_policy::abort) { + static_assert(sizeof(WChar) == 2 || sizeof(WChar) == 4, + "Expect utf16 or utf32"); + if (!convert(s, policy)) + FMTQUILL_THROW(std::runtime_error(sizeof(WChar) == 2 ? "invalid utf16" + : "invalid utf32")); + } + operator string_view() const { return string_view(&buffer_[0], size()); } + auto size() const -> size_t { return buffer_.size() - 1; } + auto c_str() const -> const char* { return &buffer_[0]; } + auto str() const -> std::string { return std::string(&buffer_[0], size()); } + + // Performs conversion returning a bool instead of throwing exception on + // conversion error. This method may still throw in case of memory allocation + // error. + auto convert(basic_string_view s, + to_utf8_error_policy policy = to_utf8_error_policy::abort) + -> bool { + if (!convert(buffer_, s, policy)) return false; + buffer_.push_back(0); + return true; + } + static auto convert(Buffer& buf, basic_string_view s, + to_utf8_error_policy policy = to_utf8_error_policy::abort) + -> bool { + for (auto p = s.begin(); p != s.end(); ++p) { + uint32_t c = static_cast(*p); + if (sizeof(WChar) == 2 && c >= 0xd800 && c <= 0xdfff) { + // Handle a surrogate pair. + ++p; + if (p == s.end() || (c & 0xfc00) != 0xd800 || (*p & 0xfc00) != 0xdc00) { + if (policy == to_utf8_error_policy::abort) return false; + buf.append(string_view("\xEF\xBF\xBD")); + --p; + } else { + c = (c << 10) + static_cast(*p) - 0x35fdc00; + } + } else if (c < 0x80) { + buf.push_back(static_cast(c)); + } else if (c < 0x800) { + buf.push_back(static_cast(0xc0 | (c >> 6))); + buf.push_back(static_cast(0x80 | (c & 0x3f))); + } else if ((c >= 0x800 && c <= 0xd7ff) || (c >= 0xe000 && c <= 0xffff)) { + buf.push_back(static_cast(0xe0 | (c >> 12))); + buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); + buf.push_back(static_cast(0x80 | (c & 0x3f))); + } else if (c >= 0x10000 && c <= 0x10ffff) { + buf.push_back(static_cast(0xf0 | (c >> 18))); + buf.push_back(static_cast(0x80 | ((c & 0x3ffff) >> 12))); + buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); + buf.push_back(static_cast(0x80 | (c & 0x3f))); + } else { + return false; + } + } + return true; + } +}; + +// Computes 128-bit result of multiplication of two 64-bit unsigned integers. +inline auto umul128(uint64_t x, uint64_t y) noexcept -> uint128_fallback { +#if FMTQUILL_USE_INT128 + auto p = static_cast(x) * static_cast(y); + return {static_cast(p >> 64), static_cast(p)}; +#elif defined(_MSC_VER) && defined(_M_X64) + auto hi = uint64_t(); + auto lo = _umul128(x, y, &hi); + return {hi, lo}; +#else + const uint64_t mask = static_cast(max_value()); + + uint64_t a = x >> 32; + uint64_t b = x & mask; + uint64_t c = y >> 32; + uint64_t d = y & mask; + + uint64_t ac = a * c; + uint64_t bc = b * c; + uint64_t ad = a * d; + uint64_t bd = b * d; + + uint64_t intermediate = (bd >> 32) + (ad & mask) + (bc & mask); + + return {ac + (intermediate >> 32) + (ad >> 32) + (bc >> 32), + (intermediate << 32) + (bd & mask)}; +#endif +} + namespace dragonbox { +// Computes floor(log10(pow(2, e))) for e in [-2620, 2620] using the method from +// https://fmt.dev/papers/Dragonbox.pdf#page=28, section 6.1. +inline auto floor_log10_pow2(int e) noexcept -> int { + FMTQUILL_ASSERT(e <= 2620 && e >= -2620, "too large exponent"); + static_assert((-1 >> 1) == -1, "right shift is not arithmetic"); + return (e * 315653) >> 20; +} + +inline auto floor_log2_pow10(int e) noexcept -> int { + FMTQUILL_ASSERT(e <= 1233 && e >= -1233, "too large exponent"); + return (e * 1741647) >> 19; +} + +// Computes upper 64 bits of multiplication of two 64-bit unsigned integers. +inline auto umul128_upper64(uint64_t x, uint64_t y) noexcept -> uint64_t { +#if FMTQUILL_USE_INT128 + auto p = static_cast(x) * static_cast(y); + return static_cast(p >> 64); +#elif defined(_MSC_VER) && defined(_M_X64) + return __umulh(x, y); +#else + return umul128(x, y).high(); +#endif +} + +// Computes upper 128 bits of multiplication of a 64-bit unsigned integer and a +// 128-bit unsigned integer. +inline auto umul192_upper128(uint64_t x, uint128_fallback y) noexcept + -> uint128_fallback { + uint128_fallback r = umul128(x, y.high()); + r += umul128_upper64(x, y.low()); + return r; +} + +FMTQUILL_API auto get_cached_power(int k) noexcept -> uint128_fallback; // Type-specific information that Dragonbox uses. template struct float_info; @@ -1307,7 +1538,7 @@ template <> struct float_info { static const int big_divisor = 1000; static const int small_divisor = 100; static const int min_k = -292; - static const int max_k = 326; + static const int max_k = 341; static const int shorter_interval_tie_lower_threshold = -77; static const int shorter_interval_tie_upper_threshold = -77; }; @@ -1333,18 +1564,18 @@ template struct decimal_fp { int exponent; }; -template FMT_API auto to_decimal(T x) noexcept -> decimal_fp; +template FMTQUILL_API auto to_decimal(T x) noexcept -> decimal_fp; } // namespace dragonbox // Returns true iff Float has the implicit bit which is not stored. -template constexpr bool has_implicit_bit() { +template constexpr auto has_implicit_bit() -> bool { // An 80-bit FP number has a 64-bit significand an no implicit bit. return std::numeric_limits::digits != 64; } // Returns the number of significand bits stored in Float. The implicit bit is // not counted since it is not stored. -template constexpr int num_significand_bits() { +template constexpr auto num_significand_bits() -> int { // std::numeric_limits may not support __float128. return is_float128() ? 112 : (std::numeric_limits::digits - @@ -1354,8 +1585,8 @@ template constexpr int num_significand_bits() { template constexpr auto exponent_mask() -> typename dragonbox::float_info::carrier_uint { - using uint = typename dragonbox::float_info::carrier_uint; - return ((uint(1) << dragonbox::float_info::exponent_bits) - 1) + using float_uint = typename dragonbox::float_info::carrier_uint; + return ((float_uint(1) << dragonbox::float_info::exponent_bits) - 1) << num_significand_bits(); } template constexpr auto exponent_bias() -> int { @@ -1366,8 +1597,8 @@ template constexpr auto exponent_bias() -> int { // Writes the exponent exp in the form "[+-]d{2,3}" to buffer. template -FMT_CONSTEXPR auto write_exponent(int exp, It it) -> It { - FMT_ASSERT(-10000 < exp && exp < 10000, "exponent out of range"); +FMTQUILL_CONSTEXPR auto write_exponent(int exp, It it) -> It { + FMTQUILL_ASSERT(-10000 < exp && exp < 10000, "exponent out of range"); if (exp < 0) { *it++ = static_cast('-'); exp = -exp; @@ -1398,11 +1629,11 @@ template struct basic_fp { constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {} // Constructs fp from an IEEE754 floating-point number. - template FMT_CONSTEXPR basic_fp(Float n) { assign(n); } + template FMTQUILL_CONSTEXPR basic_fp(Float n) { assign(n); } // Assigns n to this and return true iff predecessor is closer than successor. - template ::value)> - FMT_CONSTEXPR auto assign(Float n) -> bool { + template ::value)> + FMTQUILL_CONSTEXPR auto assign(Float n) -> bool { static_assert(std::numeric_limits::digits <= 113, "unsupported FP"); // Assume Float is in the format [sign][exponent][significand]. using carrier_uint = typename dragonbox::float_info::carrier_uint; @@ -1426,8 +1657,8 @@ template struct basic_fp { return is_predecessor_closer; } - template ::value)> - FMT_CONSTEXPR auto assign(Float n) -> bool { + template ::value)> + FMTQUILL_CONSTEXPR auto assign(Float n) -> bool { static_assert(std::numeric_limits::is_iec559, "unsupported FP"); return assign(static_cast(n)); } @@ -1437,7 +1668,7 @@ using fp = basic_fp; // Normalizes the value converted from double and multiplied by (1 << SHIFT). template -FMT_CONSTEXPR basic_fp normalize(basic_fp value) { +FMTQUILL_CONSTEXPR auto normalize(basic_fp value) -> basic_fp { // Handle subnormals. const auto implicit_bit = F(1) << num_significand_bits(); const auto shifted_implicit_bit = implicit_bit << SHIFT; @@ -1454,8 +1685,8 @@ FMT_CONSTEXPR basic_fp normalize(basic_fp value) { } // Computes lhs * rhs / pow(2, 64) rounded to nearest with half-up tie breaking. -FMT_CONSTEXPR inline uint64_t multiply(uint64_t lhs, uint64_t rhs) { -#if FMT_USE_INT128 +FMTQUILL_CONSTEXPR inline auto multiply(uint64_t lhs, uint64_t rhs) -> uint64_t { +#if FMTQUILL_USE_INT128 auto product = static_cast<__uint128_t>(lhs) * rhs; auto f = static_cast(product >> 64); return (static_cast(product) & (1ULL << 63)) != 0 ? f + 1 : f; @@ -1471,162 +1702,13 @@ FMT_CONSTEXPR inline uint64_t multiply(uint64_t lhs, uint64_t rhs) { #endif } -FMT_CONSTEXPR inline fp operator*(fp x, fp y) { +FMTQUILL_CONSTEXPR inline auto operator*(fp x, fp y) -> fp { return {multiply(x.f, y.f), x.e + y.e + 64}; } -template struct basic_data { - // Normalized 64-bit significands of pow(10, k), for k = -348, -340, ..., 340. - // These are generated by support/compute-powers.py. - static constexpr uint64_t pow10_significands[87] = { - 0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76, - 0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df, - 0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c, - 0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5, - 0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57, - 0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7, - 0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e, - 0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996, - 0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126, - 0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053, - 0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f, - 0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b, - 0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06, - 0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb, - 0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000, - 0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984, - 0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068, - 0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8, - 0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758, - 0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85, - 0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d, - 0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25, - 0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2, - 0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a, - 0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410, - 0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129, - 0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85, - 0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841, - 0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b, - }; - -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wnarrowing" -#endif - // Binary exponents of pow(10, k), for k = -348, -340, ..., 340, corresponding - // to significands above. - static constexpr int16_t pow10_exponents[87] = { - -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954, - -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661, - -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369, - -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77, - -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216, - 242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508, - 534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800, - 827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066}; -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 -# pragma GCC diagnostic pop -#endif - - static constexpr uint64_t power_of_10_64[20] = { - 1, FMT_POWERS_OF_10(1ULL), FMT_POWERS_OF_10(1000000000ULL), - 10000000000000000000ULL}; -}; - -#if FMT_CPLUSPLUS < 201703L -template constexpr uint64_t basic_data::pow10_significands[]; -template constexpr int16_t basic_data::pow10_exponents[]; -template constexpr uint64_t basic_data::power_of_10_64[]; -#endif - -// This is a struct rather than an alias to avoid shadowing warnings in gcc. -struct data : basic_data<> {}; - -// Returns a cached power of 10 `c_k = c_k.f * pow(2, c_k.e)` such that its -// (binary) exponent satisfies `min_exponent <= c_k.e <= min_exponent + 28`. -FMT_CONSTEXPR inline fp get_cached_power(int min_exponent, - int& pow10_exponent) { - const int shift = 32; - // log10(2) = 0x0.4d104d427de7fbcc... - const int64_t significand = 0x4d104d427de7fbcc; - int index = static_cast( - ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) + - ((int64_t(1) << shift) - 1)) // ceil - >> 32 // arithmetic shift - ); - // Decimal exponent of the first (smallest) cached power of 10. - const int first_dec_exp = -348; - // Difference between 2 consecutive decimal exponents in cached powers of 10. - const int dec_exp_step = 8; - index = (index - first_dec_exp - 1) / dec_exp_step + 1; - pow10_exponent = first_dec_exp + index * dec_exp_step; - // Using *(x + index) instead of x[index] avoids an issue with some compilers - // using the EDG frontend (e.g. nvhpc/22.3 in C++17 mode). - return {*(data::pow10_significands + index), - *(data::pow10_exponents + index)}; -} - -#ifndef _MSC_VER -# define FMT_SNPRINTF snprintf -#else -FMT_API auto fmt_snprintf(char* buf, size_t size, const char* fmt, ...) -> int; -# define FMT_SNPRINTF fmt_snprintf -#endif // _MSC_VER - -// Formats a floating-point number with snprintf using the hexfloat format. -template -auto snprintf_float(T value, int precision, float_specs specs, - buffer& buf) -> int { - // Buffer capacity must be non-zero, otherwise MSVC's vsnprintf_s will fail. - FMT_ASSERT(buf.capacity() > buf.size(), "empty buffer"); - FMT_ASSERT(specs.format == float_format::hex, ""); - static_assert(!std::is_same::value, ""); - - // Build the format string. - char format[7]; // The longest format is "%#.*Le". - char* format_ptr = format; - *format_ptr++ = '%'; - if (specs.showpoint) *format_ptr++ = '#'; - if (precision >= 0) { - *format_ptr++ = '.'; - *format_ptr++ = '*'; - } - if (std::is_same()) *format_ptr++ = 'L'; - *format_ptr++ = specs.upper ? 'A' : 'a'; - *format_ptr = '\0'; - - // Format using snprintf. - auto offset = buf.size(); - for (;;) { - auto begin = buf.data() + offset; - auto capacity = buf.capacity() - offset; - abort_fuzzing_if(precision > 100000); - // Suppress the warning about a nonliteral format string. - // Cannot use auto because of a bug in MinGW (#1532). - int (*snprintf_ptr)(char*, size_t, const char*, ...) = FMT_SNPRINTF; - int result = precision >= 0 - ? snprintf_ptr(begin, capacity, format, precision, value) - : snprintf_ptr(begin, capacity, format, value); - if (result < 0) { - // The buffer will grow exponentially. - buf.try_reserve(buf.capacity() + 1); - continue; - } - auto size = to_unsigned(result); - // Size equal to capacity means that the last character was truncated. - if (size < capacity) { - buf.try_resize(size + offset); - return 0; - } - buf.try_reserve(size + offset + 1); // Add 1 for the terminating '\0'. - } -} - -template +template () == num_bits()> using convert_float_result = - conditional_t::value || sizeof(T) == sizeof(double), - double, T>; + conditional_t::value || doublish, double, T>; template constexpr auto convert_float(T value) -> convert_float_result { @@ -1634,7 +1716,7 @@ constexpr auto convert_float(T value) -> convert_float_result { } template -FMT_NOINLINE FMT_CONSTEXPR auto fill(OutputIt it, size_t n, +FMTQUILL_NOINLINE FMTQUILL_CONSTEXPR auto fill(OutputIt it, size_t n, const fill_t& fill) -> OutputIt { auto fill_size = fill.size(); if (fill_size == 1) return detail::fill_n(it, n, fill[0]); @@ -1649,8 +1731,7 @@ FMT_NOINLINE FMT_CONSTEXPR auto fill(OutputIt it, size_t n, // width: output display width in (terminal) column positions. template -FMT_CONSTEXPR auto write_padded(OutputIt out, - const basic_format_specs& specs, +FMTQUILL_CONSTEXPR auto write_padded(OutputIt out, const format_specs& specs, size_t size, size_t width, F&& f) -> OutputIt { static_assert(align == align::left || align == align::right, ""); unsigned spec_width = to_unsigned(specs.width); @@ -1669,15 +1750,14 @@ FMT_CONSTEXPR auto write_padded(OutputIt out, template -constexpr auto write_padded(OutputIt out, const basic_format_specs& specs, +constexpr auto write_padded(OutputIt out, const format_specs& specs, size_t size, F&& f) -> OutputIt { return write_padded(out, specs, size, size, f); } template -FMT_CONSTEXPR auto write_bytes(OutputIt out, string_view bytes, - const basic_format_specs& specs) - -> OutputIt { +FMTQUILL_CONSTEXPR auto write_bytes(OutputIt out, string_view bytes, + const format_specs& specs) -> OutputIt { return write_padded( out, specs, bytes.size(), [bytes](reserve_iterator it) { const char* data = bytes.data(); @@ -1686,8 +1766,8 @@ FMT_CONSTEXPR auto write_bytes(OutputIt out, string_view bytes, } template -auto write_ptr(OutputIt out, UIntPtr value, - const basic_format_specs* specs) -> OutputIt { +auto write_ptr(OutputIt out, UIntPtr value, const format_specs* specs) + -> OutputIt { int num_digits = count_digits<4>(value); auto size = to_unsigned(num_digits) + size_t(2); auto write = [=](reserve_iterator it) { @@ -1700,7 +1780,7 @@ auto write_ptr(OutputIt out, UIntPtr value, } // Returns true iff the code point cp is printable. -FMT_API auto is_printable(uint32_t cp) -> bool; +FMTQUILL_API auto is_printable(uint32_t cp) -> bool; inline auto needs_escape(uint32_t cp) -> bool { return cp < 0x20 || cp == 0x7f || cp == '"' || cp == '\\' || @@ -1745,18 +1825,18 @@ inline auto find_escape(const char* begin, const char* end) return result; } -#define FMT_STRING_IMPL(s, base, explicit) \ +#define FMTQUILL_STRING_IMPL(s, base, explicit) \ [] { \ /* Use the hidden visibility as a workaround for a GCC bug (#1973). */ \ /* Use a macro-like name to avoid shadowing warnings. */ \ - struct FMT_GCC_VISIBILITY_HIDDEN FMT_COMPILE_STRING : base { \ - using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t; \ - FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit \ - operator fmt::basic_string_view() const { \ - return fmt::detail_exported::compile_string_to_view(s); \ + struct FMTQUILL_VISIBILITY("hidden") FMTQUILL_COMPILE_STRING : base { \ + using char_type FMTQUILL_MAYBE_UNUSED = fmtquill::remove_cvref_t; \ + FMTQUILL_MAYBE_UNUSED FMTQUILL_CONSTEXPR explicit \ + operator fmtquill::basic_string_view() const { \ + return fmtquill::detail_exported::compile_string_to_view(s); \ } \ }; \ - return FMT_COMPILE_STRING(); \ + return FMTQUILL_COMPILE_STRING(); \ }() /** @@ -1766,10 +1846,10 @@ inline auto find_escape(const char* begin, const char* end) **Example**:: // A compile-time error because 'd' is an invalid specifier for strings. - std::string s = fmt::format(FMT_STRING("{:d}"), "foo"); + std::string s = fmtquill::format(FMTQUILL_STRING("{:d}"), "foo"); \endrst */ -#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, ) +#define FMTQUILL_STRING(s) FMTQUILL_STRING_IMPL(s, fmtquill::detail::compile_string, ) template auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt { @@ -1799,23 +1879,21 @@ auto write_escaped_cp(OutputIt out, const find_escape_result& escape) c = static_cast('t'); break; case '"': - FMT_FALLTHROUGH; + FMTQUILL_FALLTHROUGH; case '\'': - FMT_FALLTHROUGH; + FMTQUILL_FALLTHROUGH; case '\\': *out++ = static_cast('\\'); break; default: - if (is_utf8()) { - if (escape.cp < 0x100) { - return write_codepoint<2, Char>(out, 'x', escape.cp); - } - if (escape.cp < 0x10000) { - return write_codepoint<4, Char>(out, 'u', escape.cp); - } - if (escape.cp < 0x110000) { - return write_codepoint<8, Char>(out, 'U', escape.cp); - } + if (escape.cp < 0x100) { + return write_codepoint<2, Char>(out, 'x', escape.cp); + } + if (escape.cp < 0x10000) { + return write_codepoint<4, Char>(out, 'u', escape.cp); + } + if (escape.cp < 0x110000) { + return write_codepoint<8, Char>(out, 'U', escape.cp); } for (Char escape_char : basic_string_view( escape.begin, to_unsigned(escape.end - escape.begin))) { @@ -1846,11 +1924,13 @@ auto write_escaped_string(OutputIt out, basic_string_view str) template auto write_escaped_char(OutputIt out, Char v) -> OutputIt { + Char v_array[1] = {v}; *out++ = static_cast('\''); if ((needs_escape(static_cast(v)) && v != static_cast('"')) || v == static_cast('\'')) { - out = write_escaped_cp( - out, find_escape_result{&v, &v + 1, static_cast(v)}); + out = write_escaped_cp(out, + find_escape_result{v_array, v_array + 1, + static_cast(v)}); } else { *out++ = v; } @@ -1859,9 +1939,8 @@ auto write_escaped_char(OutputIt out, Char v) -> OutputIt { } template -FMT_CONSTEXPR auto write_char(OutputIt out, Char value, - const basic_format_specs& specs) - -> OutputIt { +FMTQUILL_CONSTEXPR auto write_char(OutputIt out, Char value, + const format_specs& specs) -> OutputIt { bool is_debug = specs.type == presentation_type::debug; return write_padded(out, specs, 1, [=](reserve_iterator it) { if (is_debug) return write_escaped_char(it, value); @@ -1870,12 +1949,15 @@ FMT_CONSTEXPR auto write_char(OutputIt out, Char value, }); } template -FMT_CONSTEXPR auto write(OutputIt out, Char value, - const basic_format_specs& specs, - locale_ref loc = {}) -> OutputIt { +FMTQUILL_CONSTEXPR auto write(OutputIt out, Char value, + const format_specs& specs, locale_ref loc = {}) + -> OutputIt { + // char is formatted as unsigned char for consistency across platforms. + using unsigned_type = + conditional_t::value, unsigned char, unsigned>; return check_char_specs(specs) ? write_char(out, value, specs) - : write(out, static_cast(value), specs, loc); + : write(out, static_cast(value), specs, loc); } // Data for write_int that doesn't depend on output iterator type. It is used to @@ -1884,8 +1966,8 @@ template struct write_int_data { size_t size; size_t padding; - FMT_CONSTEXPR write_int_data(int num_digits, unsigned prefix, - const basic_format_specs& specs) + FMTQUILL_CONSTEXPR write_int_data(int num_digits, unsigned prefix, + const format_specs& specs) : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) { if (specs.align == align::numeric) { auto width = to_unsigned(specs.width); @@ -1905,9 +1987,9 @@ template struct write_int_data { // where are written by write_digits(it). // prefix contains chars in three lower bytes and the size in the fourth byte. template -FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, int num_digits, +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto write_int(OutputIt out, int num_digits, unsigned prefix, - const basic_format_specs& specs, + const format_specs& specs, W write_digits) -> OutputIt { // Slightly faster check for specs.width == 0 && specs.precision == -1. if ((specs.width | (specs.precision + 1)) == 0) { @@ -1930,19 +2012,19 @@ FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, int num_digits, template class digit_grouping { private: - thousands_sep_result sep_; + std::string grouping_; + std::basic_string thousands_sep_; struct next_state { std::string::const_iterator group; int pos; }; - next_state initial_state() const { return {sep_.grouping.begin(), 0}; } + auto initial_state() const -> next_state { return {grouping_.begin(), 0}; } // Returns the next digit group separator position. - int next(next_state& state) const { - if (!sep_.thousands_sep) return max_value(); - if (state.group == sep_.grouping.end()) - return state.pos += sep_.grouping.back(); + auto next(next_state& state) const -> int { + if (thousands_sep_.empty()) return max_value(); + if (state.group == grouping_.end()) return state.pos += grouping_.back(); if (*state.group <= 0 || *state.group == max_value()) return max_value(); state.pos += *state.group++; @@ -1951,16 +2033,17 @@ template class digit_grouping { public: explicit digit_grouping(locale_ref loc, bool localized = true) { - if (localized) - sep_ = thousands_sep(loc); - else - sep_.thousands_sep = Char(); + if (!localized) return; + auto sep = thousands_sep(loc); + grouping_ = sep.grouping; + if (sep.thousands_sep) thousands_sep_.assign(1, sep.thousands_sep); } - explicit digit_grouping(thousands_sep_result sep) : sep_(sep) {} + digit_grouping(std::string grouping, std::basic_string sep) + : grouping_(std::move(grouping)), thousands_sep_(std::move(sep)) {} - Char separator() const { return sep_.thousands_sep; } + auto has_separator() const -> bool { return !thousands_sep_.empty(); } - int count_separators(int num_digits) const { + auto count_separators(int num_digits) const -> int { int count = 0; auto state = initial_state(); while (num_digits > next(state)) ++count; @@ -1969,7 +2052,7 @@ template class digit_grouping { // Applies grouping to digits and write the output to out. template - Out apply(Out out, basic_string_view digits) const { + auto apply(Out out, basic_string_view digits) const -> Out { auto num_digits = static_cast(digits.size()); auto separators = basic_memory_buffer(); separators.push_back(0); @@ -1981,7 +2064,9 @@ template class digit_grouping { for (int i = 0, sep_index = static_cast(separators.size() - 1); i < num_digits; ++i) { if (num_digits - i == separators[sep_index]) { - *out++ = separator(); + out = + copy_str(thousands_sep_.data(), + thousands_sep_.data() + thousands_sep_.size(), out); --sep_index; } *out++ = static_cast(digits[to_unsigned(i)]); @@ -1990,38 +2075,76 @@ template class digit_grouping { } }; +FMTQUILL_CONSTEXPR inline void prefix_append(unsigned& prefix, unsigned value) { + prefix |= prefix != 0 ? value << 8 : value; + prefix += (1u + (value > 0xff ? 1 : 0)) << 24; +} + +// Writes a decimal integer with digit grouping. template -auto write_int_localized(OutputIt out, UInt value, unsigned prefix, - const basic_format_specs& specs, - const digit_grouping& grouping) -> OutputIt { +auto write_int(OutputIt out, UInt value, unsigned prefix, + const format_specs& specs, + const digit_grouping& grouping) -> OutputIt { static_assert(std::is_same, UInt>::value, ""); - int num_digits = count_digits(value); - char digits[40]; - format_decimal(digits, value, num_digits); - unsigned size = to_unsigned((prefix != 0 ? 1 : 0) + num_digits + - grouping.count_separators(num_digits)); + int num_digits = 0; + auto buffer = memory_buffer(); + switch (specs.type) { + case presentation_type::none: + case presentation_type::dec: { + num_digits = count_digits(value); + format_decimal(appender(buffer), value, num_digits); + break; + } + case presentation_type::hex_lower: + case presentation_type::hex_upper: { + bool upper = specs.type == presentation_type::hex_upper; + if (specs.alt) + prefix_append(prefix, unsigned(upper ? 'X' : 'x') << 8 | '0'); + num_digits = count_digits<4>(value); + format_uint<4, char>(appender(buffer), value, num_digits, upper); + break; + } + case presentation_type::bin_lower: + case presentation_type::bin_upper: { + bool upper = specs.type == presentation_type::bin_upper; + if (specs.alt) + prefix_append(prefix, unsigned(upper ? 'B' : 'b') << 8 | '0'); + num_digits = count_digits<1>(value); + format_uint<1, char>(appender(buffer), value, num_digits); + break; + } + case presentation_type::oct: { + num_digits = count_digits<3>(value); + // Octal prefix '0' is counted as a digit, so only add it if precision + // is not greater than the number of digits. + if (specs.alt && specs.precision <= num_digits && value != 0) + prefix_append(prefix, '0'); + format_uint<3, char>(appender(buffer), value, num_digits); + break; + } + case presentation_type::chr: + return write_char(out, static_cast(value), specs); + default: + throw_format_error("invalid format specifier"); + } + + unsigned size = (prefix != 0 ? prefix >> 24 : 0) + to_unsigned(num_digits) + + to_unsigned(grouping.count_separators(num_digits)); return write_padded( out, specs, size, size, [&](reserve_iterator it) { - if (prefix != 0) { - char sign = static_cast(prefix); - *it++ = static_cast(sign); - } - return grouping.apply(it, string_view(digits, to_unsigned(num_digits))); + for (unsigned p = prefix & 0xffffff; p != 0; p >>= 8) + *it++ = static_cast(p & 0xff); + return grouping.apply(it, string_view(buffer.data(), buffer.size())); }); } -template -auto write_int_localized(OutputIt& out, UInt value, unsigned prefix, - const basic_format_specs& specs, locale_ref loc) - -> bool { - auto grouping = digit_grouping(loc); - out = write_int_localized(out, value, prefix, specs, grouping); - return true; -} - -FMT_CONSTEXPR inline void prefix_append(unsigned& prefix, unsigned value) { - prefix |= prefix != 0 ? value << 8 : value; - prefix += (1u + (value > 0xff ? 1 : 0)) << 24; +// Writes a localized value. +FMTQUILL_API auto write_loc(appender out, loc_value value, + const format_specs<>& specs, locale_ref loc) -> bool; +template +inline auto write_loc(OutputIt, loc_value, const format_specs&, + locale_ref) -> bool { + return false; } template struct write_int_arg { @@ -2030,7 +2153,7 @@ template struct write_int_arg { }; template -FMT_CONSTEXPR auto make_write_int_arg(T value, sign_t sign) +FMTQUILL_CONSTEXPR auto make_write_int_arg(T value, sign_t sign) -> write_int_arg> { auto prefix = 0u; auto abs_value = static_cast>(value); @@ -2045,21 +2168,37 @@ FMT_CONSTEXPR auto make_write_int_arg(T value, sign_t sign) return {abs_value, prefix}; } +template struct loc_writer { + buffer_appender out; + const format_specs& specs; + std::basic_string sep; + std::string grouping; + std::basic_string decimal_point; + + template ::value)> + auto operator()(T value) -> bool { + auto arg = make_write_int_arg(value, specs.sign); + write_int(out, static_cast>(arg.abs_value), arg.prefix, + specs, digit_grouping(grouping, sep)); + return true; + } + + template ::value)> + auto operator()(T) -> bool { + return false; + } +}; + template -FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, write_int_arg arg, - const basic_format_specs& specs, - locale_ref loc) -> OutputIt { +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto write_int(OutputIt out, write_int_arg arg, + const format_specs& specs, + locale_ref) -> OutputIt { static_assert(std::is_same>::value, ""); auto abs_value = arg.abs_value; auto prefix = arg.prefix; switch (specs.type) { case presentation_type::none: case presentation_type::dec: { - if (specs.localized && - write_int_localized(out, static_cast>(abs_value), - prefix, specs, loc)) { - return out; - } auto num_digits = count_digits(abs_value); return write_int( out, num_digits, prefix, specs, [=](reserve_iterator it) { @@ -2102,34 +2241,36 @@ FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, write_int_arg arg, case presentation_type::chr: return write_char(out, static_cast(abs_value), specs); default: - throw_format_error("invalid type specifier"); + throw_format_error("invalid format specifier"); } return out; } template -FMT_CONSTEXPR FMT_NOINLINE auto write_int_noinline( - OutputIt out, write_int_arg arg, const basic_format_specs& specs, +FMTQUILL_CONSTEXPR FMTQUILL_NOINLINE auto write_int_noinline( + OutputIt out, write_int_arg arg, const format_specs& specs, locale_ref loc) -> OutputIt { return write_int(out, arg, specs, loc); } template ::value && + FMTQUILL_ENABLE_IF(is_integral::value && !std::is_same::value && std::is_same>::value)> -FMT_CONSTEXPR FMT_INLINE auto write(OutputIt out, T value, - const basic_format_specs& specs, +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto write(OutputIt out, T value, + const format_specs& specs, locale_ref loc) -> OutputIt { + if (specs.localized && write_loc(out, value, specs, loc)) return out; return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs, loc); } // An inlined version of write used in format string compilation. template ::value && + FMTQUILL_ENABLE_IF(is_integral::value && !std::is_same::value && !std::is_same>::value)> -FMT_CONSTEXPR FMT_INLINE auto write(OutputIt out, T value, - const basic_format_specs& specs, +FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto write(OutputIt out, T value, + const format_specs& specs, locale_ref loc) -> OutputIt { + if (specs.localized && write_loc(out, value, specs, loc)) return out; return write_int(out, make_write_int_arg(value, specs.sign), specs, loc); } @@ -2144,38 +2285,38 @@ class counting_iterator { using difference_type = std::ptrdiff_t; using pointer = void; using reference = void; - FMT_UNCHECKED_ITERATOR(counting_iterator); + FMTQUILL_UNCHECKED_ITERATOR(counting_iterator); struct value_type { - template FMT_CONSTEXPR void operator=(const T&) {} + template FMTQUILL_CONSTEXPR void operator=(const T&) {} }; - FMT_CONSTEXPR counting_iterator() : count_(0) {} + FMTQUILL_CONSTEXPR counting_iterator() : count_(0) {} - FMT_CONSTEXPR size_t count() const { return count_; } + FMTQUILL_CONSTEXPR auto count() const -> size_t { return count_; } - FMT_CONSTEXPR counting_iterator& operator++() { + FMTQUILL_CONSTEXPR auto operator++() -> counting_iterator& { ++count_; return *this; } - FMT_CONSTEXPR counting_iterator operator++(int) { + FMTQUILL_CONSTEXPR auto operator++(int) -> counting_iterator { auto it = *this; ++*this; return it; } - FMT_CONSTEXPR friend counting_iterator operator+(counting_iterator it, - difference_type n) { + FMTQUILL_CONSTEXPR friend auto operator+(counting_iterator it, difference_type n) + -> counting_iterator { it.count_ += static_cast(n); return it; } - FMT_CONSTEXPR value_type operator*() const { return {}; } + FMTQUILL_CONSTEXPR auto operator*() const -> value_type { return {}; } }; template -FMT_CONSTEXPR auto write(OutputIt out, basic_string_view s, - const basic_format_specs& specs) -> OutputIt { +FMTQUILL_CONSTEXPR auto write(OutputIt out, basic_string_view s, + const format_specs& specs) -> OutputIt { auto data = s.data(); auto size = s.size(); if (specs.precision >= 0 && to_unsigned(specs.precision) < size) @@ -2195,27 +2336,27 @@ FMT_CONSTEXPR auto write(OutputIt out, basic_string_view s, }); } template -FMT_CONSTEXPR auto write(OutputIt out, +FMTQUILL_CONSTEXPR auto write(OutputIt out, basic_string_view> s, - const basic_format_specs& specs, locale_ref) + const format_specs& specs, locale_ref) -> OutputIt { - check_string_type_spec(specs.type); return write(out, s, specs); } template -FMT_CONSTEXPR auto write(OutputIt out, const Char* s, - const basic_format_specs& specs, locale_ref) +FMTQUILL_CONSTEXPR auto write(OutputIt out, const Char* s, + const format_specs& specs, locale_ref) -> OutputIt { - return check_cstring_type_spec(specs.type) - ? write(out, basic_string_view(s), specs, {}) - : write_ptr(out, bit_cast(s), &specs); + if (specs.type == presentation_type::pointer) + return write_ptr(out, bit_cast(s), &specs); + if (!s) throw_format_error("string pointer is null"); + return write(out, basic_string_view(s), specs, {}); } template ::value && + FMTQUILL_ENABLE_IF(is_integral::value && !std::is_same::value && !std::is_same::value)> -FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { +FMTQUILL_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { auto abs_value = static_cast>(value); bool negative = is_negative(value); // Don't do -abs_value since it trips unsigned-integer-overflow sanitizer. @@ -2233,9 +2374,113 @@ FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { return base_iterator(out, it); } +// DEPRECATED! +template +FMTQUILL_CONSTEXPR auto parse_align(const Char* begin, const Char* end, + format_specs& specs) -> const Char* { + FMTQUILL_ASSERT(begin != end, ""); + auto align = align::none; + auto p = begin + code_point_length(begin); + if (end - p <= 0) p = begin; + for (;;) { + switch (to_ascii(*p)) { + case '<': + align = align::left; + break; + case '>': + align = align::right; + break; + case '^': + align = align::center; + break; + } + if (align != align::none) { + if (p != begin) { + auto c = *begin; + if (c == '}') return begin; + if (c == '{') { + throw_format_error("invalid fill character '{'"); + return begin; + } + specs.fill = {begin, to_unsigned(p - begin)}; + begin = p + 1; + } else { + ++begin; + } + break; + } else if (p == begin) { + break; + } + p = begin; + } + specs.align = align; + return begin; +} + +// A floating-point presentation format. +enum class float_format : unsigned char { + general, // General: exponent notation or fixed point based on magnitude. + exp, // Exponent notation with the default precision of 6, e.g. 1.2e-3. + fixed, // Fixed point with the default precision of 6, e.g. 0.0012. + hex +}; + +struct float_specs { + int precision; + float_format format : 8; + sign_t sign : 8; + bool upper : 1; + bool locale : 1; + bool binary32 : 1; + bool showpoint : 1; +}; + +template +FMTQUILL_CONSTEXPR auto parse_float_type_spec(const format_specs& specs) + -> float_specs { + auto result = float_specs(); + result.showpoint = specs.alt; + result.locale = specs.localized; + switch (specs.type) { + case presentation_type::none: + result.format = float_format::general; + break; + case presentation_type::general_upper: + result.upper = true; + FMTQUILL_FALLTHROUGH; + case presentation_type::general_lower: + result.format = float_format::general; + break; + case presentation_type::exp_upper: + result.upper = true; + FMTQUILL_FALLTHROUGH; + case presentation_type::exp_lower: + result.format = float_format::exp; + result.showpoint |= specs.precision != 0; + break; + case presentation_type::fixed_upper: + result.upper = true; + FMTQUILL_FALLTHROUGH; + case presentation_type::fixed_lower: + result.format = float_format::fixed; + result.showpoint |= specs.precision != 0; + break; + case presentation_type::hexfloat_upper: + result.upper = true; + FMTQUILL_FALLTHROUGH; + case presentation_type::hexfloat_lower: + result.format = float_format::hex; + break; + default: + throw_format_error("invalid format specifier"); + break; + } + return result; +} + template -FMT_CONSTEXPR20 auto write_nonfinite(OutputIt out, bool isnan, - basic_format_specs specs, +FMTQUILL_CONSTEXPR20 auto write_nonfinite(OutputIt out, bool isnan, + format_specs specs, const float_specs& fspecs) -> OutputIt { auto str = isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf"); @@ -2278,10 +2523,10 @@ inline auto write_significand(OutputIt out, UInt significand, return format_decimal(out, significand, significand_size).end; } template -FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, +FMTQUILL_CONSTEXPR20 auto write_significand(OutputIt out, T significand, int significand_size, int exponent, const Grouping& grouping) -> OutputIt { - if (!grouping.separator()) { + if (!grouping.has_separator()) { out = write_significand(out, significand, significand_size); return detail::fill_n(out, exponent, static_cast('0')); } @@ -2292,7 +2537,7 @@ FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, } template ::value)> + FMTQUILL_ENABLE_IF(std::is_integral::value)> inline auto write_significand(Char* out, UInt significand, int significand_size, int integral_size, Char decimal_point) -> Char* { if (!decimal_point) @@ -2315,7 +2560,7 @@ inline auto write_significand(Char* out, UInt significand, int significand_size, } template >::value)> + FMTQUILL_ENABLE_IF(!std::is_pointer>::value)> inline auto write_significand(OutputIt out, UInt significand, int significand_size, int integral_size, Char decimal_point) -> OutputIt { @@ -2327,7 +2572,7 @@ inline auto write_significand(OutputIt out, UInt significand, } template -FMT_CONSTEXPR auto write_significand(OutputIt out, const char* significand, +FMTQUILL_CONSTEXPR auto write_significand(OutputIt out, const char* significand, int significand_size, int integral_size, Char decimal_point) -> OutputIt { out = detail::copy_str_noinline(significand, @@ -2339,11 +2584,11 @@ FMT_CONSTEXPR auto write_significand(OutputIt out, const char* significand, } template -FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, +FMTQUILL_CONSTEXPR20 auto write_significand(OutputIt out, T significand, int significand_size, int integral_size, Char decimal_point, const Grouping& grouping) -> OutputIt { - if (!grouping.separator()) { + if (!grouping.has_separator()) { return write_significand(out, significand, significand_size, integral_size, decimal_point); } @@ -2358,8 +2603,8 @@ FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, template > -FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, - const basic_format_specs& specs, +FMTQUILL_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, + const format_specs& specs, float_specs fspecs, locale_ref loc) -> OutputIt { auto significand = f.significand; @@ -2418,7 +2663,7 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, abort_fuzzing_if(num_zeros > 5000); if (fspecs.showpoint) { ++size; - if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1; + if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 0; if (num_zeros > 0) size += to_unsigned(num_zeros); } auto grouping = Grouping(loc, fspecs.locale); @@ -2436,7 +2681,7 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0; size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0); auto grouping = Grouping(loc, fspecs.locale); - size += to_unsigned(grouping.count_separators(significand_size)); + size += to_unsigned(grouping.count_separators(exp)); return write_padded(out, specs, size, [&](iterator it) { if (sign) *it++ = detail::sign(sign); it = write_significand(it, significand, significand_size, exp, @@ -2466,19 +2711,19 @@ template class fallback_digit_grouping { public: constexpr fallback_digit_grouping(locale_ref, bool) {} - constexpr Char separator() const { return Char(); } + constexpr auto has_separator() const -> bool { return false; } - constexpr int count_separators(int) const { return 0; } + constexpr auto count_separators(int) const -> int { return 0; } template - constexpr Out apply(Out out, basic_string_view) const { + constexpr auto apply(Out out, basic_string_view) const -> Out { return out; } }; template -FMT_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& f, - const basic_format_specs& specs, +FMTQUILL_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& f, + const format_specs& specs, float_specs fspecs, locale_ref loc) -> OutputIt { if (is_constant_evaluated()) { @@ -2490,7 +2735,7 @@ FMT_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& f, } } -template constexpr bool isnan(T value) { +template constexpr auto isnan(T value) -> bool { return !(value >= value); // std::isnan doesn't support __float128. } @@ -2501,23 +2746,23 @@ template struct has_isfinite> : std::true_type {}; -template ::value&& +template ::value&& has_isfinite::value)> -FMT_CONSTEXPR20 bool isfinite(T value) { +FMTQUILL_CONSTEXPR20 auto isfinite(T value) -> bool { constexpr T inf = T(std::numeric_limits::infinity()); if (is_constant_evaluated()) - return !detail::isnan(value) && value != inf && value != -inf; + return !detail::isnan(value) && value < inf && value > -inf; return std::isfinite(value); } -template ::value)> -FMT_CONSTEXPR bool isfinite(T value) { +template ::value)> +FMTQUILL_CONSTEXPR auto isfinite(T value) -> bool { T inf = T(std::numeric_limits::infinity()); // std::isfinite doesn't support __float128. - return !detail::isnan(value) && value != inf && value != -inf; + return !detail::isnan(value) && value < inf && value > -inf; } -template ::value)> -FMT_INLINE FMT_CONSTEXPR bool signbit(T value) { +template ::value)> +FMTQUILL_INLINE FMTQUILL_CONSTEXPR bool signbit(T value) { if (is_constant_evaluated()) { #ifdef __cpp_if_constexpr if constexpr (std::numeric_limits::is_iec559) { @@ -2529,181 +2774,14 @@ FMT_INLINE FMT_CONSTEXPR bool signbit(T value) { return std::signbit(static_cast(value)); } -enum class round_direction { unknown, up, down }; - -// Given the divisor (normally a power of 10), the remainder = v % divisor for -// some number v and the error, returns whether v should be rounded up, down, or -// whether the rounding direction can't be determined due to error. -// error should be less than divisor / 2. -FMT_CONSTEXPR inline round_direction get_round_direction(uint64_t divisor, - uint64_t remainder, - uint64_t error) { - FMT_ASSERT(remainder < divisor, ""); // divisor - remainder won't overflow. - FMT_ASSERT(error < divisor, ""); // divisor - error won't overflow. - FMT_ASSERT(error < divisor - error, ""); // error * 2 won't overflow. - // Round down if (remainder + error) * 2 <= divisor. - if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2) - return round_direction::down; - // Round up if (remainder - error) * 2 >= divisor. - if (remainder >= error && - remainder - error >= divisor - (remainder - error)) { - return round_direction::up; - } - return round_direction::unknown; -} - -namespace digits { -enum result { - more, // Generate more digits. - done, // Done generating digits. - error // Digit generation cancelled due to an error. -}; -} - -struct gen_digits_handler { - char* buf; - int size; - int precision; - int exp10; - bool fixed; - - FMT_CONSTEXPR digits::result on_digit(char digit, uint64_t divisor, - uint64_t remainder, uint64_t error, - bool integral) { - FMT_ASSERT(remainder < divisor, ""); - buf[size++] = digit; - if (!integral && error >= remainder) return digits::error; - if (size < precision) return digits::more; - if (!integral) { - // Check if error * 2 < divisor with overflow prevention. - // The check is not needed for the integral part because error = 1 - // and divisor > (1 << 32) there. - if (error >= divisor || error >= divisor - error) return digits::error; - } else { - FMT_ASSERT(error == 1 && divisor > 2, ""); - } - auto dir = get_round_direction(divisor, remainder, error); - if (dir != round_direction::up) - return dir == round_direction::down ? digits::done : digits::error; - ++buf[size - 1]; - for (int i = size - 1; i > 0 && buf[i] > '9'; --i) { - buf[i] = '0'; - ++buf[i - 1]; - } - if (buf[0] > '9') { - buf[0] = '1'; - if (fixed) - buf[size++] = '0'; - else - ++exp10; - } - return digits::done; - } -}; - -inline FMT_CONSTEXPR20 void adjust_precision(int& precision, int exp10) { +inline FMTQUILL_CONSTEXPR20 void adjust_precision(int& precision, int exp10) { // Adjust fixed precision by exponent because it is relative to decimal // point. if (exp10 > 0 && precision > max_value() - exp10) - FMT_THROW(format_error("number is too big")); + FMTQUILL_THROW(format_error("number is too big")); precision += exp10; } -// Generates output using the Grisu digit-gen algorithm. -// error: the size of the region (lower, upper) outside of which numbers -// definitely do not round to value (Delta in Grisu3). -FMT_INLINE FMT_CONSTEXPR20 auto grisu_gen_digits(fp value, uint64_t error, - int& exp, - gen_digits_handler& handler) - -> digits::result { - const fp one(1ULL << -value.e, value.e); - // The integral part of scaled value (p1 in Grisu) = value / one. It cannot be - // zero because it contains a product of two 64-bit numbers with MSB set (due - // to normalization) - 1, shifted right by at most 60 bits. - auto integral = static_cast(value.f >> -one.e); - FMT_ASSERT(integral != 0, ""); - FMT_ASSERT(integral == value.f >> -one.e, ""); - // The fractional part of scaled value (p2 in Grisu) c = value % one. - uint64_t fractional = value.f & (one.f - 1); - exp = count_digits(integral); // kappa in Grisu. - // Non-fixed formats require at least one digit and no precision adjustment. - if (handler.fixed) { - adjust_precision(handler.precision, exp + handler.exp10); - // Check if precision is satisfied just by leading zeros, e.g. - // format("{:.2f}", 0.001) gives "0.00" without generating any digits. - if (handler.precision <= 0) { - if (handler.precision < 0) return digits::done; - // Divide by 10 to prevent overflow. - uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e; - auto dir = get_round_direction(divisor, value.f / 10, error * 10); - if (dir == round_direction::unknown) return digits::error; - handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0'; - return digits::done; - } - } - // Generate digits for the integral part. This can produce up to 10 digits. - do { - uint32_t digit = 0; - auto divmod_integral = [&](uint32_t divisor) { - digit = integral / divisor; - integral %= divisor; - }; - // This optimization by Milo Yip reduces the number of integer divisions by - // one per iteration. - switch (exp) { - case 10: - divmod_integral(1000000000); - break; - case 9: - divmod_integral(100000000); - break; - case 8: - divmod_integral(10000000); - break; - case 7: - divmod_integral(1000000); - break; - case 6: - divmod_integral(100000); - break; - case 5: - divmod_integral(10000); - break; - case 4: - divmod_integral(1000); - break; - case 3: - divmod_integral(100); - break; - case 2: - divmod_integral(10); - break; - case 1: - digit = integral; - integral = 0; - break; - default: - FMT_ASSERT(false, "invalid number of digits"); - } - --exp; - auto remainder = (static_cast(integral) << -one.e) + fractional; - auto result = handler.on_digit(static_cast('0' + digit), - data::power_of_10_64[exp] << -one.e, - remainder, error, true); - if (result != digits::more) return result; - } while (exp > 0); - // Generate digits for the fractional part. - for (;;) { - fractional *= 10; - error *= 10; - char digit = static_cast('0' + (fractional >> -one.e)); - fractional &= one.f - 1; - --exp; - auto result = handler.on_digit(digit, one.f, fractional, error, false); - if (result != digits::more) return result; - } -} - class bigint { private: // A bigint is stored as an array of bigits (big digits), with bigit at index @@ -2714,10 +2792,10 @@ class bigint { basic_memory_buffer bigits_; int exp_; - FMT_CONSTEXPR20 bigit operator[](int index) const { + FMTQUILL_CONSTEXPR20 auto operator[](int index) const -> bigit { return bigits_[to_unsigned(index)]; } - FMT_CONSTEXPR20 bigit& operator[](int index) { + FMTQUILL_CONSTEXPR20 auto operator[](int index) -> bigit& { return bigits_[to_unsigned(index)]; } @@ -2725,22 +2803,22 @@ class bigint { friend struct formatter; - FMT_CONSTEXPR20 void subtract_bigits(int index, bigit other, bigit& borrow) { + FMTQUILL_CONSTEXPR20 void subtract_bigits(int index, bigit other, bigit& borrow) { auto result = static_cast((*this)[index]) - other - borrow; (*this)[index] = static_cast(result); borrow = static_cast(result >> (bigit_bits * 2 - 1)); } - FMT_CONSTEXPR20 void remove_leading_zeros() { + FMTQUILL_CONSTEXPR20 void remove_leading_zeros() { int num_bigits = static_cast(bigits_.size()) - 1; while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits; bigits_.resize(to_unsigned(num_bigits + 1)); } // Computes *this -= other assuming aligned bigints and *this >= other. - FMT_CONSTEXPR20 void subtract_aligned(const bigint& other) { - FMT_ASSERT(other.exp_ >= exp_, "unaligned bigints"); - FMT_ASSERT(compare(*this, other) >= 0, ""); + FMTQUILL_CONSTEXPR20 void subtract_aligned(const bigint& other) { + FMTQUILL_ASSERT(other.exp_ >= exp_, "unaligned bigints"); + FMTQUILL_ASSERT(compare(*this, other) >= 0, ""); bigit borrow = 0; int i = other.exp_ - exp_; for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j) @@ -2749,7 +2827,7 @@ class bigint { remove_leading_zeros(); } - FMT_CONSTEXPR20 void multiply(uint32_t value) { + FMTQUILL_CONSTEXPR20 void multiply(uint32_t value) { const double_bigit wide_value = value; bigit carry = 0; for (size_t i = 0, n = bigits_.size(); i < n; ++i) { @@ -2760,9 +2838,9 @@ class bigint { if (carry != 0) bigits_.push_back(carry); } - template ::value || + template ::value || std::is_same::value)> - FMT_CONSTEXPR20 void multiply(UInt value) { + FMTQUILL_CONSTEXPR20 void multiply(UInt value) { using half_uint = conditional_t::value, uint64_t, uint32_t>; const int shift = num_bits() - bigit_bits; @@ -2781,9 +2859,9 @@ class bigint { } } - template ::value || + template ::value || std::is_same::value)> - FMT_CONSTEXPR20 void assign(UInt n) { + FMTQUILL_CONSTEXPR20 void assign(UInt n) { size_t num_bigits = 0; do { bigits_[num_bigits++] = static_cast(n); @@ -2794,31 +2872,31 @@ class bigint { } public: - FMT_CONSTEXPR20 bigint() : exp_(0) {} + FMTQUILL_CONSTEXPR20 bigint() : exp_(0) {} explicit bigint(uint64_t n) { assign(n); } bigint(const bigint&) = delete; void operator=(const bigint&) = delete; - FMT_CONSTEXPR20 void assign(const bigint& other) { + FMTQUILL_CONSTEXPR20 void assign(const bigint& other) { auto size = other.bigits_.size(); bigits_.resize(size); auto data = other.bigits_.data(); - std::copy(data, data + size, make_checked(bigits_.data(), size)); + copy_str(data, data + size, bigits_.data()); exp_ = other.exp_; } - template FMT_CONSTEXPR20 void operator=(Int n) { - FMT_ASSERT(n > 0, ""); + template FMTQUILL_CONSTEXPR20 void operator=(Int n) { + FMTQUILL_ASSERT(n > 0, ""); assign(uint64_or_128_t(n)); } - FMT_CONSTEXPR20 int num_bigits() const { + FMTQUILL_CONSTEXPR20 auto num_bigits() const -> int { return static_cast(bigits_.size()) + exp_; } - FMT_NOINLINE FMT_CONSTEXPR20 bigint& operator<<=(int shift) { - FMT_ASSERT(shift >= 0, ""); + FMTQUILL_NOINLINE FMTQUILL_CONSTEXPR20 auto operator<<=(int shift) -> bigint& { + FMTQUILL_ASSERT(shift >= 0, ""); exp_ += shift / bigit_bits; shift %= bigit_bits; if (shift == 0) return *this; @@ -2832,13 +2910,15 @@ class bigint { return *this; } - template FMT_CONSTEXPR20 bigint& operator*=(Int value) { - FMT_ASSERT(value > 0, ""); + template + FMTQUILL_CONSTEXPR20 auto operator*=(Int value) -> bigint& { + FMTQUILL_ASSERT(value > 0, ""); multiply(uint32_or_64_or_128_t(value)); return *this; } - friend FMT_CONSTEXPR20 int compare(const bigint& lhs, const bigint& rhs) { + friend FMTQUILL_CONSTEXPR20 auto compare(const bigint& lhs, const bigint& rhs) + -> int { int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits(); if (num_lhs_bigits != num_rhs_bigits) return num_lhs_bigits > num_rhs_bigits ? 1 : -1; @@ -2855,8 +2935,9 @@ class bigint { } // Returns compare(lhs1 + lhs2, rhs). - friend FMT_CONSTEXPR20 int add_compare(const bigint& lhs1, const bigint& lhs2, - const bigint& rhs) { + friend FMTQUILL_CONSTEXPR20 auto add_compare(const bigint& lhs1, + const bigint& lhs2, const bigint& rhs) + -> int { auto minimum = [](int a, int b) { return a < b ? a : b; }; auto maximum = [](int a, int b) { return a > b ? a : b; }; int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits()); @@ -2881,8 +2962,8 @@ class bigint { } // Assigns pow(10, exp) to this bigint. - FMT_CONSTEXPR20 void assign_pow10(int exp) { - FMT_ASSERT(exp >= 0, ""); + FMTQUILL_CONSTEXPR20 void assign_pow10(int exp) { + FMTQUILL_ASSERT(exp >= 0, ""); if (exp == 0) return *this = 1; // Find the top bit. int bitmask = 1; @@ -2900,7 +2981,7 @@ class bigint { *this <<= exp; // Multiply by pow(2, exp) by shifting. } - FMT_CONSTEXPR20 void square() { + FMTQUILL_CONSTEXPR20 void square() { int num_bigits = static_cast(bigits_.size()); int num_result_bigits = 2 * num_bigits; basic_memory_buffer n(std::move(bigits_)); @@ -2930,23 +3011,23 @@ class bigint { // If this bigint has a bigger exponent than other, adds trailing zero to make // exponents equal. This simplifies some operations such as subtraction. - FMT_CONSTEXPR20 void align(const bigint& other) { + FMTQUILL_CONSTEXPR20 void align(const bigint& other) { int exp_difference = exp_ - other.exp_; if (exp_difference <= 0) return; int num_bigits = static_cast(bigits_.size()); bigits_.resize(to_unsigned(num_bigits + exp_difference)); for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j) bigits_[j] = bigits_[i]; - std::uninitialized_fill_n(bigits_.data(), exp_difference, 0); + std::uninitialized_fill_n(bigits_.data(), exp_difference, 0u); exp_ -= exp_difference; } // Divides this bignum by divisor, assigning the remainder to this and // returning the quotient. - FMT_CONSTEXPR20 int divmod_assign(const bigint& divisor) { - FMT_ASSERT(this != &divisor, ""); + FMTQUILL_CONSTEXPR20 auto divmod_assign(const bigint& divisor) -> int { + FMTQUILL_ASSERT(this != &divisor, ""); if (compare(*this, divisor) < 0) return 0; - FMT_ASSERT(divisor.bigits_[divisor.bigits_.size() - 1u] != 0, ""); + FMTQUILL_ASSERT(divisor.bigits_[divisor.bigits_.size() - 1u] != 0, ""); align(divisor); int quotient = 0; do { @@ -2967,7 +3048,7 @@ enum dragon { // Formats a floating-point number using a variation of the Fixed-Precision // Positive Floating-Point Printout ((FPP)^2) algorithm by Steele & White: // https://fmt.dev/papers/p372-steele.pdf. -FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, +FMTQUILL_CONSTEXPR20 inline void format_dragon(basic_fp value, unsigned flags, int num_digits, buffer& buf, int& exp10) { bigint numerator; // 2 * R in (FPP)^2. @@ -3018,6 +3099,7 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, } int even = static_cast((value.f & 1) == 0); if (!upper) upper = &lower; + bool shortest = num_digits < 0; if ((flags & dragon::fixup) != 0) { if (add_compare(numerator, *upper, denominator) + even <= 0) { --exp10; @@ -3030,7 +3112,7 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1); } // Invariant: value == (numerator / denominator) * pow(10, exp10). - if (num_digits < 0) { + if (shortest) { // Generate the shortest representation. num_digits = 0; char* data = buf.data(); @@ -3060,7 +3142,7 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, } // Generate the given number of digits. exp10 -= num_digits - 1; - if (num_digits == 0) { + if (num_digits <= 0) { denominator *= 10; auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0'; buf.push_back(digit); @@ -3085,7 +3167,10 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, } if (buf[0] == overflow) { buf[0] = '1'; - ++exp10; + if ((flags & dragon::fixed) != 0) + buf.push_back('0'); + else + ++exp10; } return; } @@ -3094,12 +3179,111 @@ FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, buf[num_digits - 1] = static_cast('0' + digit); } +// Formats a floating-point number using the hexfloat format. +template ::value)> +FMTQUILL_CONSTEXPR20 void format_hexfloat(Float value, int precision, + float_specs specs, buffer& buf) { + // float is passed as double to reduce the number of instantiations and to + // simplify implementation. + static_assert(!std::is_same::value, ""); + + using info = dragonbox::float_info; + + // Assume Float is in the format [sign][exponent][significand]. + using carrier_uint = typename info::carrier_uint; + + constexpr auto num_float_significand_bits = + detail::num_significand_bits(); + + basic_fp f(value); + f.e += num_float_significand_bits; + if (!has_implicit_bit()) --f.e; + + constexpr auto num_fraction_bits = + num_float_significand_bits + (has_implicit_bit() ? 1 : 0); + constexpr auto num_xdigits = (num_fraction_bits + 3) / 4; + + constexpr auto leading_shift = ((num_xdigits - 1) * 4); + const auto leading_mask = carrier_uint(0xF) << leading_shift; + const auto leading_xdigit = + static_cast((f.f & leading_mask) >> leading_shift); + if (leading_xdigit > 1) f.e -= (32 - countl_zero(leading_xdigit) - 1); + + int print_xdigits = num_xdigits - 1; + if (precision >= 0 && print_xdigits > precision) { + const int shift = ((print_xdigits - precision - 1) * 4); + const auto mask = carrier_uint(0xF) << shift; + const auto v = static_cast((f.f & mask) >> shift); + + if (v >= 8) { + const auto inc = carrier_uint(1) << (shift + 4); + f.f += inc; + f.f &= ~(inc - 1); + } + + // Check long double overflow + if (!has_implicit_bit()) { + const auto implicit_bit = carrier_uint(1) << num_float_significand_bits; + if ((f.f & implicit_bit) == implicit_bit) { + f.f >>= 4; + f.e += 4; + } + } + + print_xdigits = precision; + } + + char xdigits[num_bits() / 4]; + detail::fill_n(xdigits, sizeof(xdigits), '0'); + format_uint<4>(xdigits, f.f, num_xdigits, specs.upper); + + // Remove zero tail + while (print_xdigits > 0 && xdigits[print_xdigits] == '0') --print_xdigits; + + buf.push_back('0'); + buf.push_back(specs.upper ? 'X' : 'x'); + buf.push_back(xdigits[0]); + if (specs.showpoint || print_xdigits > 0 || print_xdigits < precision) + buf.push_back('.'); + buf.append(xdigits + 1, xdigits + 1 + print_xdigits); + for (; print_xdigits < precision; ++print_xdigits) buf.push_back('0'); + + buf.push_back(specs.upper ? 'P' : 'p'); + + uint32_t abs_e; + if (f.e < 0) { + buf.push_back('-'); + abs_e = static_cast(-f.e); + } else { + buf.push_back('+'); + abs_e = static_cast(f.e); + } + format_decimal(appender(buf), abs_e, detail::count_digits(abs_e)); +} + +template ::value)> +FMTQUILL_CONSTEXPR20 void format_hexfloat(Float value, int precision, + float_specs specs, buffer& buf) { + format_hexfloat(static_cast(value), precision, specs, buf); +} + +constexpr auto fractional_part_rounding_thresholds(int index) -> uint32_t { + // For checking rounding thresholds. + // The kth entry is chosen to be the smallest integer such that the + // upper 32-bits of 10^(k+1) times it is strictly bigger than 5 * 10^k. + // It is equal to ceil(2^31 + 2^32/10^(k + 1)). + // These are stored in a string literal because we cannot have static arrays + // in constexpr functions and non-static ones are poorly optimized. + return U"\x9999999a\x828f5c29\x80418938\x80068db9\x8000a7c6\x800010c7" + U"\x800001ae\x8000002b"[index]; +} + template -FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, +FMTQUILL_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, buffer& buf) -> int { // float is passed as double to reduce the number of instantiations. static_assert(!std::is_same::value, ""); - FMT_ASSERT(value >= 0, "value is negative"); + FMTQUILL_ASSERT(value >= 0, "value is negative"); auto converted_value = convert_float(value); const bool fixed = specs.format == float_format::fixed; @@ -3116,7 +3300,7 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, int exp = 0; bool use_dragon = true; unsigned dragon_flags = 0; - if (!is_fast_float()) { + if (!is_fast_float() || is_constant_evaluated()) { const auto inv_log2_10 = 0.3010299956639812; // 1 / log2(10) using info = dragonbox::float_info; const auto f = basic_fp(converted_value); @@ -3124,10 +3308,11 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, // 10^(exp - 1) <= value < 10^exp or 10^exp <= value < 10^(exp + 1). // This is based on log10(value) == log2(value) / log2(10) and approximation // of log2(value) by e + num_fraction_bits idea from double-conversion. - exp = static_cast( - std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10)); + auto e = (f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10; + exp = static_cast(e); + if (e > exp) ++exp; // Compute ceil. dragon_flags = dragon::fixup; - } else if (!is_constant_evaluated() && precision < 0) { + } else if (precision < 0) { // Use Dragonbox for the shortest format. if (specs.binary32) { auto dec = dragonbox::to_decimal(static_cast(value)); @@ -3138,23 +3323,244 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, write(buffer_appender(buf), dec.significand); return dec.exponent; } else { - // Use Grisu + Dragon4 for the given precision: - // https://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf. - const int min_exp = -60; // alpha in Grisu. - int cached_exp10 = 0; // K in Grisu. - fp normalized = normalize(fp(converted_value)); - const auto cached_pow = get_cached_power( - min_exp - (normalized.e + fp::num_significand_bits), cached_exp10); - normalized = normalized * cached_pow; - gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed}; - if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error && - !is_constant_evaluated()) { - exp += handler.exp10; - buf.try_resize(to_unsigned(handler.size)); - use_dragon = false; + // Extract significand bits and exponent bits. + using info = dragonbox::float_info; + auto br = bit_cast(static_cast(value)); + + const uint64_t significand_mask = + (static_cast(1) << num_significand_bits()) - 1; + uint64_t significand = (br & significand_mask); + int exponent = static_cast((br & exponent_mask()) >> + num_significand_bits()); + + if (exponent != 0) { // Check if normal. + exponent -= exponent_bias() + num_significand_bits(); + significand |= + (static_cast(1) << num_significand_bits()); + significand <<= 1; } else { - exp += handler.size - cached_exp10 - 1; - precision = handler.precision; + // Normalize subnormal inputs. + FMTQUILL_ASSERT(significand != 0, "zeros should not appear here"); + int shift = countl_zero(significand); + FMTQUILL_ASSERT(shift >= num_bits() - num_significand_bits(), + ""); + shift -= (num_bits() - num_significand_bits() - 2); + exponent = (std::numeric_limits::min_exponent - + num_significand_bits()) - + shift; + significand <<= shift; + } + + // Compute the first several nonzero decimal significand digits. + // We call the number we get the first segment. + const int k = info::kappa - dragonbox::floor_log10_pow2(exponent); + exp = -k; + const int beta = exponent + dragonbox::floor_log2_pow10(k); + uint64_t first_segment; + bool has_more_segments; + int digits_in_the_first_segment; + { + const auto r = dragonbox::umul192_upper128( + significand << beta, dragonbox::get_cached_power(k)); + first_segment = r.high(); + has_more_segments = r.low() != 0; + + // The first segment can have 18 ~ 19 digits. + if (first_segment >= 1000000000000000000ULL) { + digits_in_the_first_segment = 19; + } else { + // When it is of 18-digits, we align it to 19-digits by adding a bogus + // zero at the end. + digits_in_the_first_segment = 18; + first_segment *= 10; + } + } + + // Compute the actual number of decimal digits to print. + if (fixed) adjust_precision(precision, exp + digits_in_the_first_segment); + + // Use Dragon4 only when there might be not enough digits in the first + // segment. + if (digits_in_the_first_segment > precision) { + use_dragon = false; + + if (precision <= 0) { + exp += digits_in_the_first_segment; + + if (precision < 0) { + // Nothing to do, since all we have are just leading zeros. + buf.try_resize(0); + } else { + // We may need to round-up. + buf.try_resize(1); + if ((first_segment | static_cast(has_more_segments)) > + 5000000000000000000ULL) { + buf[0] = '1'; + } else { + buf[0] = '0'; + } + } + } // precision <= 0 + else { + exp += digits_in_the_first_segment - precision; + + // When precision > 0, we divide the first segment into three + // subsegments, each with 9, 9, and 0 ~ 1 digits so that each fits + // in 32-bits which usually allows faster calculation than in + // 64-bits. Since some compiler (e.g. MSVC) doesn't know how to optimize + // division-by-constant for large 64-bit divisors, we do it here + // manually. The magic number 7922816251426433760 below is equal to + // ceil(2^(64+32) / 10^10). + const uint32_t first_subsegment = static_cast( + dragonbox::umul128_upper64(first_segment, 7922816251426433760ULL) >> + 32); + const uint64_t second_third_subsegments = + first_segment - first_subsegment * 10000000000ULL; + + uint64_t prod; + uint32_t digits; + bool should_round_up; + int number_of_digits_to_print = precision > 9 ? 9 : precision; + + // Print a 9-digits subsegment, either the first or the second. + auto print_subsegment = [&](uint32_t subsegment, char* buffer) { + int number_of_digits_printed = 0; + + // If we want to print an odd number of digits from the subsegment, + if ((number_of_digits_to_print & 1) != 0) { + // Convert to 64-bit fixed-point fractional form with 1-digit + // integer part. The magic number 720575941 is a good enough + // approximation of 2^(32 + 24) / 10^8; see + // https://jk-jeon.github.io/posts/2022/12/fixed-precision-formatting/#fixed-length-case + // for details. + prod = ((subsegment * static_cast(720575941)) >> 24) + 1; + digits = static_cast(prod >> 32); + *buffer = static_cast('0' + digits); + number_of_digits_printed++; + } + // If we want to print an even number of digits from the + // first_subsegment, + else { + // Convert to 64-bit fixed-point fractional form with 2-digits + // integer part. The magic number 450359963 is a good enough + // approximation of 2^(32 + 20) / 10^7; see + // https://jk-jeon.github.io/posts/2022/12/fixed-precision-formatting/#fixed-length-case + // for details. + prod = ((subsegment * static_cast(450359963)) >> 20) + 1; + digits = static_cast(prod >> 32); + copy2(buffer, digits2(digits)); + number_of_digits_printed += 2; + } + + // Print all digit pairs. + while (number_of_digits_printed < number_of_digits_to_print) { + prod = static_cast(prod) * static_cast(100); + digits = static_cast(prod >> 32); + copy2(buffer + number_of_digits_printed, digits2(digits)); + number_of_digits_printed += 2; + } + }; + + // Print first subsegment. + print_subsegment(first_subsegment, buf.data()); + + // Perform rounding if the first subsegment is the last subsegment to + // print. + if (precision <= 9) { + // Rounding inside the subsegment. + // We round-up if: + // - either the fractional part is strictly larger than 1/2, or + // - the fractional part is exactly 1/2 and the last digit is odd. + // We rely on the following observations: + // - If fractional_part >= threshold, then the fractional part is + // strictly larger than 1/2. + // - If the MSB of fractional_part is set, then the fractional part + // must be at least 1/2. + // - When the MSB of fractional_part is set, either + // second_third_subsegments being nonzero or has_more_segments + // being true means there are further digits not printed, so the + // fractional part is strictly larger than 1/2. + if (precision < 9) { + uint32_t fractional_part = static_cast(prod); + should_round_up = + fractional_part >= fractional_part_rounding_thresholds( + 8 - number_of_digits_to_print) || + ((fractional_part >> 31) & + ((digits & 1) | (second_third_subsegments != 0) | + has_more_segments)) != 0; + } + // Rounding at the subsegment boundary. + // In this case, the fractional part is at least 1/2 if and only if + // second_third_subsegments >= 5000000000ULL, and is strictly larger + // than 1/2 if we further have either second_third_subsegments > + // 5000000000ULL or has_more_segments == true. + else { + should_round_up = second_third_subsegments > 5000000000ULL || + (second_third_subsegments == 5000000000ULL && + ((digits & 1) != 0 || has_more_segments)); + } + } + // Otherwise, print the second subsegment. + else { + // Compilers are not aware of how to leverage the maximum value of + // second_third_subsegments to find out a better magic number which + // allows us to eliminate an additional shift. 1844674407370955162 = + // ceil(2^64/10) < ceil(2^64*(10^9/(10^10 - 1))). + const uint32_t second_subsegment = + static_cast(dragonbox::umul128_upper64( + second_third_subsegments, 1844674407370955162ULL)); + const uint32_t third_subsegment = + static_cast(second_third_subsegments) - + second_subsegment * 10; + + number_of_digits_to_print = precision - 9; + print_subsegment(second_subsegment, buf.data() + 9); + + // Rounding inside the subsegment. + if (precision < 18) { + // The condition third_subsegment != 0 implies that the segment was + // of 19 digits, so in this case the third segment should be + // consisting of a genuine digit from the input. + uint32_t fractional_part = static_cast(prod); + should_round_up = + fractional_part >= fractional_part_rounding_thresholds( + 8 - number_of_digits_to_print) || + ((fractional_part >> 31) & + ((digits & 1) | (third_subsegment != 0) | + has_more_segments)) != 0; + } + // Rounding at the subsegment boundary. + else { + // In this case, the segment must be of 19 digits, thus + // the third subsegment should be consisting of a genuine digit from + // the input. + should_round_up = third_subsegment > 5 || + (third_subsegment == 5 && + ((digits & 1) != 0 || has_more_segments)); + } + } + + // Round-up if necessary. + if (should_round_up) { + ++buf[precision - 1]; + for (int i = precision - 1; i > 0 && buf[i] > '9'; --i) { + buf[i] = '0'; + ++buf[i - 1]; + } + if (buf[0] > '9') { + buf[0] = '1'; + if (fixed) + buf[precision++] = '0'; + else + ++exp; + } + } + buf.try_resize(to_unsigned(precision)); + } + } // if (digits_in_the_first_segment > precision) + else { + // Adjust the exponent for its use in Dragon4. + exp += digits_in_the_first_segment - 1; } } if (use_dragon) { @@ -3181,13 +3587,10 @@ FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, } return exp; } - -template ::value)> -FMT_CONSTEXPR20 auto write(OutputIt out, T value, - basic_format_specs specs, locale_ref loc = {}) +template +FMTQUILL_CONSTEXPR20 auto write_float(OutputIt out, T value, + format_specs specs, locale_ref loc) -> OutputIt { - if (const_check(!is_supported_floating_point(value))) return out; float_specs fspecs = parse_float_type_spec(specs); fspecs.sign = specs.sign; if (detail::signbit(value)) { // value < 0 is false for NaN so use signbit. @@ -3211,7 +3614,7 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value, memory_buffer buffer; if (fspecs.format == float_format::hex) { if (fspecs.sign) buffer.push_back(detail::sign(fspecs.sign)); - snprintf_float(convert_float(value), specs.precision, fspecs, buffer); + format_hexfloat(convert_float(value), specs.precision, fspecs, buffer); return write_bytes(out, {buffer.data(), buffer.size()}, specs); } @@ -3234,10 +3637,19 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value, } template ::value)> -FMT_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { - if (is_constant_evaluated()) - return write(out, value, basic_format_specs()); + FMTQUILL_ENABLE_IF(is_floating_point::value)> +FMTQUILL_CONSTEXPR20 auto write(OutputIt out, T value, format_specs specs, + locale_ref loc = {}) -> OutputIt { + if (const_check(!is_supported_floating_point(value))) return out; + return specs.localized && write_loc(out, value, specs, loc) + ? out + : write_float(out, value, specs, loc); +} + +template ::value)> +FMTQUILL_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { + if (is_constant_evaluated()) return write(out, value, format_specs()); if (const_check(!is_supported_floating_point(value))) return out; auto fspecs = float_specs(); @@ -3246,11 +3658,11 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { value = -value; } - constexpr auto specs = basic_format_specs(); + constexpr auto specs = format_specs(); using floaty = conditional_t::value, double, T>; - using uint = typename dragonbox::float_info::carrier_uint; - uint mask = exponent_mask(); - if ((bit_cast(value) & mask) == mask) + using floaty_uint = typename dragonbox::float_info::carrier_uint; + floaty_uint mask = exponent_mask(); + if ((bit_cast(value) & mask) == mask) return write_nonfinite(out, std::isnan(value), specs, fspecs); auto dec = dragonbox::to_decimal(static_cast(value)); @@ -3258,21 +3670,21 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { } template ::value && + FMTQUILL_ENABLE_IF(is_floating_point::value && !is_fast_float::value)> inline auto write(OutputIt out, T value) -> OutputIt { - return write(out, value, basic_format_specs()); + return write(out, value, format_specs()); } template -auto write(OutputIt out, monostate, basic_format_specs = {}, - locale_ref = {}) -> OutputIt { - FMT_ASSERT(false, ""); +auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {}) + -> OutputIt { + FMTQUILL_ASSERT(false, ""); return out; } template -FMT_CONSTEXPR auto write(OutputIt out, basic_string_view value) +FMTQUILL_CONSTEXPR auto write(OutputIt out, basic_string_view value) -> OutputIt { auto it = reserve(out, value.size()); it = copy_str_noinline(value.begin(), value.end(), it); @@ -3280,28 +3692,28 @@ FMT_CONSTEXPR auto write(OutputIt out, basic_string_view value) } template ::value)> + FMTQUILL_ENABLE_IF(is_string::value)> constexpr auto write(OutputIt out, const T& value) -> OutputIt { return write(out, to_string_view(value)); } -// FMT_ENABLE_IF() condition separated to workaround an MSVC bug. +// FMTQUILL_ENABLE_IF() condition separated to workaround an MSVC bug. template < typename Char, typename OutputIt, typename T, bool check = std::is_enum::value && !std::is_same::value && mapped_type_constant>::value != type::custom_type, - FMT_ENABLE_IF(check)> -FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { + FMTQUILL_ENABLE_IF(check)> +FMTQUILL_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { return write(out, static_cast>(value)); } template ::value)> -FMT_CONSTEXPR auto write(OutputIt out, T value, - const basic_format_specs& specs = {}, - locale_ref = {}) -> OutputIt { + FMTQUILL_ENABLE_IF(std::is_same::value)> +FMTQUILL_CONSTEXPR auto write(OutputIt out, T value, + const format_specs& specs = {}, locale_ref = {}) + -> OutputIt { return specs.type != presentation_type::none && specs.type != presentation_type::string ? write(out, value ? 1 : 0, specs, {}) @@ -3309,55 +3721,49 @@ FMT_CONSTEXPR auto write(OutputIt out, T value, } template -FMT_CONSTEXPR auto write(OutputIt out, Char value) -> OutputIt { +FMTQUILL_CONSTEXPR auto write(OutputIt out, Char value) -> OutputIt { auto it = reserve(out, 1); *it++ = value; return base_iterator(out, it); } template -FMT_CONSTEXPR_CHAR_TRAITS auto write(OutputIt out, const Char* value) +FMTQUILL_CONSTEXPR_CHAR_TRAITS auto write(OutputIt out, const Char* value) -> OutputIt { - if (!value) { - throw_format_error("string pointer is null"); - } else { - out = write(out, basic_string_view(value)); - } + if (value) return write(out, basic_string_view(value)); + throw_format_error("string pointer is null"); return out; } template ::value)> -auto write(OutputIt out, const T* value, - const basic_format_specs& specs = {}, locale_ref = {}) - -> OutputIt { - check_pointer_type_spec(specs.type, error_handler()); + FMTQUILL_ENABLE_IF(std::is_same::value)> +auto write(OutputIt out, const T* value, const format_specs& specs = {}, + locale_ref = {}) -> OutputIt { return write_ptr(out, bit_cast(value), &specs); } // A write overload that handles implicit conversions. template > -FMT_CONSTEXPR auto write(OutputIt out, const T& value) -> enable_if_t< +FMTQUILL_CONSTEXPR auto write(OutputIt out, const T& value) -> enable_if_t< std::is_class::value && !is_string::value && !is_floating_point::value && !std::is_same::value && - !std::is_same().map(value))>::value, + !std::is_same().map( + value))>>::value, OutputIt> { return write(out, arg_mapper().map(value)); } template > -FMT_CONSTEXPR auto write(OutputIt out, const T& value) +FMTQUILL_CONSTEXPR auto write(OutputIt out, const T& value) -> enable_if_t::value == type::custom_type, OutputIt> { - using formatter_type = - conditional_t::value, - typename Context::template formatter_type, - fallback_formatter>; + auto formatter = typename Context::template formatter_type(); + auto parse_ctx = typename Context::parse_context_type({}); + formatter.parse(parse_ctx); auto ctx = Context(out, {}, {}); - return formatter_type().format(value, ctx); + return formatter.format(value, ctx); } // An argument visitor that formats the argument and writes it via the output @@ -3386,11 +3792,11 @@ template struct arg_formatter { using context = buffer_context; iterator out; - const basic_format_specs& specs; + const format_specs& specs; locale_ref locale; template - FMT_CONSTEXPR FMT_INLINE auto operator()(T value) -> iterator { + FMTQUILL_CONSTEXPR FMTQUILL_INLINE auto operator()(T value) -> iterator { return detail::write(out, value, specs, locale); } auto operator()(typename basic_format_arg::handle) -> iterator { @@ -3400,152 +3806,69 @@ template struct arg_formatter { } }; -template struct custom_formatter { - basic_format_parse_context& parse_ctx; - buffer_context& ctx; - - void operator()( - typename basic_format_arg>::handle h) const { - h.format(parse_ctx, ctx); - } - template void operator()(T) const {} -}; - -template -using is_integer = - bool_constant::value && !std::is_same::value && - !std::is_same::value && - !std::is_same::value>; - -template class width_checker { - public: - explicit FMT_CONSTEXPR width_checker(ErrorHandler& eh) : handler_(eh) {} - - template ::value)> - FMT_CONSTEXPR auto operator()(T value) -> unsigned long long { - if (is_negative(value)) handler_.on_error("negative width"); +struct width_checker { + template ::value)> + FMTQUILL_CONSTEXPR auto operator()(T value) -> unsigned long long { + if (is_negative(value)) throw_format_error("negative width"); return static_cast(value); } - template ::value)> - FMT_CONSTEXPR auto operator()(T) -> unsigned long long { - handler_.on_error("width is not integer"); + template ::value)> + FMTQUILL_CONSTEXPR auto operator()(T) -> unsigned long long { + throw_format_error("width is not integer"); return 0; } - - private: - ErrorHandler& handler_; }; -template class precision_checker { - public: - explicit FMT_CONSTEXPR precision_checker(ErrorHandler& eh) : handler_(eh) {} - - template ::value)> - FMT_CONSTEXPR auto operator()(T value) -> unsigned long long { - if (is_negative(value)) handler_.on_error("negative precision"); +struct precision_checker { + template ::value)> + FMTQUILL_CONSTEXPR auto operator()(T value) -> unsigned long long { + if (is_negative(value)) throw_format_error("negative precision"); return static_cast(value); } - template ::value)> - FMT_CONSTEXPR auto operator()(T) -> unsigned long long { - handler_.on_error("precision is not integer"); + template ::value)> + FMTQUILL_CONSTEXPR auto operator()(T) -> unsigned long long { + throw_format_error("precision is not integer"); return 0; } - - private: - ErrorHandler& handler_; }; -template