Commit Graph
6441 Commits
Author SHA1 Message Date
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årdandGitHub 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årdandGitHub 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
Unknown W. Brackets 4cb6976029 GPU: Use an empty vertex buf for reinterpret.
See #14552.
2021-08-07 22:22:36 -07:00
Unknown W. Brackets 9a841664a6 D3D11: Use right state in flush before output.
We were accidentally changing the blend state for the final draw in a
frame.  This could cause apparently random issues if a game didn't align
drawing with vblanks.

Fixes #13152.
2021-08-02 23:45:49 -07:00
Henrik Rydgård bea9f67c02 Fix assorted path issues 2021-07-19 17:34:51 +02:00
Henrik Rydgård b0558b2174 Assorted directory fixes 2021-07-19 17:34:50 +02:00
Henrik Rydgård 69ae3f4c02 Better protection against broken viewports.
It's ok if this emits a single pixel sized viewport, since the cause of
this is generally the viewport being specified outside the scissor
rectangle.

Fixes #13921
2021-07-12 21:19:26 +02:00
Henrik Rydgård 7359c8f083 Revert "Make sure we don't try to set a negative viewport size."
This reverts commit 0386cafe53.
2021-07-12 21:03:29 +02:00
Henrik Rydgård bd15ae4f75 Fix bug in homebrew store with files with "." in their names.
Also, move the homebrew store button to the top bar instead of the
bottom of the list.
2021-07-12 11:55:15 +02:00
Henrik Rydgård deee9f9720 Unify the Vulkan format definitions / swizzles
To make the next attempt at #14602 easier.
2021-07-11 11:26:40 +02:00
Henrik Rydgård 3595e092c9 Turn off all 16-bit formats if B5G6R5 format is not available.
Works around #14602 for now.
2021-07-10 23:33:46 +02:00
Henrik Rydgård 7e048dbbff Revert "Merge pull request #14588 from hrydgard/vk-correct-565-format"
This reverts commit 43c16f1ea2, reversing
changes made to 25cfb92a9c.
2021-07-10 20:01:16 +02:00
Henrik Rydgård 95dc7bb185 Minor cleanup 2021-07-10 20:00:50 +02:00
Henrik Rydgård 90460df9b5 HLSL depal simplification 2021-07-09 21:09:44 +02:00
Henrik Rydgård 4c9b5ada0f Address feedback 2021-07-09 21:09:44 +02:00
Henrik Rydgård 4e8ffae024 Implement basic depth texturing for OpenGL, requires depth clamp for now.
Need to figure out what to do about other Z mappings.

Helps #6411 for OpenGL on desktop primarily, and certain other games affected by #13256
are likely working too like the fog in Harry Potter.
2021-07-09 21:09:44 +02:00
Henrik Rydgård df6abe83a3 Support depth clamping in OpenGL where available.
Should make support for depth texturing quite easy.

Unfortunately, this extension does not exist on OpenGL ES. There we'll
have to use ugly tricks with gl_FragDepth if we want this.
2021-07-09 21:09:44 +02:00
Henrik Rydgård 9a2e220e0d Vulkan: Use the mandatory-support RGB565 format and not the opposite one.
Had apparently misread the spec.

Fixes validation (and probably rendering) errors on Linux/Intel.

https://www.khronos.org/registry/vulkan/specs/1.2/html/chap33.html#features-required-format-support
2021-07-07 19:07:29 +02:00
Unknown W. BracketsandGitHub 87716a158f Merge pull request #14391 from hrydgard/new-threadpool
New ThreadManager, replacing threadpools and "PrioritizedWorkQueue"
2021-06-13 07:08:32 -07:00
Henrik Rydgård 81f0c3a8e4 Address feedback (except the mailbox refcount) 2021-06-13 10:16:53 +02:00
Henrik Rydgård 3be5c7bd9a Make the minimum items per thread explicit. Found some bugs, optional arguments are evil. 2021-06-12 21:21:28 +02:00
Unknown W. Brackets 17071e7fec Postshader: Add uniform for delta since last frame.
Useful mainly when using previous frame output.
2021-06-12 11:27:26 -07:00
Unknown W. Brackets 7bbaae492b Postshader: Let shaders use the previous frame.
This is useful for i.e. simulating the slow update speed of the PSP's LCD
screen, but could in theory be used for other effects.
2021-06-12 10:54:36 -07:00
Henrik Rydgård 73871b9b7e Implement new thread manager, port stuff to it. 2021-06-12 13:03:53 +02:00
Unknown W. Brackets 1f6860d6c1 GPU: Clamp DXT texture memory bound.
See #13109.  This should handle any texture read that starts near a VRAM
or RAM boundary without crashing.
2021-06-06 11:52:26 -07:00
Henrik Rydgård 0cd7af44f1 Fix ZipAssetReader file listing. Fixes post shaders on Android 2021-05-13 11:49:33 +02:00
Henrik Rydgård a40b1dec5f Use Path for fullName in dirlisting. Bugfixes.
Buildfixes

UWP: Buildfix.

headless: Buildfix.

Common: Buildfix.

iOS: Buildfixes.

libretro: Buildfix.

Qt: Buildfix.
2021-05-13 10:39:16 +02:00
Henrik Rydgård 025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00