Commit graph

20039 commits

Author SHA1 Message Date
ameerj
c81ced43ae externals: Add only included ffx-fsr headers
The submodule adds a lot of unneeded bloat due its addition of samples that contain large media files that are difficult to compress.
2021-11-16 22:11:31 +01:00
Marshall Mohror
2173534da5 vulkan: Implement FidelityFX Super Resolution 2021-11-16 22:11:31 +01:00
FernandoS27
a75a56e998 Texture Cache: Rescale conversions between depth and color 2021-11-16 22:11:31 +01:00
Fernando Sahmkow
2ea2bc9f01 Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered. 2021-11-16 22:11:31 +01:00
ameerj
d644a3780c vulkan: Fix rescaling push constant usage 2021-11-16 22:11:31 +01:00
Fernando Sahmkow
7bb52ad3a7 Texture Cahe: Fix downscaling on SMO. 2021-11-16 22:11:31 +01:00
ameerj
4cbb1d0799 texture_cache_base: Remove unused function declarations 2021-11-16 22:11:31 +01:00
ameerj
4290f2101d yuzu: Fix build errors 2021-11-16 22:11:31 +01:00
ameerj
3c0e8a57e6 vk_texture_cache: Use 3D to scale images when blit is unsupported 2021-11-16 22:11:31 +01:00
ameerj
1efc65f2d3 texture_cache: Fix infinitely recursive ImageCanRescale check 2021-11-16 22:11:31 +01:00
ameerj
311b2327cb vk_texture_cache: Fix BlitScale of non-2D images 2021-11-16 22:11:31 +01:00
ameerj
b4742306d8 video_core: Refactor resolution scale function 2021-11-16 22:11:31 +01:00
ameerj
d4f9388875 texture_cache: Fix image resolves when src/dst are not both scaled 2021-11-16 22:11:30 +01:00
lat9nq
0fe6ef6109 yuzu_cmd: Read resolution_setup and scaling_filter from config
Also adds descriptions and the settings to the default config.
2021-11-16 22:11:30 +01:00
lat9nq
c89adcb342 video_core,yuzu: Move UpdateRescalingInfo call to video_core
This only needs to happen once per game boot, so we can just call it
during CreateGPU and be done with it, avoiding the need to call it in
the frontends.
2021-11-16 22:11:30 +01:00
ameerj
b15c9a406f gl_texture_cache: Disable scissor test when scaling textures
Fixes a bug on BOTW where some objects were no longer being rendered after blitting
2021-11-16 22:11:30 +01:00
ameerj
83aec496da vk_texture_cache: Fix unsupported blit format error checking 2021-11-16 22:11:30 +01:00
ameerj
52cc6f51aa vk_texture_cache: Fix early returns on unsupported scales 2021-11-16 22:11:30 +01:00
ameerj
d99a6e8e47 video_core: Misc resolution scaling related refactoring 2021-11-16 22:11:30 +01:00
ameerj
0b0403b779 texture_cache: Refactor scaled image size calculation 2021-11-16 22:11:30 +01:00
Fernando Sahmkow
d4f803a81b Texture Cache: Fix calculations when scaling. 2021-11-16 22:11:30 +01:00
ameerj
3efb140439 gl_texture_cache: Fix BGR pbo size for scaled textures 2021-11-16 22:11:30 +01:00
ameerj
1ce6cd119d rescaling_pass: Fix IR errors when unscalable texture types are encountered 2021-11-16 22:11:30 +01:00
Fernando Sahmkow
6ca801276b Texture Cache: Fix Rescaling on Multisample 2021-11-16 22:11:30 +01:00
Fernando Sahmkow
fc21f37496 TextureCache: Base fixes on rescaling. 2021-11-16 22:11:30 +01:00
ameerj
63465c24e1 rescaling_pass: Logic simplification and minor style cleanup 2021-11-16 22:11:30 +01:00
ameerj
746d27372f rescaling_pass: Scale ImageFetch offset if it exists
Plus some code deduplication
2021-11-16 22:11:30 +01:00
ameerj
b5ba8bec0e rescaling_pass: Enable PatchImageQueryDimensions on fragment stages 2021-11-16 22:11:30 +01:00
ameerj
abe81f73ef vk_texture_cache: Simplify scaled image management 2021-11-16 22:11:30 +01:00
ameerj
226aeeec04 gl_texture_cache: Fix scaling backup logic 2021-11-16 22:11:30 +01:00
ameerj
c2174cbb8f vk_rasterizer: Fix scaling on Y_NEGATE 2021-11-16 22:11:30 +01:00
ameerj
0213e5353d vk_texture_cache: Use nearest neighbor scaling when available 2021-11-16 22:11:30 +01:00
ameerj
5cef89d424 gl_texture_cache: Fix depth and integer format scaling blits 2021-11-16 22:11:30 +01:00
ameerj
e2f0f51295 gl_texture_cache/rescaling_pass: minor cleanup 2021-11-16 22:11:30 +01:00
ameerj
3beae9ae77 vk_texture_cache: Minor cleanup 2021-11-16 22:11:30 +01:00
ameerj
54ecf7c8c1 rescaling_pass: Fix and simplify shuffle/fragcoord pass 2021-11-16 22:11:30 +01:00
Fernando Sahmkow
4535feac87 Shader: Don't rescale FragCoord if used by Shuffle 2021-11-16 22:11:30 +01:00
ameerj
355343d57c image_info: Mark MSAA textures as non-rescalable
Blitting or resolving multisampled images requires the dimensions of the src and dst to be equal for valid usage, making them difficult for resolution scaling using the current implementation.
2021-11-16 22:11:30 +01:00
ameerj
4919d2d00f bootmanager: Fix screenshot resolution factor usage
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
ameerj
1e67e6c225 gl_texture_cache: Simplify scaling
We don't need to reconstruct new textures every time we ScaleUp/ScaleDown. We can scale up once, and revert to the original texture whenever scaling down.
Fixes memory leaks due to glDeleteTextures being deferred for later handling on some drivers
2021-11-16 22:11:29 +01:00
ameerj
8539edc252 Renderers: Unify post processing filter shaders 2021-11-16 22:11:29 +01:00
ameerj
f6e3e6651c gl_texture_cache: fix scaling on upload 2021-11-16 22:11:29 +01:00
Fernando Sahmkow
bca25d2a0f Renderer: Implement Bicubic and ScaleForce filters. 2021-11-16 22:11:29 +01:00
Fernando Sahmkow
cdbe98a4d0 Texture Cache: fix scaling on upload and stop scaling on base resolution. 2021-11-16 22:11:29 +01:00
ameerj
02f27b1992 shader, video_core: Fix GCC build errors 2021-11-16 22:11:29 +01:00
ameerj
92bb068ad5 emit_spirv: Fix RescalingLayout alignment 2021-11-16 22:11:29 +01:00
Fernando Sahmkow
674b073744 TextureCache: Fix Buffer Views Scaling. 2021-11-16 22:11:29 +01:00
Fernando Sahmkow
2549ee33ee RescalingPass: Agregate pixels on texelFetch while on Fragment Shader 2021-11-16 22:11:29 +01:00
Fernando Sahmkow
6933f82023 Texture Cache: Correctly fix Blits Rescaling. 2021-11-16 22:11:29 +01:00
Fernando Sahmkow
dc6f13060b shader: Fix TextureSize check on rescaling. 2021-11-16 22:11:29 +01:00