Commit Graph

4879 Commits

Author SHA1 Message Date
Henrik Rydgård
ebac0143e0 Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions. 2017-11-12 10:28:55 +01:00
Henrik Rydgård
525cb40f84 Vulkan: Support wide lines if available on the GPU. 2017-11-12 10:17:49 +01:00
Henrik Rydgård
98191f0f29
Merge pull request #10093 from unknownbrackets/softgpu
Speed up software clears, softgpu crash fix
2017-11-12 08:11:53 +01:00
Unknown W. Brackets
ed34cf06b8 SoftGPU: Add a clear mode fast path.
This skips a lot of extra work for clears, which are pretty common.
2017-11-11 21:04:32 -08:00
Unknown W. Brackets
176283c3f1 SoftGPU: Thread by width for wide polygons.
This improves performance a little in some areas.
2017-11-11 18:16:55 -08:00
Unknown W. Brackets
ffbdb15975 SoftGPU: Fix crash when stride is 0.
This happens in Star Ocean 1.
2017-11-11 17:45:47 -08:00
Henrik Rydgård
8d7bcd9d61 Vulkan hw tess: Assorted minor fixes. Works on Mali now. 2017-11-11 21:51:05 +01:00
Henrik Rydgård
9cd4db5f18 Vulkan hw tess: Use pushbuffers instead of temp images to upload data. 2017-11-11 20:39:19 +01:00
Henrik Rydgård
5d6a830288 Vulkan hw tess: Don't reuse the same dynamic texture for multiple draws, not safe. 2017-11-11 20:39:19 +01:00
Unknown W. Brackets
7041341d1a SaveState: Avoid clearing shaders in all backends. 2017-11-11 08:17:04 -08:00
Unknown W. Brackets
9cf17d9288 D3D11: Clear input layouts on shader clear.
When we do clear shaders, make sure to also clear input layouts so we
don't have corrupt keys.
2017-11-11 08:11:10 -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
47c06b9633 Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
As a side effect, this should fix #10082 since backwards depth is no
longer used.
2017-11-11 11:36:26 +01:00
Henrik Rydgård
9519b89056 Experimenally disable dual source blending on AMD too for Vulkan, see #10065 2017-11-10 18:28:38 +01:00
Henrik Rydgård
05930ea32e MotoGP: Compat hack to disable framebuffer readbacks.
This is the only known game to copy its framebufer to RAM before display on every frame and we already have a
hack so we can display the high resolution framebuffer, but we still did the readback for no good reason.

This eliminates the readback.
2017-11-10 16:32:56 +01:00
Henrik Rydgård
3e7d913967 Buildfix 32-bit 2017-11-10 16:11:23 +01:00
Henrik Rydgård
17d624d311 Ditch a silly vertex count limit that only makes sense for GLES, so move it there. 2017-11-10 15:59:36 +01:00
Henrik Rydgård
378e01625c Fix a few more device-loss bugs. 2017-11-10 15:10:36 +01:00
Henrik Rydgård
3cc5d8f40a More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same. 2017-11-10 12:41:06 +01:00
Henrik Rydgård
8b42d83123 Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård
6eb58b1252 Keep the draw context up to date in a bunch of places. More logging. 2017-11-09 16:28:22 +01:00
Henrik Rydgård
ec504756e0 Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes. 2017-11-09 16:02:05 +01:00
Henrik Rydgård
25f32b1d78 Vulkan: Disable dual source blending on Intel GPUs, fixes #10074. 2017-11-09 13:16:06 +01: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
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
ea2fc55217
Merge pull request #10056 from hrydgard/remove-multithreading-2
Remove the old style multithreading
2017-11-06 20:37:06 +01:00
Unknown W. Brackets
fc32a7b24e Vulkan: Show textures in GE debugger. 2017-11-06 00:29:01 -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
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
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
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
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
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
fc60a2692c Buildfix again. Should fix #10046 this time. 2017-11-05 13:44:23 +01:00
Henrik Rydgård
5d0bd85a70 Unify a little bit of depal code. 2017-11-05 10:40:21 +01:00
Henrik Rydgård
2b7d1c1ded Vulkan: Fix bug in depal causing Sonic Rivals to be grayscale. 2017-11-05 10:37:22 +01:00
Henrik Rydgård
066ad46915 Minor depal state dirtying fix 2017-11-05 10:20:18 +01:00
Henrik Rydgård
eb300d715c Add <cmath> include. Will hopefully help #10046 2017-11-05 10:14:45 +01:00