Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.2.2+ update #60

Merged
merged 5,960 commits into from
Aug 21, 2023
Merged

3.2.2+ update #60

merged 5,960 commits into from
Aug 21, 2023

Conversation

r2dliu
Copy link
Owner

@r2dliu r2dliu commented Nov 29, 2020

No description provided.

@r2dliu r2dliu changed the title Task/update Spectator (non playback) Update Dec 2, 2020
@r2dliu r2dliu changed the title Spectator (non playback) Update 2.3.0 update Dec 27, 2020
@NikhilNarayana NikhilNarayana changed the title 2.3.0 update 2.3.2+ update Nov 1, 2021
@NikhilNarayana NikhilNarayana force-pushed the task/update branch 2 times, most recently from 1c3df56 to 2964a86 Compare December 2, 2021 06:35
@NikhilNarayana NikhilNarayana changed the title 2.3.2+ update 2.4.0+ update May 9, 2022
@NikhilNarayana
Copy link
Collaborator

NikhilNarayana commented May 30, 2022

TODO

  • figure out good defaults (for each OS)
    • currently fps and ping are enabled, internal res is set to 1080p, and windows defaults to DX11.
  • playback is busted
  • adapter polling rate

investigation points

  • sometimes replay writes fail with write message is falsy in CEXISlippi::writeToFile

In Progress

DONE

@NikhilNarayana NikhilNarayana force-pushed the task/update branch 3 times, most recently from dd125f1 to 14c0f9c Compare May 31, 2022 17:17
@jordan-zilch

This comment was marked as outdated.

JosJuice and others added 14 commits February 28, 2023 20:29
This second stack leads to JNI problems on Android, because ART fetches
the address and size of the original stack using pthread functions
(see GetThreadStack in art/runtime/thread.cc), and (presumably) treats
stack addresses outside of the original stack as invalid. (What I don't
understand is why some JNI operations on the CPU thread work fine
despite this but others don't.)

Instead of creating a second stack, let's borrow the approach ART uses:
Use pthread functions to find out the stack's address and size, then
install guard pages at an appropriate location. This lets us get rid
of a workaround we had in the MsgAlert function.

Because we're no longer choosing the stack size ourselves, I've made some
tweaks to where the put the guard pages. Previously we had a stack of
2 MiB and a safe zone of 512 KiB. We now accept stacks as small as 512 KiB
(used on macOS) and use a safe zone of 256 KiB. I feel like this should
be fine, but haven't done much testing beyond "it seems to work".

By the way, on Windows it was already the case that we didn't create
a second stack... But there was a bug in the implementation!
The code for protecting the stack has to run on the CPU thread, since
it's the CPU thread's stack we want to protect, but it was actually
running on EmuThread. This commit fixes that, since now this bug
matters on other operating systems too.
Deduplication between Jit64 and JitArm64.
Android: Rewrite User Data Activity in Kotlin
Android: Initialize TaskViewModel earlier in User Data Activity
NikhilNarayana and others added 12 commits August 14, 2023 11:56
* Move #endif to proper location on UICommon.cpp preventing compilation because of syntax error

* Add missing include for unordered map and missing CodeTo implementation from Ishiiruka
+ Adjust code to use string_view

* Trick compiler to think var is being used on Semver200_parser.cpp to prevent compilation errors on macos
@NikhilNarayana NikhilNarayana changed the title 3.1.0+ update 3.2.2+ update Aug 19, 2023
@NikhilNarayana NikhilNarayana merged commit 15a65c7 into master Aug 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.