Commit Graph

7979 Commits

Author SHA1 Message Date
Henrik Rydgård
56a879bbd6
Merge pull request #16395 from unknownbrackets/blit-prefer-raster
GPU: Prefer raster for depth blit if supported
2022-11-18 16:50:35 +01:00
Unknown W. Brackets
47e5df3844 GPU: Prefer raster for depth blit if supported.
This seems to work around an apparent NVIDIA driver bug.
2022-11-17 18:32:38 -08:00
Lubos
db8b159d9e OpenXR - Force PSP menu aspect ratio 2022-11-17 17:30:29 +01:00
Unknown W. Brackets
7e7eabf86a softgpu: Use threads on self-render if safe.
Some games, such as Prince of Persia, self-render 1:1 to colorize, rather
than to scale or blur.  We can still use threads in these cases.
2022-11-13 12:34:31 -08:00
Unknown W. Brackets
d8716b5d90 softgpu: Fix off-by-one rendering after half-pixel.
If the X is after a half-pixel offset, the first pixel we draw is the next
one.  This wasn't being accounted for properly in one place.
2022-11-13 10:22:09 -08:00
Henrik Rydgård
fd43a0eade
Merge pull request #16384 from unknownbrackets/softgpu-fog
softgpu: Correct tex on fogged rectangles
2022-11-13 18:56:09 +01:00
Unknown W. Brackets
a66056217f softgpu: Avoid splitting rectangles for fog.
If the fog factor would result in the same amount of fog, we're just
adding more work for no reason.
2022-11-13 09:23:06 -08:00
Unknown W. Brackets
21064edfca softgpu: Correct tex on fogged rectangles. 2022-11-13 09:17:29 -08:00
Unknown W. Brackets
aac2faa674 GPU: Automatically reduce depth range on == test.
Fixes graphic issues in Blade Dancer, possibly other games.
2022-11-13 08:13:22 -08:00
Unknown W. Brackets
01d7d73438 GPU: Remove unused GPU_USE flag. 2022-11-13 08:09:57 -08:00
Unknown W. Brackets
4a367148e6 GPU: Centralize more GPU_USE flags, like depth. 2022-11-13 08:04:47 -08:00
Henrik Rydgård
1ae6047da9
Merge pull request #16379 from unknownbrackets/stencil-android
Fix alpha/stencil replace on Adreno when color masked
2022-11-13 10:12:39 +01:00
Unknown W. Brackets
eae85836c9 GPU: Add a small error-compensation to depth clip.
This was causing a depth that should've calculated as zero to be clipped,
because the multiply and division resulted in a value that was off by
about 2 / pow(2, 24) in the negative direction.
2022-11-12 20:01:46 -08:00
Unknown W. Brackets
66668d4b3f Vulkan: Correct alpha in Adreno workaround. 2022-11-12 17:41:48 -08:00
Unknown W. Brackets
98758573e3 GPU: Convert alphamask to FF/00 for 5551.
When masking via uniform, we don't care about the lower bits of alpha.
Games often use 7F / 80 to control writes of FF/00.
2022-11-12 17:41:48 -08:00
Lubos
72d197fc47 Revert "OpenXR - Disable range culling properly"
This reverts commit d1dabd40ee.
2022-11-10 18:44:11 +01:00
Unknown W. Brackets
70c3205564 GPU: Correct equal depth checks. 2022-11-09 20:34:29 -08:00
Henrik Rydgård
2886c33c06
Merge pull request #16370 from lvonasek/compat_openxr_sonic
OpenXR - Sonic Rivals fixed
2022-11-09 21:28:34 +01:00
Lubos
b980f55645 OpenXR - Don't get mirroring from identity matrix 2022-11-09 19:07:45 +01:00
Unknown W. Brackets
1c0a37f252 GPU: Correct vertex decoder in software transform.
It was meant to flip to skin in decode.
2022-11-09 07:07:39 -08:00
Henrik Rydgård
a8537576e5
Merge pull request #16361 from unknownbrackets/depth-equal
GPU: Avoid clears for non-simple depth values
2022-11-09 09:57:12 +01:00
Unknown W. Brackets
745d9ad320 GPU: Avoid enabling depth test pointlessly.
See #16015.  Attempting to avoid a driver bug.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
855d16ffb3 GPU: Prefer scaling depth to 16-bit if using 24.
In most cases, this will be a lot faster than pixel depth rounding, and
may avoid more issues in vertex rounding.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
3333f2a5aa GPU: Avoid clears for non-simple depth values.
Some drivers don't round depth the same way for a clear vs for drawing,
which can cause mismatches.  We only do this if we see equals-style depth
comparison funcs used in drawing.
2022-11-08 20:06:08 -08:00
Unknown W. Brackets
585569c2c2 TexCache: Cleanup BGRA flag dirtying. 2022-11-08 20:01:14 -08:00
Henrik Rydgård
c6084c16c3 Fix GLSL compilation issues on really old Adreno drivers.
They don't seem to accept unsigned integers as switch cases.

Fixes some stuff in #16295 , not sure if all of it.
2022-11-08 22:59:43 +01:00
Henrik Rydgård
584ca5db6e
Merge pull request #16364 from unknownbrackets/gpu-self-copy
GPU: Avoid self memcpy()
2022-11-08 18:05:07 +01:00
Unknown W. Brackets
1f20e11d61 GPU: Avoid self memcpy(). 2022-11-08 07:41:32 -08:00
Henrik Rydgård
87bd7aaccc
Merge pull request #16356 from lvonasek/cleanup_camera_control
OpenXR - Camera adjust using any controller
2022-11-08 12:28:44 +01:00
Luboš Vonásek
92384c2854
Space added 2022-11-08 07:09:27 +01:00
Unknown W. Brackets
bc53a0d7c4 TexCache: Correct 16->32 for CLUT4 with shift. 2022-11-07 18:41:47 -08:00
Unknown W. Brackets
17f6c00c3c TexCache: Fix 16->32 colors with CLUT start pos. 2022-11-07 18:34:10 -08:00
Unknown W. Brackets
04cd6c4f7d TexCache: Align expandClut buffer, cleanup sizes.
We shouldn't need larger than 2 KB CLUT buffers, since it's actually only
1 KB.  We have a hack that allows 2 KB for separate mip map levels.
2022-11-07 18:18:02 -08:00
Henrik Rydgård
970c266b41 Restore parallel GLSL builds 2022-11-08 00:30:21 +01:00
Henrik Rydgård
4d637342f7 Log source code for failed pipeline creations 2022-11-08 00:21:08 +01:00
Henrik Rydgård
4e8f97d64d Output shader descriptions directly in the source code 2022-11-08 00:21:08 +01:00
Lubos
d1dabd40ee OpenXR - Disable range culling properly 2022-11-07 22:10:12 +01:00
Henrik Rydgård
24d5cd087c Experiment (Vulkan): Temporarily disable GLSL parallel compilation on Android. For #16341 investigation. 2022-11-07 14:30:24 +01:00
Henrik Rydgård
ad14d628b6 Turn off boundSecondaryIsInputAttachment_ when we don't have one. 2022-11-07 09:30:47 +01:00
Henrik Rydgård
668904a515 Vulkan: Use the very same view as input attachment and color attachment, not just the same image
Fixes most of the new validation errors seen #16351, though one remains.

I believe that to be a bug in the validation layers, will investigate
later.
2022-11-07 09:14:55 +01:00
Henrik Rydgård
41c812651d
Merge pull request #16347 from unknownbrackets/softgpu-skin
Always skin in decode for software transform and rendering
2022-11-06 20:21:02 +01:00
Henrik Rydgård
69941c0d72 Android fix 2022-11-06 20:01:22 +01:00
Henrik Rydgård
c91e7912bf Change "Simulate block transfer" to "Skip GPU Readbacks". Group the speed hacks together 2022-11-06 19:30:38 +01:00
Henrik Rydgård
519db766b6 Change "Rendering Mode" to just a "Skip buffer effects" checkbox. Reuse translations. 2022-11-06 19:26:56 +01:00
Unknown W. Brackets
31cb3a8eae
Merge pull request #16346 from hrydgard/remove-retain-changed-textures-setting
Change the "Retain changed textures" option into a compat.ini option.
2022-11-06 10:18:21 -08:00
Unknown W. Brackets
527947fd81 GPU: Correct softgpu curve issue. 2022-11-06 09:06:07 -08:00
Unknown W. Brackets
3de2557ecb GPU: Always skin in decode for software transform. 2022-11-06 08:55:07 -08:00
Unknown W. Brackets
7880eb15c1 softgpu: Always use software skinning.
There's only software skinning, after all.
2022-11-06 08:44:22 -08:00
Unknown W. Brackets
6c36f03a0d GPU: Purify vertTypeIsSkinningEnabled(). 2022-11-06 08:40:54 -08:00
Henrik Rydgård
95cb358fbf Change the "Retain changed textures" option into a compat.ini option.
This option benefits so few games and can hurt others, so that it's
better that we specifically enable it for known cases like Popolocrois.
2022-11-06 17:28:50 +01:00