Henrik Rydgård
6858c77612
Don't allow wrapping on framebuffer textures. Fixes GTA on old NV Shield
2018-03-17 01:54:11 +01:00
Henrik Rydgård
614cabb115
Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
...
The raw pipeline cache got pretty large. Instead, store IDs like GL.
There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård
c5ebb2d73f
Oops, remove logging
2018-03-16 14:58:45 +01:00
Henrik Rydgård
a08464eb77
Vulkan: Also check for empty clearing renderpasses later in the frame.
2018-03-16 14:57:41 +01:00
Henrik Rydgård
df8dac4aae
If the first renderpass is an empty clear, merge it into the next one that touches the same framebuffer. Works around #10723 in Wipeout.
2018-03-16 13:44:56 +01:00
Henrik Rydgård
3cd92b4d90
Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues
2018-03-15 16:23:23 +01:00
Henrik Rydgård
ba5208efaa
GL: Fix bug where we could crash if a readback happened at the same time as a buffer expansion.
2018-03-14 00:06:38 +01:00
Henrik Rydgård
7c6034e2ce
Merge pull request #10713 from hrydgard/windows-gl-vsync-fix
...
Fix VSync on Windows. Should fix #10711
2018-03-13 00:03:33 +01:00
Romain Graillot
ad37e7ce45
Fix crash happening with glGetFloatv on GPDXD devices
2018-03-12 23:11:58 +01:00
Henrik Rydgård
2a438d6e03
Fix VSync on Windows. Should fix #10711
2018-03-12 20:07:31 +01:00
Henrik Rydgård
0ed3deabe6
Fix #10692 (crash when starting games from command line). Throw in some minor Vulkan fixes as well.
2018-03-08 16:35:13 +01:00
Henrik Rydgård
d45ae9e67a
Merge pull request #10688 from unknownbrackets/gl-buffers
...
GLES: Support more buffer mapping strategies
2018-03-05 09:15:41 +01:00
Henrik Rydgård
40db61a680
Remove further remains of hardware skinning. Fixes #10661
2018-03-05 00:03:47 +01:00
Unknown W. Brackets
7c983a6842
GLES: Support more buffer mapping strategies.
2018-03-04 14:48:06 -08:00
Unknown W. Brackets
021ade5065
GLES: Fix force alignment on buffer map.
2018-03-04 13:26:52 -08:00
Henrik Rydgård
38bf10baaa
GL: Use AllocateAlignedMemory to make sure localMemory is always aligned. Fixes #10666
...
Seems the code that tries to align is faulty in some cases but this avoids the issue at least.
2018-03-04 22:22:47 +01:00
Unknown W. Brackets
1b8e3edb86
GLES: Buffer handling cleanup.
...
Trying to fix the mystery issues on some devices.
2018-03-04 10:00:45 -08:00
Henrik Rydgård
ee752f5399
Some error handling and assert improvements, trying to understand #10662
2018-03-01 12:21:58 +01:00
Henrik Rydgård
3b0d307792
Fix something found by -fsanitize=undefined
2018-03-01 08:24:47 +01:00
Henrik Rydgård
bc339c0377
GL: Filter away redundant glEnable/Disable(GL_STENCIL_TEST)
2018-02-28 13:28:39 +01:00
Henrik Rydgård
f5dd9c17cd
Add comment trying to clarify shutdown of GPU_GLES, restore the wipe, minor tweaks. Should help #10652
...
This reverts commit 10be0cad96
.
2018-02-27 22:04:24 +01:00
Henrik Rydgård
375fa3fb5b
Improve a bunch of Vulkan copy-rect asserts by adding more debug info
2018-02-26 14:23:52 +01:00
Henrik Rydgård
373e53fa66
Merge pull request #10645 from hrydgard/vulkan-cleanups
...
Vulkan cleanups: Remove old texture upload method, etc.
2018-02-26 09:24:24 +01:00
Unknown W. Brackets
beeb9cc3a4
GLES: Disable buffer mapping for non-NVIDIA.
...
Need more stats on other vendors. I think it can help if we use it
properly.
2018-02-25 12:51:52 -08:00
Henrik Rydgård
e1852321a0
Vulkan: Remove the old method of uploading images.
2018-02-25 12:15:29 +01:00
Henrik Rydgård
5f8118b82b
Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases.
2018-02-25 10:27:59 +01:00
Henrik Rydgård
1b9c2f26f9
Whitelist mapbuffer usage to NVIDIA only (should maybe add Qualcomm too), it's murder on Mali
2018-02-12 11:46:19 +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
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
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
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
Henrik Rydgård
8ad5b499a9
Improve assert messages in VulkanRenderManager (minor)
2018-02-10 08:58:33 +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
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
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
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
3e56d8bbdf
Noticed that the UWP build has been broken for some time, fix it.
...
Should probably set up a buildbot if we care about this...
2018-02-05 16:21:39 +01:00
Henrik Rydgård
d30f1c2019
Fix another Qt memory leak
2018-02-04 14:13:47 +01:00
Henrik Rydgård
020eb9d86c
Fix further memory leaks
2018-02-04 13:42:04 +01:00
Henrik Rydgård
79d1610148
Move SDLGLGraphicsContext.h to the correct location. Minor cleanup
2018-02-04 13:42:04 +01:00