Commit graph

2634 commits

Author SHA1 Message Date
Fernando Sahmkow
00a337fe07 Texture Cache: fix memory managment and optimize scaled downloads, uploads. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow
c8785738b0 Texture Cache: Fix downscaling and correct memory comsumption. 2021-11-16 22:11:31 +01:00
Fernando Sahmkow
d20bfdd9a3 Presentation: add Nearest Neighbor filter. 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
b4742306d8 video_core: Refactor resolution scale function 2021-11-16 22:11:31 +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
d99a6e8e47 video_core: Misc resolution scaling related refactoring 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
226aeeec04 gl_texture_cache: Fix scaling backup logic 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
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
ameerj
02f27b1992 shader, video_core: Fix GCC build errors 2021-11-16 22:11:29 +01:00
ReinUsesLisp
d04e2dac6c shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
2021-11-16 22:11:29 +01:00
ReinUsesLisp
928ff21aae shader: Properly blacklist and scale image loads 2021-11-16 22:11:29 +01:00
ReinUsesLisp
0100b5e700 texture_cache: Add getter to query if image view is rescaled 2021-11-16 22:11:29 +01:00
ReinUsesLisp
6e61089164 gl_texture_cache: Fix scaling blits 2021-11-16 22:11:29 +01:00
ReinUsesLisp
0d12e498ab glsl/glasm: Pass and use scaling parameters in shaders 2021-11-16 22:11:29 +01:00
ReinUsesLisp
d7178ad04e gl_rasterizer: Properly scale viewports and scissors 2021-11-16 22:11:29 +01:00
ameerj
e2a7f219e1 gl_texture_cache: Fix multi layered texture Scale 2021-11-16 22:11:29 +01:00
ameerj
650b57386a gl_compute_pipeline: Add downscale factor to shader uniforms 2021-11-16 22:11:29 +01:00
ameerj
d891de0664 gl_rasterizer: Fix rescale dirty state checking 2021-11-16 22:11:29 +01:00
ameerj
b83c3e7182 gl_graphics_pipeline: Add downscale factor to shader uniforms 2021-11-16 22:11:28 +01:00
ReinUsesLisp
dacd5da998 texture_cache: Simplify image view queries and blacklisting 2021-11-16 22:11:28 +01:00
Fernando Sahmkow
13c8573186 OpenGL: set linear mag filter when blitting a downscaled image. 2021-11-16 22:11:28 +01:00
ReinUsesLisp
7c4cd0eb06 opengl: Use Shader::NumDescriptors when possible 2021-11-16 22:11:28 +01:00
ameerj
99659cf491 gl_texture_cache: Simplify rescaling 2021-11-16 22:11:28 +01:00
ameerj
e1f1b85d64 gl_texture_cache: Implement ScaleDown 2021-11-16 22:11:27 +01:00
ameerj
7d1f24e490 gl_texture_cache: Rescale fixes for multi-layered textures 2021-11-16 22:11:27 +01:00
ameerj
e7867b26ff renderer_gl: Resolution scaling fixes 2021-11-16 22:11:27 +01:00
Fernando Sahmkow
835110d72c Texture Cache: More rescaling fixes. 2021-11-16 22:11:27 +01:00
ameerj
b3cedc87b9 gl_texture_cache: WIP texture rescale 2021-11-16 22:11:27 +01:00
Fernando Sahmkow
256c4b28c4 Texture Cache: Implement Vulkan UpScaling & DownScaling 2021-11-16 22:11:27 +01:00
Fernando Sahmkow
7a957d501f VideoCore: Initial Setup for the Resolution Scaler. 2021-11-16 22:11:27 +01:00
Morph
c5b0836c96 gl_rasterizer: Remove unused includes
This removes unused includes, especially the core includes which were causing this file to be recompiled every time files included by those headers are modified.
2021-10-31 23:57:51 -04:00
lat9nq
5167b19cd6 gl_device: Force GLASM on NVIDIA drivers 495-496
GLSL shaders currently do not render correctly on the recent NVIDIA
drivers. This adds a check that forces assembly shaders for these
drivers since they seem unaffected and adds a warning informing of the
decision.

Developers can disable the check by enabling graphics debugging.
2021-10-28 19:38:49 -04:00
ameerj
6cfd975469 settings: Remove std::chrono usage
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
ameerj
20a88d9d62 gpu: Migrate implementation to the cpp file 2021-10-03 00:35:57 -04:00
bunnei
d08fdea916 Merge pull request #7061 from ameerj/dma-buffer-misc
buffer_cache, maxwell_dma: Minor refactoring and code fixes
2021-09-30 12:34:28 -07:00
bunnei
d905feb0c0 Merge pull request #7036 from ameerj/ogl-bgr-v2
gl_texture_cache: Unify BGR copy passes using PBOs
2021-09-29 16:10:56 -07:00
ameerj
73dd6230aa buffer_cache: Minor fixes
Loop through the tmp_intervals by reference, rather than by copy, and fix gl clear buffer size calculation.
2021-09-19 20:35:07 -04:00
ameerj
933b5dff61 host_shaders: Remove opengl_copy_bgra.comp 2021-09-16 19:49:13 -04:00
ameerj
6aaf430d15 gl_texture_cache: Migrate BGRCopyPass from util_shaders
The BGR copies no longer use shaders.
2021-09-16 19:49:12 -04:00
ameerj
6af2ea8253 util_shaders: Unify BGRA copy passes 2021-09-15 21:10:52 -04:00
Morph
653acf39e2 renderers: Log total pipeline count 2021-09-14 13:18:26 -04:00