Commit Graph

22893 Commits

Author SHA1 Message Date
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
4970668b99 Try harder to free up memory from the Android native font rendering system. Might help #10069 2017-11-07 12:31:03 +01:00
Henrik Rydgård
7922a2ab5c Vulkan: If acquiring a frame fails (happens sometimes during window resize), skip swapping the frame. Should help #10063 2017-11-07 09:56:41 +01:00
Henrik Rydgård
4cee442b0f
Merge pull request #10068 from unknownbrackets/vulkan-minor
Vulkan: Fix deadlock on resize
2017-11-07 09:01:29 +01:00
Unknown W. Brackets
6c1f6618b6 Vulkan: Wait for orderly thread stop on resize.
To be safer, let's just let it finish.  We don't actually sync the thread
in join(), so it could still be running a frame.
2017-11-06 23:03:14 -08:00
Unknown W. Brackets
1ab9f102ab Vulkan: Fix deadlock on resize.
Still needed to set this flag.  Didn't notice earlier because creating the
fences affected the race condition timing, I think...

Improves #10063.
2017-11-06 22:30:14 -08:00
Henrik Rydgård
70c70b1e76 Vulkan: Some error handling improvement. Might get us a clue for #10065 2017-11-07 00:08:39 +01:00
Henrik Rydgård
4f4eb6f024 Vulkan: The validation layers don't like zero-size blits. 2017-11-06 23:49:27 +01:00
Henrik Rydgård
944cc94630 Vulkan: Better way to make sure we bind the backbuffer at some point. 2017-11-06 23:48:47 +01:00
Henrik Rydgård
ea2fc55217
Merge pull request #10056 from hrydgard/remove-multithreading-2
Remove the old style multithreading
2017-11-06 20:37:06 +01:00
Henrik Rydgård
b280e30a27
Merge pull request #10060 from unknownbrackets/debugger
Show texture, depth, and stencil preview in Vulkan
2017-11-06 09:39:19 +01:00
Unknown W. Brackets
3a84b63777 Vulkan: Convert depth format on readback.
Although, the GPU debugger stuff already handles more formats, it's hard
to get the current format to avoid the conversion...
2017-11-06 00:29:02 -08:00
Unknown W. Brackets
fc32a7b24e Vulkan: Show textures in GE debugger. 2017-11-06 00:29:01 -08:00
Unknown W. Brackets
138837ac54 Vulkan: Add texture image readback.
This way we can see how it was decoded, scaled, etc.  This also helps
seeing texture cache invalidation issues.
2017-11-06 00:29:01 -08:00
Henrik Rydgård
392adde1a0
Merge pull request #10061 from unknownbrackets/vulkan-minor
Fix softgpu in Vulkan
2017-11-06 09:01:07 +01:00
Unknown W. Brackets
4a08410d7d Vulkan: Fix non-16 bit indexed drawing.
Only really affects softgpu, since games are rewritten to 16 bit.
2017-11-05 22:15:27 -08:00
Unknown W. Brackets
9dfc9ff6ae Vulkan: Allow clearing the backbuffer to any color.
Helps with debugging sometimes.
2017-11-05 22:14:53 -08:00
Unknown W. Brackets
cd6249d080 D3D11: Show FBO-as-texture in GE debugger. 2017-11-05 18:41:24 -08:00
Unknown W. Brackets
1f33907f20 TexCache: Warning fix. 2017-11-05 17:59:34 -08:00
Unknown W. Brackets
de459e6a1d
Merge pull request #10058 from bentley/master
Use W^X on OpenBSD.
2017-11-05 19:21:00 -05:00
Anthony J. Bentley
9fc355eee4 Use W^X on OpenBSD. 2017-11-05 17:06:09 -07:00
Henrik Rydgård
a827ad23ae Don't use "threadsafe events" for Ge stuff. 2017-11-06 00:27:51 +01:00
Henrik Rydgård
0b68130968
Merge pull request #10057 from unknownbrackets/vulkan-minor
Fix framebuffer leak in Vulkan
2017-11-05 23:38:35 +01:00
Unknown W. Brackets
b2039bd14f Vulkan: Fix leak in WipeQueue(). 2017-11-05 14:22:09 -08:00
Henrik Rydgård
f16d11a43b Turn on multithreaded vulkan 2017-11-05 23:21:54 +01:00
Henrik Rydgård
9e35144b96 Remove/deprecate GPU tick sync 2017-11-05 23:21: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
bb68906d88 Delete ProcessEvent and the GPUEvent enum 2017-11-05 23:21:51 +01:00
Henrik Rydgård
6680e787de Delete GPUCommon::ScheduleEvent 2017-11-05 23:21:50 +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
Henrik Rydgård
5e63f0700e Get rid of the sync around curTickEst 2017-11-05 23:21:48 +01:00
Henrik Rydgård
4d9c571bf4 Delete the mutex in GPUCommon. 2017-11-05 23:21:47 +01:00
Unknown W. Brackets
63e78ef3e8 Vulkan: Fix framebuffer leak.
Evident in God of War.
2017-11-05 14:21:41 -08:00
Henrik Rydgård
be2ba4ffb3 Remove the setting to run the display list interpreter on a separate thread. 2017-11-05 23:21:26 +01:00
Henrik Rydgård
3c591ad9ca
Merge pull request #10052 from unknownbrackets/savestate-oom
Avoid Android OOM crashes on save state
2017-11-05 22:50:19 +01:00
Henrik Rydgård
79208f105c
Merge pull request #10055 from unknownbrackets/vulkan-minor
Vulkan: Correct logicop dirtying
2017-11-05 22:41:11 +01:00
Unknown W. Brackets
ef55cf1e74 Vulkan: Correct logicop dirtying.
Needs to be under blend state.
2017-11-05 13:26:18 -08:00
Henrik Rydgård
efdd7b3729
Merge pull request #10054 from unknownbrackets/birdbrawl
TexCache: Detect textures in FBO gutters
2017-11-05 22:20:19 +01:00
Henrik Rydgård
702e354a6a Vulkan multithread: Fix race condition. 2017-11-05 22:18:28 +01:00
Unknown W. Brackets
7ae451db1f TexCache: Detect textures in FBO gutters.
If it's not even within the framebuffer's bufferWidth, we can just go to
the RAM as normal and skip the FBO.

Fixes #10045.
2017-11-05 13:03:09 -08: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
2f305f9841
Merge pull request #10049 from unknownbrackets/vulkan-minor
Vulkan threading tweaks and minor
2017-11-05 19:39:43 +01:00
Unknown W. Brackets
349b36f000 SaveState: Correct free on error and uncomp format.
The uncompressed path had diverged, so refactor to avoid this in the
future.  Also, some errors weren't freeing all buffers.
2017-11-05 10:19:09 -08:00
Unknown W. Brackets
66ddf592b4 SaveState: Use malloc to avoid Android OOM crash.
We have exceptions disabled on Android, which is exactly where we need the
OOM check most.
2017-11-05 10:04:22 -08:00
Unknown W. Brackets
ead4c5f9a8 Vulkan: Make sure backbuffer is bound for UI.
Fixes #10048.
2017-11-05 09:22:14 -08:00
Unknown W. Brackets
56d34402ff Vulkan: Resignal unexecuted fences on thread stop.
When resizing or similar, we may end up with frames we never ran.  This
also happens on startup.

We need them signaled at start so we can wait on them, or we may deadlock.
2017-11-05 09:22:14 -08:00
Unknown W. Brackets
ebe9dcafde Vulkan: Wait for queue idle in DestroyBackbuffers.
Otherwise it's only done after destroying Draw, so no need to mutex.
2017-11-05 08:44:14 -08:00
Unknown W. Brackets
efbba31608 GPU: Restore initial readback on output.
Needed when the last rendered FB needs to be downloaded.
2017-11-05 08:44:13 -08:00
Unknown W. Brackets
2ad9eb047e Vulkan: Refcount framebuffer deletes.
Fixes crash in GoW when using a thread.
2017-11-05 08:44:12 -08:00
Henrik Rydgård
d30520a43c
Merge pull request #10050 from Orphis/gradle-google-maven
Add missing Google Maven repository
2017-11-05 16:38:35 +01:00