Commit Graph

1268 Commits

Author SHA1 Message Date
Henrik Rydgård 3162f30158 Merge base/basictypes.h into Common/Common.h (mostly). 2020-09-29 15:51:51 +02:00
Henrik Rydgård 1b3413945b Some header include cleanup 2020-09-16 09:20:41 +02:00
Henrik Rydgård cea35007ae Always use a linear filter for video, unless forcing NEAREST filtering. 2020-09-13 16:40:37 +02:00
Henrik Rydgård 60a6bf6d43 Optimize the DarkStalkers software rendering path a little more. 2020-09-12 16:10:17 +02:00
Unknown W. Brackets 5fae2171cc softgpu: Correct cull handling for sprites. 2020-09-08 16:29:45 -07:00
Unknown W. Brackets 3055deeba6 GPU: Fix some case warnings.
Better to avoid the warnings.
2020-08-19 21:18:44 -07:00
Henrik Rydgård 2e06386cf6 Software renderer clipper: Don't clip on the sides. Fixes #4845 and should fix #7124 for the SW renderer. 2020-08-16 21:38:07 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård defa8aa480 DarkStalkers: Handle the "normal" screen stretch too, not just "wide", to avoid a surprising performance drop. 2020-05-24 16:53:44 +02:00
Henrik Rydgård fabe987c8f Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step"). 2020-05-21 11:24:05 +02:00
Henrik Rydgård 7a6489ebb4 Merge pull request #12905 from unknownbrackets/postshader
Allow chained post-processing shaders
2020-05-17 16:09:05 +02:00
Unknown W. Brackets 7910b4029a arm64jit: Track writable and non-writable pointers.
Switch uses different memory regions.  We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Unknown W. Brackets b79ecc159f GPU: Update postshader uniforms for each. 2020-05-16 12:04:36 -07:00
Henrik Rydgård 864d138cd9 Fix DarkStalkers after the just-merged refactoring. 2020-05-14 23:28:37 +02:00
Unknown W. Brackets 7024a2877d GPU: Take A off RGB565 conversion funcs. 2020-05-13 18:17:58 -07:00
Unknown W. Brackets 03e3a935da GPU: Cleanup presentation flipping a bit. 2020-05-13 18:11:25 -07:00
Unknown W. Brackets a41fbb9225 softgpu: Fix postshader on 5551.
This also fixes rendering on Windows 7 Direct3D 11.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets 762b656ea2 GPU: Use a texture directly for MakePixelTexture.
This makes it easier to do things with it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets 2653e50200 softgpu: Avoid RB swizzle when using a postshader.
So that it can post-process correctly.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets 3aa8287b74 softgpu: Enable postshader support. 2020-05-13 18:10:09 -07:00
Unknown W. Brackets cb94487a16 GPU: Move post shader handling to new class.
Currently, Vulkan is not working properly and direct (RAM -> output) is
not hooked up.  But in general, it works.
2020-05-13 18:10:06 -07:00
Unknown W. Brackets 57bd88fc33 softgpu: Allow display rotation. 2020-05-13 18:07:25 -07:00
Unknown W. Brackets a03e368566 GPU: Move cardboard/etc. to PresentationCommon.
Now this works on softgpu as well.

Some hacks for backend differences...
2020-05-13 18:07:25 -07:00
Unknown W. Brackets d39b0bdca2 GPU: Split FramebufferCommon into two classes.
Only some things moved over so far.

FramebufferCommon does too much, we want to share it with softgpu without
all the buffer management stuff.
2020-05-13 18:07:22 -07:00
Unknown W. Brackets 1b9440611a softgpu: Fix texture overlap.
Mainly happened when we had wide textures and split them up between GPUs.
2020-05-13 17:53:00 -07:00
Unknown W. Brackets ac60e2ecd4 GPU: Track HW tess at start of frame too.
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
Unknown W. Brackets 4a0109d273 GPU: Treat negative light exp same as 0.
Based on #12507 and some tests, seems like negative exponents are also
fixed to a 1.0f result.
2020-03-22 22:28:05 -07:00
Unknown W. Brackets f1dfb25427 softgpu: Correct clear/solid rect BR corner.
The scissor is inclusive, not exclusive.
2020-03-09 18:57:55 -07:00
Unknown W. Brackets cebcfb1bbd GPU: Use old frame when presenting a skip.
If we flip using a skipped frame, we may show an even older frame causing
weird flickering.
2020-03-01 13:55:28 -08:00
Unknown W. Brackets 072041a63d SoftGPU: Convert from 16-bit if unsupported.
Should help #12455, but not actually tested on an affected device.
2019-12-24 11:08:44 -08:00
Henrik Rydgård 54823a87cc Oops 2019-10-28 13:13:52 +01:00
Henrik Rydgård 970adfbcc9 Isolate most of the softgpu specialization code to RasterizerRectangle.
See comments.
2019-10-28 09:33:30 +01:00
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