Commit graph

536 commits

Author SHA1 Message Date
Henrik Rydgård
1966c8fe75 Fix a backwards check 2019-10-27 20:55:32 +01:00
Henrik Rydgård
6c8186d046 Remove unused textureswizzle support (we use shaders instead). Universally support presenting 5551 format directly. 2019-10-27 20:55:32 +01:00
Henrik Rydgård
86c781e434 Hack around most of the problems with the save/load dialog. Software stretch gets enabled in non-wide mode, so wallpapers work at a cost of speed. 2019-10-27 20:55:32 +01:00
Henrik Rydgård
102a70b4a5 Scissor fix 2019-10-27 20:55:32 +01:00
Henrik Rydgård
a84f4a0caa Even more speed. 2019-10-27 20:55:32 +01:00
Henrik Rydgård
eb53609cb0 More speed 2019-10-27 20:55:32 +01:00
Henrik Rydgård
bbbd7f8acc Buildfix 2019-10-27 20:55:32 +01:00
Henrik Rydgård
714f83f614 Further specialization. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
290e9971a7 More specialization work. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
4f7c23fe79 DarkStalkers: Fix display on OpenGL ES. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
796539ad7f DarkStalkers: Fix display in the D3D backends. Still broken in OpenGL. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
9099441973 Darkstalkers: Gross hack to avoid the game's own stretch, and present the raw buffer instead for a sharper image. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
2dd7a9aa12 More darkstalkers work 2019-10-27 20:54:36 +01:00
Henrik Rydgård
c7f6724f7e Detect sprite drawing (1:1 texture mapping), run a simpler function without the triangle state tracking.
This will allow further simplification and specialization.
2019-10-27 20:54:36 +01:00
Henrik Rydgård
510229b68b SoftGPU: Detect through-mode rectangles from triangle strips 2019-10-27 20:54:36 +01:00
Henrik Rydgård
58568632e8 Software renderer: Use hardware color conversion on Vulkan in 5551 16-bit mode 2019-10-27 20:54:36 +01:00
Henrik Rydgård
3a0804a7dd Start slowly migrating from macros 2019-10-27 20:54:36 +01:00
Henrik Rydgård
ae286aef86 Vulkan+SoftwareRenderer: Fix screen rotation on Android.
(Missed this because software rendering is normally disabled on Android)
2019-10-22 22:08:21 +02:00
Unknown W. Brackets
5871ab0538 UI: Stop caching the draw context in coreParam.
This is possibly getting outdated in some paths of graphics reinit, and
then causing crashes.  Let's just always get it from the graphicsContext.
2019-09-28 21:58:15 -07:00
Unknown W. Brackets
7412e13767 SoftGPU: Implement dithering.
Note: it applies even in 8888, so it can be used as a slight brightness
adjustment.
2019-05-26 09:52:34 -07:00
Unknown W. Brackets
0b48c6d066 SoftGPU: Apply color doubling only to RGB.
Broken in #11379 - accidentally applied to the alpha value.  See #11901
for an example where this caused issues with blending.
2019-03-16 19:40:33 -07:00
Henrik Rydgård
b2e1e3c84d
Merge pull request #11675 from unknownbrackets/softgpu
SoftGPU: Respect stencil write mask on test fail
2018-12-17 00:08:43 +01:00
Unknown W. Brackets
aa3b026bfe SoftGPU: Fix crash on garbage index data. 2018-12-16 13:16:05 -08:00
Unknown W. Brackets
0f880696be SoftGPU: Respect stencil write mask on test fail. 2018-12-16 13:13:54 -08:00
Unknown W. Brackets
8a7ec4fc19 GPU: Fix curve breakage due to cull flipping. 2018-12-16 13:00:36 -08:00
Unknown W. Brackets
3c5455f85b SoftGPU: Calculate texcoords in transform.
No need to do it in rasterization, and should be faster to do it on the
verts, anyway.  This fixes the software issue of #11595, presumably
because of the w handling.
2018-11-25 19:19:11 -08:00
Unknown W. Brackets
e664e1c1dd SoftGPU: Oops, properly apply pixel mask in 16-bit. 2018-11-23 07:57:39 -08:00
Unknown W. Brackets
529efded1c GE Debugger: Fix display of raw normals. 2018-11-22 17:53:36 -08:00
Unknown W. Brackets
11a8857a7e SoftGPU: Correct clipping for flat shading.
It needs to use the provoking color, regardless of culling or clipping.

Fixes Blade Dancer lighting (see #4140.)
2018-11-22 17:48:55 -08:00
Unknown W. Brackets
1c19bce514 GPU: Correct specular exponent zero. 2018-11-22 08:53:25 -08:00
Unknown W. Brackets
4816bfc1a6 GPU: Skip specular on negative diffuse factor.
This is correct per hardware tests, see #8403.  Note that the PS3 emulator
running PSP HD remasters does not correctly handle this, and applies
specular for negative diffuse factor.
2018-11-22 08:53:25 -08:00
Unknown W. Brackets
6e46d6c0f9 GPU: Correct powered diffuse with exp=0.
Just to ensure negative factors are handled too, as they are on hardware.
2018-11-22 08:53:25 -08:00
Unknown W. Brackets
1cec9f5ea1 GPU: Handle spot light with 0 exp or length. 2018-11-22 08:53:25 -08:00
Unknown W. Brackets
10fa20cb06 SoftGPU: Fix pixel mask on rectangle clear.
Oops, had inverted it.  This caused it to improperly clear when masked.
2018-11-19 06:15:55 -08:00
Unknown W. Brackets
b2d60cb807 SoftGPU: Cleanup lighting code a bit.
Avoid using Length() when Length2() is enough, simplify some things.
2018-11-18 07:28:03 -08:00
Unknown W. Brackets
986371c633 SoftGPU: Normalize 0,0,0 as 0,0,1 for shade map.
Takes care of #4155 for software rendering.
2018-11-17 18:16:54 -08:00
Unknown W. Brackets
2d3885fc1a GE Debugger: Fix display event record timing.
When the display happens mid frame, this fixes it so you can see the
result easily when running the dump, without manually stepping through.
2018-11-17 11:14:10 -08:00
xebra
04708fe88a [spline/bezier]Unify SubmitSpline/Bezier. 2018-11-13 18:22:34 +09:00
xebra
eca9386c05 [spline/bezier]Reduce static buffers. Get rid of the spline buffer using half of the vertex buffer. 2018-10-07 23:54:31 +09:00
xebra
15a11d58c9 Modify IndexConverter class to functor. 2018-10-07 23:53:40 +09:00
Unknown W. Brackets
797327eecd GPU: Handle bad fog params as large signed vals.
From tests, it seems they're just treated as valid exponents.

Using 65535 since that's the range of depth, can't think of a game using a
larger value for a fog parameter, probably never even this large.
2018-09-10 00:28:02 -07:00
Unknown W. Brackets
817b5d7c1c SoftGPU: Support fog on 3D rectangles. 2018-09-09 23:59:48 -07:00
Unknown W. Brackets
022670d882 GPU: Apply fog before color test.
Hardware tests confirm the fog result is what's color tested.
2018-09-09 23:59:48 -07:00
Unknown W. Brackets
703181607e GPU: Apply color test after doubling. 2018-09-09 20:09:48 -07:00
Unknown W. Brackets
8cdead90f9 SoftGPU: Preserve stencil inside logic op func.
Cleaning things up to make it easier to translate.
2018-09-09 18:11:37 -07:00
Unknown W. Brackets
772ed30288 SoftGPU: Avoid extra lookup of old stencil. 2018-09-09 17:00:12 -07:00
Unknown W. Brackets
2388be544f Debugger: Fix crash in softgpu with no texaddr yet. 2018-09-04 21:54:25 -07:00
Unknown W. Brackets
a4c0640f01 GE Debugger: Factor out host calls some.
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Unknown W. Brackets
44b90f638d SoftGPU: Apply pixel mask for clears.
Turns out it's respected even in clear mode.

Also, confirm logic op and blending interact.
2018-08-24 20:55:49 -07:00
Unknown W. Brackets
c32ffa1db0 GE Debugger: Rename depth clamp more places.
Was still showing clip enable in disasm.
2018-08-11 16:33:39 -07:00