Commit Graph
3552 Commits
Author SHA1 Message Date
Henrik Rydgård f8e0c09463 Delete unused stuff in all backends 2022-08-03 22:22:52 +02:00
Henrik Rydgård 1ab9293cb3 Convert FramebufferBlit from the GL backend to use thin3d 2022-08-03 22:22:51 +02:00
Henrik Rydgård 192e331b11 Delete the OpenGL implementation of DrawActiveTexture. 2022-08-03 14:12:55 +02:00
Henrik Rydgård 41e327a66b Cleanup and testfixes 2022-08-03 13:34:59 +02:00
Henrik Rydgård 9bead443c3 Unify stencil buffer upload using Draw. Only OpenGL tested yet (shaders need adaptation). 2022-08-03 13:31:13 +02:00
Henrik Rydgård 770cb49f94 GLES: FramebufferBlit: Don't blit if the target is the current framebuffer. 2022-08-02 14:57:20 +02:00
Henrik Rydgård 19931c003f Clean up blit/copy feature detection. Don't need fast GPU flags for these. 2022-08-02 09:53:46 +02:00
Henrik Rydgård 73fc9fb520 OpenGL fix 2022-08-01 11:57:22 +02:00
Henrik Rydgård c158414858 Give the mip bias its own uniform flag. 2022-07-31 10:43:48 +02:00
Henrik Rydgård fecf9127a0 Implement 3D texturing in the OpenGL backend too. Assorted fixes. 2022-07-31 10:43:48 +02:00
Henrik Rydgård 6a5a232777 Unify the GLES LoadTextureLevel with the D3D ones. 2022-07-30 19:07:21 +02:00
Henrik Rydgård 9ed96921e1 Cleanup 2022-07-30 16:51:29 +02:00
Henrik Rydgård 063cd18254 Simplify CPU upscaling code
Use the existing expandTo32bit mode in the texture decoder instead of
the backend-specific switches and stuff.

Just gets rid of a bunch of redundant code and makes further changes
easier.
2022-07-30 15:06:25 +02:00
Henrik Rydgård d0d53091a8 Change from maxLevel to levelsToLoad, for better readability. Cleanup. 2022-07-30 10:45:02 +02:00
Henrik Rydgård 1e9d85cda1 Define texture loading plan semantics better, pre-port some from Vulkan 2022-07-30 10:44:28 +02:00
Henrik Rydgård 167b837ed3 Break out the preparation part of BuildTexture from GLES 2022-07-30 10:44:27 +02:00
Henrik Rydgård c031f3085b Additional cleanup 2022-07-30 10:44:26 +02:00
Henrik Rydgård ae6763766e Get the GLES BuildTexture slightly closer 2022-07-30 10:44:02 +02:00
Henrik Rydgård f728faffdc Remove fake-mipmap logic from LoadTextureLevel 2022-07-30 10:38:17 +02:00
Henrik Rydgård 8b398bbbb7 Minor code simplification 2022-07-30 10:32:50 +02:00
Henrik Rydgård 6f484d0aee Remove unused useBGRA parameter 2022-07-30 08:52:24 +02:00
Henrik Rydgård c41b780c8c Remove the ReplacedTextureFormat enum 2022-07-30 08:52:24 +02:00
Henrik Rydgård ef4a6cf873 Remove support for 16-bit replacement texture formats 2022-07-30 08:52:24 +02:00
Henrik Rydgård f523341351 Remove unnecessary parameters from MakePixelsTexture 2022-07-24 13:54:09 +02:00
Henrik Rydgård 9ffb248e59 Merge pull request #15646 from unknownbrackets/report-vertex
Reporting: Log when vertex count truncated
2022-07-04 23:23:36 +02:00
Unknown W. Brackets efacbddaef Reporting: Log when vertex count truncated. 2022-07-04 13:22:17 -07:00
Unknown W. Brackets feddff8299 GLES: Fix sw transform flip in skip buffer mode.
Was causing some things to be drawn in the wrong places and upside down.
2022-06-05 11:31:07 -07:00
Henrik Rydgård 66ddbe9513 Remove the rather problematic limit on framebuffer copies 2022-05-01 12:49:19 +02:00
Henrik Rydgård 7be86264d0 Move framebufFormat to gstate_c, so we can override it 2022-04-30 18:16:09 +02:00
Henrik Rydgård 32df78a2cc Make the existing ReinterpretFramebuffers/ShaderColorBitmask path work for Split/Second
It took writing and debugging #15500 for me to understand what the issue with the old path was..

Much simpler alternative to #15500, or we could merge both but disable Split/Second
for this one. Needs some benchmarks I guess...
2022-04-25 00:11:09 +02:00
Henrik Rydgård c52a5e9e25 Fix checks for the "fake mipmap" situation.
Fixes #15492
2022-04-22 22:59:20 +02:00
Henrik Rydgård c4dfbf4f1a Delete a lot of specialized alpha checking code.
This was now only used to check alpha in CLUTs, and the generic functions will not actually be any slower.
2022-04-15 12:34:50 +02:00
Henrik Rydgård 42cd937de2 Simplification and some cleanup 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 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 2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Henrik Rydgård f1cd1d535b Add a hidden setting to turn off the shader cache, for shader compile performance work 2021-11-21 21:25:56 +01:00
Unknown W. Brackets 0dc7688838 GPU: Cleanup some extra pointers in fb managers.
These weren't being used / weren't final anyway.
2021-11-14 14:13:48 -08:00
Henrik Rydgård b88d676f78 Remove the vertex cache from the OpenGL backend.
It was disabled for a very long time, and now that we've re-enabled it, it
mostly causes problems.

Not feeling like debugging it on weird hardware, I think it's better
to focus energy on other optimizations.
2021-11-06 00:45:43 +01:00
Unknown W. Brackets 2718e81c0e GPU: Expand lines to triangles. 2021-10-31 14:46:46 -07:00
Unknown W. Brackets b3a8e013f6 GPU: Expand points into triangles for higher res. 2021-10-31 13:06:06 -07:00
Unknown W. Brackets 9fc94a3494 GPU: Skip cull for lines and points.
These already always go through software transform, so make sure we handle
them consistently.  We'll eventually convert to triangles.
2021-10-31 10:54:50 -07:00
Henrik Rydgård 8a718a8202 Merge pull request #15072 from unknownbrackets/guardband
Implement depth culling in software transform
2021-10-31 17:29:41 +01:00
Henrik Rydgård 3bf6b140c7 Don't forget to check for bufferedRendering before enabling screen rotation in the shader. 2021-10-31 13:35:13 +01:00
Unknown W. Brackets 5128480d74 GPU: Implement cull behavior in sw transform. 2021-10-30 21:04:16 -07:00
Unknown W. Brackets e688bb2cdf GPU: Correct software transform projection.
Now reading the new fog value.
2021-10-30 18:23:58 -07:00
Unknown W. Brackets 4ec75de0e7 GPU: Add fog separately for swtransform verts.
At this point, still being processed wrong, this just changes the
attribute structure.
2021-10-30 18:22:54 -07:00
Unknown W. Brackets b87451de92 GPU: Restore rotation handling in sw transform. 2021-10-30 18:22:53 -07:00
Unknown W. Brackets 159eab5141 GPU: Set projection matrix per backend.
There's a bit of variance, so this keeps the central code clean.
2021-10-30 18:20:36 -07:00
Unknown W. Brackets f35c7d04bd GPU: Update viewport params before sw transform. 2021-10-30 18:19:16 -07:00