Commit Graph
100 Commits
Author SHA1 Message Date
Unknown W. Brackets 41c6c81ead README: Move some older releases to history. 2022-09-11 14:38:27 -07:00
Unknown W. Brackets 8c55e18ea8 softgpu: Switch vert continue buffer to members.
Better this than static.  May be easier to handle imm prims correctly.
2022-09-11 08:54:34 -07:00
Unknown W. Brackets e72309745e softjit: Implement accurate fog color blending. 2022-09-11 08:50:07 -07:00
Unknown W. Brackets b90fc7137f softgpu: Correct accuracy of fog calculation.
This matches values from a PSP exactly, with the help of immediate mode
vertex values (since this directly allows specifying the fog factor
without any floating point math.)
2022-09-11 08:24:40 -07:00
Unknown W. Brackets 2e3b73abaa softgpu: Restrict sprite fast path to throughmode.
Its UV checks already should have generally, but let's be safe.  It
doesn't validate state like fog, etc.
2022-09-11 08:22:37 -07:00
Unknown W. Brackets 4889d5285d vertexjit: Use consistent skinInDecode.
Just a little cleanup.
2022-09-10 21:54:04 -07:00
Unknown W. Brackets 15d5fa48f7 softgpu: Check depth test early on simple stencil.
If we don't need to write stencil on sfail/zfail, we can do the depthtest
early, which allows us to more often skip texture sampling.

This gives a good improvement in Chains of Olympus.
2022-09-10 21:24:19 -07:00
Unknown W. Brackets 90e009edb9 softgpu: Clamp/wrap textures at 512 pixels.
A texture larger than 512 is "valid", but simply wraps/clamps at 512.
Importantly, the texture coords are still calculated at the specified
size, which can be up to 32768.
2022-09-10 20:23:09 -07:00
Unknown W. Brackets 123d6dbb11 GE Debugger: Correct confusing block transfer size. 2022-09-10 20:17:54 -07:00
Unknown W. Brackets 1056301c95 D3D11: Prevent crash on larger textures. 2022-09-10 20:16:05 -07:00
Unknown W. Brackets 3242bb8d66 TexCache: Allow valid bufw sizes.
These don't cause crashes anymore.
2022-09-10 20:15:43 -07:00
Unknown W. Brackets 6c6d817ce7 Vulkan: Avoid crash if large texture attempted.
Doesn't do the clamp/wrap thing, but at least this won't crash.
2022-09-10 20:14:37 -07:00
Unknown W. Brackets 100cbec620 GE Debugger: Fix crash on bp before list running. 2022-09-10 19:45:08 -07:00
Unknown W. Brackets 18c9a4d9c9 GE Debugger: Fix crash stepping with large tex.
Some math was overflowing in allocations, and it would allocate zero
bytes.  Let's just refuse textures more actively.
2022-09-10 19:31:53 -07:00
Unknown W. Brackets f5f5c9ea87 softgpu: Avoid calling unordered coords tl/br.
These are just corners, we don't know if they're top or not at this point.
2022-09-10 14:58:27 -07:00
Unknown W. Brackets 13ca08b235 softgpu: Avoid over-aggressive rect conversion.
The TL and BR have to match between UVs and pos, not enough for UV to be
in order.  This was causing an artifact on Chains of Olympus' title.
2022-09-10 14:56:13 -07:00
Unknown W. Brackets 2505ae2858 GE Debugger: Fix logging of texture size. 2022-09-10 13:36:01 -07:00
Unknown W. Brackets e7d49cd7d0 softgpu: Allow almost flat rectangles to go fast.
Improves transform rectangles used in Chains of Olympus, for example on
the title screen.
2022-09-10 13:29:40 -07:00
Unknown W. Brackets 6004d4a459 softgpu: Refactor duplicate rectangle compat check.
This just moves the logic to a single place for changes.
2022-09-10 13:28:35 -07:00
Unknown W. Brackets c200aa6f4b GE Debugger: Correct cond break removal warnings.
Oops, they were just always confirming.
2022-09-10 08:52:50 -07:00
Unknown W. Brackets 54fe342f4b Vulkan: Wake compile thread when enqueued.
Previously was being woken up every frame unconditionally, causing some
logspam.
2022-09-10 08:30:09 -07:00
Unknown W. Brackets f6f056d557 Merge tag 'v1.13.2' into merge-hotfix
v1.13.2
2022-09-10 07:37:02 -07:00
Unknown W. Brackets 38ba29240b GPU: Dirty params when converting viewport state.
This flag will be false when we convert next time, so parameters won't get
updated as expected.
2022-09-10 09:32:11 +02:00
Unknown W. Brackets fbc02bdf12 softgpu: Correct morph weight updates.
Broke LittleBigPlanet character's face, for example.
2022-09-10 09:32:11 +02:00
Unknown W. Brackets 0fe7589a9d Merge pull request #15994 from ssokolow/patch-1
Add Emulator to Categories in ppsspp.desktop.in
2022-09-09 20:38:49 -07:00
Unknown W. Brackets 79b864b89a D3D9: Correct viewport offset sign. 2022-09-09 11:56:11 +02:00
Unknown W. Brackets 04a8995080 D3D11: Correct viewport offset sign handling. 2022-09-09 11:56:11 +02:00
Unknown W. Brackets dab4365557 Font: Correct uninitialized values. 2022-09-09 11:56:11 +02:00
Unknown W. Brackets e356c495db Atrac: Avoid accessing uninitialized stream status.
Only mess with this in a stream mode.
2022-09-09 11:56:11 +02:00
Unknown W. Brackets 6e5f056000 Atrac: Avoid an uninitialized value. 2022-09-09 11:56:11 +02:00
Unknown W. Brackets 4b66f967f4 softgpu: Correct bad munmap() size. 2022-09-09 11:56:11 +02:00
Unknown W. Brackets be0e7a8319 UI: Resize after visiting developer settings.
This will trigger setting updates after visiting from DevMenu.
2022-09-07 23:41:42 -07:00
Unknown W. Brackets e6b4495e22 GPU: Make NotifyConfigChanged() calls consistent.
They're generally centralized in Common.
2022-09-07 23:41:00 -07:00
Unknown W. Brackets c9780e7609 Build: Another attempt to fix libretro.
As per lib/common/portability_macros.h in zstd.
2022-09-07 20:44:45 -07:00
Unknown W. Brackets 402492a958 GE Debugger: Show imm prim flag detail in disasm. 2022-09-06 22:31:09 -07:00
Unknown W. Brackets 880f6f8d49 GPU: Handle more flags on imm prim command. 2022-09-06 22:20:45 -07:00
Unknown W. Brackets 7a83f8bab5 softgpu: Use vertType prim override for flags.
These parameters are a real shame, was so clean before...
2022-09-06 22:20:45 -07:00
Unknown W. Brackets f274267143 GPU: Allow usage of texturing in immediate verts.
And respect the other flags that I can reproduce working in a test.
I can't seem to get the fog to work at all, or the shading mode, or the
secondary color.  Maybe depends on other flags or bits in other regs...
2022-09-06 22:20:45 -07:00
Unknown W. Brackets ceb2af369c GPU: Handle immediate prims more accurately.
This allows for lines, points, textures, and similar things.  Also
corrects offset handling.  Still some flags on VAP that seemingly don't
work, and this doesn't consider the texture flag on it.
2022-09-06 22:20:45 -07:00
Unknown W. Brackets 531c7e452d GE Debugger: Count imm prims as prims. 2022-09-06 18:55:25 -07:00
Unknown W. Brackets d249674858 softgpu: Fix immediate rendering crash. 2022-09-06 18:55:25 -07:00
Unknown W. Brackets b4e1f6d902 GPU: Fix crash on overlap copy w/o cur target. 2022-09-06 18:55:25 -07:00
Unknown W. Brackets 7c8f8817b8 GPU: Fix CanDepalettize() missing false paths.
Mismatched texformats didn't have a return.
2022-09-06 18:52:20 -07:00
Unknown W. Brackets 35157e8762 Build: Add additional zstd file for libretro. 2022-09-06 18:48:33 -07:00
Unknown W. Brackets 62ed43633c d3d9: Correct decode of 16-bit textures.
Was causing crashes since we assumed this func could handle non-replaced
formats.
2022-09-06 07:44:08 -07:00
Unknown W. Brackets a59d39d666 GE Debugger: Add more missing GE disasm.
Need to investigate the immediate vert bits more.
2022-09-05 20:35:08 -07:00
Unknown W. Brackets 23f61171f9 softgpu: Implement matrix data wrap-around.
Overflow writes to other matrices.  Matches hardware tests.
2022-09-05 19:38:54 -07:00
Unknown W. Brackets 1d5c90d370 Ge: Read matrix num/data back like hardware.
In case any game accidentally relies on this.
2022-09-05 19:37:58 -07:00
Unknown W. Brackets 14d45c2e77 Build: Include all zstd files in libretro.
This was previously commented out, and was intentionally changed in zstd
so you could use a different xxhash.
2022-09-05 17:43:58 -07:00
Unknown W. Brackets f14e49a373 GE Debugger: Add conditions to cmd breakpoints. 2022-09-05 17:33:54 -07:00
Unknown W. Brackets 0b30b723bb GE Debugger: Add address breakpoint conditions. 2022-09-05 17:33:54 -07:00
Unknown W. Brackets f595299fe5 GE Debugger: Allow expressions for goto address. 2022-09-05 17:33:54 -07:00
Unknown W. Brackets 542e7aa555 GE Debugger: Add a table of register metadata.
So far, not used, but indicates info about each GE register.
2022-09-05 12:15:53 -07:00
Unknown W. Brackets 3c9f63e297 Vulkan: Update to latest VMA. 2022-09-04 23:54:15 -07:00
Unknown W. Brackets d3501d0a7c Build: Update xxhash to v0.8.1. 2022-09-04 23:54:14 -07:00
Unknown W. Brackets 18c2b04e7a Build: Update to zstd v1.5.3.
Untagged, so using latest as of now.  Has perf improvements.
2022-09-04 23:54:14 -07:00
Unknown W. Brackets fb8268e081 Build: Split ppsspp_common out for Android bins.
This gives room for headless/unittest to keep building on Windows even as
we add more files.
2022-09-04 20:07:29 -07:00
Unknown W. Brackets eeffc988f6 Merge pull request #15962 from hrydgard/logic-op-followups
Fix the new logic-op-in-shader on OpenGL ES and D3D11
2022-09-04 14:17:37 -07:00
Unknown W. Brackets 026040beea Merge pull request #15960 from hrydgard/more-logic-op-work
Enable logic op emulation in-shader
2022-09-04 11:24:59 -07:00
Unknown W. Brackets 7a7158d8d4 UI: Only force ASCII messages if they're ASCII.
Otherwise we could ruin messages that don't fit in the atlas.
2022-09-03 21:16:59 -07:00
Unknown W. Brackets fc50860f55 headless: Fix startup on latest Android versions.
Otherwise it tries to use deprecated ashmem and chokes.
2022-09-03 21:06:32 -07:00
Unknown W. Brackets f75dadd1d6 arm64jit: Handle branch/jump in branch delay slots. 2022-09-03 21:04:54 -07:00
Unknown W. Brackets bac36df453 x86jit: Refactor and fix jump in branch delay slot.
This seems cleaner, instead of the duplication of lines for each branch
type.
2022-09-03 19:58:46 -07:00
Unknown W. Brackets d08ee44cf4 irjit: Handle branch/jump in branch delay slots.
See #15952 for more detail.
2022-09-03 19:05:31 -07:00
Unknown W. Brackets b739582960 Merge pull request #15953 from hrydgard/shader-blend-refactor-2
Shader blend refactor part 2
2022-09-03 16:22:58 -07:00
Unknown W. Brackets 0fc3619d1d interp: Handle jumps in branch delay slots better.
This matches tests from a PSP-2000.  Seems to consistently run the
instruction even if likely, which writes rd.

If the likely branch is not taken, the jump in the delay slot is taken.
However, it should cancel the rd write (not implemented here.)
2022-09-03 13:15:21 -07:00
Unknown W. Brackets 91ff603fd7 Merge pull request #15950 from unknownbrackets/memstruct-cleanup
Remove Memory::WriteStruct() and ReadStruct()
2022-09-03 11:25:04 -07:00
Unknown W. Brackets 15b73b56bb softgpu: Correct texture check in fastpath.
This is the no textures option, so we shouldn't check sampler state at
all.  Presumably this was failing and reading uninitialized data...
2022-09-03 11:21:14 -07:00
Unknown W. Brackets af004dd53d softgpu: Validate alpha test properly for fastpath.
We don't want a weird LESS test being mishandled.
2022-09-03 11:19:24 -07:00
Unknown W. Brackets ba1ced4992 softgpu: Avoid rect fast path with subpixel offset.
It doesn't handle it right, see #15876.  We still handle these with
DrawRectangle(), which gets it right.
2022-09-03 11:08:11 -07:00
Unknown W. Brackets ccd4e92184 Kernel: Use PSPPointer for status objects.
Code makes more sense when reading ->size rather than offset 0.
2022-09-03 10:44:12 -07:00
Unknown W. Brackets dd0de46ed9 Io: Use PSPPointer instead of struct temps. 2022-09-03 10:44:11 -07:00
Unknown W. Brackets 79c7a91d98 Font: Remove needless ReadStruct(). 2022-09-03 10:44:11 -07:00
Unknown W. Brackets a86b904cf2 Ge: Switch from ReadStruct to PSPPointer. 2022-09-03 10:44:11 -07:00
Unknown W. Brackets 8b41178cb8 Psmf: Use PSPPointer instead of WriteStruct. 2022-09-03 10:44:11 -07:00
Unknown W. Brackets 8f96405ee5 Net: Remove usage of Memory::WriteStruct().
This also validates pointer write size better.
2022-09-03 10:44:11 -07:00
Unknown W. Brackets 3a372aa615 HLE: Remove misc usage of WriteStruct().
Prefer PSPPointer and notifying.
2022-09-03 10:44:11 -07:00
Unknown W. Brackets 867eb99505 PPGe: Cleanup memory writes for clarity.
Switch from WriteStruct to PSPPointer as well.
2022-09-03 07:25:03 -07:00
Unknown W. Brackets 99681ff0f2 Merge pull request #15949 from hrydgard/remove-reset-framebuffer-flag
Remove confusing resetFramebufferRead flag from secondary framebuffer binding
2022-09-03 06:46:36 -07:00
Unknown W. Brackets df624d8651 Merge pull request #15946 from hrydgard/shader-blend-refactor
Shader blend refactor part 1
2022-09-02 20:14:10 -07: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
Unknown W. Brackets 470d2f0f4e vertexjit: Remove unused ReadUV() cases. 2022-09-01 23:33:52 -07:00
Unknown W. Brackets f2d5d668a5 vertexjit: Remove unused ReadPos() cases. 2022-09-01 23:33:52 -07:00
Unknown W. Brackets 9f48ddb18c vertexjit: Clamp through float pos during decode.
Rather than decoding it on read, better to decode it right away.
2022-09-01 23:33:52 -07:00
Unknown W. Brackets cbeb6c1477 Replacement: Fix reload of replaced textures.
Were showing as ready before they were ready after decimate, causing
flickering.
2022-09-01 19:17:04 -07:00
Unknown W. Brackets c5fbb400de Replacement: Detect OOM even with replacements.
Also allow saving video textures if so configured.
2022-09-01 19:05:20 -07:00
Unknown W. Brackets 1033fa6cd7 Vulkan: Prevent saving tex during replace load. 2022-09-01 18:52:52 -07:00
Unknown W. Brackets a569921716 GE Debugger: Improve display list disasm.
This makes many registers clearer, and corrects some that were totally
wrong like minz/maxz.
2022-08-29 22:58:13 -07:00
Unknown W. Brackets 3e865abae6 Merge pull request #15917 from hrydgard/vulkan-bandwidth-opt
Vulkan bandwidth optimizations (configure renderpass load/store better)
2022-08-28 14:42:55 -07:00
Unknown W. Brackets da53ab8ef9 UI: Validate UI scissor inside bounds. 2022-08-28 09:01:35 -07:00
Unknown W. Brackets f5efc1aa56 GPU: Make Spongebob hack checks more readable.
Multiline clauses are just a lie programmers tell themselves to make them
think they've written readable code, just because it's better than a
single line.

Also add comments while there, in case this causes problems.
2022-08-28 08:50:16 -07:00
Unknown W. Brackets a8190f3eb4 GPU: Recheck depth/stencil after Spongebob hack.
Since we swap the compare, we should at least recheck it later.
2022-08-28 08:39:05 -07:00
Unknown W. Brackets 18e1efece1 GPU: Add a way to defer dirty rechecks.
These are situations where we have temporary state which will require
recalc again later.
2022-08-28 08:34:48 -07:00
Unknown W. Brackets 77c834ba5c GPU: Fix possible shift truncation.
Also, add algorithm for std::max.
2022-08-28 08:32:00 -07: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
Unknown W. Brackets 08d82ec15b riscv: Emit compressed instructions.
Includes automatically using compressed, optionally.
2022-08-27 15:44:19 -07:00
Unknown W. Brackets 946080206d riscv: Improve sign reduce/immediate readability. 2022-08-27 15:44:18 -07:00
Unknown W. Brackets c807d459f6 riscv: Emit ADD/SUB/etc. for ADDW/SUBW/etc. on R32.
No need to complicate code, we can just write ADDW() and expect it to work
on R32 (if ever motivated to support it.)
2022-08-27 15:44:18 -07:00
Unknown W. Brackets c81d887a86 riscv: Include an LI helper in the emitter.
Can be used for integers and floats.
2022-08-27 15:44:18 -07:00