Unknown W. Brackets
5e6f54033e
GPU: Split clip and cull caps.
...
GL_ARB_cull_distance is needed, sometimes available on older GL.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
c6a52909f9
D3D11: Support vertex clip/cull planes.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
1a603fedf5
Vulkan: Cull verts fully outside depth.
...
Following PSP rules of -1 to 1 pre-viewport Z. This also enables it for
GLES/OpenGL.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
7d00b6ca90
GLES: Enable/disable clip distance 0.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
046a5c548b
GLES: Check clip/cull distance support.
...
Pretty limited on GLES3+. Also D3D11.
Seems like doing it on D3D9 might be a bit tricky.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
2271b41d07
Vulkan: Use clip distance only if supported.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
273b9a3dc1
Vulkan: Add negative Z clipping.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
24011c3754
GPU: Correct depth handling for guardband.
...
This culls based on pre-viewport Z and avoids culling based on the clip
range at negative Z.
2021-10-12 20:34:41 -07:00
Unknown W. Brackets
6252241c0f
GPU: Verify throughmode for clears/rects.
2021-10-12 20:34:41 -07:00
Unknown W. Brackets
4ac36cb810
GPU: Cull rectangles more when depth clamp off.
...
If any vert is outside Z, it's culled when not clamping/clipping.
2021-10-12 20:34:41 -07:00
Unknown W. Brackets
5315c404c5
GPU: Cull rectangles outside valid Z.
...
Both TL and BR must be outside in the same direction to be culled when
depth clamp is enabled.
2021-10-12 20:34:41 -07:00
Henrik Rydgård and GitHub
14bf5de83c
Merge pull request #14994 from hrydgard/more-crash-fixes
...
More crash fixes
2021-10-08 22:56:08 +02:00
Henrik Rydgård
e57770977b
We don't use primitiveRestart for anything, let's not enable it. It has costs on some hardware.
2021-10-08 22:22:08 +02:00
Henrik Rydgård
d7ac6aa63d
Fix an assortment of minor VK barrier bugs in mostly texture upload
2021-10-08 21:58:03 +02:00
Henrik Rydgård
b426d12a17
More best-practices adjustments
2021-10-08 21:32:40 +02:00
Henrik Rydgård
ddc0f0829b
Replaced textures: Don't leak handles on failure, check allocation success
2021-10-08 19:09:43 +02:00
Henrik Rydgård
59ac4d3e27
Vulkan: Rework mipmap generation and its image barrier/layout handling.
...
Fixes bugs on mobile with texture scaling + auto max quality texturing
(since that generates mipmaps with blits from an image which was just generated from
compute, making proper barriers very critical).
2021-10-05 22:50:49 +02:00
Henrik Rydgård
887f6101d5
Remove the "Auto" texture scale factor. It's a performance trap and not really useful.
2021-10-05 20:41:40 +02:00
Unknown W. Brackets
b1009f70f9
softgpu: Allow end coordinate at bounds.
...
Oops, was excluding some valid usage that wouldn't wrap.
2021-09-30 06:33:25 -07:00
Unknown W. Brackets
953916a842
softgpu: Avoid fast path for clamp/wrap cases.
...
It doesn't clamp or wrap, and those are uncommon for the fast path.
Fixes #14951 .
2021-09-29 19:19:21 -07:00
Henrik Rydgård
992ad801e7
Add a crude way to blacklist post/texture shaders from certain vendors.
...
Use it to work around #14530 for now.
2021-09-28 23:39:52 +02:00
Unknown W. Brackets
2d9719ed26
TexCache: Avoid hashing videos at all in lazy mode.
2021-09-19 07:35:25 -07:00
Unknown W. Brackets
e2c7366c92
TexCache: Prevent lazy cache on video textures.
2021-09-19 07:31:31 -07:00
Unknown W. Brackets and GitHub
c755dedbf6
Merge pull request #14842 from unknownbrackets/texfilt
...
Vulkan: Expand 16-bit textures to generate mips
2021-09-13 07:26:43 -07:00
Unknown W. Brackets
c37c078254
Vulkan: Only force 32-bit if needed.
...
If there are mips already, we can keep 16-bit.
2021-09-13 00:07:01 -07:00
Unknown W. Brackets
d9f62d690a
Vulkan: Expand 16-bit textures to generate mips.
...
When using "Auto Max Quality", we can't use 16-bit formats.
See #14804 .
2021-09-13 00:03:42 -07:00
Unknown W. Brackets
6762903087
TexCache: Correct confusing red/blue var names.
...
This decodes to RGBA (R least significant), so it's confusing to refer to
it as BGRA. It's actually the 565 colors in the DXT data that are BGR.
2021-09-12 17:21:45 -07:00
Unknown W. Brackets
08816a544d
softgpu: Implement DXT5 in samplerx86.
2021-09-12 17:17:09 -07:00
Unknown W. Brackets
c4de5bfb9f
softgpu: Implement DXT3 in samplerx86.
2021-09-12 14:53:55 -07:00
Unknown W. Brackets
ee9d19430f
softgpu: Implement DXT1 decoding in samplerx86.
2021-09-12 13:57:28 -07:00
Unknown W. Brackets
a0eeb52444
softgpu: Decode DXT texels directly.
...
This improves performance a lot compared to decoding the whole block.
Eventually we may implement a cache, but threading makes that complex to
make properly fast.
2021-09-12 09:37:34 -07:00
Unknown W. Brackets
1ee5352d3e
TexCache: Correct DXT5 alpha calculation.
...
This matches PSP alpha values from an exhaustive test.
2021-09-12 09:35:53 -07:00
Unknown W. Brackets
121c56e6db
softgpu: Clip only on -Z, cull if entirely outside.
...
This is important for several issues, like #12058 or #12060 , where
something is drawn entirely outside valid Z, and should be culled.
2021-09-09 20:13:42 -07:00
Unknown W. Brackets
0b73c1ce83
softgpu: Correct guardband cull behavior.
...
Culling is based on whether clipping happens, not whether clamping
happens. This is important for issues like #12348 .
2021-09-09 20:05:41 -07:00
Henrik Rydgård
5876388c65
Vulkan scissor fix (validation errors).
2021-09-10 01:15:29 +02:00
Stuart Kenny
f442f4012c
Expose texture shader core option.
2021-09-08 16:42:11 +01:00
Henrik Rydgård
5dab9994b6
Bezier/Spline: Fix logical error (must flush buffered data before we modify submitType).
...
Should fix #14774
2021-09-07 23:52:06 +02:00
Henrik Rydgård
e2b0137400
VK: Only autogenerate mipmaps for R8G8B8A8 format textures.
...
Quickfix for bug with Auto High Quality texture filtering.
Fixes #14804 (good enough for now at least).
2021-09-07 23:41:03 +02:00
Unknown W. Brackets
b5ba469826
softgpu: Prevent pixel gaps when drawing sprites.
...
If you end a sprite at 255.9, it draws the pixel at 255. This uses the
same logic to handle that as in the triangle path.
2021-09-06 22:05:39 -07:00
Henrik Rydgård and GitHub
b5e8e22dc9
Merge pull request #14789 from hrydgard/auto-max-quality-texfilter
...
Add new texture filtering mode "Auto Max Quality"
2021-09-07 00:58:48 +02:00
Unknown W. Brackets
7addc18a6b
softgpu: Avoid overflow infinite loop.
...
For certain large values, it would overflow and continue looping
endlessly.
2021-09-05 23:24:08 -07:00
Henrik Rydgård
1df31e9304
Fix windows menus for the new tex filtering options.
2021-09-05 23:54:41 +02:00
Henrik Rydgård
6b76bcf070
Add new texture filtering "Auto Max Quality" that tweaks texture filtering for best quality.
...
It does this by enforcing mipmapping and minification filters, and
always autogenerates mipmaps and enforces anisotropic filtering for all
modes (if that's separately enabled).
This looks nice and flicker free in most games without any additional
tweaking, including GTA and Burnout which have long been painfully
flickery in the distance due to undersampling.
Needs a bit more testing before merge, maybe.
Fixes #13888
2021-09-03 00:14:58 +02:00
Henrik Rydgård
9ca97dfa8e
Handle vertex shader generation failures better.
...
Suspect that this is happening with the HW tesselation crash in KOF '96.
Should help #14774
2021-08-29 21:50:43 +02:00
Henrik Rydgård
6e8e375eea
Increase the range of cardboard setting sliders to 150%. See #14768
2021-08-29 15:27:51 +02:00
Henrik Rydgård
c0d80b63a9
Hack the math better in cardboard VR mode, to avoid issues with very wide aspect ratios.
...
Fixes #12982
2021-08-28 22:28:02 +02:00
Henrik Rydgård and GitHub
0c34c939ad
Merge pull request #14749 from amverweij/rename-vk-externals-v3
...
Rename Vulkan externals
2021-08-21 13:45:06 +02:00
Bram Verweij
a31cbe42d2
Rename namespace to PPSSPP_VK, remove indentation
2021-08-21 12:39:15 +02:00
Bram Verweij
cc00a4132d
Prevent dlopen collisions between ppsspp_libretro.so and libvulkan.so
2021-08-20 11:22:57 +02:00
Henrik Rydgård
928bc88b01
Rename Unthrottle to Fast-forward globally
2021-08-18 09:28:13 +02:00