Commit graph

153 commits

Author SHA1 Message Date
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
506a86300d More explicit invalidation of any cached state in Thin3D. Fixes #13307 2020-08-22 00:30:29 +02:00
Henrik Rydgård
c41f875df4 Remove base/logging.h in a whole lot more places. 2020-08-15 19:09:00 +02:00
Henrik Rydgård
fbf6008a03 Set debug names for more framebuffers and textures 2020-08-09 09:36:54 +02:00
Henrik Rydgård
2f5de1987e Allow passing in an object name tag when creating framebuffers 2020-08-09 09:36:45 +02:00
Unknown W. Brackets
5c1bb52ce6
Merge pull request #13221 from hrydgard/android-minor-cleanup
Android: Various minor cleanup
2020-07-29 02:51:50 -04:00
Henrik Rydgård
06d57b1656 GL: Add some paranoid checks. Remove a useless option. 2020-07-28 14:24:36 +02:00
Henrik Rydgård
51f080dfd0 Remove unnecessary vector from thin3d_gl texture handling. 2020-07-27 18:22:23 +02:00
Henrik Rydgård
131a1eedfb Vulkan: Make sure textures/samplers are unbound at the end of PresentationCommon::CopyToOutput.
Validation caught an issue where old stuff lingered in sampler 1 and texture 1.

Bug probably introduced in #12921, but could also be others.
2020-07-13 23:32:37 +02:00
Henrik Rydgård
370678c498 Do a similar thing for D3D (let the backend handle the dirtying). 2020-05-24 20:57:59 +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
Unknown W. Brackets
2e05d22eb7 Vulkan: Move Harvest Moon fix to Draw::Bugs.
Also, make it so you can skip using ini settings.
2020-05-19 22:12:30 -07:00
Henrik Rydgård
e64fdfa0c3 Fix a case of pointer truncation in Vulkan on 32-bit. Fixes #12932 2020-05-19 20:53:51 +02:00
Henrik Rydgård
4bf92a66c5 Thin3D: use 16-bit indices. Fixes #12898. 2020-05-15 18:07:07 +02:00
Unknown W. Brackets
8b4821bc05 Draw: Small optimization to callback.
This allows the callback to say "I didn't copy, please copy for me."  This
helps when additional conversions will be applied during the copy, or a
copy can be skipped.

Also, fixed a couple cases of the wrong mip level being used.
2020-05-13 20:30:24 -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
c025eab86e Draw: Add more uniform types.
Only because we might have float a[2]; float b[2];...
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
9b8157f624 Draw: Allow specifying a tag on shaders.
This way they are not always "thin3d" when using Draw.
2020-05-13 18:07:25 -07: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
796539ad7f DarkStalkers: Fix display in the D3D backends. Still broken in OpenGL. 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
767b1e45b2 Fix the build - there's a Vec3 name collision, fixed it using a namespace. 2019-10-22 22:58:10 +02:00
Henrik Rydgård
ab3c9fc21f Vulkan: Move scissor/viewport rotation into the VulkanRenderManager. Fixes #12303. 2019-09-03 23:26:44 +02:00
Henrik Rydgård
e943724905 Vulkan: Apply the desired pretransform when drawing to the backbuffer.
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099.
2019-06-21 09:38:51 +02:00
Henrik Rydgård
54c6c148fb Detect PCI device ID where available (not in GL?) 2019-02-06 22:43:31 +01:00
Henrik Rydgard
e30daa8027 Remove unused API, assorted cleanup.
No longer enable the geometry shader feature, no plans to use it.
2019-02-05 21:31:43 +01:00
Henrik Rydgård
12f295c4a5 GLES: Detect Vivante GPU, disable vertex range culling
Should work-around #11703
2019-01-03 12:43:32 +01:00
Unknown W. Brackets
adeca2c3ba GLES: Move some vendor bug checks to Draw. 2018-12-23 20:27:22 -08:00
Unknown W. Brackets
9a3de5cb1c GPU: Move dual source blending bug check to Draw.
This also allows the ini setting to avoid it on Intel.
2018-12-23 14:11:57 -08:00
Unknown W. Brackets
f8ce9b08ba Vulkan: Limit stencil workaround to Adreno 5xx. 2018-12-23 14:11:57 -08:00
Henrik Rydgård
c2319cd6d1 thin3d: Make the stencil ref value dynamic state (all APIs support this directly). 2018-12-19 13:48:58 +01:00
Henrik Rydgård
df98721e73 Write rough framework for GPU discard test screen 2018-12-19 13:48:54 +01:00
Henrik Rydgård
a135dc1547 thin3d: Remove unused shader language support 2018-12-18 14:29:48 +01:00
Henrik Rydgård
956af61ff5 Fix ridiculous bug in thin3d.h. Only worked by accidental matchup between shader IDs.. 2018-12-18 14:29:48 +01:00
Unknown W. Brackets
b7d84926fa D3D11: Enable depth clamping.
Uses the same logic as Vulkan, improving #9545 on most D3D11 devices.
2018-09-18 21:49:17 -07:00
Unknown W. Brackets
469d8a6a41 GPU: Screenshot output in BGRA if that's native.
This is a decent chunk faster.
2018-06-16 13:48:50 -07:00
Henrik Rydgård
b037efdb55 If there are multiple Vulkan devices, show a setting to allow the user to choose. 2018-06-06 10:20:12 +02:00
Henrik Rydgård
9485b04914 Never bind a NULL image view in Vulkan no matter what. 2018-06-01 18:51:37 +02:00
Henrik Rydgård
b1df7b2cd0 Thin3D: Handle binding a null texture better. 2018-05-29 23:35:27 +02:00
Unknown W. Brackets
99d16b2202 Vulkan: Add tags to UI textures too. 2018-04-06 21:43:18 -07:00
Henrik Rydgård
5f8118b82b Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases. 2018-02-25 10:27:59 +01:00
Henrik Rydgård
8438defb24 Fix some memory leaks 2018-02-04 13:39:10 +01:00
Henrik Rydgård
22e28e218b
Merge pull request #10411 from hrydgard/gl-render-manager
GL render manager - new faster GL multithreading
2018-01-31 12:22:07 +01:00
Henrik Rydgård
c60c8ed68a Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour. 2018-01-29 19:38:10 +01:00
Henrik Rydgård
51f467a7b3 Kill off the GL state cache 2018-01-27 15:10:17 +01:00
Henrik Rydgård
9babdb712c More gl-render-manager 2018-01-27 15:10:17 +01:00
Henrik Rydgård
b5e5d72a0a Complete the separation of depth and stencil renderpass flags 2017-12-30 22:52:22 +01:00
Henrik Rydgård
bc959470e5 Loosen up some asserts that seem to trigger unexpectedly... need investigation. 2017-11-29 19:07:07 +01:00
Henrik Rydgård
e6be86ce74 ARM buildfix 2017-11-22 11:01:42 +01:00
Henrik Rydgård
b6911d2764 Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163. Also improve some asserts. 2017-11-22 10:47:04 +01:00