Unknown W. Brackets
66f635cba0
sfotgpu: Use threads to apply clears.
2021-11-14 18:31:46 -08:00
Unknown W. Brackets
2ab7499d8d
softgpu: Combine sliced rectangles.
...
This mostly affects clears, and reduces overhead. Only about 2%
improvement, but it's a small change.
2021-11-14 18:31:46 -08:00
Unknown W. Brackets
0281e2f017
softgpu: Split out rectangle path for combining.
2021-11-14 18:31:46 -08:00
Unknown W. Brackets
9545e3b0e2
softgpu: Fixup range cull for fans and fast path.
2021-11-14 18:31:45 -08:00
Unknown W. Brackets
fb6fadbbb7
softgpu: Fast path rectangles as fans.
...
Some games, such as Legend of Heroes III, use fans instead of strips.
2021-11-14 18:31:45 -08:00
Unknown W. Brackets
09a9927b82
softgpu: Use range loops for sprite fast path.
2021-11-14 18:31:45 -08:00
Unknown W. Brackets
55cde6bd6a
softgpu: Check flat z in fast path.
2021-11-14 12:27:39 -08:00
Unknown W. Brackets
361c8f966c
softgpu: Fast path triangles without textures.
...
The fast path may still be useful in this case.
2021-11-14 12:27:39 -08:00
Unknown W. Brackets
5bb6245b1f
softgpu: Fix leaked range flag on cull.
...
Fixes some backgrounds in Final Fantasy 4, probably others.
2021-11-14 08:43:52 -08:00
Unknown W. Brackets
f66e243727
softgpu: Correct scissor for pixel centers.
2021-11-07 11:19:41 -08:00
Unknown W. Brackets
8db2d37e64
softgpu: Fix depth cull in softgpu.
...
Was improperly skipping cull for positive Z.
2021-11-05 21:38:13 -07:00
Unknown W. Brackets
fe440d40e5
softgpu: Clip full weighted Z without truncating.
...
In case wsum_recip is nan or similar, we want to make sure we still
properly clip to minz/maxz.
2021-11-05 21:36:38 -07:00
Unknown W. Brackets
f03fa2b0b8
softgpu: Improve accuracy of line drawing.
...
Needs higher precision to change pixel at the right time.
This makes the lines in Persona 1 look right, see #3871 .
2021-11-04 00:11:09 -07:00
Unknown W. Brackets
b1009f70f9
softgpu: Allow end coordinate at bounds.
...
Oops, was excluding some valid usage that wouldn't wrap.
2021-09-30 06:33:25 -07:00
Unknown W. Brackets
953916a842
softgpu: Avoid fast path for clamp/wrap cases.
...
It doesn't clamp or wrap, and those are uncommon for the fast path.
Fixes #14951 .
2021-09-29 19:19:21 -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
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
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
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
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
73871b9b7e
Implement new thread manager, port stuff to it.
2021-06-12 13:03:53 +02:00
Unknown W. Brackets
3304814fd6
GPU: Minor cleanup duplicate header/conditions.
2021-05-08 09:12:22 -07:00
Unknown W. Brackets
de46b0998a
GPU: Correctly initialize HW tessellation support.
...
Oops, shouldn't call a virtual in a constructor.
2021-05-08 09:10:23 -07:00
Unknown W. Brackets
8a8328c431
Common: Move ColorConv to a more appropriate place.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
ee749804fc
Debugger: Note GPU block transfer src as well.
2021-04-03 18:11:44 -07:00
Unknown W. Brackets
4178f09e57
Build: More consistently avoid _M_ defines.
...
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
d9aecffd72
Build: Remove old ARM define.
2021-03-02 21:26:03 -08:00
Henrik Rydgård
0facd4d4a6
Merge pull request #14230 from unknownbrackets/texreplace
...
Support texture replacement filtering overrides
2021-02-28 18:09:38 +01:00
Unknown W. Brackets
2f63f9999d
GPU: Normalize 0 to 1 always in software lighting.
...
See #14167 . This seems to be consistent.
2021-02-27 23:51:45 -08:00
Unknown W. Brackets
fb3ad1df4b
Replacement: Read in texture filtering overrides.
...
If you're replacing, you can know more information about linear safety for
tests.
2021-02-27 17:16:16 -08:00
Henrik Rydgård
2f3bc2d373
Merge pull request #14056 from unknownbrackets/debugger-mem
...
Track memory allocations and writes for debug info
2021-02-21 10:18:11 +01:00
aliaspider
9a3e5879bb
Global: Correct many endian types and casts.
2021-02-18 22:25:24 -08:00
Unknown W. Brackets
f7740edc6d
Debugger: Add more metadata for memory usage.
2021-02-15 15:01:21 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Unknown W. Brackets
5e3579a780
SoftGPU: Fix sprite provoking vertex in fast path.
...
It was right everywhere else.
2021-01-16 20:13:16 -08:00
Henrik Rydgård
3f01cbb98c
Initialize/Deinitialize the shader translation system once globally.
...
Fixes #13839 .
2021-01-04 23:51:34 +01:00
Unknown W. Brackets
e1050fe855
UWP: Don't try compiling samplerjit.
2021-01-02 09:54:35 -08:00
Unknown W. Brackets
ed65bc2327
SoftGPU: Allow rendering with no backend at all.
2021-01-02 09:25:41 -08:00
Unknown W. Brackets
6a2b3f8f78
SoftGPU: Update PPGe draw context.
...
Oops, this was missing.
2021-01-02 09:23:25 -08:00
Henrik Rydgård
32c9728c0c
Some cleanups in GL feature and shader language detection.
...
Gets rid of many wrong or bad checks for IsCoreContext.
2020-12-14 19:46:11 +01:00
Henrik Rydgård
766dbc5a9f
Move ShaderTranslation.cpp/h to Common/GPU.
2020-11-09 11:18:43 +01:00
Henrik Rydgård
03e8eac6ef
Merge the two ShaderLanguage enums.
2020-11-04 09:40:11 +01:00
Henrik Rydgård
b7d674411e
Test parsing of generated OpenGL shaders too (by using glslang).
2020-10-31 18:32:43 +01:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
b7edf75437
Move Display.cpp/h to Common.
2020-10-04 11:42:16 +02:00