Commit graph

287 commits

Author SHA1 Message Date
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
1efc65f2d3 texture_cache: Fix infinitely recursive ImageCanRescale check 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
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
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
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
02f27b1992 shader, video_core: Fix GCC build errors 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
6933f82023 Texture Cache: Correctly fix Blits Rescaling. 2021-11-16 22:11:29 +01:00
ameerj
877f6e4db7 texture_cache: Disable dst_image scaling in BlitImage
Fixes scaling in Super Mario Party
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
b1504f3118 texture_cache: Fix blacklists on compute 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
02708d7e46 Texture Cache: Implement Rating System. 2021-11-16 22:11:28 +01:00
Fernando Sahmkow
8cafa0686b Texture Cache: Implement Blacklisting. 2021-11-16 22:11:28 +01:00
ReinUsesLisp
47946c7017 texture_cache: Add image getters 2021-11-16 22:11:28 +01:00
ameerj
bc5e9c45c2 texture_cache: Fix typo in aliased image rescaling 2021-11-16 22:11:28 +01:00
Fernando Sahmkow
d34b67ae49 Texture Cache: Implement Rescaling on Aliases and Blits. 2021-11-16 22:11:27 +01:00
Fernando Sahmkow
21165271e2 TextureCache: Fix rescaling of ImageCopies 2021-11-16 22:11:27 +01:00
Fernando Sahmkow
f6a665f295 TextureCache: Modify Viewports/Scissors according to Rescale. 2021-11-16 22:11:27 +01:00
Fernando Sahmkow
835110d72c Texture Cache: More rescaling fixes. 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
Ameer J
f6460266f8 Merge pull request #7070 from FernandoS27/want-you-bad
Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan.
2021-10-23 18:02:23 -04:00
ameerj
20a88d9d62 gpu: Migrate implementation to the cpp file 2021-10-03 00:35:57 -04:00
ameerj
d7977be416 general: Update style to clang-format-12 2021-09-24 15:52:05 -04:00
Fernando Sahmkow
6a6e2407f8 Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan. 2021-09-23 03:49:10 +02:00
Morph
244017d3aa slot_vector: Add missing <algorithm> include 2021-09-11 17:19:15 -04:00
Fernando Sahmkow
133f72c3f4 Garbage Collection: Make it more agressive on high priority mode. 2021-08-29 18:57:17 +02:00
Fernando Sahmkow
129bcd1b85 Garbage Collection: Adress Feedback. 2021-08-29 18:19:53 +02:00
Fernando Sahmkow
9a785765d8 Garbage Collection: enable as default, eliminate option. 2021-08-28 17:55:37 +02:00
Fernando Sahmkow
7d22f79cf0 VideoCore: Rework Garbage Collection. 2021-08-28 17:54:12 +02:00
yzct12345
3c7d3363c1 texture_cache: Address ameerj's review 2021-08-08 11:02:51 +00:00
yzct12345
0cef80ec92 texture_cache: Address ameerj's review 2021-08-07 01:27:47 +00:00
yzct12345
e99a125e19 texture_cache: Don't change copyright year 2021-08-05 20:52:12 +00:00
yzct12345
4436e63616 texture_cache: Address ameerj's review 2021-08-05 20:46:24 +00:00
yzct12345
e85149c507 texture_cache: Split templates out 2021-08-05 13:52:30 +00:00
Lioncash
2fa5f631c3 render_target: Add missing initializer for size extent
Everything else has a default constructor that does the straightforward
thing of initializing most members to a default value, except for the
size.

We explicitly initialize the size (and others, for consistency), to
prevent potential uninitialized reads from occurring. Particularly given
the largeish surface area that this struct is used in.
2021-07-27 07:41:21 -04:00
ReinUsesLisp
60e44af24d texture_cache: Reduce invalid image/sampler error severity 2021-07-22 21:51:34 -04:00
ReinUsesLisp
5ca5988c63 shader: Initial OpenGL implementation 2021-07-22 21:51:30 -04:00
ReinUsesLisp
5ab1ac4f29 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
ReinUsesLisp
3e6cb6362d shader: Interact texture buffers with buffer cache 2021-07-22 21:51:26 -04:00
Fernando S
55d9c6ece2 Merge pull request #6670 from ReinUsesLisp/prepare-rt
texture_cache: Always prepare image views on render targets
2021-07-19 03:21:25 +02:00
ReinUsesLisp
21932acf5f texture_cache/util: Fix size calculations of multisampled images
On the texture cache we handle multisampled images by keeping their real
size in samples (e.g. 1920x1080 with 4 samples is 3840x2160).

This works nicely with size matches and other comparisons, but the
calculation for guest sizes was not having this in mind, and the size
was being multiplied (again) by the number of samples per dimension.
For example a 3840x2160 texture cache image had its width and height
multiplied by 2, resulting in a much larger texture.

Fix this issue.

- Fixes performance regression on cooking related titles when an
  unrelated bug was fixed.
2021-07-18 01:15:48 -03:00