Commit Graph

17934 Commits

Author SHA1 Message Date
jam1garner 84eb3e7d02 arm: dynarmic: Implement icache op handling for 'ic ivau' instruction 2021-11-21 21:10:14 -05:00
Adam Heinermann 097de2febc const fixes 2021-11-21 18:07:37 -08:00
Adam Heinermann b7a938e817 Apply clang format 2021-11-21 18:02:08 -08:00
Adam Heinermann f90d980837 Added TAS controls to the menu under Tools 2021-11-21 17:28:47 -08:00
Kewlan 8e3371a5c5 configure_general: Allow framerate cap to be used in custom game configs 2021-11-21 16:57:00 +01:00
bunnei d20f91da11
Merge pull request #7395 from Morph1984/resolve-comments
general: Resolve comments in PR #7368
2021-11-21 02:42:24 -08:00
bunnei 5082712b4e
Merge pull request #7389 from ameerj/screenshot-1x
Fix screenshot dimensions when at 1x scale
2021-11-21 02:31:32 -08:00
bunnei ba5210675a
Merge pull request #7359 from heinermann/kthread_crash
Fix crash on exit due to static scoped dummy threads
2021-11-20 23:59:58 -08:00
bunnei fc34749778
Merge pull request #7393 from Morph1984/pm-ams-get-pid
service: pm: Implement AtmosphereGetProcessId
2021-11-20 22:08:25 -08:00
Morph 5cf93c1346 kernel: svc: Move all IsValid functions to an anonymous namespace 2021-11-20 22:49:13 -05:00
Morph 2726d705f8 kernel: svc: Implement SetProcessMemoryPermission
- Used by Skyline modding framework
2021-11-20 22:18:56 -05:00
Morph 281437c811 kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission 2021-11-20 22:18:56 -05:00
Morph a41c6dafea vk_texture_cache: Mark VkBufferUsageFlags as static constexpr 2021-11-20 21:49:37 -05:00
Morph 095bc88428 vk_blit_image: Consolidate CreatePipelineTargetEx functions 2021-11-20 21:18:37 -05:00
Morph 9173f07a51 service: pm: Implement AtmosphereGetProcessId
- Used by Skyline modding framework
2021-11-20 20:56:29 -05:00
Morph 3dc38d185b service: pm: Add all relevant result codes 2021-11-20 20:56:28 -05:00
bunnei ea6fa044f3
Merge pull request #7368 from FernandoS27/vulkan-conv
Fix ART Blit detection regression and add D24S8 <-> RGBA8 conv to Vulkan
2021-11-20 16:51:13 -08:00
Morph 40cd0bb97b service: pm: Rename title id to program id 2021-11-20 19:39:26 -05:00
ameerj fe1f06c856 Fix screenshot dimensions when at 1x scale
This was regressed by ART.
Prior to ART, the screenshots were saved at the title's framebuffer resolution. A misunderstanding of the existing logic led to screenshot dimensions becoming dependent on the host render window size.

This changes the behavior to match how it was prior to ART at 1x, with screenshots now always being the title's framebuffer dimensions scaled by the resolution scaling factor.
2021-11-20 17:50:24 -05:00
Fernando Sahmkow da2fe81905 TextureCache: Refactor and fix linux compiling. 2021-11-20 14:46:19 +01:00
Fernando Sahmkow 4ca6e9a9e2 TextureCache: Assure full conversions on depth/stencil write shaders. 2021-11-20 06:17:01 +01:00
Fernando Sahmkow 0857f82913 TextureCache: Implement buffer copies on Vulkan. 2021-11-20 06:15:29 +01:00
bunnei c3e1ffc44b
Merge pull request #7294 from vonchenplus/fix_image_update_error_when_width_too_small
Fix image update/download error when width too small
2021-11-19 15:56:27 -08:00
Fernando Sahmkow e02cff2f69 TextureCache: Add R16G16 to D24S8 converter. 2021-11-20 00:02:12 +01:00
Fernando Sahmkow 1d5e6a51d7 TextureCache: Add B10G11R11 to D24S8 converter. 2021-11-19 23:22:44 +01:00
Fernando Sahmkow 6f896d1fae TextureCache: Further fixes on resolve algorithm. 2021-11-19 23:02:04 +01:00
bunnei b44fbf6cdd
Merge pull request #7369 from Morph1984/amd-fsr-statusbar
main: Shorten AMD FSR status bar text
2021-11-19 01:20:27 -08:00
bunnei a69813948f
Merge pull request #7342 from goldenx86/patch-3
Replace keys error pop up
2021-11-19 01:17:18 -08:00
bunnei c45af76ea0
Merge pull request #7357 from Morph1984/s8_uint
video_core: Implement S8_UINT format
2021-11-19 01:16:49 -08:00
Fernando Sahmkow b805c7bf05 TextureCache: Implement additional D24S8 convertions. 2021-11-19 06:27:44 +01:00
Fernando Sahmkow 0ff228405f TextureCache: force same image format when resolving an image. 2021-11-19 05:46:57 +01:00
Morph bc5ed1aa1b main: Fix default AA name
By default, no AA is applied, not FXAA
2021-11-18 23:22:32 -05:00
Morph a237fb5f75 configure_graphics_ui: AMD's -> AMD
AMD officially markets FSR as AMD FidelityFX™️ Super Resolution
2021-11-18 23:17:16 -05:00
Morph c76163b611 main: Shorten AMD FSR status bar text
AMD'S FIDELITYFX SR -> FSR
2021-11-18 23:17:16 -05:00
Fernando Sahmkow b130f648d7 TextureCache: Fix regression caused by ART and improve blit detection algorithm to be smarter. 2021-11-19 03:17:54 +01:00
Fernando Sahmkow 2ec7fcecb7 Vulkan: implement D24S8 <-> RGBA8 convertions. 2021-11-19 03:17:02 +01:00
bunnei 0bc46fedd6
Merge pull request #7349 from ameerj/ogl-convert-image
gl_texture_cache: Implement pixel format conversions for copies
2021-11-18 11:30:47 -08:00
bunnei a100f5d5d4
Merge pull request #7353 from v1993/no-more-epilepsy
Prevent window flickering when holding Esc
2021-11-18 11:26:28 -08:00
Morph dc61b7045b renderer_vulkan: Implement S8_UINT stencil format
It should be noted that on Windows, only nvidia gpus support this format natively as of this commit.
2021-11-18 00:05:51 -05:00
ameerj f7e155d8b9 gl_texture_cache: Round format conversion PBO to next power of 2 2021-11-17 23:49:44 -05:00
bunnei 2054013edb
Merge pull request #7355 from german77/hotkey_spam
hotkeys: Don't allow hotkeys to spam
2021-11-17 18:16:17 -08:00
Adam Heinermann d8a783a368 Fix crash on exit due to static scoped dummy threads 2021-11-17 15:29:25 -08:00
Morph 6dd6dc046c renderer_opengl: Implement S8_UINT stencil format 2021-11-17 15:05:07 -05:00
Morph 2348eb41f3 video_core: Add S8_UINT stencil format 2021-11-17 15:04:38 -05:00
german77 311324e231 hotkeys: Don't allow hotkeys to spam 2021-11-17 10:42:20 -06:00
Valeri f7e0a37753
Prevent window flickering when holding Esc
Reported on discord by Levlight. Don't try to exit fullscreen if it's already off.
2021-11-17 18:07:47 +03:00
Feng Chen 894cc9d876 Fix image update/download error when width too small 2021-11-17 12:21:17 +08:00
ameerj 20ed7ba441 texture_cache: Use pixel format conversion when supported by the runtime 2021-11-16 22:32:46 -05:00
ameerj 50c3d53076 gl_texture_cache: Make FormatConversionPass more generic
This allows the usage of the FormatConversionPass to be applied to more than the previously used BGR conversion scenarios.
2021-11-16 22:32:11 -05:00
ameerj 35ca6274f4 gl_texture_cache: Rename BGRCopyPass to FormatConversionPass 2021-11-16 22:31:58 -05:00
Fernando Sahmkow 1c8a3d8d29 TextureCache: Fix Automatic Anisotropic. 2021-11-17 03:15:08 +01:00
FernandoS27 1128cc35b9 TextureCache: OGL query device memory if possible. 2021-11-17 01:45:50 +01:00
Fernando Sahmkow 978f598ff6 TextureCache: Fix OGL cleaning 2021-11-17 00:59:46 +01:00
Fernando Sahmkow 282e04bffb TextureCache: Add automatic anisotropic filtering and refactor code. 2021-11-16 23:14:51 +01:00
Fernando Sahmkow 5230378709 TextureCache: Make a better Anisotropic setter. 2021-11-16 22:11:33 +01:00
Fernando Sahmkow 6c97ab571a Texture Cache: revert Image changes. 2021-11-16 22:11:33 +01:00
Fernando Sahmkow 6f98690963 ShaderCache: Better fix for Shuffling gl_FragCoord 2021-11-16 22:11:33 +01:00
FernandoS27 d46a71e786 HostShader: fix Gaussian filter. 2021-11-16 22:11:33 +01:00
FernandoS27 de1c8c5c2c Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs. 2021-11-16 22:11:33 +01:00
ameerj 917b2466ad texture_cache: Refactor Render Target scaling function 2021-11-16 22:11:33 +01:00
ameerj 9fc1fa1b0d gl_resource_manager: Ensure non EXT_framebuffer objects are created 2021-11-16 22:11:33 +01:00
FernandoS27 099b0b3167 Texture Cache: Fix memory usage on ScaleDown. 2021-11-16 22:11:33 +01:00
FernandoS27 9189aacfe2 OpenGL: Fix viewport/Scissor scaling on downscaling. 2021-11-16 22:11:33 +01:00
FernandoS27 c97c46747d Vulkan: fix regression. 2021-11-16 22:11:33 +01:00
ameerj 87abab71ff host_shaders: Misc copyright/style changes 2021-11-16 22:11:33 +01:00
ameerj 864f2e0b81 configure_graphics.ui: Cleanup scaling options and fix duplicate name warning 2021-11-16 22:11:33 +01:00
ameerj 99124b7261 FSR: Fix GCC build errors 2021-11-16 22:11:33 +01:00
Marshall Mohror bb03675485 Vulkan: Reimplement FSR constant generation functions to avoid GCC warnings 2021-11-16 22:11:33 +01:00
ameerj 47369faaab vk_blit_screen: Fix AA destruction order 2021-11-16 22:11:32 +01:00
Marshall Mohror dcc5b4f6b0 Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan 2021-11-16 22:11:32 +01:00
ameerj a39e867c73 renderer_vulkan/blit_image: Use generic color state on Depth to Color blits
Fixes Bayonetta 2 on AMD
2021-11-16 22:11:32 +01:00
ameerj 282a4501d9 vk_texture_cache: Refactor 3D scaling helpers 2021-11-16 22:11:32 +01:00
ameerj 93c9eb196f gl_rasterizer: Fix ScissorTest and Clear when scaling 2021-11-16 22:11:32 +01:00
ameerj 172d4f1e3b gl_texture_cache: Simplify scaling procedures 2021-11-16 22:11:32 +01:00
Fernando Sahmkow 5c6fa88935 OpenGlTextureCache: Fix state invalidation on rescaling. 2021-11-16 22:11:32 +01:00
Fernando Sahmkow c5dbd93adb VulkanBufferCache: Avoid adding barriers between multiple copies. 2021-11-16 22:11:32 +01:00
Fernando Sahmkow 99547d2656 HostShader: Fix gaussian and add attribution. 2021-11-16 22:11:32 +01:00
Fernando Sahmkow a96c9c803b Yuzu UI: Add button for Anti Alias 2021-11-16 22:11:32 +01:00
Fernando Sahmkow 21a8ba0437 Vulkan: Fix FXAA in AMD. 2021-11-16 22:11:32 +01:00
Fernando Sahmkow 6cdfaee7b4 Texture Cache: Fix blitting. 2021-11-16 22:11:32 +01:00
FernandoS27 e6f1ed08fb Vulkan: Implement FXAA 2021-11-16 22:11:32 +01:00
Marshall Mohror 056894f07a OpenGL: fix FXAA with scaling 2021-11-16 22:11:32 +01:00
Marshall Mohror 48cf376462 OpenGL: Implement FXAA 2021-11-16 22:11:32 +01:00
Marshall Mohror 74e39ed6ee Frontend: Add anti-aliasing method setting 2021-11-16 22:11:32 +01:00
Marshall Mohror 510caeefb3 Settings: Add anti-aliasing method setting 2021-11-16 22:11:32 +01:00
FernandoS27 2eff80b47f QtGUI: Add buttton to toggle the filter. 2021-11-16 22:11:32 +01:00
FernandoS27 9e065b9c7d VideoCore: Add gaussian filtering. 2021-11-16 22:11:32 +01:00
FernandoS27 bf01b7993d TextureCache: Improve Reaper. 2021-11-16 22:11:32 +01:00
FernandoS27 bb3e95133d Vulkan: fix waiting on semaphore. 2021-11-16 22:11:32 +01:00
Marshall Mohror 916b882ea8 Update scaleforce to use FP16 2021-11-16 22:11:32 +01:00
FernandoS27 e7fc60406e VideoCore: Add more rescaling option. 2021-11-16 22:11:31 +01:00
FernandoS27 d37d10e7a7 TextureCache: fix rescaling in aliases and overlap joins. 2021-11-16 22:11:31 +01:00
Marshall Mohror 7506ac4118 Presentation: Fix turning FSR on and off in settings 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 4ad22c7d2b Video Core: fix building for GCC. 2021-11-16 22:11:31 +01:00
FernandoS27 826a350e2b Vulkan Rasterizer: Fix clears on integer textures. 2021-11-16 22:11:31 +01:00
FernandoS27 150bc45401 Texture cache: fix Intel with rescaler. 2021-11-16 22:11:31 +01:00
FernandoS27 f3ff8bdc0e TextureCache: Fix blitting filter in Vulkan and correct viewport/scissor calculation when downscaling. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 3b61de74e6 Texture Cache: fix memory managment and optimize scaled downloads, uploads. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow c2ca55c9d5 Texture Cache: ease the requirements of textures being blacklisted. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 50b4c774cb Vulkan: Fix Blit Depth Stencil 2021-11-16 22:11:31 +01:00
Fernando Sahmkow 425ab9ef4b Texture Cache: Fix downscaling and correct memory comsumption. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow b60966041c Presentation: add Nearest Neighbor filter. 2021-11-16 22:11:31 +01:00
Marshall Mohror 37cb0377ae vulkan: Implement FidelityFX Super Resolution 2021-11-16 22:11:31 +01:00
FernandoS27 d4f5193bd3 Texture Cache: Rescale conversions between depth and color 2021-11-16 22:11:31 +01:00
Fernando Sahmkow ef1dc42635 Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered. 2021-11-16 22:11:31 +01:00
ameerj 618de4e787 vulkan: Fix rescaling push constant usage 2021-11-16 22:11:31 +01:00
Fernando Sahmkow b7ccc58f23 Texture Cahe: Fix downscaling on SMO. 2021-11-16 22:11:31 +01:00
ameerj 0f14c9379e texture_cache_base: Remove unused function declarations 2021-11-16 22:11:31 +01:00
ameerj ca1db63116 yuzu: Fix build errors 2021-11-16 22:11:31 +01:00
ameerj ebf36f23dd vk_texture_cache: Use 3D to scale images when blit is unsupported 2021-11-16 22:11:31 +01:00
ameerj 4de584005f texture_cache: Fix infinitely recursive ImageCanRescale check 2021-11-16 22:11:31 +01:00
ameerj b1ae935f11 vk_texture_cache: Fix BlitScale of non-2D images 2021-11-16 22:11:31 +01:00
ameerj abd07e4158 video_core: Refactor resolution scale function 2021-11-16 22:11:31 +01:00
ameerj b14f2c7c82 texture_cache: Fix image resolves when src/dst are not both scaled 2021-11-16 22:11:30 +01:00
lat9nq 49c0c7efd2 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 1c93476a80 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 3233fa5dc8 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 89a7e566c7 vk_texture_cache: Fix unsupported blit format error checking 2021-11-16 22:11:30 +01:00
ameerj f8339cd703 vk_texture_cache: Fix early returns on unsupported scales 2021-11-16 22:11:30 +01:00
ameerj 31478c6c1b video_core: Misc resolution scaling related refactoring 2021-11-16 22:11:30 +01:00
ameerj 88ef04dbaf texture_cache: Refactor scaled image size calculation 2021-11-16 22:11:30 +01:00
Fernando Sahmkow 237a43004f Texture Cache: Fix calculations when scaling. 2021-11-16 22:11:30 +01:00
ameerj e0a3830855 gl_texture_cache: Fix BGR pbo size for scaled textures 2021-11-16 22:11:30 +01:00
ameerj 581ea90062 rescaling_pass: Fix IR errors when unscalable texture types are encountered 2021-11-16 22:11:30 +01:00
Fernando Sahmkow ea82bd4b7e Texture Cache: Fix Rescaling on Multisample 2021-11-16 22:11:30 +01:00
Fernando Sahmkow 19ca0c9ab5 TextureCache: Base fixes on rescaling. 2021-11-16 22:11:30 +01:00
ameerj 99eec162da rescaling_pass: Logic simplification and minor style cleanup 2021-11-16 22:11:30 +01:00
ameerj 276565973f rescaling_pass: Scale ImageFetch offset if it exists
Plus some code deduplication
2021-11-16 22:11:30 +01:00
ameerj dd66384451 rescaling_pass: Enable PatchImageQueryDimensions on fragment stages 2021-11-16 22:11:30 +01:00
ameerj 36f261edef vk_texture_cache: Simplify scaled image management 2021-11-16 22:11:30 +01:00
ameerj 8183142cd4 gl_texture_cache: Fix scaling backup logic 2021-11-16 22:11:30 +01:00
ameerj 122ddeb7ff vk_rasterizer: Fix scaling on Y_NEGATE 2021-11-16 22:11:30 +01:00
ameerj 16017ac450 vk_texture_cache: Use nearest neighbor scaling when available 2021-11-16 22:11:30 +01:00
ameerj 27af298e78 gl_texture_cache: Fix depth and integer format scaling blits 2021-11-16 22:11:30 +01:00
ameerj b027fac794 gl_texture_cache/rescaling_pass: minor cleanup 2021-11-16 22:11:30 +01:00
ameerj c8a971be91 vk_texture_cache: Minor cleanup 2021-11-16 22:11:30 +01:00
ameerj edb5844240 rescaling_pass: Fix and simplify shuffle/fragcoord pass 2021-11-16 22:11:30 +01:00
Fernando Sahmkow b3a9c8f108 Shader: Don't rescale FragCoord if used by Shuffle 2021-11-16 22:11:30 +01:00
ameerj 6000fe69a4 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 80f8d4989e bootmanager: Fix screenshot resolution factor usage
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
ameerj fcf2b2c78a 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 ae8d19d17e Renderers: Unify post processing filter shaders 2021-11-16 22:11:29 +01:00
ameerj 29710f3250 gl_texture_cache: fix scaling on upload 2021-11-16 22:11:29 +01:00
Fernando Sahmkow a6b88e85bf Renderer: Implement Bicubic and ScaleForce filters. 2021-11-16 22:11:29 +01:00
Fernando Sahmkow c5bbbf3902 Texture Cache: fix scaling on upload and stop scaling on base resolution. 2021-11-16 22:11:29 +01:00
ameerj 68e038404c shader, video_core: Fix GCC build errors 2021-11-16 22:11:29 +01:00
ameerj 65781f88f8 emit_spirv: Fix RescalingLayout alignment 2021-11-16 22:11:29 +01:00
Fernando Sahmkow d7c9792169 TextureCache: Fix Buffer Views Scaling. 2021-11-16 22:11:29 +01:00
Fernando Sahmkow dfa8291526 RescalingPass: Agregate pixels on texelFetch while on Fragment Shader 2021-11-16 22:11:29 +01:00
Fernando Sahmkow 4b1393a691 Texture Cache: Correctly fix Blits Rescaling. 2021-11-16 22:11:29 +01:00