Benjamin Hodgetts
79b3f81b0c
Add missing include
...
Fixes issue https://github.com/hrydgard/ppsspp/issues/11157
2018-06-08 12:11:05 +01:00
Henrik Rydgård
d63e044d4b
Merge pull request #11152 from unknownbrackets/debugger-http
...
Move internal webserver to Core, add WebSocket stuff
2018-06-08 09:27:34 +02:00
Unknown W. Brackets
df72abcd62
net: Use WSAAddressToString for Windows XP.
...
Unfortunately, we don't have inet_ntop on older Windows.
2018-06-07 23:22:28 -07:00
Unknown W. Brackets
40c7f5ddfd
UI: Make button padding configurable.
...
Useful for buttons on the MainScreen which look out of place with the
default padding.
2018-06-07 14:14:20 -07:00
Unknown W. Brackets
042256337a
thread: Add a simple thread executor.
2018-06-07 14:11:52 -07:00
Unknown W. Brackets
403632b4ca
http: Correct WebSocket close when code missing.
2018-06-07 14:11:52 -07:00
Unknown W. Brackets
0fb15fc0d0
http: Use a buffer for WebSocket output.
...
This way we can more safely write as much as we want.
2018-06-07 14:11:52 -07:00
Unknown W. Brackets
556a46f9d5
http: Allow selecting a WebSocket subprotocol.
2018-06-07 14:11:52 -07:00
Unknown W. Brackets
8b094f8c6f
http: Allow fragmented data for WebSocket.
2018-06-07 14:11:52 -07:00
Unknown W. Brackets
b75b6801c8
http: Add a simple WebSocket server class.
2018-06-07 14:11:52 -07:00
Unknown W. Brackets
65d072c7b0
http: Add some operations to avoid blocking.
2018-06-07 14:11:52 -07:00
Henrik Rydgård
6bf6490c2f
Merge pull request #11128 from unknownbrackets/gpu-minor
...
Minor framebuffer code cleanup
2018-06-06 22:28:35 +02:00
Henrik Rydgård
a08fb8bd22
Merge pull request #11004 from unknownbrackets/ipv6
...
Enable IPv6 for reporting / sharing / etc.
2018-06-06 21:24:04 +02:00
Henrik Rydgård
df699c67b2
Merge pull request #10960 from unknownbrackets/debugger-json
...
Switch json to gason, include json writer in build
2018-06-06 21:19:13 +02:00
Henrik Rydgård
bc6f211724
Merge pull request #11093 from unknownbrackets/debugger-armips
...
Include armips assembler in build
2018-06-06 20:41:20 +02:00
Henrik Rydgård
347721f200
Merge pull request #10981 from unknownbrackets/flat-shade
...
Use software transform for flat shading and fix colors
2018-06-06 19:05:54 +02:00
Unknown W. Brackets
191af89195
Merge pull request #11107 from jbeich/cityhash
...
Unbreak -march=native build on x86
2018-06-06 09:18:16 -04:00
Unknown W. Brackets
082ddf5120
json: Switch to gason instead of vjson.
...
From the same author. Most importantly, reads numbers as doubles rather
than as signed ints and floats. This allows us to actually read 32 bit
unsigned int parameters.
Moved all the native customization to a separate json_reader.cpp.
2018-06-06 05:59:35 -07:00
Unknown W. Brackets
b56249eec1
json: Avoid encoding inf/nan in JSON.
...
It doesn't support them. The common workaround is to use null.
2018-06-06 05:59:34 -07:00
Unknown W. Brackets
2e3021da0c
json: Be precise by default.
2018-06-06 05:59:34 -07:00
Unknown W. Brackets
b658130924
json: Fix formatting of nested arrays/objects.
2018-06-06 05:59:34 -07:00
Unknown W. Brackets
03cc4eab01
json: Allow formatting read json back to writer.
2018-06-06 05:59:34 -07:00
Unknown W. Brackets
fb876e78c0
json: Actually include in build.
2018-06-06 05:59:33 -07:00
Unknown W. Brackets
dfef902cdb
json: Escape strings in the json writer.
2018-06-06 05:59:33 -07:00
Unknown W. Brackets
e21753bc93
Debugger: Add assembler to build.
2018-06-06 05:59:24 -07:00
Unknown W. Brackets
5b95de663e
net: Listen on ipv6 and ipv4.
...
Hurray, no longer "part of the problem" for ipv4.
2018-06-06 05:59:07 -07:00
Unknown W. Brackets
30a07c2e8d
net: Support local ipv6 formatting.
...
Let's hope no platform has issues with inet_ntop...
2018-06-06 05:59:07 -07:00
Unknown W. Brackets
ca4340b9e0
net: Support ipv6 lookups.
...
We try to connect() to both, so should still be safe in environments where
ipv6 is broken.
2018-06-06 05:59:07 -07:00
Unknown W. Brackets
e90b01d9ac
thin3d: Convert BGRA8888 to RGB888 for screenshots.
...
In case we prefer BGRA for some buffer in Vulkan. Also reporting.
2018-06-06 05:56:29 -07:00
Unknown W. Brackets
5b62c8afb8
D3D9: Implement flat shading via state.
2018-06-06 05:53:50 -07:00
Henrik Rydgård
8ee3cd52e8
D3D11: Allow the user to select rendering device.
2018-06-06 10:20:12 +02:00
Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
Unknown W. Brackets
e6af167cd9
Merge pull request #11119 from hrydgard/vk-nulltexture
...
Never bind a NULL image view in Vulkan, not even through thin3d
2018-06-01 23:53:18 -04:00
Unknown W. Brackets
72af11f9f6
Merge pull request #11118 from hrydgard/framebuffer-download-size
...
When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height.
2018-06-01 23:51:59 -04:00
Henrik Rydgård
8d3dbee823
Fix a GL error when taking a screenshot in non-buffered. May help #11056
2018-06-01 22:25:27 +02:00
Henrik Rydgård
04fefa2417
Vulkan image readback: Fix a couple scary cases of wrong argument order in image transitions, leading to transitioning 0 mips
2018-06-01 22:16:20 +02:00
Henrik Rydgård
2917f3ffbb
Better return the right pointer.
2018-06-01 22:05:21 +02:00
Henrik Rydgård
c1d113e0e9
When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height.
...
Or maybe we should make sure to only download within the width/height by
adding more clamps at the beginning of ReadFramebufferToMemory but seems
more dangerous.
Plus some minor things.
Should help #11113
2018-06-01 21:16:07 +02:00
Henrik Rydgård
9485b04914
Never bind a NULL image view in Vulkan no matter what.
2018-06-01 18:51:37 +02:00
Unknown W. Brackets
f369086987
D3D11: Fix crash on screenshot.
2018-05-31 00:04:40 -07:00
Jan Beich
c783e7761c
cityhash: disable SSE 4.2 optimization on x86
...
$ c++ -m32 -msse4.2 -c ext/native/ext/cityhash/city.cpp
ext/native/ext/cityhash/city.cpp:569:5: error: use of undeclared identifier '_mm_crc32_u64'
CHUNK(0); PERMUTE3(a, h, c);
^
ext/native/ext/cityhash/city.cpp:562:9: note: expanded from macro 'CHUNK'
z = _mm_crc32_u64(z, b + g); \
^
2018-05-30 19:53:26 +00:00
Henrik Rydgård
3f7474e5b8
More (disabled by default) gl error logging..
2018-05-30 18:14:13 +02:00
Henrik Rydgård
7e756544ee
Add a missing virtual destructor, fix a warning
2018-05-30 18:01:49 +02:00
Henrik Rydgård
b1df7b2cd0
Thin3D: Handle binding a null texture better.
2018-05-29 23:35:27 +02:00
Henrik Rydgård
87beddc393
Merge pull request #11084 from hrydgard/crash-fix-attempts-1.6
...
Various fixes for 1.6.1
2018-05-27 23:27:57 +02:00
Unknown W. Brackets
423309da50
Vulkan: Don't merge render passes if read from.
...
In the future, we might actually track dependencies so we can smartly
sort the render passes instead.
See #11079 - screen got brighter because a cleared framebuffer was used as
a texture.
2018-05-27 14:15:54 -07:00
Henrik Rydgård
b730d187e8
Add some paranoid checks guided by stack traces from Google Play
2018-05-27 22:12:59 +02:00
Henrik Rydgård
011e57c0e7
Always specify GLSL version 450 when compiling Vulkan shaders.
...
Bit of a risky change so late in the game but it's wrong, it needs fixing.
See for example the comments to fb7a63bd11
2018-05-13 20:42:17 +02:00
Henrik Rydgård
a3bbe87914
D3D11 CopyFBToMemory: Clamp rect to fb size. Last-minute style fix, should really debug where the bad parameters came from.
...
Affects MGS Peace Walker intro
2018-05-03 23:12:39 +02:00
Henrik Rydgård
3f7602227c
Windows: If neither OpenGL nor D3D9 is available, offer an escape route into D3D11.
...
This does happen on some fresh Win10 installations.
We really should do something much nicer and more automatic, but that's for later.
2018-05-03 22:19:07 +02:00
Unknown W. Brackets
ec5d1a8722
Vulkan: Leave removed commands in render passes.
...
We'll just need to not check commands.empty(), which we do in a couple
places but not in important ways so far.
2018-05-03 08:04:57 -07:00
Unknown W. Brackets
954f93046f
Vulkan: Keep state on Clear cmds when used later.
...
This also removes duplicate state - for example our UI has some duplicate
Scissor commands.
2018-05-03 07:18:40 -07:00
Henrik Rydgård
73d6446d72
Merge pull request #10997 from unknownbrackets/vulkan-clear
...
Vulkan: Discard draws immediately before clear
2018-05-03 09:23:17 +02:00
Unknown W. Brackets
844015b7f8
Vulkan: Discard draws immediately before clear.
...
Fixes #10163 , a crash on Adreno when a clear is the last thing in a render pass.
2018-05-02 19:23:49 -07:00
Henrik Rydgård
92a46e9a08
Merge pull request #10984 from unknownbrackets/gl-screenshot
...
Fix GLES game screenshots
2018-04-29 19:32:03 +02:00
Unknown W. Brackets
170e871c54
thin3d: Report unsupported format conversion.
...
Better we know than ignore.
2018-04-29 10:23:53 -07:00
Unknown W. Brackets
ae1bb20b7b
GLES: Fix game screenshots.
2018-04-29 10:23:03 -07:00
Unknown W. Brackets
a85e914f78
Vulkan: Fix use-after-free crash on shutdown.
2018-04-29 09:47:39 -07:00
Henrik Rydgård
03c2292ae9
Merge pull request #10915 from unknownbrackets/warnings
...
Warning fixes
2018-04-14 20:30:26 +02:00
Unknown W. Brackets
377b220fb3
GLES: GlPushBuffer was a little too friendly.
2018-04-14 11:00:13 -07:00
Henrik Rydgård
1987401e74
Fix glitch in MGS: Acid perf hack. yeah, slippery slope..
2018-04-14 10:27:36 +02:00
Henrik Rydgård
fb7a63bd11
Implement shader depal for GL as well, but disabled by default.
2018-04-13 20:00:14 +02:00
Henrik Rydgård
0ac6cea34d
Add a queue processing hack for Sonic Rivals too. Now it's fast.
2018-04-13 18:05:04 +02:00
Henrik Rydgård
413a204138
Vulkan: Semi-gross hack that massively improves the perf of MGS2:Acid.
2018-04-13 17:32:56 +02:00
Henrik Rydgård
163350bbcd
Vulkan/D3D11: Make some space in the base uniform buffer by consolidating the spline parameters into one variable.
2018-04-13 08:58:05 +02:00
Henrik Rydgård
f4d8bfdf18
Avoid some GL errors on older devices
2018-04-12 14:35:25 +02:00
Henrik Rydgård
dd228be698
GL: Add a lot of conditional error checks (normally not enabled)
2018-04-12 14:35:04 +02:00
Henrik Rydgård
36fd2711d6
Revert "Remove further remains of hardware skinning."
...
This reverts commit 40db61a680
.
2018-04-10 12:22:41 +02:00
Unknown W. Brackets
32eb483932
GLES: Defrag using deleter off render thread.
...
Moving it to the render thread was a bit more complex because of
localMemory. Fixes #10859 .
2018-04-08 19:22:46 -07:00
Unknown W. Brackets
99d16b2202
Vulkan: Add tags to UI textures too.
2018-04-06 21:43:18 -07:00
Henrik Rydgård
ca0fb77080
Assorted cleanups. Don't assert on no clear mask.
2018-04-06 23:29:44 +02:00
Henrik Rydgård
b06df3536e
Auto unregister push buffer on deletion.
2018-04-05 17:53:03 +02:00
Henrik Rydgård
c7eb259c0c
Auto register new push buffers on creation
2018-04-05 17:50:37 +02:00
Henrik Rydgård
76138fee6d
Move pushbuffer deletion to the render manager.
2018-04-05 17:47:08 +02:00
Henrik Rydgård
feb3870f7d
Also take control over Begin/End
2018-04-05 17:34:32 +02:00
Henrik Rydgård
8d6bbc54a9
Minor refactoring moving creation/deletion of GLPushBuffer to GLRenderManager
2018-04-05 17:31:12 +02:00
Unknown W. Brackets
c6ef547176
GLES: Show post-shader compile errors to user.
2018-04-01 19:47:19 -07:00
Henrik Rydgård
d160292f54
Include renderpass definition in Vulkan shader cache entries, should make it more effective again.
2018-03-29 14:36:04 +02:00
Henrik Rydgård
01d81ffa72
OpenGL: Fix texture wrapping of render targets.
2018-03-28 11:23:41 +02:00
Henrik Rydgård
8d0285dedd
Android: Properly restore screenshots on the Pause screen on task switching away and back.
...
Basically plumbs through DeviceLost/DeviceRestored to view elements and
into ManagedTexture.
2018-03-27 23:11:10 +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
Henrik Rydgård
29de4b5a18
Merge pull request #10809 from libretro/master
...
Libretro: add D3D11 support / fix GL context reset.
2018-03-27 09:23:30 +02:00
aliaspider
808bf8e681
Libretro: add experimental D3D11 support.
2018-03-25 23:07:02 +01:00
Henrik Rydgård
f39897cfa5
Don't forget to initialize.. fixes #10802
2018-03-26 00:05:29 +02:00
Henrik Rydgård
4a3692161b
Show chosen postshader display name properly, plus some additional bugfixes. Fixes #10790
2018-03-25 14:42:48 +02:00
Henrik Rydgård
2a565199b3
Merge pull request #10780 from aliaspider/temp
...
Libretro port.
2018-03-24 16:28:10 +01:00
Henrik Rydgård
4f8e2adf76
Remove some unnecessary logging. Fixes #10753
2018-03-24 16:10:21 +01:00
Henrik Rydgård
8fe5223dd0
Merge pull request #10781 from hrydgard/preserve-config
...
Android: Reload the config after getting storage permission, and ask immediately.
2018-03-24 14:18:37 +01:00
Henrik Rydgård
fb15208777
Android: Reload the config after getting storage permission, and ask immediately. Should help #10670
2018-03-24 12:52:51 +01:00
aliaspider
0af6d573bb
remove all usage of __LIBRETRO__
2018-03-24 12:45:20 +01:00
Henrik Rydgård
da8d5fa280
Merge pull request #10767 from aliaspider/temp
...
fix cmake build for mingw and msvc.
2018-03-24 09:24:53 +01:00
Henrik Rydgård
7761d2366b
Android: Prevent a text bitmap size from becoming 0 on '\r\n'. Fixes #10764 (unless there are more platforms where it's broken...)
2018-03-23 10:48:54 +01:00
Henrik Rydgård
fb798cf6b2
Win32 textdrawer: Fix rare crash affecting Patapon 2 in savedata manager. See 10764.
2018-03-23 10:27:08 +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
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
Henrik Rydgård
99386da01e
Minor cleanups
2018-02-04 13:42:04 +01:00
Henrik Rydgård
583c20991f
Qt: Some cleanup and fixes. Still not working correctly with gl-render-manager.
2018-02-04 13:42:04 +01:00
Henrik Rydgård
8438defb24
Fix some memory leaks
2018-02-04 13:39:10 +01:00
Henrik Rydgård
d6e888a39b
Revert "Simpler way to deal with the GL deleter"
...
This reverts commit 3a988400a7
.
2018-02-04 13:09:51 +01:00
Henrik Rydgård
5351c9ddb3
gl-render-manager: Support scissored clears, as used by the GL backend. Fixes GT.
2018-01-31 17:07:20 +01:00
Henrik Rydgård
22e28e218b
Merge pull request #10411 from hrydgard/gl-render-manager
...
GL render manager - new faster GL multithreading
2018-01-31 12:22:07 +01:00
Henrik Rydgård
3a988400a7
Simpler way to deal with the GL deleter
2018-01-30 22:32:16 +01:00
Henrik Rydgård
c60c8ed68a
Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour.
2018-01-29 19:38:10 +01:00
Henrik Rydgård
bd2c875c9a
Fix readback color conversion
2018-01-28 21:28:16 +01:00
Henrik Rydgård
6c109abd9e
Don't crash on missing readback formats.
2018-01-28 18:00:48 +01:00
Henrik Rydgård
bd3a681fd3
Enough JNI/threading hackery to get it to run on Android! Broken readbacks make it crash alot though.
2018-01-28 17:30:33 +01:00
Unknown W. Brackets
062566b67c
Core: Set thread names when possible.
...
This doesn't seem to be working for lldb, though.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
95bcda409d
GLES: Fix segfault on GL 2.x.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
0399088fc7
GLES: Handle glGetString() on GL thread.
...
We only use a few strings, so should be fine to cache them.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
7f0b35cd23
GLES: Run ThreadFrame until frame complete.
...
This makes it easier for frontends that need to call this between other
things to handle vsync, or etc.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
30a60018a0
GLES: Fix race crash on shutdown.
...
This happens when there are pointers in step commands that get freed.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
acc3e39b67
GLES: Reintroduce out of memory checks.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
38161f3c69
GLES: Use linear for high-res FBO tex copies.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
e56ae322fd
GLES: Report errors for link failures.
...
Let's not lose reporting on this, it's often an issue...
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
3380ab8705
GLES: Keep the GLRShader desc around.
...
This way we can also log it on link errors. It's not much data.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
48a07474f8
GLES: Avoid using failed depal shaders if possible.
...
Better to have one totally broken frame than all totally broken frames.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
638cbf725b
GLES: Skip blend reset after stencil upload.
...
We dirty the flag anyway. Avoid extra calls.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e5b8d91c9f
ES2 buildfix - glGetTexImage is not available
2018-01-27 15:10:17 +01:00
Henrik Rydgård
903bd07d6e
gl-render-manager: Fix updating sampler modes when texturing from framebuffer
2018-01-27 15:10:17 +01:00
Henrik Rydgård
ccdb4d186d
gl-render-manager: Fix HW tesselation. Remove 1D texture support, likely no benefit.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
db0989a9d0
Debugger: Fix texture preview in GLES.
...
Also, fix issues with the first view of a texture in Vulkan / D3D11.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
bdf7fdc7a3
GLES: Actually stop the thread on shutdown.
...
Fixes shutdown.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
b956263a96
GLES: Consistently reset state on new steps.
...
It'd be nice to avoid this dependency, but since every step forgets the
current state, and these functions are called in a lot of places, it's
tricky to manage.
Fixes graphics in Grand Knights History (framebuf copy creating a new
step, resetting blending state.)
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
b3ed3ea0fb
GLES: Fix intra-buffer block transfers.
...
Makes Grand Knights History look a bit better.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e531a7da43
gl-render-manager: Implement logic ops
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
acb692677b
GLES: Accept a color mask for clears.
...
Otherwise, we end up clearing RGB when we try to only clear alpha, which
is fairly common.
Makes Valkyria Chronicles 3 action mode visible again.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
e98f265d68
GLES: Prevent writing to gutter in readback.
...
This also read outside the conv buffer.
Prevents crash on startup for Brave Story. Now, it just has major
graphical issues.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
3eb6d38d75
Vulkan: Fix stencil-only clear for stencil upload.
...
Fixes stencil issues in Star Ocean.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
22bf124631
GLES: Document stencil clearing bug.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
fdca06d208
More work on shutdown, still hanging though.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
57615344e4
Fix for deletes, add some debugging stuff
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e5d571c25a
gl-render-manager: Now threaded mode seems to work fine (and fast!). Shutdown doesn't, though, and there are stability issues.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
af6431986d
OpenGL: Now run GL on a secondary thread. Sync issues remain.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e4752a887f
Fix use-after-free in shader error reporting
2018-01-27 15:10:17 +01:00
Henrik Rydgård
d0038775e5
TODOs and indentations
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b7f4f6e157
GL render manager: Improve shader error reporting.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
465939e1c8
Minor fixes, indentation and comments
2018-01-27 15:10:17 +01:00
Henrik Rydgård
7d6f9aec4d
iOS buildfix
2018-01-27 15:10:17 +01:00
Henrik Rydgård
5c7c7ce192
Move GL sampler state tracking into GLRenderManager/QueueRunner.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
43ebbbcdb6
More state dirtying, a comment
2018-01-27 15:10:17 +01:00
Henrik Rydgård
af8e825578
Fix terrible drawing glitches when we do sync readbacks.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
542f9f9ef1
Assorted cleanup
2018-01-27 15:10:17 +01:00
Henrik Rydgård
42f2312030
Remove the old CPU threading remains, start redesigning interfaces.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
49c3cb83fe
GL render manager: Simple implementation of synchronous framebuffer readbacks.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
2b12776137
Remove viewport flipping where it's not needed
2018-01-27 15:10:17 +01:00
Henrik Rydgård
0a413a18a7
GL render manager: Add some more dirty tracking.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
958078f603
GL render manager: Merge BindInputLayout into BindVertexBuffer.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f99fa02ba7
Run the depal stuff, seems a bit broken. Add some state filtering.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
970458a0c2
Scissor fix
2018-01-27 15:10:17 +01:00
Henrik Rydgård
7c17cb6754
Fix showing savestate screenshots (needed mips)
2018-01-27 15:10:17 +01:00
Henrik Rydgård
1241abc887
Make sure we set GL_TEXTURE_MAX_LEVEL somewhere.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9094410fd1
gl-render-manager: Need to actually bind newly created textures.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
8a1e7347b9
GL render manager: Various fixes and cleanup including a buffered rendering fix, rect primitive fix
2018-01-27 15:10:17 +01:00
Henrik Rydgård
062608ad78
Start moving the framebuffer stuff over to the render manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
7e3e652963
Fix more gl-render-manager problems
2018-01-27 15:10:17 +01:00
Henrik Rydgård
51f467a7b3
Kill off the GL state cache
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f3282dcfda
Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
46e1fbb788
Initial texture work. Bugfix indexed drawing
2018-01-27 15:10:17 +01:00
Henrik Rydgård
bd6818198a
More GLRenderManager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
376d92fcc9
Start messing with the draw engine...
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9340260802
Finish the shader manager (almost)
2018-01-27 15:10:17 +01:00
Henrik Rydgård
60a966c5ec
PushBuffer added. Thin3d works now on top of GLRenderManager, except framebuffers.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
a3bcd91a31
Fix clears and textures. Things still broken due to memory overwrites.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e1bb4441d8
First garbage graphics output!
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b8e4ae08a7
Even more gl-render-manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
9babdb712c
More gl-render-manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
dc72a8696f
More work on gl-render-manager
2018-01-27 15:10:17 +01:00
Henrik Rydgård
dd91cb0f8e
Begin implementing GLQueueRunner and GLRenderManager
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
d4400b358a
UI: Actually offset text shadow.
...
It wasn't actually visible before, since it was strictly underneath text
that was usually white.
2018-01-01 22:58:07 -08:00
Kentucky Compass
6a9a511337
add an include for PPSSPP_PLATFORM
2017-12-30 22:44:41 -08:00
Kentucky Compass
2a3c4408d2
Fix build on iOS (only iOS 9 and up support thread_local)
2017-12-30 20:57:45 -08:00
Henrik Rydgård
b9d0bf9842
Remove outdated comment.
2017-12-31 00:10:55 +01:00
Henrik Rydgård
b5e5d72a0a
Complete the separation of depth and stencil renderpass flags
2017-12-30 22:52:22 +01:00
Henrik Rydgård
a0f718ace1
Start separating depth and stencil renderpass actions, only internally in the Vulkan code so far.
2017-12-30 22:40:57 +01:00
Henrik Rydgård
1e64919392
Vulkan: Create renderpass objects on demand. Just a refactoring to prepare for some later features/optimizations.
2017-12-30 22:35:43 +01:00
Henrik Rydgård
b9726245ac
Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it.
2017-12-30 21:31:43 +01:00
Unknown W. Brackets
52c4293896
Profiler: Show the slowest thread's categories.
...
May or may not be ideal, but this was the easiest solution...
2017-12-30 10:45:51 -08:00
Unknown W. Brackets
b9cd883811
UI: Only default focus visible things.
...
Also, default focus perm button.
2017-12-29 17:55:40 -08:00
Henrik Rydgård
8ebbb82c0a
Merge pull request #10459 from unknownbrackets/ui-resized
...
UI: Trigger view recreate on static sized screens
2017-12-27 11:07:35 +01:00
Unknown W. Brackets
c0f0bc88af
UI: Trigger view recreate on static sized screens.
...
If a screen doesn't size via layout, it needs to recreate views on resize,
which is what the resized() method is for.
2017-12-27 01:13:47 -08:00
Unknown W. Brackets
56835fc017
Qt: Fix OpenGL init.
...
Needs to check extensions before creating thin3d, as others do.
2017-12-26 16:04:19 -08:00
Unknown W. Brackets
a7b3a1eb96
Vulkan: Decimate the texture allocator.
...
Thin3D wasn't calling Begin/End, which lead to leaks eventually and OOM.
Was causing softgpu to crash.
2017-12-24 10:39:42 -08:00
Unknown W. Brackets
78ebe942ab
Vulkan: Cleanup unused code.
2017-12-21 11:43:05 -08:00
Unknown W. Brackets
75aa65908c
GLES: Pack without stride where possible.
...
This may possibly help #10425 in case the behavior is different when going
over width when reading pixels.
2017-12-21 11:41:53 -08:00
Henrik Rydgård
ea387b2a48
WIP vulkan on linux stuff
2017-12-21 10:48:00 +01:00
Henrik Rydgård
2bdae5b338
Merge pull request #10420 from hrydgard/core-cleanup
...
Some core cleanup
2017-12-20 11:25:11 +01:00
Henrik Rydgård
4f1e0de9a9
Add missing includes. Remove some more unnecessary #ifdef _DEBUG checks - the debugger is supposed to work in release mode too.
2017-12-20 11:24:05 +01:00
Henrik Rydgård
e8825666c9
Merge pull request #10419 from hrydgard/vulkan-init-cleanup
...
Avoid including platform-specific headers in VulkanContext.h
2017-12-20 10:56:32 +01:00
Henrik Rydgård
740d0504ad
Move QtMain.cpp and PCMain.cpp to more sensible locations. Native isn't standalone anymore...
2017-12-19 18:04:26 +01:00
Henrik Rydgård
1a5d1081f9
Get rid of the old custom "Event" sync primitive.
2017-12-19 15:38:18 +01:00
Henrik Rydgård
2822a4f187
Win32: Use the standard thread APIs to manage the emu thread.
2017-12-19 15:27:56 +01:00