Henrik Rydgård
01d81ffa72
OpenGL: Fix texture wrapping of render targets.
2018-03-28 11:23:41 +02:00
Henrik Rydgård
d125fa00e1
Make sure the renderpass cache hashmap is never accessed from the main thread at runtime. Should help #10811
2018-03-27 14:45:41 +02:00
aliaspider
808bf8e681
Libretro: add experimental D3D11 support.
2018-03-25 23:07:02 +01:00
aliaspider
54d9406713
fix mingw and msvc cmake builds.
2018-03-23 03:18:13 +01:00
aliaspider
15c4406df7
add missing inclues.
2018-03-22 22:14:19 +01:00
aliaspider
a5b5308d88
fix return value / plug leak.
2018-03-22 22:12:19 +01:00
Henrik Rydgård
f1359af0b0
Vulkan: Improve handling of shader compile failures (don't crash)
2018-03-19 17:46:58 +01:00
Henrik Rydgård
1dabccb453
Vulkan: Minor logic fixes in the transition elimination
2018-03-18 13:14:20 +01:00
Henrik Rydgård
3e7723ea6d
Vulkan: Use finalLayout to optimize away barriers before framebuffer copies.
2018-03-18 12:09:02 +01:00
Henrik Rydgård
2d3655ea23
Vulkan: Get rid of more explicit barriers by merging the finalLayout color transitions into renderpasses.
2018-03-18 12:03:23 +01:00
Henrik Rydgård
6d5f0665fe
Add a super focused workaround for the Mali bug, see #10723
...
Minimizes the performance penalty.
2018-03-18 11:20:45 +01:00
Henrik Rydgård
f43935b030
Merge framebuffer layout pre-transitions into render pass subpass dependencies.
...
With this, drivers should be able to completely get rid of layout
transitions into render passes that use CLEAR, at least.
2018-03-18 09:55:36 +01:00
Henrik Rydgård
33a1e6a080
Vulkan Clear-renderpass merging: If a copy step is found that reads from the affected buffer, don't merge the clear into the later renderpass.
2018-03-18 09:44:00 +01:00
Henrik Rydgård
0ee058320a
Pass new vulkan validation layers. Fix math in FindTransferFramebuffers.
2018-03-17 23:39:02 +01:00
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