Commit Graph
9567 Commits
Author SHA1 Message Date
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 1bbaba4103 Fix some NEON code that had bad compile-time checks (and some didn't compile) 2022-04-15 00:54:44 +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
Unknown W. Brackets b71f17586e Switch: Avoid loading Vulkan. 2022-04-02 16:34:13 -07:00
Unknown W. Brackets f2bba34f84 softgpu: Combine memcpy into single. 2022-03-20 12:05:31 -07:00
Unknown W. Brackets 7389a36fad softgpu: Avoid unnecessary clearMode checks.
Already baked into the flag.
2022-03-20 12:05:31 -07: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 374ccafa73 softgpu: Plug bad leak of bin queue data. 2022-03-13 13:34:37 -07:00
Unknown W. Brackets a3f682fc5a softgpu: Reduce memory usage on 32-bit. 2022-03-13 13:34:14 -07:00
Unknown W. Brackets e68b16af69 softgpu: Enure aligned bin queues.
On 32-bit, we still want these aligned to 16 bytes.
2022-03-13 13:33:19 -07:00
Unknown W. Brackets 163fa352e8 softgpu: Avoid some unaligned access on x86_32. 2022-03-13 12:44:58 -07: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
Henrik Rydgård d50da7dc55 Don't track small wide-stride block transfers 2022-03-08 19:46:00 +01:00
Unknown W. Brackets da4b9e82f3 softgpu: Fix build with basic logging. 2022-03-05 00:08:09 -08:00
Unknown W. Brackets 539e2bbbf8 Debugger: Track unchanged VRAM to avoid copy.
See #15251, the framedump here reused a VRAM texture for many draws, and
this caused it to recopy the texture over and over again.  Use a flag to
skip if possible.
2022-02-20 13:51:40 -08:00
Henrik RydgårdandGitHub eb765a80f8 Merge pull request #15411 from unknownbrackets/softgpu-range
softgpu: Apply region x2/y2 as a scissor
2022-02-20 21:42:00 +01:00
Unknown W. Brackets 1d0936ea79 Debugger: Improve drawing range in softgpu.
We don't always want all of region, particularly if scissor is a regular
screen size.  This improves debugging in GoW.
2022-02-20 12:21:48 -08:00
Unknown W. Brackets e3aabdc86c softgpu: Use region as a second scissor.
It's effectively a scissor in the common case of REGION1 being zero.
2022-02-20 12:01:35 -08:00
Unknown W. Brackets ff5edb2bbc softgpu: Correct accounting for pixel center.
Filtering is still not perfect but this makes different orientations
better.
2022-02-20 10:50:59 -08:00
Unknown W. Brackets df1a91ee25 samplerjit: Correct nearest negative texture clamp.
Was not clamping to zero when negative.
2022-02-20 10:25:00 -08:00
Unknown W. Brackets e1eb4ba94a softgpu: Directly implement rectangle drawing. 2022-02-20 09:58:01 -08:00
Unknown W. Brackets cc6491342e softgpu: Prepare dedicated rectangle path.
We're still sometimes using the slow rect-as-triangles path, let's do
something faster.  As a first step, just handle binning.
2022-02-20 09:38:51 -08:00
Unknown W. Brackets 6737d69f0a softgpu: Cleanup some now unused state. 2022-02-20 09:19:48 -08:00
Unknown W. Brackets a88c9a0680 softgpu: Remove incorrect offsetting for X/Y. 2022-02-20 09:13:20 -08:00
Unknown W. Brackets 1bc3acf2ed softgpu: Use a const for subpixel screenpos factor. 2022-02-19 21:03:49 -08: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 ad18833a4f samplerjit: Fix non-SSE4 bugs in jit. 2022-02-15 20:13:38 -08:00
Unknown W. Brackets 71e855a822 GE Debugger: Track last gstate on stepping. 2022-02-13 10:22:59 -08:00
Henrik RydgårdandGitHub df1a15938d Merge pull request #15399 from unknownbrackets/softgpu-vertices
Convert more verts to rects, fix strip/fan skew on clip
2022-02-13 15:28:16 +01:00
Henrik RydgårdandGitHub 83318c55b3 Merge pull request #15400 from unknownbrackets/softgpu-frameskip
softgpu: Track dirty vs really dirty per buffer
2022-02-13 15:26:21 +01:00
Unknown W. Brackets 7cef06c191 softgpu: Track dirty vs really dirty per buffer.
When games draw and display with a frame lag, it becomes important that we
indicate really dirty for the correct buffer.  Since some triple buffer,
this attempts to track at the buffer level using 1024 byte granularity.
2022-02-12 15:27:18 -08:00
Unknown W. Brackets 3d4c1548b6 softgpu: Allow tri -> rect in transform. 2022-02-12 12:03:55 -08:00
Unknown W. Brackets 259b10d42a softgpu: Turn more tri strips into rects.
This catches a common case in Valkyrie Profile.
Rotation is resolved by just always using tl/br.
2022-02-12 11:33:42 -08:00
Unknown W. Brackets 2381f355c2 softgpu: Combine tris to rects with ignored z too. 2022-02-12 11:33:36 -08:00
Unknown W. Brackets 85cb4101dc softgpu: Cleanup todos on perspective correctness.
Only the texture appears to be perspective corrected.  Color is simply
linear.
2022-02-12 10:55:53 -08:00
Unknown W. Brackets 8e7bc80e4b softgpu: Avoid modifying source vertex data.
This was dangerous for strips and fans, which reuse the verts for
subsequent primitives.
2022-02-12 10:39:25 -08:00
Unknown W. Brackets 0e4daa05b9 GE Debugger: Avoid crash on Step Draw with flush.
If we're already stepping, we shouldn't try to re-enter stepping.
2022-02-10 21:44:41 -08:00
Unknown W. Brackets f17f6465ac GE Debugger: Optimize slab lookup.
If the slab is the last one, we can grab it right away.
2022-02-07 23:55:10 -08:00
Unknown W. Brackets da4206b078 GE Debugger: Skip overhead without breakpoints.
In the common case that there's no breakpoints, we can skip most of the
checks and a call.
2022-02-07 23:54:18 -08:00
Henrik RydgårdandGitHub 50350e13ac Merge pull request #15378 from unknownbrackets/gedebugger-skip
GE Debugger: Add filter to skip prim calls
2022-02-07 08:52:57 +01:00
Unknown W. Brackets 8418287a87 Vulkan: Avoid crash on double DeviceLost.
This caused Android to crash when switching to OpenGL, because the
destructor would try to deinit again.  There weren't any objects, but
draw_ was no longer valid.
2022-02-06 23:34:44 -08:00
Unknown W. Brackets c66619f7c9 GE Debugger: Add filter to skip prim calls.
This allows you to cut prims from the scene as desired.
2022-02-06 21:25:33 -08:00
Unknown W. Brackets 80e054b797 Debugger: Avoid write tag lookup on small alloc. 2022-02-06 09:28:48 -08:00