Commit graph

83 commits

Author SHA1 Message Date
Henrik Rydgård
c41f875df4 Remove base/logging.h in a whole lot more places. 2020-08-15 19:09:00 +02:00
Henrik Rydgård
5eb13378c6 Remove base/logging from a lot more files in native 2020-08-15 19:09:00 +02:00
Henrik Rydgård
5117ded378 Remove ELOG/ILOG/WLOG from the Android C++ code (mostly) 2020-08-15 19:08:39 +02:00
Henrik Rydgård
c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets
24c844445e GPU: Don't allow step id to decrease at a sync.
This might've caused us to miss necessary dynamic state dirtying in games,
but only in fairly specific cases.  But it happens a lot when stepping via
the GE debugger.
2020-05-24 22:39:29 -07:00
Henrik Rydgård
bef078a3bd GLRenderManager: Removes some redundant dirtying. Preserves blend state (color mask) across clears. 2020-05-24 19:18:04 +02:00
Henrik Rydgård
fabe987c8f Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step"). 2020-05-21 11:24:05 +02:00
Unknown W. Brackets
d295feda82 Vulkan: Add asserts to catch no viewport render.
Also assert to prevent a sync outside a frame, which goes badly.

The curRenderStep_ reset on same fb made some debugging easier, but should
not actually be hit in any real case.
2020-05-17 21:01:08 -07:00
Unknown W. Brackets
a36239473d GLES: Add dependency tracking for render passes.
Let's try to invalidate when it's possible.  We move the invalidate to the
end of the render when detected.
2020-05-17 11:06:39 -07:00
Unknown W. Brackets
051a84e9bd GPU: Restart when changing inflight frames setting.
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Unknown W. Brackets
a91e206926 GPU: Add setting to control inflight frame usage. 2020-03-01 06:21:27 -08:00
Unknown W. Brackets
3e51fc5a89 GPU: Avoid some unused var/func warnings. 2019-08-17 12:01:22 -07:00
Henrik Rydgård
c509650bec OpenGL: Disable the mapped buffer strategy for Adreno (Qualcomm).
It's a race during shutdown between the EmuThread writing commands, and
the render thread which just lost the buffer.
2019-02-10 20:13:39 +01:00
Unknown W. Brackets
adeca2c3ba GLES: Move some vendor bug checks to Draw. 2018-12-23 20:27:22 -08:00
Unknown W. Brackets
57767ba1f8 GLES: Use depth textures where possible. 2018-12-16 17:34:16 -08:00
Henrik Rydgård
f74f6083a7
Merge pull request #11509 from unknownbrackets/desktop-gles
GLES: Add disabled code to run GLES on desktop
2018-11-02 11:09:46 +01:00
Unknown W. Brackets
dc54ed6855 GLES: Add disabled code to run GLES on desktop.
Helps when testing certain extensions, etc.
2018-10-28 14:29:44 -07:00
Henrik Rydgård
c074d3c61f Improve sanity checks for framebuffer readbacks 2018-10-28 14:30:39 +01:00
Henrik Rydgard
8883156e45 Yet another try at taking care of the GPD crashes in #11063.
Thanks tiagao for all the testing.
2018-10-22 09:59:49 +02:00
Henrik Rydgård
292d2f44ee GL: Also skip gl calls in ThreadEnd during shutdown on Android. May help #11063 2018-10-21 09:14:02 +02:00
Henrik Rydgård
aea5f38a15 Fix issue where skipGLCalls_ wasn't respected. May help #11063 2018-10-20 15:59:33 +02:00
Henrik Rydgård
f77975d79b Address additional comments. 2018-10-06 21:36:47 +02:00
Henrik Rydgård
a3a94bdd33 Avoid calling any GL calls during shutdown on Android. Should help #11063
The context is already lost and we're really running shutdown when the process is woken
up again. Additionally, orderly shutdown through the button doesn't happen
on the render thread so remove a couple of asserts that are wrong.
2018-10-06 21:31:52 +02:00
AreaScout
95556e8d03 Add: some helpers to compile on ODROID-XU4/XU3 2018-09-17 20:01:12 +00:00
Unknown W. Brackets
3f48e446b6 GPU: Fix texture handling on framebuf detach.
We were never creating/recreating the texture, so we ended up with null.
Caused all sorts of problems.
2018-08-25 09:57:37 -07:00
Henrik Rydgård
42f4d7b40f OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Unknown W. Brackets
81f74e4287 Vulkan: Assert on some creates failing.
Before was only checking in debug builds.
2018-06-24 07:35:19 -07:00
Unknown W. Brackets
5028486630 thin3d: Cleanup some unused/uninitialized warnings. 2018-06-24 07:34:07 -07: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
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
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
76138fee6d Move pushbuffer deletion to the render manager. 2018-04-05 17:47:08 +02:00
Henrik Rydgård
8d6bbc54a9 Minor refactoring moving creation/deletion of GLPushBuffer to GLRenderManager 2018-04-05 17:31:12 +02: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
2a438d6e03 Fix VSync on Windows. Should fix #10711 2018-03-12 20:07:31 +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
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
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
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