Commit graph

107 commits

Author SHA1 Message Date
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
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
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
8edc6eaf5e Vulkan: Fix segfault on swapchain fail.
This at least allows us to detect that the backend failed to init.

Happens when switching backends with debugger attached (probably driver
bug?)
2017-11-04 20:45:08 -07:00
Henrik Rydgård
bbfc32f131 Remove disabling of validation warning. It works. 2017-10-31 12:57:27 +01:00
Henrik Rydgård
07dfda0633 Vulkan depal code now passes validation, but produces black. 2017-10-31 12:35:00 +01:00
Henrik Rydgård
d016bfe221 Fix some resource leaks and excessive logging in VulkanRenderManager 2017-10-26 10:57:00 +02:00
Henrik Rydgård
3e2b810c39 Improve synchronization, though there are very weird issues. Possibly need to run the swap chain from the thread that created it? 2017-10-26 10:57:00 +02:00
Henrik Rydgård
833916a906 A multitude of fixes. The UI now works correctly, though of course ingame still broken. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
0a0494ef8e It builds! With some shortcuts, of course. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
eabaf6ddcd Bit more Vulkan barrier cleanup. 2017-10-21 13:05:52 +02:00
Henrik Rydgård
804aa79376 Various Vulkan image transition fixes and related 2017-10-20 18:09:05 +02:00
Henrik Rydgård
b9ba525de1 Don't call functions in asserts, they get compiled out in release... 2017-10-20 14:45:00 +02:00
Henrik Rydgård
017d3da067 Allow D3D9 context creation to bail if shader compilation fails (D3D9 runtime not installed).
Fixes an issue where after switching to D3D9 on a PC without the D3D9 runtime, it's impossible to start PPSSPP anymore.
2017-10-20 11:53:07 +02:00
Henrik Rydgård
62972cb891 D3D11: Move to CopyFramebufferToSync where easily possible. 2017-10-11 13:34:31 +02:00
Henrik Rydgård
55e9807a53 Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions. 2017-08-28 14:12:56 +02:00
Henrik Rydgard
0c70735bc4 Buffered rendering is starting to work, though still kinda broken. 2017-05-30 09:36:17 +02:00
Henrik Rydgard
273c266b78 Silence a perf warning 2017-05-30 09:36:17 +02:00
Henrik Rydgard
fd4ef48971 Windows debug builds: Only break on Vulkan validation warnings if a debugger is attached. 2017-05-07 18:09:09 +02:00
Henrik Rydgard
42a694368e Vulkan: Remove obsolete warning suppressions. Increase descriptor pool sizes. 2017-05-07 11:14:25 +02:00
Henrik Rydgard
ff6fcc9179 More vulkan fixes 2017-05-07 10:53:04 +02:00
Unknown W. Brackets
0b16899f67 Windows: Init with OpenGL 4.5 if possible.
Also, try more versions if older.
2017-04-29 17:38:18 -07:00
Unknown W. Brackets
ccd9a17235 D3D11: Free swapchain on graphics reset. 2017-04-27 20:04:30 -07:00
Unknown W. Brackets
bf02f7d98b Vulkan: Detect swapchain init failure.
This seems to be a driver bug, and occurs on NVIDIA when OpenGL has
previously been inited.  Or we're not cleaning something up properly...
but there's a driver error logged to debug output.
2017-04-15 16:26:26 -07:00
Henrik Rydgard
db89bced86 Remove unused code 2017-04-06 09:57:55 +02:00
Henrik Rydgård
c0f6a24a21 Fix issue where we were a little too aggressive when eliminating calls to SetRenderTarget 2017-03-23 10:02:28 +01:00
Unknown W. Brackets
4514af9d6e Windows: Improve core context init.
This clears the error from glewInit(), and ensures we check GL extensions
only after selecting the desired GL profile.

Also, consistently use the core profile flag to select the context.
2017-03-18 13:47:15 -07:00
Henrik Rydgård
f4a0c4504f Fixes to GPU system information. Fixes #9434 2017-03-16 09:48:10 +01:00
Henrik Rydgard
5d5844632a Fix shader issues with D3D11 feature level 9 2017-03-05 22:56:33 +01:00
Henrik Rydgard
042d09a049 Fix #9390, also unbreak D3D11 screenshots 2017-03-05 20:30:39 +01:00
Henrik Rydgard
85717a981c Show feature levels in System Info, allow lower D3D11 feature levels 2017-03-05 11:05:36 +01:00
Henrik Rydgard
7b3f84aae8 More buildfixes for Windows on ARM 2017-03-05 10:52:08 +01:00
Henrik Rydgard
5de190a45f D3D11: Move the responsibility for the swapchain out of the DrawContext so it can be used with differently-managed D3D like with UWP.
Minor cleanups.
2017-02-27 10:10:24 +01:00
Henrik Rydgard
fa80cfa4aa Additional UWP preparations 2017-02-25 09:57:14 +01:00
Henrik Rydgard
acde17e3ce Improvements to D3D11 detection and error handling. 2017-02-23 10:40:55 +01:00
Henrik Rydgard
5a0ee6cc36 Add some plumbing to be able to reach DX11.1 features. 2017-02-18 01:54:28 +01:00
Henrik Rydgard
522ac5c739 Add an escape route to D3D9 in case D3D11 fails to initialize. Cleanups. 2017-02-17 19:53:24 +01:00
Henrik Rydgard
e83dd2b524 Minor cleanup, elimintate some bind ordering hazards that D3D11 warns about 2017-02-17 14:31:02 +01:00
Henrik Rydgard
77d087776c D3D11: Support window resize 2017-02-14 11:21:53 +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
f7717063a8 Assorted fixes for memory leaks etc 2017-02-10 14:41:32 +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
5ee3b534ed More D3D11 improvements 2017-02-10 10:26:18 +01:00
Henrik Rydgard
aba669c3e6 D3D11: Cube now visible 2017-02-10 00:30:42 +01:00
Henrik Rydgard
6b193e7434 Break on D3D11 validation errors in _DEBUG mode 2017-02-10 00:01:34 +01:00
Henrik Rydgard
41fecc8c16 More D3D11 basics. Only dynamic constant buffers left, then it should display the UI. 2017-02-07 19:45:09 +01:00
Henrik Rydgard
abc80ae770 Enough D3D11 to stumble to the first thin3d draw call. Buffers not implemented yet. 2017-02-07 11:44:44 +01:00
Henrik Rydgard
ad29974a56 Change when drawcontexts are allocated. Hook up backbuffer events to fix d3d9 resizing. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00