diff --git a/Shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.compute b/Shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.compute new file mode 100644 index 0000000..ec9567f --- /dev/null +++ b/Shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.compute.meta b/Shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.compute.meta new file mode 100644 index 0000000..c72a08f --- /dev/null +++ b/Shaders/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9b3faa41d2279344857aa1643c74c54 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.compute b/Shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.compute new file mode 100644 index 0000000..46811c9 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.compute.meta b/Shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.compute.meta new file mode 100644 index 0000000..7e7cb05 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_compute_inpainting_pyramid_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b171a3b3146508a4ebe6ecf70d112568 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_debug_view_pass.compute b/Shaders/ffx_frameinterpolation_debug_view_pass.compute new file mode 100644 index 0000000..9db6d59 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_debug_view_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_debug_view_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_debug_view_pass.compute.meta b/Shaders/ffx_frameinterpolation_debug_view_pass.compute.meta new file mode 100644 index 0000000..b99889e --- /dev/null +++ b/Shaders/ffx_frameinterpolation_debug_view_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63512d6a875b7f749b69f1e1dab1db24 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_disocclusion_mask_pass.compute b/Shaders/ffx_frameinterpolation_disocclusion_mask_pass.compute new file mode 100644 index 0000000..643f74c --- /dev/null +++ b/Shaders/ffx_frameinterpolation_disocclusion_mask_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_disocclusion_mask_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_disocclusion_mask_pass.compute.meta b/Shaders/ffx_frameinterpolation_disocclusion_mask_pass.compute.meta new file mode 100644 index 0000000..fa0d3fd --- /dev/null +++ b/Shaders/ffx_frameinterpolation_disocclusion_mask_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eff2ebf6818194848a6bda41001d845a +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_game_motion_vector_field_pass.compute b/Shaders/ffx_frameinterpolation_game_motion_vector_field_pass.compute new file mode 100644 index 0000000..cfa142a --- /dev/null +++ b/Shaders/ffx_frameinterpolation_game_motion_vector_field_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_game_motion_vector_field_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_game_motion_vector_field_pass.compute.meta b/Shaders/ffx_frameinterpolation_game_motion_vector_field_pass.compute.meta new file mode 100644 index 0000000..cb3ed68 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_game_motion_vector_field_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71e44c470ff3d6346b75aaa5edc608b5 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_inpainting_pass.compute b/Shaders/ffx_frameinterpolation_inpainting_pass.compute new file mode 100644 index 0000000..4b36ee6 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_inpainting_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_inpainting_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_inpainting_pass.compute.meta b/Shaders/ffx_frameinterpolation_inpainting_pass.compute.meta new file mode 100644 index 0000000..0d4ce2b --- /dev/null +++ b/Shaders/ffx_frameinterpolation_inpainting_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d9affbaf53b13854898a7fd84c66e487 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.compute b/Shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.compute new file mode 100644 index 0000000..487397b --- /dev/null +++ b/Shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.compute.meta b/Shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.compute.meta new file mode 100644 index 0000000..b577e56 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_optical_flow_vector_field_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b89c0efd0c4ccad468e76ded24ac4bdf +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_pass.compute b/Shaders/ffx_frameinterpolation_pass.compute new file mode 100644 index 0000000..9080ef5 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_pass.compute.meta b/Shaders/ffx_frameinterpolation_pass.compute.meta new file mode 100644 index 0000000..581919c --- /dev/null +++ b/Shaders/ffx_frameinterpolation_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58d390c8d43f74c42832f68ef4597133 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.compute b/Shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.compute new file mode 100644 index 0000000..22b9391 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.compute.meta b/Shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.compute.meta new file mode 100644 index 0000000..c1cb89a --- /dev/null +++ b/Shaders/ffx_frameinterpolation_reconstruct_and_dilate_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8502d70e8836f5e4c818069fbc90a683 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.compute b/Shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.compute new file mode 100644 index 0000000..a81afd5 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.compute.meta b/Shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.compute.meta new file mode 100644 index 0000000..284e060 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_reconstruct_previous_depth_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b665305f7d728ed478c661e3d0fa4d46 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/ffx_frameinterpolation_setup_pass.compute b/Shaders/ffx_frameinterpolation_setup_pass.compute new file mode 100644 index 0000000..9b5c3f9 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_setup_pass.compute @@ -0,0 +1,30 @@ +// Copyright (c) 2024 Nico de Poel +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// 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 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 +// 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. + +#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch + +#pragma kernel CS + +#pragma use_dxc +#pragma require WaveBasic + +#include "ffx_fsr_unity_common.cginc" + +#include "shaders/ffx_frameinterpolation_setup_pass.hlsl" diff --git a/Shaders/ffx_frameinterpolation_setup_pass.compute.meta b/Shaders/ffx_frameinterpolation_setup_pass.compute.meta new file mode 100644 index 0000000..9bbc7e7 --- /dev/null +++ b/Shaders/ffx_frameinterpolation_setup_pass.compute.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4821f6dac05a804e9ad78b957888248 +ComputeShaderImporter: + externalObjects: {} + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_callbacks_hlsl.h b/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_callbacks_hlsl.h index 470708c..a25b66b 100644 --- a/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_callbacks_hlsl.h +++ b/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_callbacks_hlsl.h @@ -27,7 +27,7 @@ #pragma dxc diagnostic push #pragma dxc diagnostic ignored "-Wambig-lit-shift" #endif //__hlsl_dx_compiler -#include "ffx_core.h" +#include "../ffx_core.h" #ifdef __hlsl_dx_compiler #pragma dxc diagnostic pop #endif //__hlsl_dx_compiler diff --git a/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid.h b/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid.h index 75b3e1e..3c6132b 100644 --- a/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid.h +++ b/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_game_vector_field_inpainting_pyramid.h @@ -105,7 +105,7 @@ FfxFloat32x4 SpdReduce4(FfxFloat32x4 v0, FfxFloat32x4 v1, FfxFloat32x4 v2, FfxFl return vec; } -#include "spd/ffx_spd.h" +#include "../spd/ffx_spd.h" void computeFrameinterpolationGameVectorFieldInpaintingPyramid(FfxInt32x3 iGroupId, FfxInt32 iLocalIndex) { diff --git a/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_inpainting_pyramid.h b/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_inpainting_pyramid.h index da2b672..c9b3d7a 100644 --- a/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_inpainting_pyramid.h +++ b/Shaders/shaders/frameinterpolation/ffx_frameinterpolation_compute_inpainting_pyramid.h @@ -104,7 +104,7 @@ FfxFloat32x4 SpdReduce4(FfxFloat32x4 v0, FfxFloat32x4 v1, FfxFloat32x4 v2, FfxFl return (v0 * w[0] + v1 * w[1] + v2 * w[2] + v3 * w[3]) / sum; } -#include "spd/ffx_spd.h" +#include "../spd/ffx_spd.h" void computeFrameinterpolationInpaintingPyramid(FfxInt32x3 iGroupId, FfxInt32 iLocalIndex) {