Commit Graph
3315 Commits
Author SHA1 Message Date
Henrik Rydgård 3a09c85fb1 Fix hang when choosing "Skip" in first-time init. Warning fix, comment add.
Fixes #15011
2022-04-17 23:02:37 +02:00
Henrik Rydgård a31608e557 Crashfix 2022-04-15 19:59:24 +02:00
Henrik Rydgård 900ff64cf1 Buildfix 2022-04-15 13:39:01 +02:00
Henrik Rydgård 3efce3ceca Try a clang pragma to avoid overeager auto-vectorization 2022-04-15 13:26:54 +02:00
Henrik Rydgård 9e60b82c54 Buildfixing, correct NEON type usage 2022-04-15 13:19:03 +02:00
Henrik Rydgård 185b93058e SIMD-optimize CheckMask16 / CopyAndSumMask16 2022-04-15 12:40:10 +02:00
Henrik Rydgård c4dfbf4f1a Delete a lot of specialized alpha checking code.
This was now only used to check alpha in CLUTs, and the generic functions will not actually be any slower.
2022-04-15 12:34:50 +02:00
Henrik Rydgård a5ee1884c1 Address feedback 2022-04-15 01:08:14 +02:00
Henrik Rydgård a3d650d3e9 One more NEON optimization 2022-04-15 01:03:55 +02:00
Henrik Rydgård ffcfef6031 Quick NEON optimization of CheckMask32 2022-04-15 00:56:26 +02:00
Henrik Rydgård 8bc2d1a653 SSE optimize a common case for video 2022-04-15 00:56:26 +02:00
Henrik Rydgård 1dae81a98a Yet another bugfix 2022-04-15 00:56:26 +02:00
Henrik Rydgård a0ca968b1e Bugfixes, handle the rest of the cases 2022-04-15 00:56:25 +02:00
Henrik Rydgård 42cd937de2 Simplification and some cleanup 2022-04-15 00:56:25 +02:00
Henrik Rydgård 613df29467 Remove redundant line 2022-04-15 00:56:25 +02:00
Henrik Rydgård 35e0bfeacc Fix DeIndexTexture 2022-04-15 00:56:25 +02:00
Henrik Rydgård e6df3ab23a Comments 2022-04-15 00:56:25 +02:00
Henrik Rydgård 9f7e0978a9 AND together colors while decoding, and then check against fullAlphaMask. 2022-04-15 00:56:25 +02:00
Henrik Rydgård 584e94f01e ARM32: Remove a lot of non-NEON fallback paths 2022-04-13 11:44:55 +02:00
Henrik Rydgård f54ed3757c Always use the stable quick tex hash. Doesn't actually make a difference except on new CPU archs. 2022-04-13 11:18:18 +02:00
Henrik Rydgård e6fe31365a Remove more function defines 2022-04-13 10:02:16 +02:00
Henrik Rydgård a68ddd0a8d Merge separate NEON functions into the normal functions.
We no longer support non-NEON ARM.

It's nice also to have the NEON and SSE implementations "close" to each
other, easier to port optimizations back and forth etc.
2022-04-12 23:43:21 +02:00
Henrik RydgårdandGitHub 6dce4f573c Merge pull request #15440 from unknownbrackets/softgpu-32bit
softgpu: Plug bad leak of bin queue data
2022-03-13 21:56:58 +01:00
Unknown W. Brackets ffbd9bbe98 Global: Fix some int/size_t conversion warnings. 2022-03-13 12:03:48 -07:00
Henrik Rydgård 7cab540fca Short circuit the texture replacement code 2022-03-08 19:56:06 +01:00
Unknown W. Brackets a66377fdf1 softgpu: Remove offset from screenpos.
This simplifies tighter calculations, and reduces the common magnitudes
we'll be dealing with.
2022-02-19 20:38:44 -08:00
Unknown W. Brackets 2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets 48b597a1b9 Display: Move core counters/stats to HW file.
This separates things better, so not everything is pulling in HLE.
2022-01-30 11:53:48 -08:00
Unknown W. Brackets a181c9f7c4 unittest: Correct failing unit test.
Was just an invalid flag combination.
2022-01-29 12:22:11 -08:00
Henrik RydgårdandGitHub fbc965fb59 Merge pull request #15343 from unknownbrackets/gpu-region
GPU: Log and report when region1 is non-zero
2022-01-24 09:18:17 +01:00
Unknown W. Brackets 8efb99801e GPU: Log and report when region1 is non-zero. 2022-01-23 19:38:51 -08:00
Unknown W. Brackets 76f9103e97 softgpu: Add a table and initial dirty flags.
Not actually using the dirty flags to skip state, but have moved to
Execute_* functions and everything else like other graphics backends.
2022-01-23 08:08:40 -08:00
Unknown W. Brackets eb95b99523 GE Debugger: Add option to auto flush.
This makes it easier to see what's happening in each draw.
2022-01-22 13:12:59 -08:00
Unknown W. Brackets 2797e035df softgpu: Precompute lighting parameters.
In many cases, games use lighting just for diffuse or something, this
helps skip what's not needed too.  Good improvement in a scene from a
Naruto game.
2022-01-16 11:27:53 -08:00
Unknown W. Brackets 8a00c2d233 GPU: Allow gcc/clang/icc runtime SSE4 usage.
All our builds before were only using SSE4 in jit...
2022-01-08 17:09:09 -08:00
Unknown W. Brackets e82fd3bd33 GPU: Avoid spline crashes on bad data.
If we get 0 prims, we can generate confusing index bounds and go out of
bounds.  Similarly, if we get a crazy number of control points and fail to
allocate, we can crash.
2022-01-01 16:40:59 -08:00
Henrik Rydgård 80ae4b039c Vulkan: Be more restrictive about texture upscaling on "slow" devices.
Applies the same rules as for software upscaling in this case.

Should fix the stutters seen in #15109
2021-12-16 21:00:49 +01:00
Unknown W. BracketsandGitHub 001d67b711 GPU: Remove explicit rect/line depth cull.
This appears to be breaking NFS (#15129) and isn't fully correct since
the triangles are still later checked anyway.
2021-12-13 23:07:26 -08:00
Henrik Rydgård c07068f89b Fix text wrapping on PromptScreen by improving the layout 2021-12-13 22:42:03 +01:00
Henrik Rydgård b85a7e9a46 Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. 2021-12-10 21:01:01 +01:00
Henrik RydgårdandGitHub 3e5ba249bf Merge pull request #15217 from hrydgard/scissor-auto-clamp
Vulkan is strict about scissor rect, so let's clamp centrally.
2021-12-08 22:55:12 +01:00
Henrik Rydgård 45308a16c0 Vulkan is strict about scissor rect, so let's clamp centrally.
Better than spreading the logic all over.

Fixes #15207
2021-12-08 22:38:01 +01:00
Henrik Rydgård 44dc3555ad FramebufferManagerCommon: Fix some issues where currentRenderVfb_ could get out of sync.
It would get out of sync with draw_->GetCurrentFramebuffer(), which led
to checks for self-texturing not working, hitting an assert.

This caused problems when turning off "slow effects", and who knows what
else.

Fixes #15208
2021-12-08 22:01:23 +01:00
Unknown W. Brackets 0b6e7c421f softgpu: Make decal tex func more accurate.
Tested for all values of A * B + 0 * (255 - B), as well as A * 127 + B *
(255 - 127), and matches accurately.  Spot checked other values, but not
exhaustively.
2021-12-05 13:34:19 -08:00
Unknown W. Brackets 367cca96b4 vertexjit: Optimize 5551 read a bit on x86/x64. 2021-11-25 19:23:59 -08:00
Henrik Rydgård 6349704924 Switch texture scaling shaders to a fixed scale model, preparing for the next change. 2021-11-07 13:12:28 +01:00
Unknown W. Brackets 142db5d61e GLES: Explicitly enable ARB_cull_distance. 2021-11-06 11:33:41 -07:00
Unknown W. Brackets ec1d980b30 GPU: Sort line verts to correct bias.
We want it to consistently go down and right.  This improves Persona 2 UI
significantly (see #3332.)
2021-11-02 21:57:00 -07:00
Unknown W. Brackets 76e1690646 GPU: Keep diagonal lines the same width. 2021-10-31 15:49:20 -07:00
Unknown W. Brackets 2718e81c0e GPU: Expand lines to triangles. 2021-10-31 14:46:46 -07:00