Commit Graph
47 Commits
Author SHA1 Message Date
Unknown W. Brackets 0dee041002 D3D11: Change state caches to DenseHashMaps. 2017-12-02 18:55:02 -08:00
Unknown W. Brackets 243304a5e8 Hashmaps: Fix missing maintain calls in non-GLES.
Should only matter if vertex cache is enabled.
2017-12-02 18:27:18 -08:00
Henrik Rydgård 734d9c494c Fix bug in Vulkan non-buffered where clears could extend outside the frame, since Vulkan clears do not respect scissors. 2017-12-02 11:05:10 +01:00
Henrik Rydgård 713afdfe49 Refactor: Unify DecodeVerts and move ComputeNumVertsToDecode to Common 2017-11-19 12:39:09 +01:00
Henrik Rydgård 35437e6b62 Kill off more unused duplicate code 2017-11-13 16:50:45 +01:00
Henrik Rydgård 4a09289056 D3D11: Similarly to the last vulkan commit, don't create lots of dupe vertex input layouts 2017-11-13 12:26:52 +01:00
Henrik Rydgård 3e749a94ce Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
This can cut down the number of pipelines to a third or less in some
games. However, benefit is likely smaller since Vulkan drivers will
deduplicate shaders inside each vkPipelineCache object.

Helps #10106 while not actually implementing any of the suggestions inside.
2017-11-13 11:22:33 +01:00
Henrik Rydgård b886efe8f5 Another minor cleanup (DescribeCodePtr) 2017-10-20 11:06:12 +02:00
Henrik Rydgård e0e13e191f Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. 2017-08-20 11:30:19 +02:00
Henrik Rydgard 56cd991833 All: Only recompute the vertex shader ID when dirty 2017-08-14 11:36:06 +02:00
Henrik Rydgård 14a80968cf Unify transformed arrays 2017-06-03 18:05:21 +02:00
Henrik Rydgård 1abb8792ab Unify ComputeMiniHash 2017-06-03 18:05:18 +02:00
Henrik Rydgård 3032240916 Unify DecodeVertsStep 2017-06-03 18:04:46 +02:00
Henrik Rydgård 240e058b3b Some unification in DrawEngine 2017-06-03 18:03:56 +02:00
Henrik Rydgård 665a2c04cb Implement software skinning for the Vulkan backend. Fixes #9753 2017-06-02 11:47:14 +02:00
Unknown W. Brackets 70d17d1bc7 Track flags to reduce unnecessary VRAM zeroing.
If we haven't downloaded to RAM since the last zero, no need to zero
again.  This is the most common case.
2017-04-09 15:10:07 -07:00
Henrik Rydgard 22d5acb40e Depal: Use the full CLUT mode setting as the depal shader key. Fixes #9550 for both D3D11 and D3D9. 2017-04-04 11:09:29 +02:00
xebra e6af91f1b0 [spline/bezier]Trying to fix a problem that wrong texture format causes a crash. 2017-03-23 23:57:03 +09:00
Henrik Rydgard 032c340f50 Revert "Vertexcache ComputeMiniHashRange: Doesn't make sense to hash more data than the step size."
This reverts commit 0bbb61e5d2.
2017-03-19 12:47:12 +01:00
Henrik Rydgard 0bbb61e5d2 Vertexcache ComputeMiniHashRange: Doesn't make sense to hash more data than the step size. 2017-03-19 12:08:21 +01:00
Henrik Rydgård 94f16e3b7c GPU: Move "if (resized_)" to BeginHostFrame to avoid desynchronized settings.
Also wipe the input layout cache on D3D11 on resize.

Fixes #9438.
2017-03-17 11:26:11 +01:00
Henrik Rydgård 17a250df7a Always trigger gpu->Resized when exiting GameSettingsScreen.
Strangely, this does NOT help #9438.
2017-03-17 10:27:49 +01:00
Henrik Rydgard a04e24c300 Further D3D11 on mobile fixes 2017-03-05 14:05:04 +01:00
Henrik Rydgard 9d116505cf D3D11: Add a large amounts of asserts 2017-03-05 10:34:44 +01:00
xebra 7364dbea3b [spline/bezier]Implement hardware tessellation on D3D11. 2017-03-04 22:53:40 +09:00
Henrik Rydgard 26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Henrik Rydgard 8eb668ea59 D3D11: Enable pixel depth rounding. GL: Fix a crash bug 2017-02-23 20:40:53 +01:00
Henrik Rydgard 3713f4e6e6 D3D11: implement support for logic op blending when available 2017-02-18 02:14:26 +01:00
Henrik Rydgard b807442641 Fix another resource leak, and fix one of the last leak fixes :P 2017-02-17 19:41:06 +01:00
Henrik Rydgard 2fabe3e1c5 Fix a number of resource leaks, both D3D11-only and general.
Additionally, fix D3D11 BlitFramebuffer
2017-02-17 19:23:01 +01:00
Henrik Rydgard 4538edad14 Work towards enabling shader blending on D3D11 2017-02-17 12:21:18 +01:00
Henrik Rydgard 5c918da774 Minor cleanups (combined two identical enums, misc) 2017-02-15 11:06:59 +01:00
Henrik Rydgard 94860b6636 Additional D3D11 fixes 2017-02-13 01:38:52 +01:00
Henrik Rydgård 6033b1ee05 D3D11: Some cleanup. Fix backface culling. Wipeout still looks weird... 2017-02-12 18:29:58 +01:00
Henrik Rydgård cb407a4019 Minor tweaks 2017-02-12 16:21:24 +01:00
Henrik Rydgård 4f2fb10347 Further D3D11 fixes 2017-02-12 16:14:14 +01:00
Henrik Rydgård bbdb0ee195 Fix the stencil buffer initialization stuff (not sure it's 100% working et) 2017-02-12 13:55:49 +01:00
Henrik Rydgård 6efdde9ea4 D3D11: Fix build issue in Release mode. Triangle fan workaround. 2017-02-12 12:12:36 +01:00
Henrik Rydgård 4fbb537c92 Assorted D3D11 fixes 2017-02-12 12:02:13 +01:00
Henrik Rydgard 3f4e14f504 D3D11: Lumines is now playable in non-buffered, with reverse colors. 2017-02-10 11:25:24 +01:00
Henrik Rydgard a8dc9360f0 D3D11: Fix clears 2017-02-10 10:32:32 +01:00
Henrik Rydgard 5ee3b534ed More D3D11 improvements 2017-02-10 10:26:18 +01:00
Henrik Rydgard a7ea169797 cube.elf now runs in D3D11 mode, still blackscreen 2017-02-10 00:07:23 +01:00
Henrik Rydgard f9b840dbfd More D3D11 progress 2017-02-10 00:01:56 +01:00
Henrik Rydgard 01f46e7a5d Make the first generated D3D11 shaders compile, fix various warnings 2017-02-09 15:04:21 +01:00
Henrik Rydgard ba95e0f4d9 Initial stab at porting the DX9 backend to D3D11. Not working yet. 2017-02-09 13:28:40 +01:00
Henrik Rydgard 01e11c6437 Some mostly empty files for D3D11 2017-02-08 17:47:07 +01:00