Henrik Rydgård
e6be86ce74
ARM buildfix
2017-11-22 11:01:42 +01:00
Henrik Rydgård
2c86217552
Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545
2017-11-21 16:19:28 +01:00
Henrik Rydgård
6a3d41892a
Workarounds for issue with "accurate depth". See #9545 , #10087
2017-11-21 12:11:05 +01:00
Henrik Rydgård
674d5c7dbb
Merge pull request #10130 from hrydgard/lod-bias-fixes
...
Mipmaps: Disable slope mode pending a better method. Implementing it entirely as a LOD bias is not the way it works.
2017-11-20 13:49:39 +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
23f7819329
Unify RebindFramebuffer, mostly.
2017-11-15 20:44:25 +01:00
Henrik Rydgård
b1a93ad3a5
Attempt to unbreak D3D9 mipmapping (still disabling SLOPE mode)
2017-11-15 14:22:19 +01:00
Henrik Rydgård
f564c59248
Mipmaps: Disable LOD bias in slope mode as that's not how it works.
...
Works around #9772
2017-11-15 14:21:17 +01:00
Henrik Rydgård
d4df0181db
More duplicate code removal
2017-11-14 09:20:36 +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
04e313ecba
Unify Execute_Bezier and Execute_Spline
2017-11-13 10:45:27 +01:00
Unknown W. Brackets
e3b3828b15
TexCache: Check alpha before scaling.
...
This will be faster when scaling. We no longer need to wait, since we
only care about full alpha now.
2017-11-12 16:19:28 -08:00
Unknown W. Brackets
9fbcc01afa
TexCache: Remove simple 0/1 alpha check.
...
No practical optimizations have come of this, so it's a waste of time.
Slows down Vulkan too.
2017-11-12 16:17:46 -08:00
Unknown W. Brackets
7041341d1a
SaveState: Avoid clearing shaders in all backends.
2017-11-11 08:17:04 -08:00
Unknown W. Brackets
f93ef92960
D3D11: Avoid clearing shaders on load state.
...
They don't need to be cleared (unlike FBOs), and clearing them requires
clearing even more things. Fixes #9637 .
2017-11-11 08:09:56 -08:00
Henrik Rydgård
d618b3673b
Count readbacks in a frame and show in GPU debug stats.
2017-11-08 11:57:53 +01:00
Henrik Rydgård
8c69be9bfa
Get rid of GPUCommon's "Internal" functions.
2017-11-05 23:21:52 +01:00
Henrik Rydgård
26e52ca5e8
Get rid of a bunch of sync stuff that's no longer needed.
2017-11-05 23:21:49 +01:00
Unknown W. Brackets
78b5565035
GPU: Properly Release() FBOs.
...
In case we end up wanting to use those reference counts, let's use the
right API.
2017-11-05 12:45:02 -08:00
Henrik Rydgård
5d0bd85a70
Unify a little bit of depal code.
2017-11-05 10:40:21 +01:00
Henrik Rydgård
5018e400f2
Remove some code duplication
2017-11-01 14:51:15 +01:00
Henrik Rydgård
533f80a056
Fix bug in Vulkan's vertex shader generator, causing stretched characters in Jeanne D'arc.
2017-11-01 11:47:05 +01:00
Henrik Rydgård
7312576239
More buildfixes, warning fix, memory leak fix
2017-10-26 11:43:22 +02:00
Henrik Rydgård
b886efe8f5
Another minor cleanup (DescribeCodePtr)
2017-10-20 11:06:12 +02:00
Henrik Rydgård
4a30aedc53
Unify and move around code to cleanup some debug accessors
2017-10-18 13:10:05 +02:00
Henrik Rydgård
d53c88456a
Unify GetFramebufferList() (trivial)
2017-10-18 12:49:15 +02:00
Henrik Rydgård
898716cc26
Unify DownloadFramebufferForClut
2017-10-18 12:34:01 +02:00
Henrik Rydgård
981c49615c
Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager.
2017-10-18 12:26:02 +02:00
Henrik Rydgård
4e3a9bc3e3
Unify some more framebuffer functions. Leave the GL stuff alone for now due to async.
2017-10-18 11:20:58 +02:00
Unknown W. Brackets
72e0a24724
GPU: Reset shader state on shader reset.
...
Was ending up with lastFSID being -1, but being used.
Seen in gpu/commands/blend test.
2017-09-20 08:37:54 -07:00
Henrik Rydgård
6a1fa728d8
Remove Globals.h
2017-08-31 17:15:22 +02:00
Henrik Rydgård
2f85e6516e
Minor optimizations (use the new hashmap in a few more places)
2017-08-20 19:18:46 +02:00
Henrik Rydgård
9bce767b73
Merge pull request #9916 from hrydgard/faster-hashmaps
...
Replace the most critical unordered_maps and maps with faster maps.
2017-08-20 17:56:31 +02:00
Henrik Rydgård
10cebb4195
32-bit buildfix
2017-08-20 15:33:53 +02:00
Henrik Rydgård
c2bd739b49
Optimize uniform uploads for D3D9 and GL as well.
2017-08-20 13:53:39 +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 Rydgård
d60bb27cd9
Merge pull request #9906 from hrydgard/fastrunloop-optimize
...
GPU FastRunLoop optimizations
2017-08-17 16:25:15 +02:00
Henrik Rydgård
5680332343
Minor cleanups
2017-08-17 15:20:21 +02:00
Henrik Rydgård
2c4e5e2303
Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset.
2017-08-17 15:20:16 +02:00
Henrik Rydgård
71baecabd6
Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions.
...
It would only be necessary if we needed the previous value, which we
don't do in any of these.
2017-08-17 15:20:10 +02:00
Henrik Rydgård
5e788ffadf
Implement vertex caching for Vulkan.
2017-08-17 11:22:45 +02:00
Henrik Rydgård
983bb3bd0f
Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled
2017-08-15 14:27:54 +02:00
Unknown W. Brackets
ca40282a10
Dirty on various framebuf state helpers.
...
Ideally we should cut down on using DisableState(), or restore afterward.
2017-08-14 11:36:07 +02:00
Henrik Rydgard
078e1151f9
Dirty-flag the fragment shader ID.
2017-08-14 11:36:07 +02:00
Unknown W. Brackets
f1cf92988f
Dirty things on stencil buffer upload.
2017-08-14 11:36:06 +02:00
Henrik Rydgard
56cd991833
All: Only recompute the vertex shader ID when dirty
2017-08-14 11:36:06 +02:00
Henrik Rydgard
1098bf7342
All: Only convert viewportscissor state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32
All: Only convert raster state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2
All: Only convert depth stencil state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c
All: Only convert blend state if "dirty"
2017-08-14 11:14:26 +02:00