Weiyi Wang
daeba65fb4
Merge pull request #4710 from wwylele/why-instrusive-ptr
...
Kernel: replace boost::intrusive_ptr with std::shared_ptr
2019-04-02 11:06:13 -04:00
Weiyi Wang
8d2718a18f
CAM: initialize states
2019-03-30 11:07:11 -04:00
Weiyi Wang
05058863b5
cleanup includes
2019-03-26 10:50:41 -04:00
Weiyi Wang
5f11c5f733
Kernel: replace boost::intrusive_ptr with std::shared_ptr
2019-03-24 14:32:11 -04:00
Weiyi Wang
c1de8acfe5
Merge pull request #4689 from wwylele/server-leak
...
ServiceFrameworkBase: remove ownership to ServerPort
2019-03-24 14:29:41 -04:00
Weiyi Wang
21bda754b3
Merge pull request #4396 from FearlessTobi/open-delays
...
fs_user: Add a delay for each file open
2019-03-23 12:21:12 -04:00
fearlessTobi
d755a15891
fix compilation problems
2019-03-23 12:43:03 +01:00
Weiyi Wang
9b07ff9681
Merge pull request #4683 from wwylele/misc-global-clean
...
Misc global instance reference cleaup
2019-03-22 22:28:50 -04:00
Lioncash
bd4c04aec1
common/thread_queue_list: Remove unnecessary dependency on boost
...
We really don't need to pull in several headers of boost related
machinery just to perform the erase-remove idiom (particularly with
C++20 around the corner, which adds universal container std::erase and
std::erase_if, which we can just use instead).
With this, we don't need to link in anything boost-related into common.
2019-03-22 23:13:30 +01:00
Weiyi Wang
17c0e903db
Merge pull request #4694 from FearlessTobi/port-2210
...
Port commit from yuzu-emu/yuzu#2210 : "common/bit_field: Make BitField trivially copyable"
2019-03-22 11:22:53 -04:00
Weiyi Wang
2138db3d7d
Merge pull request #4690 from wwylele/uds-deprecated
...
UDS: implement deprecated functions
2019-03-21 09:52:01 -04:00
Vamsi Krishna
aedf5a84b0
Merge pull request #4671 from jroweboy/mic4
...
Microphone support
2019-03-20 23:12:38 +05:30
James Rowe
b4d538468d
Change resampling s16 -> u8 to respect aliasing rules
2019-03-20 09:31:03 -06:00
Lioncash
bf4b0dd1f4
input_common/sdl_impl: Make lambda capture more specific in SDLState constructor
...
We don't need to universally capture by reference. We specifically just
need to capture the this pointer.
2019-03-19 23:55:38 +01:00
Lioncash
ed31197402
input_common/sdl_impl: Remove unnecessary std::chrono::duration construction
...
Specifying the time unit itself is sufficient here.
2019-03-19 23:55:31 +01:00
Lioncash
a5c087f5de
input_common/sdl_impl: Remove unused variable in SDLState constructor
2019-03-19 23:55:23 +01:00
Weiyi Wang
1f233e4365
Merge pull request #4691 from liushuyu/oes_fix
...
video_core: renderer_opengl: gles color fix
2019-03-18 19:01:13 -04:00
Weiyi Wang
322f575ff5
Merge pull request #4697 from xperia64/getopt_fix
...
Fix getopt return type on systems where char is unsigned by default
2019-03-18 10:42:52 -04:00
James Rowe
9739e2b6fd
Support signed 8bit pcm in cubeb input. Address review
2019-03-17 22:52:03 -06:00
Lioncash
dbc3c8e9bb
core/core: Remove the global telemetry accessor function
...
With all usages converted off of it, this function can be removed.
2019-03-17 23:17:57 +01:00
Lioncash
65572a0fb8
yuzu: Remove usage of the global telemetry accessor
...
In these cases the system object is nearby, and in the other, the
long-form of accessing the telemetry instance is already used, so we can
get rid of the use of the global accessor.
2019-03-17 23:17:57 +01:00
Lioncash
d37a2fb9e6
yuzu-cmd/yuzu: Replace direct usage of the global system telemetry accessor in main()
...
We already have the system instance around, so we can use that instead
of the accessor.
2019-03-17 23:17:57 +01:00
Lioncash
6f251a6db2
core/core: Replace direct usage of the global system telemetry accessor from Shutdown()
...
The telemetry instance is actually a member of the class itself, so we
can access it directly instead of going through the global accessor.
2019-03-17 23:17:57 +01:00
Lioncash
592ec9b084
logging/backend: Make time_origin a class variable instead of a local static
...
Moves local global state into the Impl class itself and initializes it
at the creation of the instance instead of in the function.
This makes it nicer for weakly-ordered architectures, given the
CreateEntry() class won't need to have atomic loads executed for each
individual call to the CreateEntry class.
2019-03-17 23:17:57 +01:00
Lioncash
235fc348af
logging/backend: Move CreateEntry into the Impl class
...
This function is only ever used within this source file and makes it
easier to remove static state in the following change.
2019-03-17 23:17:57 +01:00
Weiyi Wang
29c3d72940
Merge pull request #4678 from wwylele/mii-archive
...
archive_ncch: add open source mii archive
2019-03-17 15:54:28 -04:00
Lioncash
c47c24bbd2
common/bit_field: Make BitField trivially copyable
...
This makes the class much more flexible and doesn't make performing
copies with classes that contain a bitfield member a pain.
Given BitField instances are only intended to be used within unions, the
fact the full storage value would be copied isn't a big concern (only
sizeof(union_type) would be copied anyways).
While we're at it, provide defaulted move constructors for consistency.
2019-03-16 04:10:03 +01:00
xperia64
fa0919915c
Fix GLES version header on picky drivers
2019-03-15 23:32:29 +00:00
xperia64
224142a57e
Fix getopt on systems where char is unsigned by default
2019-03-15 23:19:24 +00:00
Weiyi Wang
4696b13170
UDS: I was drunk
2019-03-15 00:35:39 -04:00
Weiyi Wang
1fbda5518e
Merge pull request #4684 from liushuyu/fix_freeze
...
frontend: qt: fix a freeze issue
2019-03-14 16:07:54 -04:00
Weiyi Wang
fd7730e7c8
Merge pull request #4575 from BreadFish64/android6
...
android: add logging
2019-03-14 16:00:59 -04:00
liushuyu
71b0eab85c
video_core: renderer_opengl: addressed comments...
...
use indexing to make code more concise; use const bool instead of bool
2019-03-14 10:58:29 -06:00
Weiyi Wang
a986e35795
UDS: Change reply command ID for two versions of ConnectToNetwork
2019-03-14 10:10:18 -04:00
liushuyu
476df9debf
video_core: renderer_opengl: addressed comments...
...
... removed incorrect comments and removed incorrect value calculations
2019-03-13 19:17:29 -06:00
Weiyi Wang
9c016ff3a3
Y2R: pass in MemorySystem from service
2019-03-13 10:23:58 -04:00
Weiyi Wang
d6f3ac1f4e
IR: pass in Core::Timing for ExtraHID
2019-03-13 10:23:58 -04:00
Weiyi Wang
ea496507d5
DSP_DSP: use member system instead of global instance
2019-03-13 10:23:58 -04:00
liushuyu
164eb100eb
video_core: renderer_opengl: addressed comments...
...
... removed redundant comments and removed incorrect value assignments
2019-03-12 22:56:11 -06:00
liushuyu
3983b12086
video_core: renderer_opengl: gles color fix
2019-03-12 22:28:54 -06:00
Weiyi Wang
aaa599a849
UDS: duplicate DecryptBeaconData implementation for deprecated version
...
They are really identical in the NWM module code
2019-03-13 00:21:10 -04:00
Weiyi Wang
16fb6a2c8d
UDS: implement ConnectToNetworkDeprecated and forward params to ConnectToNetwork
2019-03-13 00:03:51 -04:00
Weiyi Wang
fc0fe5c3c0
UDS: devide IPC and impl for ConnectToNetwork
2019-03-13 00:03:51 -04:00
Weiyi Wang
e121c59583
UDS: implement BeginHostingNetworkDeprecated and forward params to BeginHostingNetwork
2019-03-13 00:03:51 -04:00
Weiyi Wang
5353d539ce
UDS: divide IPC and impl for BeginHostingNetwork
2019-03-12 23:00:18 -04:00
Weiyi Wang
1076864935
UDS: implement InitializeDeprecated and forward params to Initialize
2019-03-12 21:53:07 -04:00
Weiyi Wang
021c77bc9f
UDS: divide IPC and impl for InitializeWithVersion
2019-03-12 21:50:14 -04:00
Weiyi Wang
8750b81ce0
ServiceFrameworkBase: remove ownership to ServerPort
...
This causes a reference cycle because ServerPort also holds a shared pointer to SessionRequestHandler (inherited by ServiceFrameworkBase). Given that the member port is never used in ServiceFrameworkBase, we can simply remove it. The port object is kept alive by ServiceManager|KernelSystem::named_ports -> ClientPort -> ServerPort
2019-03-12 19:11:50 -04:00
Weiyi Wang
54d2f16c22
core: reset kernel after service manager in Shutdown
...
Services can hold kernel objects and do cleanup upon destruction, so we need to keep the kernel alive longer. The new order approximnately resembles the reverse construction order. I will revisit the ordering issue and make it less error-prone after global state cleanup
2019-03-12 19:06:20 -04:00
liushuyu
ca46b4c3e2
frontend: qt: fix a freeze where...
...
... if you click on entry in the game list too fast, citra will hang
2019-03-12 13:35:33 -06:00
fearlessTobi
ff3d7532c9
nfc: Improve implementation of GetAmiiboConfig
...
When making the initial implementation, I forgot to add the series variable to the AmiiboConfig struct.
With this PR it is added and many of the AmiiboConfig fields get their proper values now.
The loading of the Amiibo data that is added here has been hwtested.
This fixes Amiibos in Yoshis Woolly World, Smash (partially) and probably other games too.
2019-03-12 19:08:01 +01:00
BreadFish64
36e368ff99
remove Common::TrimSourcePath
...
wwylele / 白疾風Today at 6:14 PM
I doubt the performance of constructing regex everytime the function is called
Is TrimSourcePath only called by logging? if so, you can move the implementation into logging, and cache the regex object into global
This function is probably too specific to be in common anyway
2019-03-10 19:18:09 -05:00
Weiyi Wang
6ce58248b0
APT: use member system instead of global instance
2019-03-10 11:10:24 -04:00
Weiyi Wang
88a011ec8e
GetTextureSurface: return on invalid physical address early
...
Previously this check is in GetSurface (if (addr == 0)). This worked fine because GetTextureSurface directly forwarded the address value to GetSurface. However, now with mipmap support, GetTextureSurface would call GetSurface several times with different address offset, resulting some >0 but still invalid address in case the input is 0. We should error out early on invalid address instead of sending it furthor down which would cause invalid memory access
2019-03-10 11:06:08 -04:00
BreadFish64
605dfe80e7
appease clang format
2019-03-09 19:15:35 -06:00
BreadFish64
f767b5fdef
android: add logging
2019-03-09 18:23:32 -06:00
BreadFish64
9848610ea2
android: init user path
2019-03-09 18:23:27 -06:00
Weiyi Wang
36ae10f555
archive_ncch: add open source mii archive
2019-03-09 08:19:32 -05:00
wwylele
ebdef4fd69
gl_rasterizer_cache: unlink watchers if surface is moved to remove_surfaces but is not immediately removed
2019-03-08 09:37:25 -05:00
wwylele
777af04f4a
gl_rasterizer: ignore mipmap setting for cubemap before we implements it
2019-03-08 09:37:25 -05:00
wwylele
d7196b5573
gl_rasterizer_cache: invalidate watchers on (partial) surface invalidation
2019-03-08 09:37:25 -05:00
wwylele
fa141c799b
gl_shader_gen: use accurate LOD formula for texture 2D
2019-03-08 09:37:25 -05:00
wwylele
ca78d34933
gl_rasterizer: implement mipmap
2019-03-08 09:37:24 -05:00
Dimitri A
acaca4188e
gdbstub: Fix some bugs in IsMemoryBreak() and ServeBreak. Add workaround to let watchpoints break into GDB. ( #4651 )
...
* gdbstub: fix IsMemoryBreak() returning false while connected to client
As a result, the only existing codepath for a memory watchpoint hit to break into GDB (InterpeterMainLoop, GDB_BP_CHECK, ARMul_State::RecordBreak) is finally taken,
which exposes incorrect logic* in both RecordBreak and ServeBreak.
* a blank BreakpointAddress structure is passed, which sets r15 (PC) to NULL
* gdbstub: DynCom: default-initialize two members/vars used in conditionals
* gdbstub: DynCom: don't record memory watchpoint hits via RecordBreak()
For now, instead check for GDBStub::IsMemoryBreak() in InterpreterMainLoop and ServeBreak.
Fixes PC being set to a stale/unhit breakpoint address (often zero) when a memory watchpoint (rwatch, watch, awatch) is handled in ServeBreak() and generates a GDB trap.
Reasons for removing a call to RecordBreak() for memory watchpoints:
* The``breakpoint_data`` we pass is typed Execute or None. It describes the predicted next code breakpoint hit relative to PC;
* GDBStub::IsMemoryBreak() returns true if a recent Read/Write operation hit a watchpoint. It doesn't specify which in return, nor does it trace it anywhere. Thus, the only data we could give RecordBreak() is a placeholder BreakpointAddress at offset NULL and type Access. I found the idea silly, compared to simply relying on GDBStub::IsMemoryBreak().
There is currently no measure in the code that remembers the addresses (and types) of any watchpoints that were hit by an instruction, in order to send them to GDB as "extended stop information."
I'm considering an implementation for this.
* gdbstub: Change an ASSERT to DEBUG_ASSERT
I have never seen the (Reg[15] == last_bkpt.address) assert fail in practice, even after several weeks of (locally) developping various branches around GDB. Only leave it inside Debug builds.
2019-03-08 00:09:06 -05:00
bunnei
c3e6610807
Merge pull request #4627 from FearlessTobi/cia-install-short
...
citra_qt: when opening a cia file directly, make Citra ask to install it
2019-03-07 23:55:58 -05:00
bunnei
9560060f04
Merge pull request #4666 from FearlessTobi/port-2167
...
Port yuzu-emu/yuzu#2167 : "common: Move Quaternion, Rectangle, Vec2, Vec3, and Vec4 into the Common namespace"
2019-03-07 23:52:42 -05:00
James Rowe
f5b86cff52
Clang-format
2019-03-06 22:43:35 -07:00
James Rowe
f5df13eb24
Remove global state and add mic hot swapping
2019-03-06 20:59:58 -07:00
James Rowe
182d672c15
Add ifdef around cubeb for android. Address a few review comments
2019-03-06 20:03:22 -07:00
James Rowe
5c61d53047
Fix compiler error
2019-03-06 11:30:23 -07:00
James Rowe
ba4dfe4217
Increase mic stream volume to max in case the users mic is set low for some reason
2019-03-06 11:17:32 -07:00
James Rowe
5f532c2560
Address review comments
2019-03-06 11:16:43 -07:00
fearlessTobi
2999c8325e
archive_extsavedata: add correct FileOpen delays
2019-03-06 18:53:44 +01:00
fearlessTobi
5055a6c262
Address review comments
2019-03-06 18:53:34 +01:00
James Rowe
5954dc11ba
Merge pull request #4669 from wwylele/rpc-server-freeze
...
rpc: send ending packet in Server instead of UDPServer
2019-03-06 09:11:04 -07:00
fearlessTobi
fc7e6c9cc9
fs_user: Add a delay for each file open
2019-03-06 16:09:24 +01:00
Weiyi Wang
d0de727a97
Merge pull request #4668 from wwylele/swkbd-size
...
applet/swkbd: use UTF-16 string to test string size
2019-03-05 12:23:54 -05:00
Pengfei Zhu
3ea30fe2b3
Merge pull request #4610 from zhaowenlan1779/cheats-ui
...
Implement UI for adding/editing/deleting cheats
2019-03-05 22:07:40 +08:00
James Rowe
c669aa8d55
Rest of the owl
2019-03-04 23:07:05 -07:00
fearlessTobi
5c9e327ff3
Fix
2019-03-04 23:07:05 -07:00
James Rowe
7fccc995ce
Initial Mic setup
2019-03-04 23:06:42 -07:00
Weiyi Wang
b3261472fe
Merge pull request #4665 from FearlessTobi/port-yuzu-stuffz
...
Port various minor PRs from yuzu
2019-03-04 12:36:10 -05:00
Weiyi Wang
9c57b74907
Merge pull request #4618 from wwylele/fs-clean
...
FS: pass down program ID for archive operation (cleanup System::GetInstance part 3)
2019-03-04 12:34:54 -05:00
Weiyi Wang
870579d38f
rpc: send ending packet in Server instead of UDPServer
...
udp_server might not be created due to error (occupied port etc.), in which case its destructor and thread-ending call chain will not be excuted in Server::Stop. However, the ending packet still need to be send no matter udp is on or not, so move it to Server::Stop
2019-03-04 11:05:07 -05:00
Weiyi Wang
47ed3f4db5
applet/swkbd: use UTF-16 string to test string size
...
Also removed a TODO as it is verified that max_text_length is inclusive (allows size = max_text_length)
2019-03-04 10:33:23 -05:00
Lioncash
e1a4912ade
common/math_util: Move contents into the Common namespace
...
These types are within the common library, so they should be within the
Common namespace.
2019-03-02 18:13:10 +01:00
Lioncash
643472e24a
common/vector_math: Move Vec[x] types into the Common namespace
...
These types are within the common library, so they should be using the
Common namespace.
2019-03-02 15:04:13 +01:00
Lioncash
db58652680
common/quaternion: Move Quaternion into the Common namespace
...
Quaternion is within the common library, so it should be using the
Common namespace.
2019-03-02 14:44:09 +01:00
Lioncash
d354a2ee3b
audio_core/codec: Resolve truncation warnings within DecodeADPCM
...
The assignments here were performing an implicit truncation from int to
s16. Make it explicit that this is desired behavior.
2019-03-02 14:06:30 +01:00
Lioncash
f322c51a63
core/frontend/emu_window: Make ClipToTouchScreen a const member function
...
This member function doesn't modify instance state, so it can have the
const specifier applied to it.
2019-03-02 14:06:09 +01:00
Lioncash
6149be43cf
yuzu/compatdb: Remove unused lambda capture
...
Silences a compiler warning with clang.
2019-03-02 14:04:13 +01:00
Weiyi Wang
ad1cfc8d50
Merge pull request #4608 from wwylele/sharedmem-circular
...
Kernel/SharedMemory: make owner_process a raw pointer
2019-02-25 10:32:45 -05:00
Weiyi Wang
93275d752b
Merge pull request #4645 from FearlessTobi/port-2116
...
Port yuzu-emu/yuzu#2116 : "threadsafe_queue: Remove NeedSize template parameter"
2019-02-25 10:25:11 -05:00
Weiyi Wang
206413ba7b
Merge pull request #4630 from wwylele/memory-no-lock
...
Memory: don't lock hle mutex in memory read/write
2019-02-25 10:23:23 -05:00
Weiyi Wang
5f10cc412f
Merge pull request #4632 from zhaowenlan1779/socu
...
service/soc_u: Implement getaddrinfo and getnameinfo
2019-02-25 10:23:13 -05:00
Weiyi Wang
fdb5a8c2df
Merge pull request #4629 from FearlessTobi/bunnei-fooled-me
...
Port minor changes for BitField from yuzu
2019-02-25 10:22:44 -05:00
Weiyi Wang
42c777b0e5
Merge pull request #4617 from wwylele/hle-service-clean
...
HLE/IPC: clean up System::GetInstance
2019-02-25 10:22:13 -05:00
Weiyi Wang
c265f3f507
Merge pull request #4616 from wwylele/core-global-clean
...
Cleanup System::GetInstance reference - Part 1
2019-02-25 10:22:02 -05:00
bunnei
f8b3617394
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2019-02-24 19:40:20 +01:00
bunnei
e24c7a474c
bit_field: Make all methods constexpr.
2019-02-24 19:39:15 +01:00
BreadFish64
28b2ee9cd7
add java to .clang-format
2019-02-22 16:29:19 -06:00
Weiyi Wang
5f80075c31
Merge pull request #4596 from CarlKenner/master
...
Fix mouse touchscreen in SBS 3D mode
2019-02-22 16:24:22 -05:00
Weiyi Wang
28e849cddb
Merge pull request #4598 from BreadFish64/user_path
...
common: decouple getting and setting user paths
2019-02-22 16:23:41 -05:00
Weiyi Wang
b0a4220711
Merge pull request #4647 from FearlessTobi/fix-weird-bug
...
citra_qt/main: make SPEED_LIMIT_STEP static constexpr
2019-02-22 16:21:54 -05:00
Weiyi Wang
8f2bd97277
Merge pull request #4655 from tgsm/gcc-version
...
Remove GCC version checks
2019-02-22 16:21:21 -05:00
fearlessTobi
c357531acb
citra_qt/main: make SPEED_LIMIT_STEP static constexpr
...
MSVC does not seem to like using constexpr values in a lambda that were declared outside of it.
Previously on MSVC build the hotkeys to inc-/decrease the speed limit were not working correctly because in the lambda the SPEED_LIMIT_STEP had garbage values.
After googling around a bit I found: https://github.com/codeplaysoftware/computecpp-sdk/issues/95 which seems to be a similar issue.
Trying the suggested fix to make the variable static constexpr also fixes the bug here.
2019-02-20 16:11:38 +01:00
Lioncash
0556cac37d
threadsafe_queue: Use std::size_t for representing size
...
Makes it consistent with the regular standard containers in terms of
size representation. This also gets rid of dependence on our own
type aliases, removing the need for an include.
2019-02-20 16:05:22 +01:00
tgsm
433ab35e7e
Remove GCC version checks
...
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-19 16:39:34 -05:00
Pengfei Zhu
f6d0e43c77
Merge pull request #4654 from tgsm/video-nested
...
video_core: use nested namespaces
2019-02-19 21:44:38 +08:00
Pengfei Zhu
820e3893de
Merge pull request #4652 from tgsm/audio-nested
...
audio_core: use nested namespaces
2019-02-19 21:39:35 +08:00
tgsm
d6c530d08c
video_core: use nested namespaces
2019-02-19 03:09:57 -05:00
tgsm
39e163b7ce
core: use nested namespaces
2019-02-18 20:34:18 -05:00
tgsm
a400e49338
audio_core: use nested namespaces
2019-02-17 23:41:48 -05:00
Weiyi Wang
f409342ab5
Merge pull request #4613 from BreadFish64/gles5
...
video_core: add GLES support
2019-02-17 15:44:39 -05:00
fearlessTobi
70653c6a87
citra_qt/config: actually save name of input profile
...
Fixes the issue where all input profiles had the name "default" after restarting Citra.
2019-02-16 21:41:51 +01:00
fearlessTobi
931895d9b0
citra_qt: when opnening a cia file directly, make Citra ask to install it
2019-02-16 17:18:19 +01:00
Lioncash
3bc78e577f
threadsafe_queue: Remove NeedSize template parameter
...
The necessity of this parameter is dubious at best, and in 2019 probably
offers completely negligible savings as opposed to just leaving this
enabled. This removes it and simplifies the overall interface.
2019-02-15 22:00:44 +01:00
BreadFish64
d3d53bae83
common: decouple getting and setting user paths
...
paths -> g_paths
2019-02-15 14:48:31 -06:00
Weiyi Wang
e6feef96c1
Service: clear IPC header for unimplemented function stub
2019-02-14 22:16:50 -05:00
Weiyi Wang
3f86be88f0
HLE/IPC: pass in kernel & memory reference from parent to avoid global state reference
2019-02-14 22:09:25 -05:00
Weiyi Wang
0a424b86d2
ServerSession: replace GetPointer with block copy for HLE translation
...
Do it in the same way as HLERequestContext::SleepClientThread callback and avoid unsafe GetPointer
2019-02-14 22:09:25 -05:00
Weiyi Wang
36c8e1d7a9
HLE/IPC: move command buffer translation into kernel as TODO says
2019-02-14 22:09:25 -05:00
Weiyi Wang
4d10a2d652
tests/audio_core: remove hack for system objects
2019-02-14 14:08:45 -05:00
Weiyi Wang
64f6e5e597
ARM: pass MemorySystem separately in the constructor and make System optional
...
So that unit test can test CPU without constructing the entire system. Also remove hacks in the System class
2019-02-14 14:04:46 -05:00
Weiyi Wang
9573ee46bd
Memory: replace Core::CPU
2019-02-14 14:04:46 -05:00
Weiyi Wang
5f6d9f1915
Kernel/IPC: use MemorySystem from parameter
2019-02-14 14:04:46 -05:00
Weiyi Wang
20f47583f6
Kernel: replace usage of Core::System::GetInstance().PrepareReschedule() with callback
2019-02-14 14:04:46 -05:00
Weiyi Wang
eb050b8403
Kernel: replace usage of Core::System::GetInstance()::Timing()
2019-02-14 14:04:46 -05:00
Weiyi Wang
276ca88c9e
kernel/thread: replace usage of Core::CPU()
2019-02-14 14:04:46 -05:00
Weiyi Wang
b9f6bd9278
ldr_ro: replace usage of Core::CPU()
2019-02-14 14:04:46 -05:00
Weiyi Wang
de1128c60d
Merge pull request #4628 from FearlessTobi/backport-some-stuff
...
Backport various minor frontend review changes from yuzu and port minor PR from yuzu
2019-02-14 11:45:27 -05:00
Weiyi Wang
4b2397aa77
Merge pull request #4633 from BreadFish64/fully-invalid
...
video_core: improve efficiency of CachedSurface::IsSurfaceFullyInvalid
2019-02-14 11:44:46 -05:00
Weiyi Wang
8f2c35d7b6
Merge pull request #4614 from wwylele/nwm-uds-global
...
NWM_UDS: move states into the class
2019-02-14 11:44:28 -05:00
Weiyi Wang
1f38c53d8f
Merge pull request #4508 from B3n30/dsp_aac
...
CoreAudio::HLE: Add FFmpeg/WMF AAC decoder
2019-02-14 11:44:09 -05:00
liushuyu
a4ba35fe3a
audio_core: hle: mf: lint
2019-02-13 15:15:11 -07:00
liushuyu
671ac441e9
audio_core: hle: mf: move transform initializer to ctor
2019-02-13 14:32:14 -07:00
liushuyu
6178cc08b7
audio_core: hle: mf: conform to RAII as possible
2019-02-13 14:08:34 -07:00
ReinUsesLisp
fc6e33d812
video_core: Sort predicate order to have semantically positive value first
2019-02-13 21:06:37 +01:00
fearlessTobi
e5495e541d
citra_qt/config: backport minor changes from yuzu
2019-02-13 21:06:37 +01:00
fearlessTobi
59dbc72e7b
configure_dialog: backport minor changes from yuzu
2019-02-13 21:06:24 +01:00
SachinVin
d63acfc1e9
video_core: add workarounds to enable GLES support
...
video_core: shorten GetGLSLVersionString
video_core: make GLES version and extensions consistent
video_core: move some logic to LoadShader
video_core: deduplicate fragment shader precision specifier
2019-02-12 16:57:18 -06:00
zhupengfei
1995e8ff32
service/soc_u: address review comments
2019-02-10 18:49:18 +08:00
liushuyu
f0e041e27a
audio_core: hle: mf: correctly handle stream change
2019-02-09 16:49:48 -07:00
BreadFish64
d90f733330
video_core: improve efficiency of CachedSurface::IsSurfaceFullyInvalid
2019-02-09 17:33:18 -06:00
liushuyu
01e0902fa4
audio_core: hle: mf: fix a memory accessing issue
2019-02-09 13:55:54 -07:00
liushuyu
6281660844
audio_core: hle: mf: address yet another batch of reviews
2019-02-09 13:55:42 -07:00
Tobias
1f31f23b33
Merge pull request #4631 from tgsm/game-list-demos
...
citra_qt: show demos on game list
2019-02-09 14:15:59 +01:00
zhupengfei
08bf899d70
service/soc_u: Implement getaddrinfo and getnameinfo
2019-02-09 20:12:09 +08:00
liushuyu
ab1f47ed15
audio_core: hle: mf: make DetectMediaType return a struct
2019-02-09 11:57:36 +01:00
liushuyu
168f2ee79a
audio_core: mf: make initialize function return smart pointer
2019-02-09 11:57:36 +01:00
liushuyu
c91f5029ff
audio_core: hle: mf: fix a regression...
...
... where the sample copying logic is incorrect due to the wrong usage
of `std::array`
2019-02-09 11:57:36 +01:00
liushuyu
6332e57069
audio_core: hle: mf: return values as std::optional
2019-02-09 11:57:36 +01:00
liushuyu
25fa10327b
audio_core: hle: mf: use object proxy
2019-02-09 11:57:36 +01:00
liushuyu
26b3b41788
audio_core: hle: mf: wrap enum in class
2019-02-09 11:57:36 +01:00
liushuyu
633f02b9b2
audio_core: hle: mf: avoid name conflicts
2019-02-09 11:57:36 +01:00
liushuyu
452ac7b874
audio_core: hle: mf: use more enum
2019-02-09 11:57:36 +01:00
liushuyu
be764e4f88
audio_core: hle: mf: multiple fixes...
...
... more smart pointers and re-arrange code
2019-02-09 11:57:36 +01:00
liushuyu
4bc6bfd51f
audio_core: hle: mf: re-arrange comments
2019-02-09 11:57:36 +01:00
liushuyu
972b527374
audio_core: hle: mf: cleanup headers
2019-02-09 11:57:36 +01:00
liushuyu
2c40ef2a90
audio_core: hle: mf: rename functions
2019-02-09 11:57:36 +01:00
liushuyu
ea8a1f8754
Media Foundation Memory Fix
...
* audio_core: hle: mf: more smart pointers
* audio_core: hle: mf: fix memory leaks
* audio_core: hle: mf: even more smart pointers
2019-02-09 11:57:36 +01:00
liushuyu
10f876653d
audio_core: hle: mf: transition to use smart pointers
2019-02-09 11:56:51 +01:00
liushuyu
bee5ba3e33
audio_core: hle: mf: fix a regression...
...
... an introduction in 8f591d3b85714383196fd21e744a7eed5302ff0a
2019-02-09 11:56:51 +01:00
liushuyu
06316be8a7
audio_core: hle: mf: minor fix
2019-02-09 11:56:51 +01:00
liushuyu
c03861c2d9
audio_core: hle: mf: address another batch of reviews from @B3N30
2019-02-09 11:56:51 +01:00
liushuyu
7f5b54fda4
audio_core: hle: mf: address reviews from @B3N30
2019-02-09 11:56:51 +01:00
liushuyu
11e277149c
audio_core: hle: fix compile
2019-02-09 11:56:51 +01:00
B3N30
80b4dd21d2
audio_core: dsp_hle: add Media Foundation decoder...
...
* appveyor: switch to Media Foundation API
* Travis CI MinGW build needs an update with the container image
2019-02-09 11:56:51 +01:00
B3N30
1581dea6de
more reviews addressed
2019-02-09 11:55:12 +01:00
liushuyu
8fe3e37df5
audio_core: fix msvc include issue
2019-02-09 11:55:12 +01:00
B3N30
bd9984b5f8
Addressed reviews
2019-02-09 11:55:12 +01:00
B3N30
847003cc1c
FFmpegDL: Added external_dlls folder to user folder
...
AACDecoder: addressed reviews
2019-02-09 11:52:31 +01:00
B3N30
45b5de7a18
Fixup: Merge conflict with dsp lle
2019-02-09 11:52:31 +01:00
B3N30
c521f3b7d6
CoreAudio::HLE: Add FFmpeg aac decoder
2019-02-09 11:52:31 +01:00
tgsm
ee0afb4318
citra_qt: show demos on game list
2019-02-08 19:04:05 -05:00
Weiyi Wang
bf1dbb47dc
Merge pull request #4619 from wwylele/shadow-explosion
...
gl_rasterizer: change shadow_texture_bias from shader config to shader uniform
2019-02-08 18:38:40 -05:00
Weiyi Wang
687fa0134d
Merge pull request #4609 from wwylele/nuke-zmq
...
Reimplement scripting over plain UDP
2019-02-08 18:38:21 -05:00
Weiyi Wang
7074dab2da
Memory: don't lock hle mutex in memory read/write
...
The comment already invalidates itself: neither MMIO nor rasterizer cache belongsHLE kernel state. This mutex has a too large scope if MMIO or cache is included, which is prone to dead lock when multiple thread acquires these resource at the same time. If necessary, each MMIO component or rasterizer should have their own lock.
2019-02-08 10:43:06 -05:00
fearlessTobi
6be1b4d293
renderer_base: backport minor changes from yuzu
2019-02-06 17:16:27 +01:00
Weiyi Wang
f620c862f3
Merge pull request #4437 from adityaruplaha/hotkey-config-squashed
...
citra-qt: Make hotkeys configurable via the GUI (Attempt 2)
2019-02-03 21:57:34 -05:00
BreadFish64
cd21abe50f
sdl: add GLES support
2019-02-03 15:58:09 -06:00
Weiyi Wang
a6d9baa05a
FS: pass down program ID for archive operation
...
To eliminate System::GetInstance usage. Archive type like SelfNCCH and SaveData changes the actual reference path for different client, so archive backend interface should accept client information from the service interface. Currently we only pass the program ID as the client information.
2019-02-02 20:44:13 -05:00
Weiyi Wang
b5f2318ae7
gl_rasterizer: change shadow_texture_bias from shader config var to shader uniform
...
Games can frequently change this register. Using it as shader config var would generates a lot of shaders
2019-02-02 20:40:08 -05:00
Weiyi Wang
008197a569
Remove scripting switch in cmake
2019-02-02 15:25:23 -05:00
Weiyi Wang
6347b5cbb4
Remove libzmq submodule
2019-02-02 15:25:23 -05:00
Weiyi Wang
d765a73a53
Scripting: reimplement protocol over plan UDP using boost::asio
2019-02-02 15:25:23 -05:00
zhupengfei
433176a9b9
citra_qt: Implement UI for adding/editing/deleting cheats
...
The UI file is rewritten, to better make use of Qt's layouts (instead of depending on abstract geometry). "Add Cheat", "Save", "Delete" buttons are also added.
The UI logic should be rather easy and usable (IMO), but the code may seem a bit dirty. If anyone has a better idea regarding UI logic design or code implementation, feel free to tell me about it.
2019-02-02 08:15:27 +08:00
zhupengfei
573036b38e
core/cheats: Add and change a few functions
...
Added a few interfaces for adding/deleting/replacing/saving cheats. The cheats list is guarded by a std::shared_mutex, and would only need a exclusive lock when it's being updated.
I marked the `Execute` function as `const` to avoid accidentally changing the internal state of the cheat on execution, so that execution can be considered a "read" operation which only needs a shared lock.
Whether a cheat is enabled or not is now saved by a special comment line `*citra_enabled`.
2019-02-02 08:15:23 +08:00
Weiyi Wang
2731437a17
Merge pull request #4583 from xperia64/screenshot_fix
...
citra_qt: Fix saving screenshot when no file extension is provided
2019-02-01 10:49:28 -05:00
Weiyi Wang
ae57d72b33
Merge pull request #4603 from DimitriPilot3/gdbstub-watchpoint-fix1
...
gdbstub: only let Execute breakpoints write/restore BKPT opcodes into memory
2019-02-01 10:49:09 -05:00
Weiyi Wang
f78512d6de
Merge pull request #4599 from wwylele/bitfield-endian
...
Common: make BitField endianness-aware
2019-02-01 10:48:56 -05:00
Weiyi Wang
6382d9bfc3
NWM_UDS: move states into the class
2019-01-31 15:42:45 -05:00
Weiyi Wang
3a7a686fa9
Kernel/SharedMemory: make owner_process a raw pointer
...
To break a circular reference formed by process->handle_table->shared_memory->process. Since SharedMemory uses its owner process in the destructor, which is not kept alive by SharedMemory any more, we need to make sure that the lifetime of process is longer than the shared memory. To partially resolve this, Process now explicitly releases shared memory first in its destructor. This is with the assumtion that there is no inter-process reference to shared memory on exit, which is not true when we introduce more multi-process emulation. A TODO is left there for this, as more RE needs to be done on how 3DS handles this situation
2019-01-29 11:18:51 -05:00
Weiyi Wang
104829ae58
remove all occurance of specifying endianness inside BitField
...
This commit it automatically generated by command in zsh:
sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.)
BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2019-01-28 22:09:43 -05:00
Weiyi Wang
055b9513a3
common/bitfield: make it endianness-aware
2019-01-28 22:09:43 -05:00
Weiyi Wang
fa9d6b79f9
common/swap: remove default value for swap type internal storage
...
This is compromise for swap type being used in union. A union has deleted default constructor if it has at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer. In the use case of Bitfield, all variant members will be the swap type on endianness mismatch, which would all have non-trivial default constructor if default value is specified, and non of them can have member initializer
2019-01-28 22:09:43 -05:00
Weiyi Wang
985cd878e6
common/swap: use template and tag for LE/BE specification
...
The tag can be useful for other type-generic templates like BitFields to forward the endianness specification
2019-01-28 22:09:43 -05:00
Carl Kenner
602334cb1e
Fix mouse touchscreen in SBS 3D mode.
...
You can now click or drag on either eye's touchscreen.
2019-01-27 16:25:42 +10:30
Dimitri ALBORA
d388fe58f7
gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory
2019-01-26 22:08:39 +01:00
fearlessTobi
24f966481f
dsp_interface: fix sound being played while volume is 0
...
According to documentation, if the argument of std::exp is zero, one is returned.
However we want the return value to be also zero in this case so no audio is played.
2019-01-26 14:53:58 +01:00
Adityarup Laha
80ebd75285
citra-qt: Add /default parsing for hotkeys. Also minor code cleanups.
2019-01-25 20:42:49 +05:30
Weiyi Wang
8b047a49ae
Merge pull request #4586 from xperia64/qt_color_button_fix
...
citra_qt: Use QPixmap/QIcon for background color selection button
2019-01-23 20:24:57 -05:00
Weiyi Wang
054a97c08b
Merge pull request #4579 from xperia64/3d_slider
...
Change 3D Slider in-game
2019-01-23 20:23:55 -05:00
Lioncash
306ce6416a
vfp_helper: Remove accidental use of the comma operator in vfp_single_unpack()
...
Makes the line of code slightly easier to read properly.
2019-01-22 18:30:34 -05:00
Lioncash
c1a066fa89
yuzu/configuration/configure_web: Remove an unused lambda capture
...
'this' isn't actually used within the lambda, since what we need
from the class is already assigned within the capture section of
the lambda.
2019-01-21 22:11:02 +01:00
Lioncash
b16445064b
yuzu/configuration/configure_web: Use an ellipsis with 'Verifying' text
...
It's a common UI pattern to use an ellipsis to indicate an ongoing
action, rather than just specifying the word by itself.
2019-01-21 22:10:56 +01:00
bunnei
efd5768398
Merge pull request #4457 from FearlessTobi/remove-vsync
...
citra_qt: Remove V-Sync option
2019-01-21 15:56:12 -05:00
xperia64
ce26de858a
Use QPixmap/QIcon for background color selection button
2019-01-20 22:09:23 -05:00
Adityarup Laha
71f36efd27
citra-qt: Use structured bindings where applicable in ConfigureHotkeys::applyConfiguration
. Fix a few minor issues.
...
* Address https://github.com/citra-emu/citra/pull/4437#discussion_r241380912
2019-01-20 16:14:07 +05:30
Adityarup Laha
dccd1664ad
citra-qt/configuration: Fix a weird issue where the tab UI disappears when language is changed.
2019-01-20 16:14:03 +05:30
Adityarup Laha
988acf588a
citra-qt: Add back missing hotkeys & conflict fixes.
...
* Also fixed a missing spacer in ConfigureGeneral.
2019-01-20 16:13:59 +05:30
Adityarup Laha
4309585623
citra-qt: Commented & documented code related to hotkeys as & when required.
2019-01-20 16:13:54 +05:30
Adityarup Laha
9615acb550
citra-qt: Fixed reloading hotkeys on-the fly.
2019-01-20 16:13:49 +05:30
Adityarup Laha
5fa25fcf13
citra-qt: Add base support for hotkey reconfiguration + UI (whole of PR citra-emu/citra#3786 )
...
* Adds a new Hotkeys tab in the Controls group.
* Right click to reconfigure.
* See the original PR for more details & screenshots.
2019-01-20 16:12:10 +05:30
xperia64
c6d623f4ba
Fix crash when no files are selected
2019-01-19 22:14:19 -05:00
xperia64
82acde7e4b
Add file extension to screenshot filename if not provided
2019-01-19 22:10:30 -05:00
Frederic Laing
5df6506e81
game_list: Remove a reference of a reference
2019-01-19 21:30:32 +01:00
Otávio Pace
6560fac5ff
audio_core: remove unnecessary spaces on comments
2019-01-19 21:28:52 +01:00
fearlessTobi
1302c9c1e7
frontend: Remove V-Sync option from UI
...
The V-Sync option is fundamentally broken in Citra, so let's do the same as yuzu and remove it entirely for SDL2 and at least from the frontend for QT.
(It was also only used by 7.3% of users)
2019-01-19 17:43:44 +01:00
xperia64
c1ac39f058
Actually fix the race condition
2019-01-18 16:32:16 -05:00
xperia64
5f5646c850
Fix types
2019-01-18 15:24:39 -05:00
xperia64
6f2eb2a418
Do 3D slider updating in the HID module
2019-01-17 23:48:50 -05:00
xperia64
81f4cef201
Revert "Change 3D slider in-game"
...
This reverts commit bb9a972e35
.
Needs to be completely redone in the HID HLE service module.
2019-01-17 23:33:24 -05:00
Weiyi Wang
95a57a2fe3
Merge pull request #4538 from valentinvanelslande/profiles
...
Add multiple input profile support
2019-01-17 22:32:24 -05:00
xperia64
bb9a972e35
Change 3D slider in-game
2019-01-17 22:18:15 -05:00
James Rowe
3523831195
Frontend: Only reload icons in chat when the chat room is open
2019-01-17 12:25:17 -07:00
James Rowe
f110cd95a6
Merge pull request #4569 from zhaowenlan1779/multiplayer-fix
...
multiplayer: minor UI fixes
2019-01-17 09:37:18 -07:00
zhupengfei
2d65371c20
citra_qt/multiplayer: Update themed icon on theme change
2019-01-16 22:01:21 +08:00
BreadFish64
ac3b514875
android: fix native library inclusion
2019-01-15 20:28:56 -06:00
BreadFish64
7b1cfff825
android: use better icons
...
vector assets are available
unfortunately android studio mutilates citra's vector icon
2019-01-15 20:28:29 -06:00
BreadFish64
d4646938e9
android: move cmakelist
2019-01-15 19:24:03 -06:00
zhupengfei
5f0dcd52ae
multiplayer: minor UI fixes
...
Just two minor fixes:
1. Font color is black in dark theme. It is now only black for pings.
2. If a user is called `abc`, you can ping them by `@abc_`. Now a ping only takes effect when there are spaces around it.
2019-01-13 22:21:04 +08:00
Ben
4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
...
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
Valentin Vanelslande
62b40e9155
Merge branch 'master' into profiles
2019-01-07 10:39:44 -05:00
Weiyi Wang
941d241e7d
Merge pull request #4537 from RicBent/master
...
Added Debug/GPIO14 Buttons
2019-01-07 10:07:31 -05:00
Weiyi Wang
895936360b
network: remove cpp-jwt library dependency
...
This is not used anywhere in in the module
2018-12-31 23:23:09 -05:00
Valentin Vanelslande
df02ea48d2
minor ui changes
2018-12-29 19:28:56 -05:00
Valentin Vanelslande
64b992487e
fix regression
2018-12-29 16:23:33 -05:00
Valentin Vanelslande
dce82fa005
move comment
2018-12-29 13:15:31 -05:00
Valentin Vanelslande
57f224fc50
fix clang-format
2018-12-29 09:31:03 -05:00
RicBent
707bc48440
Added new buttons to movie system
2018-12-29 08:19:59 -06:00
Valentin Vanelslande
3d00beb9d5
add a comment, rename old index
2018-12-29 09:19:45 -05:00
Valentin Vanelslande
e7b1a1d5c8
fix clang-format
2018-12-29 09:04:43 -05:00
Valentin Vanelslande
60d1822206
if to clamp
2018-12-29 08:39:30 -05:00
Valentin Vanelslande
5a14af5f38
address some comments
2018-12-29 08:27:06 -05:00
Pengfei Zhu
5a4c7c32d8
Update src/citra_qt/configuration/config.cpp
...
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-29 08:14:37 -05:00
Mat M
ec7a3fb72c
Update src/core/settings.h
...
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 23:33:40 -05:00
Valentin Vanelslande
8e614c3eb0
clang-format; address one comment
2018-12-28 23:31:55 -05:00
Weiyi Wang
fbd0944a5a
Merge pull request #4512 from FearlessTobi/port-1902
...
Port yuzu-emu/yuzu#1902 : "audio_core: Make g_sink_details internally linked"
2018-12-28 22:55:08 -05:00
Valentin Vanelslande
860860397b
more fixes
2018-12-28 21:26:50 -05:00
Valentin Vanelslande
39140bbff8
another fix
2018-12-28 21:24:01 -05:00
Valentin Vanelslande
16ebb38b4a
more fixes
2018-12-28 21:23:43 -05:00
Valentin Vanelslande
e420fb666f
another fix
2018-12-28 21:15:18 -05:00
Valentin Vanelslande
6d0c50dfec
more fixes
2018-12-28 21:14:44 -05:00
Valentin Vanelslande
bf93b94658
fixes
2018-12-28 21:13:57 -05:00
Mat M
90965525ac
Apply suggestions from code review
...
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 21:00:09 -05:00
Valentin Vanelslande
7c95032e3a
Add multiple input profile support
...
Only supported in the Qt frontend.
2018-12-28 20:28:45 -05:00
RicBent
6ad609a539
Added GPIO14 button and UI config buttons
2018-12-28 17:13:37 -06:00
RicBent
7c007eac24
Fixed coding style
2018-12-28 15:13:16 -06:00
RicBent
446b614409
Removed unnecessary debug key abbreviations
2018-12-28 13:33:54 -06:00
RicBent
403d2f0058
Added Debug Button
2018-12-28 12:47:50 -06:00
Pengfei Zhu
3989c17cb0
Merge pull request #4531 from lioncash/mem
...
core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
2018-12-27 22:29:20 +08:00
Lioncash
432e847c24
core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
...
std::make_unique for arrays is equivalent to doing:
std::unique_ptr<T>(new typename std::remove_extent<T>::type[size]())
(note the ending () after the array size specifier). This means that the
default value within memory for the constructed types will be whatever
the default constructor for that type does. Given the built-in
type for std::uint8_t doesn't have a constructor, this is equivalent to
forcing zero-initialization, so the memory will already be zeroed out on
construction. Because of that, there's no need to zero it out again.
2018-12-27 00:35:53 -05:00
Lioncash
d2aac218a6
renderer_opengl: Correct forward declaration of FramebufferLayout
...
This is actually a struct, not a class, which can lead to compilation
warnings.
2018-12-27 02:48:05 +01:00
Weiyi Wang
3ede436053
Merge pull request #4489 from FearlessTobi/port-ui-stuff
...
Port QT interface changes from yuzu.
2018-12-21 20:52:14 -05:00
Weiyi Wang
443f4b964d
DSP/LLE: add multithread mode
2018-12-21 20:49:24 -05:00
Weiyi Wang
fbad420240
Common/Barrier: add method to get current generation
2018-12-21 20:49:24 -05:00
Weiyi Wang
969dc3b46f
Update teakra and address more comments
2018-12-21 20:49:23 -05:00
Weiyi Wang
05c372bf6c
Update teakra to fix macos issue; address comment feedbacks
2018-12-21 20:49:23 -05:00
Weiyi Wang
67213ca855
audio_core/lle: link ahbm and audio callback
2018-12-21 20:49:22 -05:00
Weiyi Wang
21da135cc6
Configuration: add option to use DSP LLE
2018-12-21 20:49:22 -05:00
Weiyi Wang
483680a124
audio_core/lle: only process pipe signal after loading
2018-12-21 20:49:22 -05:00
Weiyi Wang
92e5c51adb
Service/DSP: implement semaphore event
2018-12-21 20:49:22 -05:00
Weiyi Wang
6f6ffceec4
audio_core/hle,lle: implement UnloadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
9b41e6f85f
audio_core/lle: implement LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
4add509b20
audio_core/hle: move implementation of LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
9ab4e3c686
audio_core/lle: implement GetDspMemory and SetServiceToInterrupt
2018-12-21 20:49:21 -05:00
Weiyi Wang
df8aaee965
DSP_DSP: avoid global in ReadPipe
2018-12-21 20:49:20 -05:00
Weiyi Wang
5c13eca700
audio_core/lle: implement PipeRead/GetPipeReadableSize
2018-12-21 20:49:20 -05:00
Weiyi Wang
daf23eca2e
DSP_DSP: avoid global in WriteProcessPipe
2018-12-21 20:49:20 -05:00
Weiyi Wang
e40efbf37b
audio_core/lle: implement PipeWrite
2018-12-21 20:49:20 -05:00
Weiyi Wang
c9736b3300
audio_core/hle,lle: implement SetSemaphore
2018-12-21 20:49:20 -05:00
Weiyi Wang
4671ccf416
audio_core/lle: implement RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
14eb3561de
audio_core/hle: move implementation of RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
b609753fb6
audio_core/lle: implement RecvData
2018-12-21 20:49:19 -05:00
Weiyi Wang
7f568a3c19
DSP/HLE: move implementation of RecvData to audio_core, behind common interface
2018-12-21 20:49:19 -05:00
Weiyi Wang
6d51d95d44
audio_core: add teakra and lle interface
2018-12-21 20:49:18 -05:00
Pengfei Zhu
eabc9727d8
Merge pull request #4468 from citra-emu/multiplayer-v4/main
...
Multiplayer version 4
2018-12-22 09:45:28 +08:00
Weiyi Wang
83e3e30d0e
Merge pull request #4496 from wwylele/smd-fix
...
gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address
2018-12-19 19:46:10 -05:00
Weiyi Wang
5c75974909
Merge pull request #4500 from wwylele/sync-cache
...
Memory: sync rasterizer cache mark to fix LLE applet crash
2018-12-19 19:45:48 -05:00
zhupengfei
7a379ee03a
citra_qt/multiplayer: Add View Profile
option
...
Adds an UI action to navigate to the user's profile located in Citra Community.
2018-12-18 22:07:42 +08:00
Weiyi Wang
29548bbe86
Merge pull request #4511 from FearlessTobi/port-1871
...
Port yuzu-emu/yuzu#1871 : "yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText"
2018-12-17 00:02:42 -05:00
zhupengfei
4df4b90795
citra_qt/multiplayer: Change style for pinged messages a bit
...
To allow it to be seen more clearly in dark themes
2018-12-16 23:08:47 +08:00
danman447
66a4f8a9d0
(QLabel)_is_already_in_use-Correct_Auto_Default
2018-12-16 11:16:05 +00:00
zhupengfei
4574bd1e5c
web_service: Change endpoint to /lobby
.
...
Preparation for shipping.
2018-12-16 10:48:42 +08:00
Lioncash
90082268dc
audio_core: Make g_sink_details internally linked
...
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
2018-12-16 02:44:04 +01:00
Lioncash
c2790a3f86
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
...
Just a trivial modernization that potentially avoids copying strings in certain scenarios.
2018-12-16 01:18:06 +01:00
zhupengfei
13ec2abbf6
network: Make citra mods optional and disabled by default
...
To avoid extra legal responsibility, this should actually only be used on our self-hosted rooms.
2018-12-15 22:47:07 +08:00
zhupengfei
9d062d63da
network, citra_qt: Give moderation permission to community mods
...
Based on the `roles` payload in the JWT, the rooms will now give mod permission to Citra Community Moderators. To notify the client of its permissions, a new response, IdJoinSuccessAsMod is added, and there's now a new RoomMember::State called Moderator.
2018-12-15 20:28:03 +08:00
zhupengfei
94be4050bc
network/packet: Fix reading vectors/arrays of strings
...
Previously would break here, as it is trying to initialize a string with 0, which is then considered NULL.
2018-12-15 14:37:23 +08:00
zhupengfei
8b8b39ec0e
citra_qt/multiplayer: Add user ping support
...
The user would be notified if the message contains "@" followed by the user's nickname or forum username. An alert would be shown, and the icon and message in the status bar would be changed. All notification is only shown if the chat window currently does not have focus.
Also added a connected_notification icon for showing in the status bar.
2018-12-15 11:03:35 +08:00
zhupengfei
6feeaed77e
citra: add errors callback and add status message types
2018-12-15 11:03:35 +08:00
zhupengfei
bd29f1facb
dedicated_room: load and save ban list
...
The ban list is stored in a format so-called CitraRoom-BanList-1 and just first stores username ban list, one entry per line, then an empty line and then store the ip ban list.
2018-12-15 11:03:34 +08:00
zhupengfei
deb398d190
citra_qt: Save ban list for room hosting
2018-12-15 11:03:33 +08:00
zhupengfei
15540df140
citra_qt/multiplayer/chat_room: Add moderation to context menu
2018-12-15 11:03:33 +08:00
zhupengfei
6359b6094c
citra_qt: Add a moderation dialog
...
The dialog currently supports accessing the ban list and removing entries from it.
2018-12-15 11:03:32 +08:00
zhupengfei
7acd2664dd
network/room_member: Add moderation functions
...
To allow for passing moderation errors around without impacting the State, this commit also separates the previous State enum into two enums: State, and Error. The State enum now only contains generic states like disconnected or connected, and the Error enum describes the specific error happened.
citra_qt/multiplayer/{state, message} is changed accordingly.
2018-12-15 11:03:31 +08:00
zhupengfei
38f86cce94
network/room: Moderation implementation
...
Currently consist of 4 moderation commands (kick, ban, unban and get ban list).
2018-12-15 11:03:28 +08:00
zhupengfei
6c29d441f4
multiplayer: fix "Connected" message not appearing on first connection
2018-12-15 11:03:10 +08:00
zhupengfei
0823d8e009
citra: add status messages and fix missing errors
2018-12-15 11:03:09 +08:00
zhupengfei
0319e51960
multiplayer: Add status message for user joining/leaving
...
The room server is now able to send a new type of packet: IdStatusMessage which is parsed and displayed by the client.
2018-12-15 11:03:06 +08:00
zhupengfei
386bf5c861
citra_qt: Use the new verify backend; UI changes
...
Displayed username along with nickname (when they are not identical); Requested and displayed user's avatar; Made the dialog bigger for extended names.
Added a few functions to web_backend (GetImage, GetPlain) to support getting data in multiple content-types.
Added a no_avatar icon for users without avatars.
2018-12-15 11:02:54 +08:00
zhupengfei
4906c8ce7b
citra-room: Add verify backend and use new announce api
2018-12-15 11:02:53 +08:00
zhupengfei
e04f75e1bf
web_backend: added GetExternalJWT function
...
To support requesting external JWTs to use them as verification tokens.
2018-12-15 11:02:53 +08:00
zhupengfei
ab335ccf1b
core, web_service: Changes to announce service
...
Separated registering and updating to correspond to the new announce API endpoint. Also added a verify_UID for JWT audience verification.
2018-12-15 11:02:52 +08:00
zhupengfei
1a8841f96e
network, web_service: Add Verification backend and use new lobby API
...
Added verify_backend to load user_data for members. and removed method to generate UID as this is now done server-side.
Added GetUsername function and a "token" param to room_member.
Also added a username to ChatEntry, so that the username can be shown (along with nicknames) in the chat dialog.
2018-12-15 11:02:51 +08:00
adityaruplaha
5f0e189238
Add Support for Room Descriptions
2018-12-15 11:02:50 +08:00
zhupengfei
c396e3c6e5
network: check Console ID conflicts
...
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
zhupengfei
3c589f473f
multiplayer: check nickname regex server side
2018-12-15 10:40:27 +08:00
James Rowe
e040bc9355
Multiplayer: Send an error message when connecting to a full room
2018-12-15 10:40:26 +08:00
zhupengfei
a9c9ffd32c
network: bump multiplayer version
2018-12-15 10:40:25 +08:00
Pengfei Zhu
d2003dae4a
Merge pull request #4498 from valentinvanelslande/patch-2
...
host_room: change minimum members to 2
2018-12-15 09:39:11 +08:00
Weiyi Wang
9293760d0a
Core, test: perform kernel and memory destruction in the correct order
...
The change in test is temporary due to it accessing global state
2018-12-10 23:29:08 -05:00
Weiyi Wang
b49f2d2958
APT: enable LLE applet
2018-12-10 22:25:02 -05:00
Weiyi Wang
bf2056f12e
Memory: apply rasterizer cache mark to all page tables and the global marker
2018-12-10 22:21:03 -05:00
Weiyi Wang
88161b8ac6
Memory: register page tables into a list for rasterizer cache marking
2018-12-10 22:13:10 -05:00
Weiyi Wang
9d616e5951
Memory: mark pages on mapping if it is already rasterizer-cached
2018-12-10 22:05:28 -05:00
Weiyi Wang
643b7d4dcb
Memory: move memory setup into MemorySystem
2018-12-10 22:01:09 -05:00
Weiyi Wang
e7a3c296c3
Memory: create rasterizer cache marker
2018-12-10 21:43:39 -05:00
Valentin Vanelslande
599e60f80b
host_room: change minimum members to 2
...
the minimum for dedicated_room is 2.
2018-12-10 15:39:52 -05:00
Valentin Vanelslande
1ec7c951a8
dedicated_room: allow maximum members = 254
...
Without this change, it will not accept 254 but it will say that the maximum is 254.
2018-12-10 14:21:32 -05:00
Weiyi Wang
07d6d90bb3
gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address
2018-12-09 13:20:44 -05:00
fearlessTobi
5a625fe945
yuzu/game_list_worker: Move std::string construction after the termintion check in callbacks
...
Avoids potentially allocating a std::string instance when it isn't
needed.
2018-12-09 15:51:19 +01:00
Lioncash
5840943110
yuzu/configuration: Make slots private where applicable
...
These slots are only ever attached to event handling mechanisms within
the class itself, they're never used externally. Because of this, we can
make the functions private.
This also removes redundant usages of the private access specifier.
2018-12-09 15:51:19 +01:00
Lioncash
d87961bad3
yuzu/configuration: Add missing override specifiers to configuration-related classes
...
Resolves trivial compiler warnings.
2018-12-09 15:51:19 +01:00
Lioncash
9c0c817e6f
yuzu/configuration/configure_input: Default destructor in the cpp file
...
The previous code could potentially be a compilation issue waiting to
occur, given we forward declare the type for a std::unique_ptr. If the
complete definition of the forward declared type isn't visible in a
translation unit that the class is used in, then it would fail to
compile.
Defaulting the destructor in a cpp file ensures the std::unique_ptr's
destructor is only invoked where its complete type is known.
2018-12-09 15:51:08 +01:00
Lioncash
dd2cbca3f4
hle/service: Remove unnecessary using declarations
...
Only one usage of the specified objects made use of the lack of
namespacing. Given the low usage, we can just remove these.
2018-12-08 14:52:30 +01:00
Lioncash
a32725540c
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:49:53 +01:00
Lioncash
0cb7654d60
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:48:01 +01:00
Bartosz Kaszubowski
7aeb4e29c2
remove border from GameList
2018-12-07 16:33:05 +01:00
bunnei
edbdbf0ba1
Merge pull request #4480 from wwylele/memory-global-2
...
Memory: eliminate global state
2018-12-06 19:17:28 -05:00
Weiyi Wang
556ac5c075
Merge pull request #4469 from shutterbug2000/httpAddSet
...
Add HTTP_C::AddPostDataAscii
2018-12-06 14:28:56 -05:00
Weiyi Wang
b9f7c9142a
Merge pull request #4476 from FearlessTobi/fix-testcase-sending
...
web_service: move telemetry condition from TelemetrySession constructor to destructor
2018-12-06 14:28:21 -05:00
Weiyi Wang
23bad5d398
fix clang-format
2018-12-06 13:30:58 -05:00
Weiyi Wang
7e8ba6ed8e
Memory: move memory chunk into pImpl and make them dynamically allocated
...
Otherwise MSVC would give out-of-memory error on compile time
2018-12-06 13:30:47 -05:00
Weiyi Wang
ac1cda21c3
Address code style comments
2018-12-05 20:24:37 -05:00
Weiyi Wang
e87dc17da2
Pass system into arm interpreter; fix tests
2018-12-05 20:21:14 -05:00
Weiyi Wang
c6b3186475
Memory: IsValidVirtualAddress can be global
2018-12-05 20:21:14 -05:00
Weiyi Wang
42edab01d9
Memory: move states into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
d18cda5a5d
Memory: move MarkRegionCached into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
2582d64fb3
Memory: move block operations into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
323990d402
Memory: move Read/Write8/16/32/64 and ReadCString into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
1ec9ed6827
LDR_RO: pass memory in CROHelper
2018-12-05 20:21:14 -05:00
Weiyi Wang
76e0a4ece7
Memory: move GetPointer into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
405218c3a7
Memory: move IsValidVirtualAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
296c458e0e
Memory: move GetPhysicalPointer and IsValidPhysicalAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
cfee59c6db
hw/gpu: pass in memory reference
2018-12-05 20:16:42 -05:00
Weiyi Wang
ec01975549
audio_core: pass in memory reference
...
Because HLE::Source is initialized as an array in the member initializer, it is hard to let it accept the reference on ctor, so it has a second init stage performed by DspHle::Impl::Impl
2018-12-05 20:16:42 -05:00
Weiyi Wang
8bb404c82a
VideoCore: pass in memory system
...
currently set as global. Will change when videocore itself is wrapped as a class
2018-12-05 20:16:42 -05:00
Weiyi Wang
8c618c3fc3
Memory: move PageTable functions into class
2018-12-05 20:16:42 -05:00
Weiyi Wang
b199b7ada9
Memory: move GetFCRAMOffset into MemorySystem
2018-12-05 20:16:42 -05:00
Weiyi Wang
8118be6615
Kernel: pass in MemorySystem
2018-12-05 20:16:42 -05:00
Weiyi Wang
6992f76acf
Memory: create MemorySystem class
2018-12-05 20:16:42 -05:00
Francois Berder
c598fd7228
renderer_opengl: Fix string comparison
...
Signed-off-by: Francois Berder <fberder@outlook.fr>
2018-12-04 22:12:35 +00:00
Pengfei Zhu
cd80a0df8c
Merge pull request #4418 from FearlessTobi/port-1441
...
Port yuzu-emu/yuzu#1441 : "logging: Add DebuggerBackend for logging to Visual Studio"
2018-12-04 22:20:41 +08:00
RoadrunnerWMC
008ef1fd71
DSP: Add a comment about physical address masking
...
See @wwylele's comment on PR 4483 for more details on what causes this behavior.
2018-12-03 12:22:11 -07:00
RoadrunnerWMC
3aff585f32
DSP: Add address mask for physical pointers to audio data buffers
...
Hardware testing indicated that FFFFFFFC is the correct mask for all audio formats (mono and stereo PCM8, mono and stereo PCM16, and ADPCM). This fixes broken audio in Luigi's Mansion: Dark Moon and a few other games.
2018-12-03 01:07:55 -07:00
Weiyi Wang
76944ec0e0
Merge pull request #4279 from FearlessTobi/better-mii-stub
...
applets: stub mii selector to always return a standard mii
2018-12-01 19:41:21 -05:00
Carl Kenner
3d083859c1
logging: Add DebuggerBackend for logging to Visual Studio
2018-12-01 12:54:17 +01:00
fearlessTobi
630e3d6dea
web_service: move telemetry condition from TelemetrySession constructor to destructor
...
Fixes an issue where Testcases couldn't be sent when Telemetry was disabled, because both things are tied closely together in the backend.
2018-11-30 19:01:05 +01:00
zhupengfei
1970178cc0
citra_qt: rename the menu to Tools
...
Also made Movie a sub-menu of Tools.
2018-11-30 14:14:41 +08:00
zhupengfei
071b41cb61
citra_qt, video_core: Screenshot functionality
...
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
2018-11-30 14:14:41 +08:00
Weiyi Wang
7e90abec78
Merge pull request #4442 from wwylele/memory-no-kernel
...
Memory: decouple from Kernel
2018-11-28 11:24:41 -05:00
Weiyi Wang
b37d3be34e
Merge pull request #4458 from FearlessTobi/port-1773
...
Port yuzu-emu/yuzu#1773 : "common/thread: Minor cleanup"
2018-11-28 11:07:48 -05:00
fearlessTobi
48239be22c
mii_selector: Use BitField where possible
2018-11-27 14:57:51 +01:00
Weiyi Wang
2678c1a945
Merge pull request #4462 from FearlessTobi/fix-my-shit
...
ir_user: Remove ArrayToString() calls
2018-11-26 14:43:07 -05:00
fearlessTobi
5121fadb4f
ir:/movie: Replace for-loops with fmt::join
2018-11-26 20:04:18 +01:00
shutterbug2000
a7bbe60c18
Put AddPostDataAscii in the function list
2018-11-25 15:47:37 -06:00
shutterbug2000
4c198591d5
Add HTTP_C::AddPostDataAscii
2018-11-25 15:29:04 -06:00
Lioncash
067f09b41d
kernel/shared_memory: std::move the string parameter in SetName()
...
This avoids a potential reallocation.
2018-11-24 10:07:11 -05:00
fearlessTobi
fe99e5a51e
mii_selector: map raw data to the MiiResult struct
2018-11-24 14:35:06 +01:00
Weiyi Wang
210e558bea
Merge pull request #4456 from FearlessTobi/port-1767
...
Port yuzu-emu/yuzu#1734 and yuzu-emu/yuzu#1767 : Minor changes to "kernel"
2018-11-24 00:04:42 -05:00
bunnei
9bd7379cc6
Merge pull request #4454 from FearlessTobi/port-1758
...
Port yuzu-emu/yuzu#1758 : "common/math_util: Minor cleanup"
2018-11-23 23:15:40 -05:00
bunnei
dc16ba009e
Merge pull request #4444 from FearlessTobi/port-1684
...
Port yuzu-emu/yuzu#1684 : "common/string_util: Minor cleanup"
2018-11-23 23:13:39 -05:00
Lioncash
00564bdb6f
common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter
...
This is inconsistent with our coding style.
2018-11-23 18:23:06 +01:00
Lioncash
255d46e6ee
common/thread: Make Barrier's 'count' member non-const
...
While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
2018-11-23 18:22:30 +01:00
Lioncash
4f0ec03c97
common/thread: Initialize class member variables where applicable
...
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-23 18:22:14 +01:00
Lioncash
9cbcc70c9b
common/thread: Group non-member functions together
...
Keeps the non-member interface in one spot instead of split into two
places, making it nicer to locate functions.
2018-11-23 18:22:05 +01:00
Lioncash
a7a319cfd1
common/thread: Remove SleepCurrentThread()
...
This is also unused and superceded by standard functionality. The
standard library provides std::this_thread::sleep_for(), which provides
a much more flexible interface, as different time units can be used with
it.
2018-11-23 18:21:59 +01:00
Lioncash
61eafcee98
common/thread: Remove unused CurrentThreadId()
...
This is an old function that's no longer necessary. C++11 introduced
proper threading support to the language and a thread ID can be
retrieved via std::this_thread::get_id() if it's ever needed.
2018-11-23 18:21:45 +01:00
Lioncash
86c36cb176
kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer
...
Both member functions assume the passed in target process will not be
null. Instead of making this assumption implicit, we can change the
functions to be references and enforce this at the type-system level.
2018-11-23 17:00:12 +01:00
Lioncash
0f544af89a
kernel/shared_memory: Add a const qualified member function overload for GetPointer()
...
Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
2018-11-23 16:38:18 +01:00
Lioncash
1cb9bea504
kernel/shared_memory: Make data members private
...
Rather than allow unfettered access to the class internals, we hide all
members by default and create and API that other code can operate
against.
2018-11-23 16:20:18 +01:00
Lioncash
662c3ff684
kernel/handle_table: Move private static functions into the cpp file
...
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
2018-11-23 15:58:12 +01:00
Lioncash
83f6e9ea72
kernel/handle_table: Default destructor in the cpp file
...
We don't need to potentially inline the teardown logic of all of the
handle instances.
2018-11-23 15:58:07 +01:00
Lioncash
d37c826097
common/math_util: Simplify std::make_signed usages to std::make_signed_t
...
Gets rid of the need to use typename to access the ::type alias.
2018-11-23 15:01:05 +01:00
Lioncash
8d169a4bfa
common/math_util: Make Rectangle's constructors constexpr
...
Allows objects that contain rectangle instances to be constexpr
constructible as well.
2018-11-23 15:00:59 +01:00
Lioncash
bf8f7f0ab6
common/math_util: Remove unnecessary static from PI
...
const/constexpr variables have internal linkage by default.
2018-11-23 15:00:52 +01:00
Lioncash
2787d1230b
common/math_util: Remove unused IntervalsIntersect() function
...
This hasn't been used since the project started, so we may as well get
rid of it to keep it from bit rotting.
2018-11-23 15:00:47 +01:00
BreadFish64
f4472a10e6
core: undef PAGE_SIZE and PAGE_MASK
...
these are defined a system header which causes complications when building for android
2018-11-20 14:24:19 -05:00
BreadFish64
6609ff83a7
android: set up cmake
2018-11-20 14:24:19 -05:00
fearlessTobi
fc51a6fd08
Fix functions which used Common::ArrayToString
2018-11-20 15:05:54 +01:00
Weiyi Wang
a854b23d9b
RPC: add missing include
2018-11-19 11:16:55 -05:00
Weiyi Wang
679dfd7cdf
Memory: remove CopyBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
185a83f06d
Memory: remove ZeroBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
4e99641a3b
Memory: remove WriteBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
8871f5a4ac
Memory: remove ReadBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
524364d95a
ldr_ro: pass process reference to memory operation
...
Note that not all memory operation is fixed. Specifically, u8/u16/u32 Read/Write is still using the current page tabel
2018-11-19 11:16:55 -05:00
Weiyi Wang
d4ba87d90a
Memory: remove GetMMIOHandler with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
7308b8d294
Memory: remove IsValidVirtualAddress with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
36cf104a02
Memory: replace GetPointerFromVMA with GetPointerForRasterizerCache
...
All usage of GetPointerFromVMA is to recover the pointer that is nulled by changing page type to RasterizerCachedMemory. Our rasterizer cache only works on linear heap and vram, so we can recover the pointer directly by address computation, instead of going through VMA table. Also removed a sanity check pointer!=nullptr in RasterizerMarkRegionCached(RasterizerCachedMemory=>Memory), as now the pointer is never null. The sanity check was added in f2a5a77
(#2797 ), which was originally necessary during VMA unmapping process, because the function is invloked by VMA after unmapping the page, which in turn invokes back to query the memory, forming a circular dependency. Now the dependency is resolved so the check is not necessary
2018-11-19 11:16:55 -05:00
Weiyi Wang
2b768da531
Merge pull request #4433 from wwylele/vmmanager-simple
...
VMManager: remove shared_ptr<vector> backing type
2018-11-19 11:13:22 -05:00
Weiyi Wang
a7d6bc4e84
Merge pull request #4441 from FearlessTobi/port-1688
...
Port yuzu-emu/yuzu#1688 : "service: Mark MakeFunctionString with the [[maybe_unused]] attribute."
2018-11-19 11:10:51 -05:00
Weiyi Wang
803f783f07
Merge pull request #4427 from wwylele/query-memory-merge
...
SVC: QueryMemory merges similar VMA
2018-11-19 11:10:15 -05:00
Weiyi Wang
471b4cf44f
Merge pull request #4436 from wwylele/p2ptr-boundary
...
Memory: GetPhysicalPointer should accept right open bound address
2018-11-19 11:05:42 -05:00
Weiyi Wang
0d96c0b44e
Merge pull request #4439 from FearlessTobi/actually-port-1649
...
Port yuzu-emu/yuzu#1649 and yuzu-emu/yuzu#1653 : Changes to gl_resource_manager and gl_rasterizer
2018-11-19 11:05:10 -05:00
Weiyi Wang
1bc253f1be
Merge pull request #4353 from zaksabeast/ips-patches
...
Add IPS patching
2018-11-18 13:39:41 -05:00
Sebastian Valle
b1fa9c0a7c
Merge pull request #4434 from wwylele/shared-memory-state
...
Kernel/SharedMemory: set and reset source memory state
2018-11-18 12:23:21 -05:00
B3N30
2f3142e192
Fix 16bit comparison operations
2018-11-18 14:37:11 +01:00
Lioncash
39fcc3a589
service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
...
When yuzu is compiled in release mode this function is unused, however,
when compiled in debug mode, it's used within a LOG_TRACE statement.
This prevents erroneous compilation warnings about an unused function
(that isn't actually totally unused).
2018-11-17 16:41:10 +01:00
Markus Wick
62036bdea8
gl_rasterizer_cache: Add profiles for Copy and Blit
...
They were missed, and Copy is very high in profile here. It doesn't block the GPU,
but it stalls the driver thread. So with our bad GL instructions, this might block quite a while.
2018-11-17 15:11:56 +01:00
Markus Wick
2b793797e0
gl_resource_manager: Profile creation and deletion
2018-11-17 15:07:30 +01:00
Markus Wick
79696a1a43
gl_stream_buffer: Profile orphaning of stream buffer.
...
This serialize to the driver thread and so it may block for a while.
So if it is in the benchmark, we get noticed if it happens too often.
2018-11-17 15:03:20 +01:00
Markus Wick
392547a97c
gl_resource_manager: Split implementations in .cpp file
...
Those implementations are quite costly, so there is no need to inline them to the caller.
Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
2018-11-17 15:01:40 +01:00
bunnei
d3b1b5f22c
Merge pull request #4398 from zhaowenlan1779/config-fix
...
citra_qt/configuration: fix language configuration issues
2018-11-16 23:33:50 -08:00
bunnei
11baf7ac13
Merge pull request #4419 from FearlessTobi/port-1639
...
Port yuzu-emu/yuzu#1639 : "qt: Add help option to open yuzu folder"
2018-11-16 23:29:59 -08:00
Tobias
46e8237e7e
Port yuzu-emu/yuzu#1137: "renderer_opengl: Namespace OpenGL code" ( #4423 )
...
* renderer_opengl: Namespace OpenGL code
Namespaces all OpenGL code under the OpenGL namespace.
Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future.
* Also namespace TextureCubeConfig
2018-11-16 23:29:10 -08:00
bunnei
7f727177bf
Merge pull request #4431 from wwylele/no-v2p
...
Memory: remove VirtualToPhysicalAddress
2018-11-16 23:28:33 -08:00
Weiyi Wang
4d1c4f898b
Merge pull request #4324 from BreadFish64/android1
...
android: add initial android app
2018-11-16 21:40:57 -05:00
Ben
b90ff739a0
Add CheatEngine and support for Gateway cheats ( #4406 )
...
* Add CheatEngine; Add support for Gateway cheats; Add Cheat UI
* fix a potential crash on some systems
* fix substr with negative length
* Add Joker to the NonOp comp handling
* Fixup JokerOp
* minor fixup in patchop; add todo for nested loops
* Add comment for PadState member variable in HID
* fix: stol to stoul in parsing cheat file
* fix misplaced parsing of values; fix patchop code
* add missing break
* Make read_func and write_func a template parameter
2018-11-16 18:01:10 -07:00
Weiyi Wang
95bbe2302b
Kernel/IPC: fix mapped buffer target address
2018-11-16 19:47:16 -05:00
Weiyi Wang
365eeb889f
Memory: GetPhysicalPointer should accept right open bound address
...
Also removed IO region check in GetPhysicalPointer as it doesn't make sense to get a pointer to MMIO
2018-11-16 10:27:30 -05:00
Lioncash
41376cfa26
string_util: Remove ArrayToString()
...
An old function from Dolphin. This is also unused, and pretty inflexible
when it comes to printing out different data types (for example, one
might not want to print out an array of u8s but a different type
instead. Given we use fmt, there's no need to keep this implementation
of the function around.
2018-11-16 15:29:40 +01:00
Lioncash
cab8dc3824
string_util: Remove TryParse()
...
This is an unused hold-over from Dolphin that was primarily used to
parse values out of the .ini files. Given we already have libraries that
do this for us, we don't need to keep this around.
2018-11-16 15:27:35 +01:00
Lioncash
3d0339659a
string_util: Remove ThousandSeparate()
...
This is currently unused and doesn't really provide much value to keep
around either.
2018-11-16 15:27:29 +01:00
Zach Hilman
3a1fe87f6c
qt: Move Open yuzu Folder action from Help to File
2018-11-16 15:24:42 +01:00
Weiyi Wang
d90094e8a7
Service: release shared memory object when finalize
...
Since last commit SharedMemory only reset source memory set on dtor, service should always release the ref as soon as possible to make the reset happen
2018-11-16 00:24:13 -05:00
Weiyi Wang
cfa9a322c7
Kernel/SharedMemory: set and reset source memory state
2018-11-16 00:24:08 -05:00
Weiyi Wang
b6ab4e466b
VMManager: remove all backing block related functions
...
The shared_ptr<vector> type backing memory is unused now, and is not expected to be used in the future
2018-11-16 00:16:13 -05:00
Weiyi Wang
7f9873d7ec
VMManager: change MapMemoryBlockToBase to use raw backing memory
...
And let ServerSession.MappedBufferContext hold the mapped memory
2018-11-16 00:16:13 -05:00
Weiyi Wang
0b8d2ecabe
IPC: store mapped buffer info in session context
...
So that it doesn't have to scan over the request buffer again on reply. This also allow us to store additional info like memory mapping
2018-11-16 00:16:13 -05:00
Weiyi Wang
7a564b904b
tests: use VMManager::MapBackingMemory
2018-11-16 00:16:13 -05:00
Weiyi Wang
560df843b1
Merge pull request #4405 from wwylele/svc-global
...
SVC: new wrapper template & pass system reference across the SVC barrier
2018-11-16 00:07:50 -05:00
Weiyi Wang
a51d7430d7
Merge pull request #4408 from wwylele/ro-map
...
ldr_ro: properly map CRS/CRO buffer
2018-11-16 00:07:33 -05:00
Weiyi Wang
ecc1c575d5
Merge pull request #4426 from wwylele/signed-bitfield
...
Common/Bitfield: store value as unsigned type
2018-11-16 00:07:16 -05:00
Zak Kurka
1ded48f5a3
Merge branch 'master' of github.com:citra-emu/citra into ips-patches
2018-11-15 07:11:18 -06:00
Zak Kurka
896577044d
Remove ApplyIPS from the class and header
2018-11-15 07:11:06 -06:00
BreadFish64
18771f1b61
add test dependencies
2018-11-13 19:54:33 -06:00
BreadFish64
65f033f856
android: create bare application
2018-11-13 19:54:33 -06:00
BreadFish64
8838485b1a
android: add build files
2018-11-13 19:54:32 -06:00
BreadFish64
6b4c40ffd5
android: add basic resources
2018-11-13 19:50:43 -06:00
Weiyi Wang
9e8d149ca7
Memory: remove unused VirtualToPhysical
2018-11-13 11:56:05 -05:00
Weiyi Wang
1388a44c41
GSP: uses a dedicate VirtualToPhysical converter
2018-11-13 11:24:46 -05:00
Weiyi Wang
12daaeedf1
Memory: Use the fixed PAddr directly in RasterizerFlushVirtualRegion
2018-11-13 11:24:46 -05:00
Weiyi Wang
248106d972
Skyeye: unstub cp15 virtual to physical address
2018-11-13 11:24:46 -05:00
Weiyi Wang
b1f55c9cab
Merge pull request #4429 from wwylele/io-size
...
Memory: IO area is at most 4MB
2018-11-13 11:09:14 -05:00
Tobias
34e1250ccc
citra_qt: Add Amiibo hotkeys, notify user of loading errors ( #4387 )
2018-11-13 14:58:05 +01:00
Weiyi Wang
fe47243690
Merge pull request #4413 from wwylele/memory-global
...
Fix shared font addres; Remove global PhysicalToVirtualAddress
2018-11-13 00:14:24 -05:00
Weiyi Wang
194118011a
Memory: IO area is at most 4MB
2018-11-12 15:12:12 -05:00
Weiyi Wang
c57ee36222
SVC: hide details in pimpl
2018-11-12 13:59:34 -05:00
Weiyi Wang
aec8b1e375
SVC: use context and generic templates
2018-11-12 13:59:34 -05:00
Weiyi Wang
28513c5177
ResultCode: use default copy assignment
...
Our definition of the copy assignment is equivalent to the default one, but prevents the type being trivially copyable
2018-11-12 13:59:34 -05:00
Weiyi Wang
d373a6430d
SVC: move function_wrappers.h into kernel
...
It is only used by kernel/SVC
2018-11-12 13:59:34 -05:00
Weiyi Wang
29ade3e610
Process: check source/target overlap for Map/Unmap
2018-11-11 12:39:05 -05:00
Weiyi Wang
3db8915356
ldr_ro: properly map CRS/CRO buffer
2018-11-11 12:39:05 -05:00
Weiyi Wang
617b388354
Kernel/Process: implement prvileged Map/Unmap
...
This is used by svcControlProcessMemory and maps memory as Locked/AliasCode pair.
Also fixed a bug where map didn't apply specified permissions to the alias memory
2018-11-11 12:39:05 -05:00
Ben
f43524fff1
Merge pull request #4415 from wwylele/tls-state
...
Kernel: correct MemoryState for TLS
2018-11-11 17:53:18 +01:00
Weiyi Wang
3d73b8d694
Common/Bitfield: store value as unsigned type
...
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-10 23:42:39 -05:00
Weiyi Wang
5179915fb4
filesys/ncch: prevent buffer overflow on calculating SHA256
2018-11-10 22:58:32 -05:00
Zach Hilman
31c394e9b5
qt: Add help option to open yuzu folder
2018-11-09 17:00:14 +01:00
Weiyi Wang
d0edb81182
Memory: convert PAddr for N3DS FCRAM extension
2018-11-09 10:40:04 -05:00
Weiyi Wang
98ddea4ddd
Kernel: correct MemoryState for TLS
2018-11-09 00:14:13 -05:00
Weiyi Wang
5325388e24
SVC: QueryMemory merges similar VMA
2018-11-08 20:42:21 -05:00
Weiyi Wang
2654a679b3
Memory: replace PhysicalToVirtualAddress with a more dedicated function
...
There is no external use of PhysicalToVirtualAddress any more, so it there is no need to have a generic function that handles all physical regions. Also, the previous APT change makes it possible that linear heap has some regions mapped to old and new VAddr regions at the same time, so we need to check both region and mark cached for the mapped one. RasterizerMarkRegionCached would skip the unmapped one in its loop
2018-11-08 00:19:57 -05:00
Weiyi Wang
8c65433ab5
Kernel, APT: SharedFont/SharedMemoryOnSharedDevice should always use old linear heap VAddr
2018-11-08 00:19:19 -05:00
Valentin Vanelslande
0f4a6e39c9
ldr_ro: change std::tie to structured binding
2018-11-07 13:38:52 -05:00
Weiyi Wang
1444d60109
Merge pull request #4400 from wwylele/core-timing-global
...
CoreTiming: wrap into class
2018-11-06 20:04:56 -05:00
Weiyi Wang
2067946f59
Kernel: reimplement memory management on physical FCRAM ( #4392 )
...
* Kernel: reimplement memory management on physical FCRAM
* Kernel/Process: Unmap does not care the source memory permission
What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there
* Kernel/SharedMemory: zero initialize new-allocated memory
* Process/Thread: zero new TLS entry
* Kernel: fix a bug where code segments memory usage are accumulated twice
It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.
Question: is TLS page also added to this number?
* Kernel/SharedMemory: add more object info on mapping error
* Process: lower log level; SharedMemory: store phys offset
* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
Weiyi Wang
9458e4d8ec
CoreTiming: wrap into class
2018-11-04 10:26:38 -05:00
Weiyi Wang
2d9dfe5bce
Kernel: thread manager still has to be destructed first
2018-11-04 09:29:28 -05:00
Weiyi Wang
57e1f47a52
Kernel: destruct thread/timer managers after processes ( #4399 )
...
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
zhupengfei
ab07d44193
citra_qt/configuration: fix language configuration issues
2018-11-03 09:34:01 +08:00
Weiyi Wang
fc84091d88
Service, Kernel: move named port list to kernel
2018-11-01 12:56:40 -04:00
Weiyi Wang
ece96807c4
Kernel: move memory_regions into Kernel instance
2018-11-01 12:56:40 -04:00
Weiyi Wang
263290d48c
HLE: move SharedPage into Kernel
...
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
Weiyi Wang
773ec47629
Kernel: make config_mem and MapSharedPages members of KernelSystem
2018-11-01 12:56:40 -04:00
Weiyi Wang
95790218f2
HLE: move config_mem to kernel
...
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
Weiyi Wang
a753b9c6cc
Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
...
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
Weiyi Wang
445538c2cf
Merge pull request #4371 from wwylele/kernel-global-3
...
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
Weiyi Wang
2183d0d6be
core: use internal kernel pointer directly
2018-10-30 00:35:37 -04:00
Weiyi Wang
bd4beb6558
Merge pull request #4386 from wwylele/codeset-class
...
Kernel/CodeSet: change struct to class
2018-10-30 00:30:50 -04:00
NarcolepticK
c97146226a
LLE Mapped Buffer: Addressed comments.
2018-10-29 18:35:34 -04:00
Weiyi Wang
f63098ccdf
Kernel/CodeSet: change struct to class
...
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
Weiyi Wang
67888f92e5
Merge pull request #4348 from B3n30/native_firm_keys
...
Load keys from save mode native firm
2018-10-28 10:24:29 -04:00
bunnei
9d05fbbef4
Merge pull request #4369 from FearlessTobi/compat-new
...
compatdb: Use a seperate endpoint for testcase submission
2018-10-28 03:53:10 -04:00
bunnei
3219bdb30d
Merge pull request #4382 from FearlessTobi/reset-defaults
...
configure_general: Add an option to reset defaults
2018-10-28 03:52:10 -04:00
fearlessTobi
96ee82c464
configure_general: Add an option to reset defaults
2018-10-27 22:43:29 +02:00
fearlessTobi
6e6c437a52
applets: stub mii selector to always return a standard mii
...
To obtain the data, the LLEd mii selector of system version 11.8.0 was used.
In AppletManager::GlanceParameter, the following code was added to write the returned buffer data to a file:
if (parameter.buffer.size() == 132) {
std::u16string name(10, '\0');
std::memcpy(name.data(), parameter.buffer.data() + 0x26, 10 * sizeof(u16));
name = std::u16string(name.data());
FileUtil::IOFile file{fmt::format("{}.mii", Common::UTF16ToUTF8(name)), "wb"};
file.WriteBytes(parameter.buffer.data(), parameter.buffer.size());
}
Then "xxd -i" was used on the file to convert it to a hex array.
2018-10-27 12:23:24 +02:00
fearlessTobi
236a7dba7e
Move "Report compatibility" button to Emulation tab
2018-10-27 12:20:03 +02:00
fearlessTobi
b7117bf050
compatdb: Use a seperate endpoint for testcase submission
2018-10-27 12:20:03 +02:00