Commit Graph

368 Commits

Author SHA1 Message Date
Henrik Rydgård
de064e210e Replace the inputbox queue with a more generic RequestManager. 2023-03-22 12:41:11 +01:00
Henrik Rydgård
06fcc9ccd7 Add System_Notify 2023-03-21 13:37:16 +01:00
Henrik Rydgård
d3955b42bb Rename some system functions, merge the Launch* ones.
android launchurl buildfix
2023-03-21 12:22:59 +01:00
Unknown W. Brackets
5ce48a51c1 unittest: Prevent assert running without AVX.
Running unittests shouldn't require the host to have AVX.
2023-03-12 13:01:08 -07:00
fp64
c49c45a106 Add VFS registration during unittest 2023-03-12 08:21:15 -04:00
fp64
67bb17eba3 Add more vfpu_*, move tables to assets 2023-03-12 08:21:15 -04:00
Unknown W. Brackets
9c21184352 vertexjit: Simplify CPU core check.
This also avoids allocating the memory we won't use if it's off.
2023-02-28 07:03:12 -08:00
Unknown W. Brackets
c062b78b55 Build: Cleanup some MSVC optimization settings. 2023-02-26 11:27:46 -08:00
Henrik Rydgård
547ecec074 Replace the rest of the uses of DepthSliceFactor 2023-02-11 14:45:14 +01:00
Henrik Rydgård
241f8e75bc Replace some uses of DepthSliceFactor 2023-02-11 14:37:48 +01:00
Henrik Rydgård
d40aa17198 Remove ToScaledDepthFromIntegerScale 2023-02-11 13:27:44 +01:00
Henrik Rydgård
116b3ba8cc Increase precision of GetDepthScaleFactors to match ToScaledDepthFromIntegerScale 2023-02-11 13:27:44 +01:00
Henrik Rydgård
639ca31814 Address feedback 2023-02-11 11:23:00 +01:00
Henrik Rydgård
28a7912ae6 Add comments, re-enable remaining tests (they do work, just forgot to add expected values) 2023-02-11 01:11:02 +01:00
Henrik Rydgård
8d40684833 Make the test pass, add some commented-out failing ones 2023-02-10 14:57:48 +01:00
Henrik Rydgård
d65dae7185 Depth scale functions: Clean up the naming, add a failing test 2023-02-10 14:57:45 +01:00
Unknown W. Brackets
88ba003f46 ThreadManager: Add a simple priority field.
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Henrik Rydgård
830f1064e6
Merge pull request #16676 from unknownbrackets/riscv-disasm
Add disassembler for RISC-V
2023-01-04 09:52:56 +01:00
Henrik Rydgård
0e3cf9862e ComputePathTo: Handle case where from == to. 2023-01-02 22:10:00 +01:00
Unknown W. Brackets
77849d3eed riscv: Add disassembler.
From https://github.com/anthony-coulter/riscv-disassembler.
Modified slightly to pull in less headers in the h, prefix funcs.
2023-01-01 10:28:53 -08:00
Unknown W. Brackets
dfbe10eb08 riscv: Fix unittest compilation on RISC-V. 2022-12-21 03:08:21 +00:00
Unknown W. Brackets
a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
87fb9eef37 softgpu: Remove std::function usage.
Wanted to avoid coupling these, but don't like the std::function
construct/destructs showing in profiles...
2022-12-06 19:15:57 -08:00
Henrik Rydgård
7950a00c14 Headless buildfix. Crashfix in shader generator test. 2022-12-01 22:49:00 +01:00
Henrik Rydgård
d0e8cfa365 Add NEON impl too, mostly for exercise purposes 2022-12-01 17:52:02 +01:00
Unknown W. Brackets
b33662550f Vulkan: Use stencil export when available.
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Unknown W. Brackets
ce51942508 softgpu: Correct WX-exclusive platform hazards.
Should mainly affect BSD at this point.
2022-11-20 10:55:35 -08:00
Unknown W. Brackets
66472c39ce GPU: Use skinned position always in bounding check.
Meanwhile, move to a flag on decoder options instead of global check.
2022-11-06 08:23:31 -08:00
Henrik Rydgård
109db81eca
Merge pull request #16290 from unknownbrackets/include-cleanup
jit: Reduce some include pollution
2022-10-28 08:47:43 +02:00
Unknown W. Brackets
b9de1a44df jit: Reduce some include pollution.
Usually no need for all of MIPSAnalyst.
2022-10-27 23:26:44 -07:00
Henrik Rydgård
15d4495f76 Pass shadergen tests 2022-10-27 11:05:59 +02:00
Henrik Rydgård
d3804ec2e5 Misc multiview hackery 2022-10-27 11:05:58 +02:00
Unknown W. Brackets
79b1d1d35f
softgpu: Better approximate slope mip level mode (#16276)
* samplerjit: Remove unused x/y parameters.

Still need to tune the accuracy of filtering, but those were not the
right way.

* softgpu: Better approximate slope mip level mode.

This isn't exactly right, but it's closer.

* softgpu: Calculate auto from largest difference.

Direction shouldn't matter.
2022-10-23 10:15:43 +02:00
Henrik Rydgård
3af86ec6f7 Make it possible to specify extensions for Vulkan in the ShaderWriter 2022-10-22 17:46:57 +02:00
Henrik Rydgård
69bc7b060f glslang: Set a missing resource limit. Avoids spurious errors in shader unit test 2022-10-10 17:17:17 +02:00
Unknown W. Brackets
aee2ad46a2 GPU: Verify generated shader buffer length.
Hardware tessellation + uberlighting + clamp was exceeding the buffer,
causing memory corruption.  Let's try to catch it, but also increase
buffers to be safe.
2022-10-05 21:41:09 -07:00
Herman Semenov
29b87e0c0b
Merge branch 'master' into master 2022-10-03 07:49:13 +00:00
Henrik Rydgård
cdee10fe86 Vulkan: Basic geoshader code generation. 2022-10-02 07:42:17 -07:00
Henrik Rydgård
f12a5101e6
Merge pull request #16137 from unknownbrackets/armips-update
Update to latest libarmips
2022-10-01 22:47:13 +02:00
Unknown W. Brackets
e5fbc1d39d unittest: Cleanup stage/glsl version. 2022-10-01 12:18:26 -07:00
Unknown W. Brackets
ac335ad61a armips: Update to UTF-8/c++17 armips. 2022-09-30 19:48:14 -07:00
lainon
fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Unknown W. Brackets
167213c746 softgpu: Cache texture bufws at 16 bit.
Reducing the size of state a bit.
2022-09-12 21:57:00 -07:00
Henrik Rydgård
694dbe1271 Add ShaderDepalMode enum, use in shader ID. Replaces smoothed bit. 2022-09-11 14:40:01 +02:00
Henrik Rydgård
e828df9f25 Split each renderpass/framebuffer into multiple "compatibility classes" (RenderPassType). 2022-09-08 00:32:03 +02:00
Henrik Rydgård
dc86970098
Merge pull request #15947 from unknownbrackets/unittest-cleanup
unitest: Correct wrong free, initialize data
2022-09-03 07:03:17 +02:00
Unknown W. Brackets
2dbd9d8c70 unitest: Correct wrong free, initialize data.
Prevents valgrind warnings in unittest.
2022-09-02 20:04:25 -07:00
Unknown W. Brackets
e9880d39be vertexjit: Update unit test, oops. 2022-09-02 18:09:47 -07:00
Henrik Rydgård
bd71d8044b TinySet bugfix, add "append" 2022-09-01 10:59:24 +02:00
Henrik Rydgård
4da2ca0935 Implement shader blending for D3D9
This was easy, dunno why I never got around to it before..
I guess I didn't know about VPOS.

This does raise our minimum shader model requirement to ps_3_0.
2022-08-30 12:19:56 +02:00
Henrik Rydgård
5247ffa0af
Merge pull request #15910 from unknownbrackets/riscv-emitter
Add LI and compressed instructions for RISC-V
2022-08-28 15:57:03 +02:00
Unknown W. Brackets
216fcb228c riscv: Add a simple unit test.
Since I haven't tried running these yet, at least best to validate...
2022-08-28 06:03:31 -07:00
Henrik Rydgård
1ccfd7986a wip 2022-08-26 15:51:25 +02:00
Henrik Rydgård
048a556ada Add floating point version of reinterpret shaders 2022-08-24 14:40:37 +02:00
Henrik Rydgård
5084743bbb Use Draw2D for depal shaders (except the actual blit, for now) 2022-08-23 11:21:40 +02:00
Henrik Rydgård
83b7386f7d Switch reinterpret shaders over to the Draw2D framework. 2022-08-23 11:12:23 +02:00
Henrik Rydgård
82a6c42e17 DepalettizeCommon -> TextureShaderCommon. Simplifications. 2022-08-22 12:21:20 +02:00
Henrik Rydgård
5a7bddbfa6 Allow binding depth as 565 by going through depal.
This is a partial fix for #6105 (Ratchet & Clank particles visible
through things), but there's still weird glitchiness. There's a pass
during rendering that scrambles the mini depth buffer by using a
triangle mesh. I wonder if it's trying to simulate the swizzle? But it
doesn't really look like it...
2022-08-21 09:58:58 +02:00
Henrik Rydgård
31fe0fc39e Remove some unnecessary bool returns. 2022-08-16 11:23:34 +02:00
Henrik Rydgård
83fd8a2fd8 Convert depal shaders to use the ShaderWriter. Add tests for depal shaders. 2022-08-09 15:32:27 +02:00
Henrik Rydgård
41e327a66b Cleanup and testfixes 2022-08-03 13:34:59 +02:00
Henrik Rydgård
cacb2a3200 Unit test, comment 2022-08-03 13:34:58 +02:00
Unknown W. Brackets
7b081a61c8 irjit: Correct another PurgeTemps case.
In this case:
  Mov A, B
  AndConst A, A, 1
  Load32 C, A, 0

Was still swapping the Load32 to B, not just the AndConst.

Fixes #15735.
2022-07-27 19:38:16 -07:00
Unknown W. Brackets
b620c966e0 irjit: Correct initialization warning. 2022-07-24 11:52:19 -07:00
Unknown W. Brackets
16188fa437 irjit: Add test for double clobber in #15713. 2022-07-24 11:35:54 -07:00
Unknown W. Brackets
2154f747fc irjit: Simplify more arithmetic to Movs.
Later passes rely on things being Mov, so better to have them more often.
2022-07-24 11:35:54 -07:00
Unknown W. Brackets
8f23025209 irjit: Add tests for IR passes. 2022-07-24 11:35:54 -07: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
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ård
d1e2b19ebb Make the number of threads flexible in the threadmanager test. Increase to 9, just because. 2022-04-10 22:39:42 +02:00
Henrik Rydgård
bde54ccdc0 Fix misuses of cond.wait (should return true when you want to stop waiting!) 2022-04-08 12:28:45 +02:00
Henrik Rydgård
5b20ace502 OK, this does crash 2022-04-08 12:04:34 +02:00
Henrik Rydgård
e0f73507f9 Time the stress test 2022-04-08 11:55:49 +02:00
Henrik Rydgård
b04e5925d2 Add a scheduling stress test to TestThreadManager.cpp.
Was hoping to find the cause of the issue I looked at in #15431
2022-04-08 11:41:50 +02:00
Unknown W. Brackets
73ece5b5ca Windows: Correct root vol handling for UNC paths.
Otherwise CreateFullPath() fails.
2022-03-01 21:07:17 -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
3df6cb704f Global: Fix some type conversion warnings.
Hidden by some warning disables.
2022-01-30 16:09:33 -08:00
Henrik Rydgård
77502db4c4
Merge pull request #15363 from unknownbrackets/softjit-unittest
Add unit test to verify compilation of sampler/pixel jits
2022-01-30 10:47:30 +01:00
Unknown W. Brackets
43819fcd16 UI: Cleanup some reference warnings. 2022-01-29 22:36:08 -08:00
Unknown W. Brackets
a40d32d581 samplerjit: Validate compile in a unit test. 2022-01-29 20:31:18 -08:00
Unknown W. Brackets
0d93200faf softjit: Add tests for compile success. 2022-01-29 18:47:36 -08:00
Unknown W. Brackets
7099df6619 unittest: Skip D3D shader compile on non-Windows.
Tests were just failing before.
2022-01-29 14:07:26 -08:00
Unknown W. Brackets
95e292ef63 unittest: Correct Windows-specific Path tests. 2022-01-29 13:36:50 -08:00
Unknown W. Brackets
a397bf811b UI: Fix some sign/size comparison warnings.
Mostly size_t vs int.
2022-01-06 20:40:29 -08:00
Henrik Rydgård
4f85b8b2ef Threading: Remove a level of indirection from Promise and Mailbox.
Makes using small copyable or POD objects in these more efficient, and if you want
to you can just put a pointer or smart pointer in there, which will
effectively do the same thing as the old setup.
2021-11-20 22:40:10 +01:00
Unknown W. Brackets
7dc3287617 UI: Handle newlines after ellipsis. 2021-09-25 12:01:41 -07:00
Unknown W. Brackets
2f570481b7 UI: Cleanup ellipsis more.
Arg, silly me.
2021-09-25 11:46:00 -07:00
Unknown W. Brackets
bbc83bcdab UI: Correct text wrap with shy or Unicode spaces. 2021-09-25 11:37:10 -07:00
Unknown W. Brackets
7d730f2a8b UI: Add unit tests for text wrapping. 2021-09-25 10:59:54 -07:00
Henrik Rydgård
928bc88b01 Rename Unthrottle to Fast-forward globally 2021-08-18 09:28:13 +02:00
Henrik Rydgård
ed7053329a Fix some mis-handling of single file URI. Fixes the Load... button. 2021-08-07 12:17:31 +02:00
Henrik Rydgård
f51b8116a0 Basic flow of setting up and moving the PSP directory works now. 2021-08-04 23:22:43 +02:00
Henrik Rydgård
6d634f0c96 Mailbox: Address feedback 2021-06-13 11:27:12 +02:00
Henrik Rydgård
e7b3afbc7a Minor cleanups 2021-06-13 10:28:27 +02:00
Henrik Rydgård
81f0c3a8e4 Address feedback (except the mailbox refcount) 2021-06-13 10:16:53 +02:00
Henrik Rydgård
50d9d7ea6f Unittest buildfixes on mac 2021-06-12 22:42:10 +02:00
Henrik Rydgård
5b64a41a97 ParallelLoop: A bit smarter straggler handling. 2021-06-12 22:04:55 +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
Henrik Rydgård
0fa27ff9d7 Autodetect number of threads (remove setting). Fix some bugs. 2021-06-12 21:06:59 +02:00