Commit Graph

23825 Commits

Author SHA1 Message Date
Unknown W. Brackets
438951f844 GLES: Properly free when upscaling textures.
Oops.  Fixes crash introduced by #10603.
2018-02-18 19:03:31 -08:00
Henrik Rydgård
4e5fb6e286
Merge pull request #10606 from unknownbrackets/gl-shutdown
GLES: Fix shutdown while stepping
2018-02-12 00:20:43 +01:00
Unknown W. Brackets
17bcb080f0 GLES: Fix shutdown while stepping. 2018-02-11 15:19:16 -08:00
Henrik Rydgård
39710510ee
Merge pull request #10604 from unknownbrackets/gl-buffers
GLES: Use mapped device memory when possible
2018-02-12 00:16:21 +01:00
Unknown W. Brackets
be0ab58365 GLES: iOS buildfix. 2018-02-11 14:38:36 -08:00
Unknown W. Brackets
5f1cd19687 GLES: Android buildfix. 2018-02-11 13:17:08 -08:00
Unknown W. Brackets
20b532fc71 GLES: Use buffer storage and explicit flush.
This is just as fast as using glMapBufferRange on desktop.
2018-02-11 13:14:28 -08:00
Unknown W. Brackets
7179e408da GLES: Free localMemory later.
It was still in use sometimes as of MapDevice(), so this is safer.
2018-02-11 12:35:33 -08:00
Unknown W. Brackets
edcd2f966a GLES: Use buffer range mapping where appropriate. 2018-02-11 12:35:33 -08:00
Unknown W. Brackets
9eb51a6a36 GLES: Use mapped device memory when possible. 2018-02-11 12:35:32 -08:00
Unknown W. Brackets
adbd8d005c Cheats: Fix a debug assertion. 2018-02-11 12:35:31 -08:00
Henrik Rydgård
4ccf30d0a8
Merge pull request #10605 from unknownbrackets/gl-shutdown
GLES: Wait for queue idle properly
2018-02-11 21:11:20 +01:00
Unknown W. Brackets
df5144b94c iOS: Attempt to fix shutdown race condition.
Not really tested, but should be necessary...
2018-02-11 11:47:15 -08:00
Unknown W. Brackets
cdf378d20c GLES: Prevent race condition on shutdown.
emuThreadState might become STOPPED before the last frame has been run,
which can cause WaitUntilQueueIdle to hang.

It's simpler just to wait until StopThread() is called, since it now is.
This will line up properly with run_.
2018-02-11 11:40:11 -08:00
Unknown W. Brackets
fcc2b59c57 GLES: Wait for queue idle properly.
Need to wait for anything ready for run.  Not everything will have been
submitted.
2018-02-11 11:30:38 -08:00
Henrik Rydgård
c6a9c884bf
Merge pull request #10603 from unknownbrackets/gl-render-manager
Fix OpenGL on Windows XP
2018-02-11 17:39:27 +01:00
Unknown W. Brackets
0474ff5c23 GLES: Use aligned memory for textures.
We use SSE on them, and they used to be aligned, and must be aligned in
PSP RAM, so keep them aligned.

This only really affects 32-bit, since allocs will typically be aligned on
64-bit anyway.

Fixes #10601.
2018-02-11 08:13:57 -08:00
Unknown W. Brackets
0e2a586c1b Global: Fix some type comparison/shadow warnings. 2018-02-11 07:03:23 -08:00
Henrik Rydgård
813c376aed Tiny change to work around internal compiler error (!) in 32-bit builds with latest MSVC update 2018-02-11 13:39:04 +01:00
Henrik Rydgård
030de0ad0b
Merge pull request #10599 from unknownbrackets/gl-render-manager
Fix yet more shutdown shenanigans
2018-02-11 09:07:40 +01:00
Unknown W. Brackets
9a40a5971b GLES: Prevent crash on screenshot without buffers.
It still fails for some reason, but that's better than a segfault.
2018-02-10 16:55:53 -08:00
Unknown W. Brackets
d496b4da9a Windows: Allow GL thread on graphics restart.
Unfortunately, it no longer works to go Vulkan -> OpenGL, and used to...
2018-02-10 16:55:52 -08:00
Unknown W. Brackets
586e35ad23 Windows: Prevent shutdown lag for non-GL.
For Vulkan/D3D, it was taking an extra second to quit.
2018-02-10 16:55:51 -08:00
Unknown W. Brackets
a85a88e112 SDL: Apply shutdown race condition fix. 2018-02-10 16:55:50 -08:00
Unknown W. Brackets
48b4a5f378 Android: Fix race condition on shutdown. 2018-02-10 16:55:48 -08:00
Unknown W. Brackets
2bec3bf3ac Windows: Trigger StopThread() on shutdown.
Otherwise, we end up hanging in the loop waiting for emuThreadState to
become STOPPED.  It actually has, but ThreadFrame() will block until a new
frame is queued... while will never happen, because the emuthread has
stopped.
2018-02-10 16:55:44 -08:00
Henrik Rydgård
3c93eaf164 GL: Fix clearing alpha on stencil uploads. 2018-02-10 17:18:18 +01:00
Henrik Rydgård
d9af90e016 SDL: Fix issue with vulkan-to-opengl fallback 2018-02-10 09:09:13 +01:00
Henrik Rydgård
081e15d1c8 Windows: Consistently shutdown the main thread after exiting the message loop. 2018-02-10 09:06:43 +01:00
Henrik Rydgård
8ad5b499a9 Improve assert messages in VulkanRenderManager (minor) 2018-02-10 08:58:33 +01:00
Henrik Rydgård
39fd77b357
Merge pull request #10596 from hrydgard/further-gl-fixes
Further GL fixes
2018-02-08 17:15:36 +01:00
Henrik Rydgård
625595c6cc For some reason we use DrawActiveTexture in the GL stencil stuff, don't want to disable stencil unconditionally.. 2018-02-08 16:59:03 +01:00
Henrik Rydgård
0fe4e70aef Fix another way the scissor test could accidentally get disabled 2018-02-08 16:47:04 +01:00
Henrik Rydgård
86cfc411a4 Remove the confusing "DisableState" across the codebase 2018-02-08 16:27:36 +01:00
Henrik Rydgård
b9081dd624 GL: Set a plain render state in DrawActiveTexture, without relying on the caller having called DisableState 2018-02-08 16:21:34 +01:00
Henrik Rydgård
b9b41f52c5 Add a simple spinner to the game load screen to not look frozen. 2018-02-08 12:03:29 +01:00
Henrik Rydgård
20eb566665 Minor Qt cleanup, force OpenGL since we don't yet support Vulkan in Qt 2018-02-08 11:19:48 +01:00
Henrik Rydgård
3ff69d73ff
Merge pull request #10593 from hrydgard/more-gl-thread-work
Some more fixes after the GL render manager merge
2018-02-08 09:33:57 +01:00
Henrik Rydgård
4d6c0cfb32 Buildfix 2018-02-08 01:11:51 +01:00
Henrik Rydgård
8c5a94ce01 gl-render-manager: Oops, fix scissor tests after clears 2018-02-08 00:50:39 +01:00
Henrik Rydgård
1eec30dac2 Avoid causing a gl error on startup on core contexts. 2018-02-08 00:44:10 +01:00
Henrik Rydgård
481134bfe9 Another go at the deleter problem. Still not feeling 100% good about how this works.. but it does seem to work fine. 2018-02-08 00:41:17 +01:00
Henrik Rydgård
8ee426ff74 Get rid of an unused codepath (gl rendering is now always threaded) 2018-02-08 00:23:48 +01:00
Henrik Rydgård
ce16547854 GL render manager: Fix bug when setting texture sampler if the wrong GL texture slot is active. Will likely help #10583 2018-02-07 19:49:58 +01:00
Henrik Rydgård
b7dfc743f9
Merge pull request #10591 from hrydgard/gl-render-manager-exit-fixes
GL render manager exit fixes
2018-02-07 17:13:25 +01:00
Henrik Rydgård
b3f4a923ca GLES: Fix minor memory leak 2018-02-07 16:55:03 +01:00
Henrik Rydgård
87cc586c08 Qt: Fix emuthread management to exit cleanly without hanging 2018-02-07 16:43:49 +01:00
Henrik Rydgård
ae19c48138 Cleanup the Windows thread stuff to work like the other platforms. Not quite perfect yet. 2018-02-07 16:00:29 +01:00
Henrik Rydgård
7f30037e45 Android: Fix emuthread management to exit cleanly without hanging. Helps with task switching on Android. 2018-02-07 13:11:43 +01:00
Henrik Rydgård
b3a09791b1 SDL: Fix emuthread management to exit cleanly without hanging. 2018-02-07 12:22:19 +01:00