german
2d207ec609
Implement a basic class for motion devices
2020-08-27 17:19:21 -05:00
bunnei
3db9a25977
Merge pull request #4530 from Morph1984/mjolnir-p1
...
Project Mjölnir: Part 1 - Input Rewrite
2020-08-27 14:58:44 -04:00
bunnei
3f7b0e0772
Merge pull request #4577 from lioncash/asserts
...
common/assert: Make use of C++ attribute syntax
2020-08-27 11:09:02 -04:00
Morph
f0fac0c7fb
Project Mjölnir: Part 1
...
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-08-26 02:32:32 -04:00
ReinUsesLisp
f119ef798b
common/thread: Fix data race in is_set
...
As report by tsan, Event::Set can write is_set while WaitFor and friends
are reading from it. To address this issue, make is_set an atomic.
2020-08-26 02:50:51 +00:00
bunnei
b798813eee
Merge pull request #4548 from lioncash/color
...
common/color: Migrate code over to the Common namespace
2020-08-25 10:07:13 -04:00
M&M
43ce33b6cc
logging/settings: Increase maximum log size to 100 MB and add extended logging option
...
The extended logging option is automatically disabled on boot but can be enabled afterwards, allowing the log file to go up to 1 GB during that session.
This commit also fixes a few errors that are present in the general debug menu.
2020-08-24 21:39:56 -07:00
Lioncash
504175e5b6
common_funcs: Add missing XOR operators to DECLARE_ENUM_FLAG_OPERATORS
...
Ensures that the full set of bitwise operators are available for types
that make use of this macro.
2020-08-24 04:42:43 -04:00
Lioncash
3bfaabdbdd
common/assert: Make use of C++ attribute syntax
...
Normalizes the syntax used for attributes
2020-08-24 04:15:10 -04:00
Lioncash
ca5ed50655
web_service: Move web_result.h into web_service
...
This is the only place it's actively used. It's also more appropriate
for web-related structures to be within the web service target.
Especially given this one doesn't rely on anything in the common
library.
2020-08-22 19:29:54 -04:00
bunnei
3ea3de4ecd
Merge pull request #4546 from lioncash/telemetry
...
common/telemetry: Migrate namespace into the Common namespace
2020-08-20 14:29:13 -04:00
bunnei
3b8a8cf825
Merge pull request #4547 from lioncash/header-concept
...
common/concepts: Move <type_traits> include out of the Common namespace
2020-08-19 23:29:45 -04:00
bunnei
acbae572d3
Revert "common/time_zone: Simplify GetOsTimeZoneOffset()"
2020-08-19 18:27:31 -04:00
bunnei
b1fa647f28
Merge pull request #4539 from lioncash/disc
...
common: Silence two discarded result warnings
2020-08-18 22:03:09 -04:00
Lioncash
f6bb905182
common/telemetry: Migrate namespace into the Common namespace
...
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
2020-08-18 15:08:32 -04:00
Lioncash
e864aa25d5
common/color: Migrate code over to the Common namespace
...
No external code makes use of this header, so we can freely change the
namespace.
2020-08-18 14:27:41 -04:00
Lioncash
999fc2fece
common/concepts: Move <type_traits> include out of the Common namespace
...
This is a compiler/linker error waiting to happen.
2020-08-18 14:24:54 -04:00
bunnei
56c6a5def8
Merge pull request #4535 from lioncash/fileutil
...
common/fileutil: Convert namespace to Common::FS
2020-08-17 22:35:30 -04:00
Lioncash
c4ed791164
common/fileutil: Convert namespace to Common::FS
...
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
2020-08-16 06:52:40 -04:00
Lioncash
d09456fc41
common: Silence two discarded result warnings
...
These are intentionally discarded internally, since the rest of the
public API allows querying success. We want all non-internal uses of
these functions to be explicitly checked, so we can signify that we
intentionally want to discard the return values here.
2020-08-16 06:17:33 -04:00
Lioncash
fe97d34156
common/time_zone: Simplify GetOsTimeZoneOffset()
...
We can simplify this function down into a single line with the use of
fmt. A benefit with the fmt approach is that the fmt variant of
localtime is thread-safe as well, making GetOsTimeZoneOffset()
thread-safe as well.
2020-08-16 03:58:47 -04:00
Lioncash
1ee060ca0d
common/compression: Roll back std::span changes
...
Seems like all compilers don't support std::span yet.
2020-08-15 17:17:56 -04:00
Lioncash
df72480395
common: Make use of [[nodiscard]] where applicable
...
Now that clang-format makes [[nodiscard]] attributes format sensibly, we
can apply them to several functions within the common library to allow
the compiler to complain about any misuses of the functions.
2020-08-15 17:17:52 -04:00
bunnei
feb243b08d
Merge pull request #4416 from lioncash/span
...
lz4_compression/zstd_compression: Make use of std::span in interfaces
2020-08-15 00:53:11 -04:00
LC
ff0b14ee62
Merge pull request #4511 from lioncash/build2
...
General: Tidy up clang-format warnings part 2
2020-08-13 15:13:21 -04:00
Lioncash
b724a4d90c
General: Tidy up clang-format warnings part 2
2020-08-13 14:19:08 -04:00
bunnei
e143adc3cf
Merge pull request #4493 from jbeich/dragonfly
...
common/virtual_buffer: drop unused includes
2020-08-11 12:52:50 -04:00
Lioncash
1c3490a8db
General: Tidy up clang-format warnings
2020-08-08 20:08:44 -04:00
Lioncash
8e86fa7e60
common/concepts: Rename IsBaseOf to DerivedFrom
...
This makes it more inline with its currently unavailable standardized
analogue std::derived_from.
While we're at it, we can also make the template match the requirements
of the standardized variant as well.
2020-08-07 08:09:57 -04:00
bunnei
f5d538f118
Merge pull request #4483 from lioncash/constexpr-hex
...
partition_data_manager: Make data arrays constexpr
2020-08-06 23:14:14 -04:00
Lioncash
7f0f37fca7
partition_data_manager: Make data arrays constexpr
...
Previously the constructor for all of these would run at program
startup, consuming time before the application can enter main().
This is also particularly dangerous, given the logging system wouldn't
have been initialized properly yet, yet the program would use the logs
to signify an error.
To rectify this, we can replace the literals with constexpr functions
that perform the conversion at compile-time, completely eliminating the
runtime cost of initializing these arrays.
2020-08-06 02:41:58 -04:00
comex
d37f0b29e2
Fix thread naming on Linux, which limits names to 15 bytes.
...
- In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at
least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and
do nothing.
- Also, add logging in case `pthread_set_name_np` returns an error
anyway. This is Linux-specific, as the Apple and BSD versions of
`pthread_set_name_np return `void`.
- Change the name for CPU threads in multi-core mode from
"yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it
fits into the Linux limit. Some other thread names are also cut off,
but I didn't bother addressing them as you can guess them from the
truncated versions. For a CPU thread, truncation means you can't see
which core it is!
2020-08-05 20:34:49 -07:00
bunnei
d888ac7d20
Merge pull request #4477 from lioncash/log-desig
...
logging/backend: Make use of designated initializers
2020-08-05 22:34:12 -04:00
Jan Beich
238208ee30
common/virtual_buffer: drop unused includes
...
On DragonFly and NetBSD build fails with
src/common/virtual_buffer.cpp
src/common/virtual_buffer.cpp:16:10: fatal error: sys/sysinfo.h: No such file or directory
#include <sys/sysinfo.h>
^~~~~~~~~~~~~~~
2020-08-05 21:36:35 +00:00
bunnei
4a2d9c6454
Merge pull request #4444 from lioncash/volatile
...
common/atomic_ops: Don't cast away volatile from pointers
2020-08-05 14:22:36 -04:00
Lioncash
8725b37a35
logging/backend: Make use of designated initializers
...
Same behavior, less code.
2020-08-03 10:37:48 -04:00
David
9b75481755
ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer ( #4465 )
...
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
2020-08-03 07:28:54 -04:00
David
6c7292de33
Merge pull request #4263 from lat9nq/fix-screencaps-2
...
screenshots: Option to save screenshots immediately in a specified directory + Linux workaround
2020-08-03 21:00:14 +10:00
Lioncash
e3f0c93230
common/atomic_ops: Don't cast away volatile from pointers
...
Preserves the volatility of the pointers being casted.
2020-07-28 04:36:53 -04:00
bunnei
45cf48bd0a
Merge pull request #4415 from lioncash/maybe
...
virtual_buffer: Mark size parameter of FreeMemoryPages() as [[maybe_unused]]
2020-07-25 21:35:09 -07:00
LC
e3503de588
common/string_util: Remove unimplemented function prototype ( #4414 )
...
This function was relocated to log.h as a constexpr function, so this
can be removed.
2020-07-25 15:37:51 +02:00
Lioncash
2e511246fa
lz4_compression: Make use of std::span in interfaces
...
Allows compressing the data and size parameters into one.
2020-07-25 03:17:04 -04:00
Lioncash
c5bdccfecb
zstd_compression: Make use of std::span in interfaces
...
Allows condensing the data and size parameters into a single argument.
2020-07-25 03:11:56 -04:00
Lioncash
ca6ff01333
virtual_buffer: Mark size parameter of FreeMemoryPages() as [[maybe_unused]]
...
This isn't used on Windows, but is used on non-Windows operating
systems.
2020-07-25 03:04:27 -04:00
lat9nq
3848155c42
common: Add a screenshots directory
...
Adds a screenshots directory as a path managed by FileUtil.
2020-07-20 22:51:02 -04:00
Jan Beich
db43b37e15
alignment: explicitly include <new> after 723edb4c06
...
In file included from src/core/hle/kernel/memory/page_table.cpp:5:
src/./common/alignment.h:67:68: error: no member named 'align_val_t' in namespace 'std'
return static_cast<T*>(::operator new (n * sizeof(T), std::align_val_t{Align}));
~~~~~^
src/./common/alignment.h:71:51: error: no member named 'align_val_t' in namespace 'std'
::operator delete (p, n * sizeof(T), std::align_val_t{Align});
~~~~~^
2020-07-18 23:06:16 +00:00
Lioncash
723edb4c06
alignment: Simplify AlignmentAllocator implementation
...
With C++20, much of the allocator interface has been simplified, so we
can make the same adjustments.
2020-07-17 08:30:12 -04:00
Lioncash
9f027b1af2
common/swap: Make use of std::endian
...
Allows removing a bunch of defines in favor of a two liner.
2020-07-14 16:26:54 -04:00
Tobias
80a0f2a118
common/alignment: Fix compilation errors ( #4303 )
2020-07-12 16:45:49 +02:00
bunnei
1074c87f18
Revert "Port citra-emu/citra#5441 : "Common: remove a mod from AlignUp""
2020-07-11 19:28:09 -04:00
Marshall Mohror
a4306b9e56
Common: remove a mod from AlignUp ( #5441 )
...
In cases where the size is not a known constant when inlining, AlignUp<std::size_t> currently generates two 64-bit div instructions.
This generates one div and a cmov which is significantly cheaper.
2020-07-11 18:39:00 +02:00
David Marcec
bd2feb6873
cmake: Fix libfmt linking errors
2020-07-10 14:04:06 +10:00
John Galt
95cd2e17ab
cmake: fix fmt linking when found
...
This is a new attempt at #4206 that shouldn't break windows builds.
If someone else could test on windows, it would be much appreciated.
Previously, the build bot passed but the actual builds failed.
2020-07-09 11:35:28 -04:00
bunnei
98fcd3ba5d
Revert "cmake: fix fmt linking"
2020-07-02 22:53:12 -04:00
bunnei
064b7bfa5f
Merge pull request #4206 from RealJohnGalt/linkfix
...
cmake: fix fmt linking
2020-07-02 22:23:39 -04:00
Jan Beich
3b1683a152
common: switch to nullptr for sysctl's empty new value
2020-06-30 23:00:18 +00:00
Jan Beich
e6085ea35f
common: add sysconf() fallback
...
src/common/memory_detect.cpp:15:10: fatal error: 'sys/sysinfo.h' file not found
#include <sys/sysinfo.h>
^~~~~~~~~~~~~~~
2020-06-29 22:41:22 +00:00
John Galt
765e37aa35
cmake: fix fmt linking
...
On gcc/ld, and clang/lld, fmt::v6 symbols are excluded, so linking
fails. This fixes the issue.
Note: This was included in the FindBoost changes I shared with
BlinkHawk, however only they were merged. I'm not sure if it was missed,
or if there was an issue with this part of the change.
2020-06-29 07:10:07 -04:00
Fernando Sahmkow
2f8947583f
Core/Common: Address Feedback.
2020-06-27 18:20:06 -04:00
Fernando Sahmkow
7fd7d05838
Common/Kernel: Corrections and small bug fixing.
2020-06-27 11:36:21 -04:00
Fernando Sahmkow
3165152396
Common/NativeClockx86: Reduce native clock accuracy further.
2020-06-27 11:36:18 -04:00
Fernando Sahmkow
7b1804dab4
Common/AtomicOps: Correct GCC Intrinsic argument ordering.
2020-06-27 11:36:16 -04:00
Fernando Sahmkow
467d43570e
Clang Format.
2020-06-27 11:36:14 -04:00
Fernando Sahmkow
528b19a842
General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.
2020-06-27 11:36:09 -04:00
Fernando Sahmkow
534466754f
X64 Clock: Reduce accuracy to be less or equal to guest accuracy.
2020-06-27 11:35:55 -04:00
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
2020-06-27 11:35:37 -04:00
Fernando Sahmkow
18dcb09342
HostTiming: Pause the hardware clock on pause.
2020-06-27 11:35:10 -04:00
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
...
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
2020-06-27 11:35:06 -04:00
David
0ea4a8bcc4
Merge pull request #3396 from FernandoS27/prometheus-1
...
Implement SpinLocks, Fibers and a Host Timer
2020-06-28 01:34:07 +10:00
Fernando Sahmkow
7b893c7963
Common: Fix non-conan build
2020-06-26 12:25:19 -04:00
Morph
97ba520434
common/telemetry: Add AVX512 to telemetry
2020-06-20 00:31:37 -04:00
Morph
d6474b4aca
common/cpu_detect: Add AVX512 detection
2020-06-20 00:31:37 -04:00
Fernando Sahmkow
e77ee67bfa
Common/Fiber: Address Feedback and Correct Memory leaks.
2020-06-18 16:29:27 -04:00
Fernando Sahmkow
b6655aa2e4
Common/Fiber: Implement Rewind on Boost Context.
2020-06-18 16:29:27 -04:00
Fernando Sahmkow
59ce6e6d06
Common/uint128: Correct MSVC Compilation in old versions.
2020-06-18 16:29:26 -04:00
Fernando Sahmkow
18f54f7486
Common/Fiber: Document fiber interexchange.
2020-06-18 16:29:26 -04:00
Fernando Sahmkow
137d862d9b
Common/Fiber: Implement Rewinding.
2020-06-18 16:29:25 -04:00
Fernando Sahmkow
41013381d6
Common/Fiber: Additional corrections to f_context.
2020-06-18 16:29:25 -04:00
Fernando Sahmkow
7d2b1a6ec4
Common/Fiber: Correct f_context based Fibers.
2020-06-18 16:29:24 -04:00
Fernando Sahmkow
49a7e0984a
Core/HostTiming: Allow events to be advanced manually.
2020-06-18 16:29:22 -04:00
Fernando Sahmkow
1f7dd36499
Common/Tests: Address Feedback
2020-06-18 16:29:21 -04:00
Fernando Sahmkow
3398f701ee
Common: Make MinGW build use Windows Fibers instead of fcontext_t
2020-06-18 16:29:20 -04:00
Fernando Sahmkow
1bd706344e
Common/Tests: Clang Format.
2020-06-18 16:29:19 -04:00
Fernando Sahmkow
03e4f5dac4
Common: Correct fcontext fibers.
2020-06-18 16:29:19 -04:00
Fernando Sahmkow
e3524d1142
Common: Refactor & Document Wall clock.
2020-06-18 16:29:18 -04:00
Fernando Sahmkow
234b5ff6a9
Common: Implement WallClock Interface and implement a native clock for x64
2020-06-18 16:29:17 -04:00
Fernando Sahmkow
0f8e5a1465
Tests: Add base tests to host timing
2020-06-18 16:29:17 -04:00
Fernando Sahmkow
be320a9e10
Common: Polish Fiber class, add comments, asserts and more tests.
2020-06-18 16:29:15 -04:00
Fernando Sahmkow
8d0e3c5422
Tests: Add tests for fibers and refactor/fix Fiber class
2020-06-18 16:29:15 -04:00
Fernando Sahmkow
bc266a9d98
Common: Implement a basic Fiber class.
2020-06-18 16:29:14 -04:00
Fernando Sahmkow
13ed9438fb
Common: Implement a basic SpinLock class
2020-06-18 16:29:13 -04:00
bunnei
a8ac99b619
Merge pull request #4086 from MerryMage/abi
...
xbyak_abi: Cleanup
2020-06-17 11:20:52 -04:00
MerryMage
7c6203dc5e
xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize
2020-06-15 19:07:11 +01:00
MerryMage
36362e9695
xbyak_abi: Register indexes should be unsigned
2020-06-15 19:07:11 +01:00
MerryMage
d563017dfe
xbyak_abi: Remove *GPS variants of stack manipulation functions
2020-06-15 18:59:54 +01:00
MerryMage
4417770ba9
xbyak_abi: Fix ABI_PushRegistersAndAdjustStack
...
Pushing GPRs twice.
2020-06-15 18:59:01 +01:00
ReinUsesLisp
a63a0daa5e
gl_arb_decompiler: Implement an assembly shader decompiler
...
Emit code compatible with NV_gpu_program5.
This should emit code compatible with Fermi, but it wasn't tested on
that architecture. Pascal has some issues not present on Turing GPUs.
2020-06-11 22:12:07 -03:00
David Marcec
d0bdd26c26
Add xbyak external
2020-05-30 10:55:27 +10:00
Morph
b2af304918
Fix macOS code and change "Swapfile" to "Swap"
2020-05-27 11:21:59 -04:00
Morph
9a36d8600c
main: Log host system memory parameters
...
Logs both physical memory and swapfile sizes, this is useful for support.
2020-05-17 14:45:12 -04:00
bunnei
bba54e1880
time_zone: Use std::chrono::seconds for strong typing.
2020-05-12 18:44:07 -04:00
bunnei
33441fa728
common: Add module to get the current time zone.
2020-05-11 17:51:26 -04:00
James Rowe
bc30a591ba
Replace externals with Conan ( #3735 )
...
* Remove git submodules that will be loaded through conan
* Move custom Find modules to their own folder
* Use conan for downloading missing external dependencies
* CI: Change the yuzu source folder user to the user that the containers run on
* Attempt to remove dirty mingw build hack
* Install conan on the msvc build
* Only set release build type when using not using multi config generator
* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries
* Add workaround for submodules that use legacy CMAKE variables
* Re-add USE_BUNDLED_QT on the msvc build bot
2020-05-08 17:09:29 -04:00
David Marcec
1417849a2b
acc: Return a unique value per account for GetAccountId
2020-04-29 21:09:53 +10:00
Markus Wick
c499c22cf7
Fix -Werror=conversion error.
2020-04-24 09:33:04 +02:00
bunnei
7438d36d0e
Merge pull request #3630 from benru/open-windows-network-files
...
common/file_util: Allow access to files on network shares
2020-04-17 19:47:11 -04:00
Fernando Sahmkow
775ecc7d05
Merge pull request #3672 from lioncash/null
...
file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero
2020-04-17 17:02:35 -04:00
bunnei
4c1812ae37
common: page_table: Update to use VirtualBuffer and simplify.
2020-04-17 00:59:34 -04:00
bunnei
4ba2428c86
common: Add VirtualBuffer class, to abstract memory virtualization.
2020-04-17 00:59:31 -04:00
bunnei
4df6ef04ac
common: scope_exit: Implement mechanism for canceling a scope exit.
2020-04-17 00:59:28 -04:00
bunnei
b838e58d63
common: alignment: Add a helper function for generic alignment checking.
2020-04-17 00:59:28 -04:00
bunnei
b11b424a2d
common: common_funcs: Add a macro for defining enum flag operators.
2020-04-17 00:59:27 -04:00
Lioncash
e77337588e
file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero
...
It's undefined behavior to pass a null pointer to std::fread and
std::fwrite, even if the length passed in is zero, so we must perform
the precondition checking ourselves.
A common case where this can occur is when passing in the data of an
empty std::vector and size, as an empty vector will typically have a
null internal buffer.
While we're at it, we can move the implementation out of line and add
debug checks against passing in nullptr to std::fread and std::fwrite.
2020-04-15 14:43:37 -04:00
bunnei
51c6688e21
Merge pull request #3594 from ReinUsesLisp/vk-instance
...
yuzu: Drop SDL2 and Qt frontend Vulkan requirements
2020-04-10 20:06:55 -04:00
Ben Russell
f98a2c42de
common/file_util: Allow access to files on network shares
...
On Windows, network shares use paths like \\server\share\file which were
being broken by FileUtil::SanitizePath() removing double slashes.
Changed the code in SanitizePath to permit a double-backslash if it
occurs at the start of a filepath (on Windows only).
2020-04-09 18:48:28 +01:00
ReinUsesLisp
7104e01bb3
common/dynamic_library: Import and adapt helper from Dolphin
2020-04-07 02:23:23 -03:00
Vitor K
bd0c56c6e7
common: Port some changes from dolphin ( #5127 )
...
* IOFile: Make the move constructor and move assignment operator noexcept
Certain parts of the standard library try to determine whether or not a
transfer operation should either be a copy or a move. The prevalent notion
of move constructors/assignment operators is that they should not throw,
they simply move an already existing resource somewhere else.
This is typically done with 'std::move_if_noexcept'. Like the name says,
if a type's move constructor is noexcept, then the functions retrieves an
r-value reference (for move semantics), or an l-value (for copy semantics)
if it is not noexcept.
As IOFile deletes the copy constructor and copy assignment operators,
using IOFile with certain parts of the standard library can fail in
unexcepted ways (especially when used with various container
implementations). This prevents that.
* fix various instances of -1 being assigned to unsigned types
* do not assign in conditional statements
* File/IOFile: Check _tfopen_s properly
* common/file_util.cpp: address review comments
Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: Shawn Hoffman <godisgovernment@gmail.com>
Co-authored-by: Sepalani <sepalani@hotmail.fr>
2020-04-01 02:58:42 +02:00
bunnei
4dfd5c84ea
Merge pull request #3508 from FernandoS27/page-table
...
PageTable: move backing addresses to a children class as the CPU page table does not need them.
2020-03-14 16:50:27 -04:00
Fernando Sahmkow
27cbb75e7c
PageTable: move backing addresses to a children class as the CPU page table does not need them.
...
This PR aims to reduce the memory usage in the CPU page table by moving
GPU specific parameters into a child class. This saves 1Gb of Memory for
most games.
2020-03-14 09:43:57 -04:00
ReinUsesLisp
3dcaa84ba4
shader/transform_feedback: Add host API friendly TFB builder
2020-03-13 18:33:04 -03:00
ReinUsesLisp
e8efd5a901
video_core: Rename "const buffer locker" to "registry"
2020-03-09 18:40:06 -03:00
ReinUsesLisp
bd8b9bbcee
gl_shader_cache: Rework shader cache and remove post-specializations
...
Instead of pre-specializing shaders and then post-specializing them,
drop the later and only "specialize" the shader while decoding it.
2020-03-09 18:40:06 -03:00
ReinUsesLisp
e38ed26b98
common/math_util: Support float type rectangles
2020-02-28 16:22:11 -03:00
bunnei
2b1d66eda3
Merge pull request #3326 from FearlessTobi/port-5039
...
Port citra-emu/citra#5039 : "common/logging: don't use regex for path trimming"
2020-01-24 20:59:57 -05:00
BreadFish64
a31ed02ae4
common/logging: don't use regex for path trimming
2020-01-23 23:08:05 +01:00
FearlessTobi
bbd85a495a
Address second part of review comments
2020-01-23 20:55:26 +01:00
fearlessTobi
ac3690f205
Input: UDP Client to provide motion and touch controls
...
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
Co-Authored-By: jroweboy <jroweboy@gmail.com>
2020-01-23 20:55:26 +01:00
James Rowe
4512a6bbfc
Remove unused CPU Vendor string and telemtry field
...
The information is duplicated in the brand string and the telemetry field is unused
2020-01-17 18:41:18 -07:00
James Rowe
b429095b61
Fix git version in scm_rev.cpp
2020-01-16 00:12:50 -07:00
bunnei
67b8ecc73e
common: SPSCQueue: Notify after incrementing queue size.
2019-12-16 20:39:53 -05:00
Weiyi Wang
49e0a30dbd
fix clang-format and lambda capture
2019-11-23 01:30:06 +01:00
Weiyi Wang
9a60d8a430
unfold UNREACHABLE implementation for dumb compilers
...
We relies on UNREACHABLE's noreturn attribute to eliminate parent's "no return value" warning. However, this was wrapped in a `if(!false)` block, which compilers may not unfold to recognize the noreturn nature.
2019-11-23 01:30:06 +01:00
ReinUsesLisp
2ac834c722
common/logging: Silence no return value warnings
2019-11-15 18:43:35 -03:00
Lioncash
f2e34efcbb
common_funcs: Remove semicolons from INSERT_PADDING_* macros
...
Makes code that uses the macros consistent by requiring the lines to be
terminated with a semicolon.
2019-11-14 17:05:27 -05:00
Lioncash
c5c89a4d5c
common/hash: Remove unused HashableStruct
...
This is unused, so it can be removed. There's better ways of ensuring
zeroed out padding bits, like using zero-initialization, anyhow.
2019-11-13 14:58:43 -05:00
Lioncash
61f6eaad45
common_funcs: silence sign-conversion warnings in MakeMagic()
...
We can trivially resolve these by casting the characters to unsigned
values and then shifting the bits.
2019-11-13 06:53:19 -05:00
Zach Hilman
0c8b6b0351
ci: Populate build repository from Azure environment
2019-11-05 21:37:27 -05:00
bunnei
1bdae0fe29
common_func: Use std::array for INSERT_PADDING_* macros.
...
- Zero initialization here is useful for determinism.
2019-11-03 22:22:41 -05:00
Tobias
a81987a7cb
common/bit_field: Remove FORCE_INLINE calls
...
See bunneis comment here https://github.com/citra-emu/citra/pull/4629#discussion_r258533167 .
They were supposed to be removed by him, but he missed them.
2019-11-03 08:25:37 +01:00
David
4c5731c34f
Merge pull request #2971 from FernandoS27/new-scheduler-v2
...
Kernel: Implement a New Thread Scheduler V2
2019-10-28 10:53:27 +11:00
Fernando Sahmkow
be856a38d6
Shader_IR: Address Feedback.
2019-10-26 15:38:30 -04:00
Fernando Sahmkow
1a58f45d76
VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.
2019-10-25 09:01:29 -04:00
Lioncash
d5706346d7
common/algorithm: Add description comment indicating intended algorithms
...
Makes it explicit that the header is intended for iterator-based
algorithms that can ideally operate on any type.
2019-10-15 15:25:23 -04:00
Lioncash
ac4dbd3b25
common: Rename binary_find.h to algorithm.h
...
Makes the header more general for other potential algorithms in the
future. While we're at it, include a missing <functional> include to
satisfy the use of std::less.
2019-10-15 15:24:50 -04:00
Fernando Sahmkow
25f8606a6d
Kernel Scheduler: Make sure the global scheduler shutdowns correctly.
2019-10-15 11:55:24 -04:00
Lioncash
57ffada746
alignment: Resolve allocator construction issues on debug
...
This was related to the source allocator being passed into the
constructor potentially having a different type than allocator being
constructed.
We simply need to provide a constructor to handle this case.
This resolves issues related to the allocator causing debug builds on
MSVC to fail.
2019-10-06 18:49:49 -04:00
Lioncash
9aafb2a277
alignment: Specify trait definitions within the allocator
...
Allows containers and other data structures to consider optimizations
based off of them. We satisfy all of these requirements anyways.
2019-10-06 18:48:05 -04:00
bunnei
deecd7f074
Merge pull request #2942 from ReinUsesLisp/clang-warnings
...
Silence miscellaneous warnings
2019-10-05 20:41:20 -04:00
bunnei
6f511c8006
Merge pull request #2943 from DarkLordZach/azure-titlebars-v2
...
ci: Add custom titlebars for mainline and patreon
2019-10-05 19:29:35 -04:00
Zach Hilman
3d4a0b94e3
common: Add additional SCM revision fields
2019-10-05 00:09:49 -04:00
ReinUsesLisp
f4417eab8f
common/file_util: Silence -Wswitch
2019-10-04 23:28:34 +00:00
Fernando Sahmkow
47e4f6a52c
Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.
2019-10-04 18:52:50 -04:00
Fernando Sahmkow
8be6e1c522
shader_ir: Corrections to outward movements and misc stuffs
2019-10-04 18:52:48 -04:00
Zach Hilman
14248685af
cmake: Add SCM detection for Azure
2019-09-22 17:23:10 -04:00
Zach Hilman
470466b31b
log: Add logging class for Cheat Engine
...
This is better than just using something like Common.Filesystem or Common.Memory
2019-09-21 21:44:22 -04:00
ReinUsesLisp
4e35177e23
shader_ir: Implement VOTE
...
Implement VOTE using Nvidia's intrinsics. Documentation about these can
be found here
https://developer.nvidia.com/reading-between-threads-shader-intrinsics
Instead of using portable ARB instructions I opted to use Nvidia
intrinsics because these are the closest we have to how Tegra X1
hardware renders.
To stub VOTE on non-Nvidia drivers (including nouveau) this commit
simulates a GPU with a warp size of one, returning what is meaningful
for the instruction being emulated:
* anyThreadNV(value) -> value
* allThreadsNV(value) -> value
* allThreadsEqualNV(value) -> true
ballotARB, also known as "uint64_t(activeThreadsNV())", emits
VOTE.ANY Rd, PT, PT;
on nouveau's compiler. This doesn't match exactly to Nvidia's code
VOTE.ALL Rd, PT, PT;
Which is emulated with activeThreadsNV() by this commit. In theory this
shouldn't really matter since .ANY, .ALL and .EQ affect the predicates
(set to PT on those cases) and not the registers.
2019-08-21 14:50:38 -03:00
Fernando Sahmkow
febb88efc4
Common/Alignment: Add noexcept where required.
2019-07-19 21:49:54 -04:00
Fernando Sahmkow
024b5fe91a
Kernel: Address Feedback
2019-07-19 11:28:57 -04:00
Fernando Sahmkow
0901c33753
Common: Correct alignment allocator to work on C++14 or higher.
2019-07-19 11:11:42 -04:00
Fernando Sahmkow
9bede4eeed
VM_Manager: Align allocated memory to 256bytes
...
This commit ensures that all backing memory allocated for the Guest CPU
is aligned to 256 bytes. This due to how gpu memory works and the heavy
constraints it has in the alignment of physical memory.
2019-07-19 10:06:08 -04:00
Fernando Sahmkow
8af6e6a052
shader_ir: Implement a new shader scanner
2019-07-09 08:14:36 -04:00
Fernando Sahmkow
3b9d89839d
texture_cache: Address Feedback
2019-07-05 09:46:53 -04:00
ReinUsesLisp
de982deb25
common/alignment: Address feedback
2019-06-24 01:47:09 -03:00
ReinUsesLisp
06c4ce8645
shader: Decode SUST and implement backing image functionality
2019-06-20 21:38:33 -03:00
Fernando Sahmkow
94f2be5473
texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepth
2019-06-20 21:36:12 -03:00
ReinUsesLisp
345e73f2fe
video_core: Use un-shifted block sizes to avoid integer divisions
...
Instead of storing all block width, height and depths in their shifted
form:
block_width = 1U << block_shift;
Store them like they are provided by the emulated hardware (their
block_shift form). This way we can avoid doing the costly
Common::AlignUp operation to align texture sizes and drop CPU integer
divisions with bitwise logic (defined in Common::AlignBits).
2019-06-20 21:36:12 -03:00
Fernando Sahmkow
b347543e83
Reduce amount of size calculations.
2019-06-20 21:36:12 -03:00
Lioncash
969cd6dc1d
common/hex_util: Reserve std::string memory ahead of time
...
Avoids potentially performing multiple reallocations (depending on the
size of the input data) by reserving the necessary amount of memory
ahead of time.
This is trivially doable, so there's no harm in it.
2019-06-12 17:54:11 -04:00
Lioncash
a62088539e
common/hex_util: Combine HexVectorToString() and HexArrayToString()
...
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
2019-06-12 17:54:05 -04:00
ReinUsesLisp
dec1cbaf7f
cmake: Add missing shader hash file entries
2019-06-06 20:11:48 -03:00
Lioncash
1edf018319
common/math_util: Provide a template deduction guide for Common::Rectangle
...
Allows for things such as:
auto rect = Common::Rectangle{0, 0, 0, 0};
as opposed to being required to explicitly write out the underlying
type, such as:
auto rect = Common::Rectangle<int>{0, 0, 0, 0};
The only requirement for the deduction is that all constructor arguments
be the same type.
2019-05-31 04:44:02 -03:00
bunnei
ed74a3cb8b
Merge pull request #1931 from DarkLordZach/mii-database-1
...
mii: Implement MiiManager backend and several mii service commands
2019-05-30 13:26:40 -04:00
Lioncash
e7ab0e9127
common/file_util: Remove unnecessary return at end of void StripTailDirSlashes()
...
While we're at it, also invert the conditional into a guard clause.
2019-05-23 14:33:29 -04:00
Lioncash
11e9bee91d
common/file_util: Make GetCurrentDir() return a std::optional
...
nullptr was being returned in the error case, which, at a glance may
seem perfectly OK... until you realize that std::string has the
invariant that it may not be constructed from a null pointer. This
means that if this error case was ever hit, then the application would
most likely crash from a thrown exception in std::string's constructor.
Instead, we can change the function to return an optional value,
indicating if a failure occurred.
2019-05-23 14:24:13 -04:00
Lioncash
943f6da1ac
common/file_util: Remove duplicated documentation comments
...
These are already present within the header, so they don't need to be
repeated in the cpp file.
2019-05-23 14:22:12 -04:00
Lioncash
2b1fcc8a14
common/file_util: Make ReadFileToString and WriteStringToFile consistent
...
Makes the parameter ordering consistent, and also makes the filename
parameter a std::string. A std::string would be constructed anyways with
the previous code, as IOFile's only constructor with a filepath is one
taking a std::string.
We can also make WriteStringToFile's string parameter utilize a
std::string_view for the string, making use of our previous changes to
IOFile.
2019-05-23 13:52:43 -04:00
Lioncash
e3b2539986
common/file_util: Remove unnecessary c_str() calls
...
The file stream open functions have supported std::string overloads
since C++11, so we don't need to use c_str() here. Same behavior, less
code.
2019-05-23 13:37:47 -04:00
Lioncash
8cd3d9be26
common/file_util: Make IOFile's WriteString take a std::string_view
...
We don't need to force the usage of a std::string here, and can instead
use a std::string_view, which allows writing out other forms of strings
(e.g. C-style strings) without any unnecessary heap allocations.
2019-05-23 13:35:31 -04:00
Lioncash
a6f7a44aab
common/zstd_compression: Remove #pragma once directive from source file
...
Introduced in 72477731ed
. This is only
necessary within header files.
2019-05-04 01:54:29 -04:00
Zach Hilman
1aa2b99a98
mii: Implement Delete and Destroy file
2019-04-25 08:07:57 -04:00
Zach Hilman
f0db2e3ef3
mii_manager: Cleanup and optimization
2019-04-25 08:07:57 -04:00
Zach Hilman
ca5638a142
common: Extract UUID to its own class
...
Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
2019-04-25 08:07:57 -04:00
Lioncash
4620ed47a3
common/{lz4_compression, zstd_compression}: Add missing header guards
...
These two files were missing the #pragma once directive.
2019-04-15 13:00:08 -04:00
bunnei
b42595fa6b
Merge pull request #2391 from lioncash/scope
...
common/scope_exit: Replace std::move with std::forward in ScopeExit()
2019-04-12 21:52:35 -04:00
Lioncash
0d8ef2d3b9
common/swap: Improve codegen of the default swap fallbacks
...
Uses arithmetic that can be identified more trivially by compilers for
optimizations. e.g. Rather than shifting the halves of the value and
then swapping and combining them, we can swap them in place.
e.g. for the original swap32 code on x86-64, clang 8.0 would generate:
mov ecx, edi
rol cx, 8
shl ecx, 16
shr edi, 16
rol di, 8
movzx eax, di
or eax, ecx
ret
while GCC 8.3 would generate the ideal:
mov eax, edi
bswap eax
ret
now both generate the same optimal output.
MSVC used to generate the following with the old code:
mov eax, ecx
rol cx, 8
shr eax, 16
rol ax, 8
movzx ecx, cx
movzx eax, ax
shl ecx, 16
or eax, ecx
ret 0
Now MSVC also generates a similar, but equally optimal result as clang/GCC:
bswap ecx
mov eax, ecx
ret 0
====
In the swap64 case, for the original code, clang 8.0 would generate:
mov eax, edi
bswap eax
shl rax, 32
shr rdi, 32
bswap edi
or rax, rdi
ret
(almost there, but still missing the mark)
while, again, GCC 8.3 would generate the more ideal:
mov rax, rdi
bswap rax
ret
now clang also generates the optimal sequence for this fallback as well.
This is a case where MSVC unfortunately falls short, despite the new
code, this one still generates a doozy of an output.
mov r8, rcx
mov r9, rcx
mov rax, 71776119061217280
mov rdx, r8
and r9, rax
and edx, 65280
mov rax, rcx
shr rax, 16
or r9, rax
mov rax, rcx
shr r9, 16
mov rcx, 280375465082880
and rax, rcx
mov rcx, 1095216660480
or r9, rax
mov rax, r8
and rax, rcx
shr r9, 16
or r9, rax
mov rcx, r8
mov rax, r8
shr r9, 8
shl rax, 16
and ecx, 16711680
or rdx, rax
mov eax, -16777216
and rax, r8
shl rdx, 16
or rdx, rcx
shl rdx, 16
or rax, rdx
shl rax, 8
or rax, r9
ret 0
which is pretty unfortunate.
2019-04-12 00:07:39 -04:00
Lioncash
66b73fd399
common/swap: Mark byte swapping free functions with [[nodiscard]] and noexcept
...
Allows the compiler to inform when the result of a swap function is
being ignored (which is 100% a bug in all usage scenarios). We also mark
them noexcept to allow other functions using them to be able to be
marked as noexcept and play nicely with things that potentially inspect
"nothrowability".
2019-04-11 20:42:44 -04:00
Lioncash
9cb4b7be40
common/swap: Simplify swap function ifdefs
...
Including every OS' own built-in byte swapping functions is kind of
undesirable, since it adds yet another build path to ensure compilation
succeeds on.
Given we only support clang, GCC, and MSVC for the time being, we can
utilize their built-in functions directly instead of going through the
OS's API functions.
This shrinks the overall code down to just
if (msvc)
use msvc's functions
else if (clang or gcc)
use clang/gcc's builtins
else
use the slow path
2019-04-11 20:36:19 -04:00
Lioncash
598954436f
common/swap: Remove 32-bit ARM path
...
We don't plan to support host 32-bit ARM execution environments, so this
is essentially dead code.
2019-04-11 20:15:47 -04:00
Lioncash
b569641098
common/scope_exit: Replace std::move with std::forward in ScopeExit()
...
The template type here is actually a forwarding reference, not an rvalue
reference in this case, so it's more appropriate to use std::forward to
preserve the value category of the type being moved.
2019-04-11 20:01:33 -04:00
bunnei
f14328bf0a
Merge pull request #2300 from FernandoS27/null-shader
...
shader_cache: Permit a Null Shader in case of a bad host_ptr.
2019-04-07 17:58:27 -04:00
bunnei
21a4e7deea
Merge pull request #2098 from FreddyFunk/disk-cache-zstd
...
gl_shader_disk_cache: Use Zstandard for compression
2019-04-07 17:48:33 -04:00
Fernando Sahmkow
021cd56bc9
Permit a Null Shader in case of a bad host_ptr.
2019-04-07 07:52:01 -04:00
Lioncash
93b84e9308
common/multi_level_queue: Silence truncation warning in iterator operator++
2019-04-05 15:35:46 -04:00
Lioncash
33db37e669
common/bit_util: Make CountLeading/CountTrailing functions have the same return types
...
Makes the return type consistently uniform (like the intrinsics we're
wrapping). This also conveniently silences a truncation warning within
the kernel multi_level_queue.
2019-04-05 15:29:40 -04:00
Lioncash
0e2f617abc
common/lz4_compression: Remove #pragma once directive from the cpp file
...
Introduced within 798d76f4c7
, this only
really has an effect within header files.
Silences a -Wpragma-once-outside-header warning with clang.
2019-04-03 22:07:04 -04:00
bunnei
d6374b2522
Merge pull request #2093 from FreddyFunk/disk-cache-better-compression
...
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
2019-04-03 21:50:29 -04:00
Lioncash
781ab8407b
general: Use deducation guides for std::lock_guard and std::unique_lock
...
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
2019-04-01 12:53:47 -04:00
bunnei
a89266bc5e
Merge pull request #2303 from lioncash/thread
...
common/thread: Remove unused functions
2019-03-30 20:10:32 -04:00
Lioncash
394095438a
common/thread: Remove unused functions
...
Many of these functions are carried over from Dolphin (where they aren't
used anymore). Given these have no use (and we really shouldn't be
screwing around with OS-specific thread scheduler handling from the
emulator, these can be removed.
The function for setting the thread name is left, however, since it can
have debugging utility usages.
2019-03-29 13:26:21 -04:00
unknown
b4857e326f
common/zstd_compression: simplify decompression interface
2019-03-29 18:22:08 +01:00
unknown
72477731ed
common/zstd_compression: Add Zstandard wrapper
2019-03-29 18:22:08 +01:00
unknown
ca82589350
common: Link libzstd_static
2019-03-29 18:22:07 +01:00
unknown
c791192d64
Addressed feedback
2019-03-29 18:12:42 +01:00
unknown
74cee1b65d
gl_shader_disk_cache: Use better compression for transferable and precompiled shader disk chache files
2019-03-29 16:42:19 +01:00
unknown
798d76f4c7
data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression
2019-03-29 16:42:19 +01:00
Fernando Sahmkow
db42bcb306
Fixes and corrections on formatting.
2019-03-27 14:49:43 -04:00
Fernando Sahmkow
f35e09fe0d
Fixes to multilevelqueue's iterator.
2019-03-27 14:34:33 -04:00
Fernando Sahmkow
dde0814837
Use MultiLevelQueue instead of old ThreadQueueList
2019-03-27 14:34:32 -04:00
Fernando Sahmkow
3bc815a5dc
Implement intrinsics CountTrailingZeroes and test it.
2019-03-27 14:34:29 -04:00
Fernando Sahmkow
522957f9f3
Implement a MultiLevelQueue
2019-03-27 14:33:44 -04:00
bunnei
e5893db3e6
Merge pull request #2256 from bunnei/gpu-vmm
...
gpu: Rewrite MemoryManager based on the VMManager implementation.
2019-03-22 18:41:12 -04:00
Lioncash
109b78a6d6
common/bit_util: Fix bad merge duplicating the copy constructor
...
Introduced as a result of #2090 , we already define the copy constructor
further down below, so this isn't needed.
2019-03-20 23:48:37 -04:00
bunnei
3e930304fe
Merge pull request #2090 from FearlessTobi/port-4599
...
Port citra-emu/citra#4244 and citra-emu/citra#4599 : Changes to BitField
2019-03-20 23:44:20 -04:00
Lioncash
f2c41ba256
common/uint128: Add missing header guard
2019-03-20 22:39:00 -04:00
Lioncash
b0d70096a1
common/uint128: Add missing top-file source text
2019-03-20 22:38:25 -04:00
bunnei
22d3dfbcd4
gpu: Rewrite virtual memory manager using PageTable.
2019-03-20 22:36:02 -04:00
bunnei
241563d15c
gpu: Move GPUVAddr definition to common_types.
2019-03-20 22:36:02 -04:00
Lioncash
1b6adb5308
common/CMakeLists: Amend boost dependency
...
When #2247 was created, thread_queue_list.h was the only user of
boost-related code, however #2252 moved the page table struct into
common, which makes use of Boost.ICL, so we need to add the dependency
to the common library's link interface again.
2019-03-20 21:42:13 -04:00
bunnei
e8ff8a66b0
Merge pull request #2247 from lioncash/include
...
common/thread_queue_list: Remove unnecessary dependency on boost
2019-03-20 21:34:12 -04:00
bunnei
93da8e0abf
core: Move PageTable struct into Common.
2019-03-16 22:05:40 -04:00
bunnei
059465d496
Merge pull request #2129 from FernandoS27/cntpct
...
Correct CNTPCT from using CPU Cycles to using Clock Cycles
2019-03-16 21:58:59 -04:00
Lioncash
f71c598907
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-16 05:01:39 -04:00
bunnei
633ce92908
Merge pull request #2147 from ReinUsesLisp/texture-clean
...
shader_ir: Remove "extras" from the MetaTexture
2019-03-10 17:28:36 -04:00
Lioncash
e99a148628
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-07 17:05:44 -05:00
Lioncash
f8f1ff0b4f
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-02 14:44:24 -05:00
Lioncash
43c1092031
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-02 14:44:24 -05:00
Lioncash
b9238edd0d
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-02-27 03:38:39 -05:00
Lioncash
1b855efd5e
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-02-26 22:38:36 -05:00
Lioncash
a1574aabd5
common/quaternion: Move Quaternion into the Common namespace
...
Quaternion is within the common library, so it should be using the
Common namespace.
2019-02-26 22:31:17 -05:00
ReinUsesLisp
48e6f77c03
shader/decode: Split memory and texture instructions decoding
2019-02-26 00:11:30 -03:00
tgsm
030814b1cb
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-24 15:24:06 +01:00
Fernando Sahmkow
a8d4927e29
Corrections, documenting and fixes.
2019-02-16 16:52:24 -04:00
Fernando Sahmkow
ecccfe0337
Use u128 on Clock Cycles calculation.
2019-02-15 22:57:16 -04:00
Fernando Sahmkow
3ea48e8ebe
Implement 128 bits Unsigned Integer Multiplication and Division.
2019-02-15 22:55:31 -04:00
B3n30
2195f10d15
Adressed review comments
2019-02-15 22:14:54 +01:00
B3n30
4154936568
threadsafe_queue: Add WaitIfEmpty and use it in logging
2019-02-15 22:12:54 +01:00
bunnei
fcc3aa0bbf
Merge pull request #2113 from ReinUsesLisp/vulkan-base
...
vulkan: Add dependencies and device abstraction
2019-02-14 10:06:48 -05:00
fearlessTobi
efd83570bd
Make bitfield assignment operator public
...
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.
The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
2019-02-13 21:15:15 +01:00
Lioncash
0829ef97ca
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-12 22:39:53 -05:00
Lioncash
f0bfb24c61
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-12 22:09:51 -05:00
ReinUsesLisp
b12ab4d805
logging: Add Vulkan backend logging class type
2019-02-12 18:33:02 -03:00
ReinUsesLisp
dfd14618f7
cmake: Fix title bar issue
2019-02-06 22:23:41 -03:00
Frederic L
8ff2ce5207
cmake: Use CMAKE_COMMAND instead of "cmake"
...
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-02-06 22:23:41 -03:00
ReinUsesLisp
be4641c43f
gl_shader_disk_cache: Invalidate shader cache changes with CMake hash
2019-02-06 22:20:57 -03:00
ReinUsesLisp
84412591c9
file_util: Add shader directory
2019-02-06 22:20:57 -03:00
Weiyi Wang
6b81ceb060
common/bitfield: make it endianness-aware
2019-02-06 17:29:39 +01:00
Weiyi Wang
71530781f3
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-02-06 17:24:27 +01:00
Weiyi Wang
6734c64976
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-02-06 17:24:13 +01:00
Weiyi Wang
94bc48dd78
common/swap: add swap template for enum
2019-02-06 17:21:15 +01:00
bunnei
795335af0f
Merge pull request #1928 from lioncash/caps
...
kernel: Handle kernel capability descriptors
2018-12-27 11:15:34 -05:00
Lioncash
acddf16e57
common/quaternion: Ensure that w is always initialized
...
Previously xyz was always being zero initialized due to its constructor,
but w wasn't. Ensures that we always have a deterministic initial state.
2018-12-21 15:25:31 -05:00
Lioncash
fc8da2d5e3
common: Add basic bit manipulation utility function to Common
2018-12-21 07:04:18 -05:00
bunnei
2f2fc47af2
Merge pull request #1732 from DarkLordZach/yield-types
...
svc: Implement yield types 0 and -1
2018-12-15 00:28:12 -05:00
Tobias
eb15711ee6
Backport review comment from citra-emu/citra#4418
...
Original reason:
As Windows multi-byte character codec is unspecified while we always assume std::string uses UTF-8 in our code base, this can output gibberish when the string contains non-ASCII characters. ::OutputDebugStringW combined with Common::UTF8ToUTF16W is preferred here.
2018-12-07 16:21:18 +01:00
bunnei
24dfb43ac6
Merge pull request #1773 from lioncash/thread
...
common/thread: Minor cleanup
2018-11-23 08:52:05 -08:00
Lioncash
1bf5a337a5
common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter
...
This is inconsistent with our coding style.
2018-11-22 00:40:26 -05:00
Zach Hilman
820d81b9a5
scheduler: Add explanations for YieldWith and WithoutLoadBalancing
2018-11-22 00:33:53 -05:00
Lioncash
93f7677402
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-21 21:47:08 -05:00
Lioncash
756e773096
common/thread: Initialize class member variables where applicable
...
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-21 21:45:01 -05:00
Lioncash
02602afd10
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-21 21:42:33 -05:00
Lioncash
d6583d68f6
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-21 21:40:11 -05:00
Lioncash
1d555fdd25
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-21 21:37:11 -05:00
Lioncash
8b27e73bd7
common: Remove bit_set.h
...
This is an analog of BitSet from Dolphin that was introduced to allow
iterating over a set of bits. Given it's currently unused, and given
that std::bitset exists, we can remove this. If it's ever needed in the
future it can be brought back.
2018-11-21 21:30:10 -05:00
bunnei
8cdb48224d
Merge pull request #1758 from lioncash/rect
...
common/math_util: Minor cleanup
2018-11-21 08:05:39 -08:00
Lioncash
3533d33ff5
common: Remove dependency on xbyak
...
Xbyak is currently entirely unused. Rather than carting it along, remove
it and get rid of a dependency. If it's ever needed in the future, then
it can be re-added (and likely be more up to date at that point in
time).
2018-11-21 03:43:41 -05:00
Lioncash
45211a7a91
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-21 02:08:18 -05:00
Lioncash
f11173f88c
common/math_util: Make Rectangle's constructors constexpr
...
Allows objects that contain rectangle instances to be constexpr
constructible as well.
2018-11-21 02:08:18 -05:00
Lioncash
cc0801745a
common/math_util: Remove unnecessary static from PI
...
const/constexpr variables have internal linkage by default.
2018-11-21 02:08:18 -05:00
Lioncash
74fd0aa2e8
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-21 02:08:15 -05:00
Lioncash
9dcc229dfe
common/assert: Add UNIMPLEMENTED_IF and UNIMPLEMENTED_IF_MSG for conditional assertions
...
Currently, there's no way to specify if an assertion should
conditionally occur due to unimplemented behavior. This is useful when
something is only partially implemented (e.g. due to ongoing RE work).
In particular, this would be useful within the graphics code.
The rationale behind this is it allows a dev to disable unimplemented
feature assertions (which can occur in an unrelated work area), while
still enabling regular assertions, which act as behavior guards for
conditions or states which must not occur. Previously, the only way a
dev could temporarily disable asserts, was to disable the regular
assertion macros, which has the downside of also disabling, well, the
regular assertions which hold more sanitizing value, as opposed to
unimplemented feature assertions.
2018-11-20 18:15:37 -05:00
Lioncash
aaec85df9e
common/assert: Make the UNIMPLEMENTED macro properly assert
...
Currently, this was only performing a logging call, which doesn't
actually invoke any assertion behavior. This is unlike
UNIMPLEMENTED_MSG, which *does* assert.
This makes the expected behavior uniform across both macros.
2018-11-20 17:59:00 -05:00
Zach Hilman
409dcf0e0a
svc: Implement yield types 0 and -1
2018-11-18 23:44:19 -05:00
Zach Hilman
e696ed1f4d
am: Deglobalize software keyboard applet
2018-11-18 10:53:47 -05:00
Zach Hilman
c70529c1ec
string_util: Implement buffer to UTF-16 string helper function
...
Needed as most all software keyboard functions use fixed-length UTF16 string buffers.
2018-11-18 10:53:47 -05:00
Weiyi Wang
786995a81e
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-16 15:49:57 +01:00
Lioncash
c7387e6504
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-13 18:14:11 -05:00
Lioncash
f1219e3a87
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-13 18:13:45 -05:00
Lioncash
9bc18eada8
string_util: Remove ThousandSeparate()
...
This is currently unused and doesn't really provide much value to keep
around either.
2018-11-13 14:04:26 -05:00
bunnei
e10483a878
Merge pull request #1441 from CarlKenner/DebuggerLog
...
logging: Add DebuggerBackend for logging to Visual Studio
2018-11-05 00:19:59 -05:00
fearlessTobi
585b6a6a50
compatdb: Use a seperate endpoint for testcase submission
2018-10-28 13:23:02 +01:00
Lioncash
f80b80b922
logging/backend: Add missing services to the log filters
...
Just a few overlooked services.
2018-10-23 22:35:59 -04:00
Lioncash
1291f3f820
common: Remove memory_util.cpp/.h
...
Everything from here is completely unused and also written with the
notion of supporting 32-bit architecture variants in mind. Given the
Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
architectures. If we need specific allocation functions in the future,
it's likely more worthwhile to new functions for that purpose.
2018-10-23 12:21:34 -04:00
Weiyi Wang
2ff2732a78
only redefine 64 bit file operation for MSVC
...
MinGW provides POSIX functions
2018-10-23 15:11:18 +02:00
Zach Hilman
3b8c0f8885
service: Add skeleton for psm service
...
Seems to be the power controller. Listed in switchbrew under the category PTM services.
2018-10-20 18:01:07 -04:00
Lioncash
541e9624eb
common: Add function for checking word alignment to alignment.h
...
This will be used in a following change to svcArbitrateLock() and
svcArbitrateUnlock()
2018-10-18 12:58:27 -04:00
Lioncash
d27f4a4928
common: Move Is4KBAligned() to alignment.h
...
Aligning on 4KB pages isn't a Switch-specific thing, so this can be
moved to common so it can be used with other things as well.
2018-10-18 12:57:02 -04:00
Lioncash
183a664405
web_backend: Make Client use the PImpl idiom
...
Like with TelemetryJson, we can make the implementation details private
and avoid the need to expose httplib to external libraries that need to
use the Client class.
2018-10-10 22:29:35 -04:00
bunnei
6b48ba5271
Merge pull request #1424 from DarkLordZach/ips-witch
...
ips_layer: Add support for IPSwitch executable patches
2018-10-08 12:30:33 -04:00
bunnei
6f420a40cf
Merge pull request #1453 from FearlessTobi/port-4311
...
Port citra-emu/citra#4311 : "Remove "#" in the version number"
2018-10-06 23:12:58 -04:00
Carl Kenner
f5f6292810
logging: Add DebuggerBackend for logging to Visual Studio
2018-10-07 13:24:04 +10:30
fearlessTobi
8e6311bfd2
Remove "#" in the version number
...
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-06 15:51:37 +02:00
zhupengfei
690f326613
citra_qt/configuration: misc input tab improvements
...
* Added a context menu on the buttons including Clear & Restore Default
* Allow clearing (unsetting) inputs. Added a Clear All button
* Allow restoring a single input to default (instead of all)
2018-10-06 15:43:49 +02:00
bunnei
b8b90ce6e6
Merge pull request #1332 from FearlessTobi/port-web-backend
...
Port web_service from Citra
2018-10-06 02:43:09 -04:00
bunnei
fe292573de
Merge pull request #1442 from lioncash/format
...
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
2018-10-05 10:48:58 -04:00
Lioncash
6f16826260
text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
...
operator+ for std::string creates an entirely new string, which is kind
of unnecessary here if we just want to append a null terminator to the
existing one.
Reduces the total amount of potential allocations that need to be done
in the logging path.
2018-10-04 23:55:53 -04:00
Zach Hilman
70bd2bb1d3
ips_layer: Deduplicate resource usage
2018-10-04 11:34:36 -04:00
Zach Hilman
f62227aa95
hex_util: Add HexVectorToString and HexStringToVector
...
Converts between bytes and strings when the size is not known at compile time.
2018-10-04 11:32:04 -04:00
Weiyi Wang
fdb35760a7
string_util: unify UTF8<->UTF16 conversion to codecvt
2018-10-02 16:10:34 +02:00
Weiyi Wang
bfe84f06f2
string_util: remove TString conversion for windows
...
First of all they are foundamentally broken. As our convention is that std::string is always UTF-8, these functions assume that the multi-byte character version of TString (std::string) from windows is also in UTF-8, which is almost always wrong. We are not going to build multi-byte character build, and even if we do, this dirty work should be handled by frontend framework early.
2018-10-02 16:10:20 +02:00
Weiyi Wang
a4595bb939
string_util: remove ShiftJIS/CP1252 conversion function
...
We always use unicode internally. Any dirty work of conversion with other codec should be handled by frontend framework (Qt). Further more, ShiftJIS/CP1252 are not special (they are not code set used by 3ds, or any guest/host dependencies we have), so there is no reason to specifically include them
2018-10-02 16:10:01 +02:00
fearlessTobi
e4daf4bee5
Review comments - part 5
2018-10-02 16:04:10 +02:00
fearlessTobi
b4ace6ec6f
Address a bunch of review comments
2018-10-02 15:30:48 +02:00
fearlessTobi
4d139943f2
Port web_service from Citra
2018-10-02 15:30:48 +02:00
bunnei
7b81e1e525
Merge pull request #1365 from DarkLordZach/lfs
...
file_sys: Add support for LayeredFS mods
2018-09-25 16:59:44 -04:00
David
2513e086ab
Stubbed IRS ( #1349 )
...
* Stubbed IRS
Currently we have no ideal way of implementing IRS. For the time being we should have the functions stubbed until we come up with a way to emulate IRS properly.
* Added IRS to logging backend
* Forward declared shared memory for irs
2018-09-23 22:33:29 -04:00
Weiyi Wang
e0ce07aa7d
common/thread: remove YieldCPU()
...
simply use the standard library yield()
2018-09-22 23:27:42 +02:00
Zach Hilman
bd8db3f7f8
common_paths: Add Load and Dump dirs
2018-09-21 19:53:05 -04:00
Lioncash
ab6dfa4fa5
ring_buffer: Use std::atomic_size_t in a static assert
...
Avoids the need to repeat "std::" twice
2018-09-18 23:36:04 -04:00
Lioncash
c51f8563a6
ring_buffer: Use std::hardware_destructive_interference_size to determine alignment size for avoiding false sharing
...
MSVC 19.11 (A.K.A. VS 15.3)'s C++ standard library implements P0154R1
(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html )
which defines two new constants within the <new> header, std::hardware_destructive_interference_size
and std::hardware_constructive_interference_size.
std::hardware_destructive_interference_size defines the minimum
recommended offset between two concurrently-accessed objects to avoid
performance degradation due to contention introduced by the
implementation (with the lower-bound being at least alignof(max_align_t)).
In other words, the minimum offset between objects necessary to avoid
false-sharing.
std::hardware_constructive_interference_size on the other hand defines
the maximum recommended size of contiguous memory occupied by two
objects accessed wth temporal locality by concurrent threads (also
defined to be at least alignof(max_align_t)). In other words the maximum
size to promote true-sharing.
So we can simply use this facility to determine the ideal alignment
size. Unfortunately, only MSVC supports this right now, so we need to
enclose it within an ifdef for the time being.
2018-09-18 23:35:57 -04:00
fearlessTobi
63c2e32e20
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
MerryMage
112351d557
common: Implement a ring buffer
2018-09-08 18:56:38 +01:00
CaptV0rt3x
e3af341d5b
Better Title Bar Display
2018-09-07 11:54:51 +05:30
Lioncash
6ef84f1c4c
common/logging: Amend documentation comments
...
Multi-line doc comments still need the '<' after the ///, otherwise it's
treated as a regular comment and makes the original doc comment broken
in viewers, IDEs, etc. While we're at it, also fix some typos in the
comments.
2018-09-04 10:49:08 -04:00
Lioncash
2949d9552c
common/logging/filter: Replace C-style case with C++ static_cast
2018-09-04 10:44:36 -04:00
Lioncash
978f3a3282
common/logging/filter: Make constructor explicit
...
Implicit conversions aren't desirable here.
2018-09-04 10:43:31 -04:00
bunnei
2562fe4a16
Merge pull request #1170 from lioncash/ret
...
file_util: Correct return value in early exit of ReadFileToString()
2018-08-27 18:18:31 -04:00
Lioncash
c74b7ee204
file_util: Correct return value in early exit of ReadFileToString()
...
While still essentially being zero, we should be returning a numeric
value here, not a boolean typed value.
2018-08-24 02:20:02 -04:00
Zach Hilman
06487c2c8d
hex_util: Replace logic_errors with LOG_CRITICAL
...
Makes it so malformed hex strings do not crash the entire program.
2018-08-23 14:44:51 -04:00
Lioncash
5a53d75313
logging/text_formatter: Use empty braces for initializing CONSOLE_SCREEN_BUFFER_INFO instance
...
The previous form of initializing done here is a C-ism, an empty set of
braces is sufficient for initializing (and doesn't potentially cause
missing brace warnings, given the first member of the struct is a COORD
struct).
2018-08-21 11:31:05 -04:00
Lioncash
36090521ce
bit_field: Convert ToBool() into explicit operator bool
...
Gets rid of a TODO that is long overdue.
2018-08-21 06:39:45 -04:00
bunnei
b1d238bbb8
Merge pull request #1064 from lioncash/telemetry
...
common/telemetry: Migrate core-independent info gathering to common
2018-08-20 19:43:17 -04:00
Lioncash
b39cd70cd4
common: Namespace hex_util.h/.cpp
...
It's in the common code, so it should be under the Common namespace like
everything else.
2018-08-15 23:24:00 -04:00
bunnei
c594ec3417
Merge pull request #1005 from DarkLordZach/registered-fmt
...
file_sys: Add support for registration format
2018-08-15 23:11:58 -04:00
bunnei
f009ed63f3
Merge pull request #1063 from lioncash/inline
...
common/xbyak_abi: Mark defined functions in header as inline
2018-08-14 22:40:23 -04:00
bunnei
ad7815a28d
Merge pull request #1054 from zhaowenlan1779/misc-fixup
...
common/misc: use windows.h
2018-08-14 21:47:28 -04:00
Lioncash
60f476cd8f
common/telemetry: Migrate core-independent info gathering to common
...
Previously core itself was the library containing the code to gather
common information (build info, CPU info, and OS info), however all of
this isn't core-dependent and can be moved to the common code and use
the common interfaces. We can then just call those functions from the
core instead.
This will allow replacing our CPU detection with Xbyak's which has
better detection facilities than ours. It also keeps more
architecture-dependent code in common instead of core.
2018-08-14 18:57:46 -04:00
Lioncash
6d549abb4e
common/xbyak_abi: Mark defined functions in header as inline
...
Avoids potential One Definition Rule violations when these are used in
the future.
2018-08-14 18:29:56 -04:00
Lioncash
0ce0905380
common/xbyak: Use nested namespace specifiers where applicable
2018-08-14 18:27:27 -04:00
Lioncash
11895d54af
common: Remove unused old breakpoint source files
...
These currently aren't used and contain commented out source code that
corresponds to Dolphin's JIT. Given our CPU code is organized quite
differently, we shouldn't be keeping this around (at the moment it just
adds to compile times marginally).
2018-08-14 18:14:01 -04:00
Lioncash
bc7bfd96f0
logging/backend: Use const reference to refer to log filter
...
The filter is returned via const reference, so this was making a
pointless copy of the entire filter every time a message was being
pushed into the logger instance.
2018-08-13 21:44:55 -04:00
Zhu PengFei
59d18ef55b
common/misc: use windows.h
...
linux-mingw does not really like this.
2018-08-14 04:28:24 +08:00
Lioncash
11470f331a
thread_queue_list: Make contains() and get_first() const member functions
...
These don't directly modify the contained data.
2018-08-12 12:54:14 -04:00
Lioncash
55c73e10a7
thread_queue_list: Convert typedef to a type alias
2018-08-12 12:47:11 -04:00
Zach Hilman
167bfddafa
file_sys: Comply to style guidelines
2018-08-11 22:50:48 -04:00
Zach Hilman
b70a831608
file_util: Add getter for NAND registration directory
2018-08-11 22:50:08 -04:00
Zach Hilman
10aac376d1
common: Move hex string processing to separate file
2018-08-11 22:50:08 -04:00
bunnei
a91bb7080d
Merge pull request #989 from lioncash/log
...
common/logging: Add missing service log categories
2018-08-09 19:30:14 -04:00
bunnei
96ef22d3d0
Merge pull request #897 from DarkLordZach/vfs-accuracy-2
...
vfs: Add VfsFilesystem and fix RealVfs* implementations
2018-08-09 19:22:06 -04:00
bunnei
5c908c0373
Merge pull request #988 from lioncash/color
...
common/color: Minor cleanup
2018-08-09 00:37:32 -04:00
Zach Hilman
2b6128fe0b
file_util: Use enum instead of bool for specifing path behavior
2018-08-08 21:18:45 -04:00
Zach Hilman
3f82dad1e4
file_util: Add platform-specific slash option to SanitizePath
2018-08-08 21:18:45 -04:00
Lioncash
6e90f0bf6a
common/logging: Add missing service log categories
...
These weren't added when the services were introduced.
2018-08-08 16:46:28 -04:00
Lioncash
5a9c00ea04
common/color: Remove unnecessary const qualifiers on return types
...
These are just superfluous and not necessesary
2018-08-08 16:17:41 -04:00
Lioncash
76197a4be9
common/color: Get rid of undefined behavior
...
Gets rid of type punning via reinterpret_cast within functions. Instead,
we use memcpy to transfer the contents across types.
2018-08-08 16:14:37 -04:00
Lioncash
cc9d7bbf01
vector_math: Use variable template version of is_signed in Vec classes
...
Same behavior, less code
2018-08-08 15:53:42 -04:00
bunnei
d224eb7c39
Merge pull request #966 from lioncash/modernize
...
common: Convert type traits templates over to variable template versions where applicable
2018-08-08 15:28:34 -04:00
bunnei
507e6ae100
Merge pull request #968 from lioncash/vec
...
vector_math: Minor cleanups
2018-08-08 12:00:13 -04:00
Lioncash
766c1a2d50
vector_math: Remove unimplemented function prototypes
2018-08-07 21:33:48 -04:00
Lioncash
5c323d96e0
vector_math: Make functions constexpr where applicable
2018-08-07 21:32:05 -04:00
Lioncash
4e3bc37791
vector_math: Convert typedefs to type aliases
2018-08-07 21:15:10 -04:00
Lioncash
a7d6efc520
common: Convert type traits templates over to variable template versions where applicable
...
Uses the C++17 inline variable variants
2018-08-07 19:34:47 -04:00
Lioncash
0735a0c8a1
file_util: Avoid sign-conversions in WriteArray() and ReadArray()
...
Prevents compiler warnings.
2018-08-07 13:51:37 -04:00
Lioncash
45bc449ff9
service: Add usb services
...
Adds basic skeleton for the usb services based off the information provided by Switch Brew.
2018-08-07 03:14:03 -04:00
Lioncash
de72956181
service: Add arp services
...
Adds the basic skeleton of the arp services based off the information
provided by Switch Brew.
2018-08-04 18:01:12 -04:00
bunnei
2b06301dbf
Merge pull request #849 from DarkLordZach/xci
...
XCI and Encrypted NCA Support
2018-08-04 14:33:11 -04:00
bunnei
40e78b9a89
Merge pull request #898 from lioncash/mig
...
service: Add migration services
2018-08-03 11:00:27 -04:00
bunnei
ef9433411d
Merge pull request #900 from lioncash/init
...
math_util: Always initialize members of Rectangle
2018-08-03 11:00:10 -04:00
Lioncash
f2a03468b1
math_util: Always initialize members of Rectangle
...
Prevents potentially using the members uninitialized.
2018-08-02 10:47:34 -04:00
Lioncash
7469e26e5e
service: Add migration services
...
Adds the basic skeleton for the mig:usr service based off information
provided by Switch Brew.
2018-08-02 10:09:45 -04:00
Lioncash
42c5171322
logging/log: Remove incorrect description in PCV doc comment
...
PCV isn't the parental control service.
2018-08-01 23:31:31 -04:00
Lioncash
5233040ab4
service: Add psc services
...
Adds the basic skeleton for the psc services based off the information
provided by Switch Brew.
2018-08-01 23:31:27 -04:00
bunnei
746d7d4d28
Merge pull request #888 from lioncash/caps
...
service: Add capture services
2018-08-01 21:34:28 -04:00
Lioncash
e39294c267
service: Add capture services
...
Adds the basic skeleton for the capture services based off information
provided by Switch Brew.
2018-08-01 16:45:51 -04:00
Lioncash
d109279543
service: Add bpc and pcv services
...
Adds the basic skeleton for the remaining pcv-related services based off
information on Switch Brew.
2018-08-01 16:13:04 -04:00
Zach Hilman
150527ec19
Allow key loading from %YUZU_DIR%/keys in addition to ~/.switch
2018-08-01 00:16:54 -04:00
Zach Hilman
cc8234fa89
Use SHGetKnownFolderPath instead of SHGetFolderPathA
2018-08-01 00:16:54 -04:00
Zach Hilman
22342487e8
Extract mbedtls to cpp file
2018-08-01 00:16:54 -04:00
Zach Hilman
df5b75694f
Remove files that are not used
2018-08-01 00:16:54 -04:00
bunnei
0a2b219a31
Merge pull request #864 from FearlessTobi/port-3973
...
Port #3973 from Citra: "Remove polymorphism issue"
2018-07-31 09:34:23 -07:00
bunnei
fd020ad52a
Merge pull request #875 from lioncash/fgm
...
service: Add fgm services
2018-07-31 09:23:17 -07:00
Lioncash
268eeeb406
service: Add fgm services
...
Adds the basic skeleton for the fgm services based off the information
provided by Switch Brew.
2018-07-31 08:01:19 -04:00
Lioncash
e373027a73
service: Add the pcie service
...
Adds the basic skeleton of the pcie service based off information on
Switch Brew.
2018-07-31 06:40:21 -04:00
Tobias
420f8fb29e
Port #3758 from Citra ( #852 ): Add missing std::string import in text_formatter
2018-07-30 16:03:47 -07:00
bunnei
05ee92a357
Merge pull request #861 from FearlessTobi/port-3972
...
Port #3972 from Citra: "common/timer: use std::chrono, avoid platform-dependent code"
2018-07-30 14:13:56 -07:00
bunnei
e6b08b2209
Merge pull request #862 from FearlessTobi/port-3997
...
Port #3997 from Citra: "common/string_utils: replace boost::transform with std counterpart"
2018-07-30 14:13:34 -07:00
bunnei
f8094c2617
Merge pull request #865 from FearlessTobi/port-3732
...
Port #3732 from Citra: "common: Fix compilation on ARM"
2018-07-30 10:07:45 -07:00
bunnei
c5fa3560a6
Merge pull request #857 from lioncash/wlan
...
service: Add wlan services
2018-07-30 10:06:52 -07:00
Cameron Cawley
1670c4421f
Port #3732 from Citra: "common: Fix compilation on ARM"
2018-07-29 15:51:31 +02:00
B3n30
6e5f83ee24
remove polymorphism issue
2018-07-29 15:24:41 +02:00
zhupengfei
ff510157d8
common/string_utils: replace boost::transform with std counterpart
...
Note: according to cppreference it is necessary to convert char to unsigned char when using std::tolower and std::toupper, otherwise the behaviour would be undefined.
2018-07-29 15:05:43 +02:00
zhupengfei
38a1113674
Port #3972 from Citra: "common/timer: use std::chrono, avoid platform-dependent code"
2018-07-29 14:58:30 +02:00
Lioncash
6ea416091e
service: Add wlan services
...
Adds the basic skeleton for the wlan services based off the information
on Switch Brew.
2018-07-28 21:54:55 -04:00
Lioncash
ca7655be3a
service: Add btm services
...
Adds the skeleton for the btm services based off the information on
Switch Brew.
2018-07-28 21:09:07 -04:00
bunnei
458fdda700
Merge pull request #847 from lioncash/ncm
...
service: Add ncm services
2018-07-28 10:46:09 -07:00
bunnei
d00dcdb1be
Merge pull request #846 from lioncash/mii
...
service: Add mii services
2018-07-28 10:45:31 -07:00
Lioncash
7931cc0ceb
service: Add ncm services
...
Adds the basic skeleton for the ncm services based off information on
Switch Brew.
2018-07-27 17:38:30 -04:00
bunnei
0191a1e526
Merge pull request #845 from lioncash/nfc
...
service: Add nfc services
2018-07-27 14:29:27 -07:00
Lioncash
f46bfdd77d
service: Add mii services
...
Adds the skeleton for the mii services based off information provided by
Switch Brew
2018-07-27 16:01:29 -04:00
Lioncash
04d144aa40
service: Add nfc services
...
Adds the skeleton of the nfc service based off the information provided
on Switch Brew.
2018-07-27 14:50:24 -04:00
Lioncash
ea8dd8b650
service/lbl: Implement EnableVrMode, DisableVrMode and GetVrMode
...
Implements these functions according to the information available on
Switch Brew.
2018-07-27 14:20:42 -04:00
Lioncash
8781beaf0d
service: Add ldn services
...
Adds ldn services based off information provided by Switch Brew.
2018-07-26 01:48:06 -04:00
Zach Hilman
59cb258409
VFS Regression and Accuracy Fixes ( #776 )
...
* Regression and Mode Fixes
* Review Fixes
* string_view correction
* Add operator& for FileSys::Mode
* Return std::string from SanitizePath
* Farming Simulator Fix
* Use != With mode operator&
2018-07-23 19:40:35 -07:00
Lioncash
9d33122197
string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), CodeToUTF8() and UTF8ToUTF16()
...
There's no need to perform the resize separately here, since the
constructor allows presizing the buffer.
Also move the empty string check before the construction of the string
to make the early out more straightforward.
2018-07-22 16:39:21 -04:00
Lioncash
26a157cd31
string_util: Use emplace_back() in SplitString() instead of push_back()
...
This is equivalent to doing:
push_back(std::string(""));
which is likely not to cause issues, assuming a decent std::string
implementation with small-string optimizations implemented in its
design, however it's still a little unnecessary to copy that buffer
regardless. Instead, we can use emplace_back() to directly construct the
empty string within the std::vector instance, eliminating any possible
overhead from the copy.
2018-07-22 15:36:32 -04:00
Lioncash
cd46b267f5
string_util: Remove unnecessary std::string instance in TabsToSpaces()
...
We can just use the variant of std::string's replace() function that can
replace an occurrence with N copies of the same character, eliminating
the need to allocate a std::string containing a buffer of spaces.
2018-07-22 15:35:48 -04:00
bunnei
5ee4c49c30
Merge pull request #768 from lioncash/string-view
...
file_util, vfs: Use std::string_view where applicable
2018-07-22 11:32:28 -07:00
Lioncash
398444e676
file_util, vfs: Use std::string_view where applicable
...
Avoids unnecessary construction of std::string instances where
applicable.
2018-07-22 03:22:21 -04:00
bunnei
258a5cee84
Merge pull request #765 from lioncash/file
...
file_util: Remove goto usages from Copy()
2018-07-22 00:03:35 -07:00
Lioncash
c5de0a67a8
file_util: Remove goto usages from Copy()
...
We can just leverage std::unique_ptr to automatically close these for us
in error cases instead of jumping to the end of the function to call
fclose on them.
2018-07-21 23:08:55 -04:00
Lioncash
0ba7fe4ab1
file_util: Use a u64 to represent number of entries
...
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
2018-07-21 22:42:08 -04:00
Lioncash
964154ce44
file_util: std::move FST entries in ScanDirectoryTree()
...
Avoids unnecessary copies when building up the FST entries.
2018-07-21 22:31:44 -04:00
bunnei
53a219f163
Merge pull request #759 from lioncash/redundant
...
file_util: Remove redundant duplicate return in GetPathWithoutTop()
2018-07-21 18:50:38 -07:00
bunnei
f5e87f4ce1
Merge pull request #758 from lioncash/sync
...
common: Remove synchronized_wrapper.h
2018-07-21 18:30:31 -07:00
Lioncash
d66b43dadf
file_util: Use an enum class for GetUserPath()
...
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-07-21 16:21:19 -04:00
Lioncash
34d6a1349c
file_util: Remove explicit type from std::min() in GetPathWithoutTop()
...
Given both operands are the same type, there won't be an issue with
overload selection that requires making this explicit.
2018-07-21 15:19:32 -04:00
Lioncash
41660c8923
file_util: Remove redundant duplicate return in GetPathWithoutTop()
2018-07-21 15:18:23 -04:00
Lioncash
973fdce79b
common: Remove synchronized_wrapper.h
...
This is entirely unused in the codebase.
2018-07-21 14:51:44 -04:00
bunnei
8afc21f175
Merge pull request #743 from lioncash/view
...
logging: Use std::string_view where applicable
2018-07-20 17:17:04 -07:00
Lioncash
3268321f4b
param_package: Take std::string by value in string-based Set() function
...
Allows avoiding string copies by letting the strings be moved into the
function calls.
2018-07-20 17:24:06 -04:00
Lioncash
6279c2dcf4
param_package: Use std::unordered_map's insert_or_assign instead of map indexing
...
This avoids a redundant std::string construction if a key doesn't exist
in the map already.
e.g.
data[key] requires constructing a new default instance of the value in
the map (but this is wasteful, since we're already setting something
into the map over top of it).
2018-07-20 17:24:06 -04:00
Lioncash
474ec2ee5f
param_package: Get rid of file-static std::string construction
...
Avoids potential dynamic allocation occuring during program launch
2018-07-20 17:24:02 -04:00
Lioncash
f63ccbd936
logging/filter: Use std::string_view in ParseFilterString()
...
Allows avoiding constructing std::string instances, since this only
reads an arbitrary sequence of characters.
We can also make ParseFilterRule() internal, since it doesn't depend on
any private instance state of Filter
2018-07-20 15:58:46 -04:00
Lioncash
7a1a860abe
logging/backend: Add missing standard includes
...
A few inclusions were being satisfied indirectly. To prevent breakages
in the future, include these directly.
2018-07-20 15:31:27 -04:00
Lioncash
457d1b4490
logging/backend: Use std::string_view in RemoveBackend() and GetBackend()
...
These can just use a view to a string since its only comparing against
two names in both cases for matches. This avoids constructing
std::string instances where they aren't necessary.
2018-07-20 15:27:20 -04:00
bunnei
e91ba6c057
Merge pull request #711 from lioncash/swap
...
common/swap: Minor changes
2018-07-19 11:48:16 -07:00
bunnei
d6c7a05239
Merge pull request #710 from lioncash/unused
...
common/common_funcs: Remove unused rotation functions
2018-07-19 11:43:41 -07:00
bunnei
bbc31ba6af
Merge pull request #709 from lioncash/thread-local
...
common/misc: Deduplicate code in GetLastErrorMsg()
2018-07-19 10:00:48 -07:00
bunnei
04f7a7036a
Merge pull request #705 from lioncash/string-ref
...
file_util: return string by const reference for GetExeDirectory()
2018-07-19 08:47:06 -07:00
Lioncash
5c47ea1a4e
common/swap: Remove unnecessary const on return value of swap()
2018-07-19 09:35:54 -04:00
Lioncash
0a868641fa
common/swap: Use static_cast where applicable
2018-07-19 09:35:13 -04:00
Lioncash
1edf4dd7ef
common/swap: Use using aliases where applicable
2018-07-19 09:32:13 -04:00
Lioncash
9128271292
common/common_funcs: Remove unused rotation functions
...
These are unused and essentially don't provide much benefit either. If
we ever need rotation functions, these can be introduced in a way that
they don't sit in a common_* header and require a bunch of ifdefing to
simply be available
2018-07-19 09:21:23 -04:00
Lioncash
e0b8a35937
common/misc: Deduplicate code in GetLastErrorMsg()
...
Android and macOS have supported thread_local for quite a while, but
most importantly is that we don't even really need it. Instead of using
a thread-local buffer, we can just return a non-static buffer as a
std::string, avoiding the need for that quality entirely.
2018-07-19 09:15:38 -04:00
Lioncash
63e64f0131
file_util: return string by const reference for GetExeDirectory()
...
This disallows modifying the internal string buffer (which shouldn't be
modified anyhow).
2018-07-19 01:27:29 -04:00
Lioncash
33fbcb45a7
string_util: Remove AsciiToHex()
...
Easy TODO
2018-07-18 23:57:15 -04:00
bunnei
b10905c8ae
Merge pull request #686 from lioncash/fmt
...
externals: update fmt to version 5.1.0
2018-07-18 19:44:44 -07:00
Zach Hilman
29aff8d5ab
Virtual Filesystem 2: Electric Boogaloo ( #676 )
...
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
2018-07-18 18:07:11 -07:00
Lioncash
f5d7706ca1
externals: update fmt to version 5.1.0
...
Previously, we were on 4.1.0, which was a major version behind.
2018-07-18 17:46:17 -04:00
Lioncash
c65a8fafa0
telemetry: Remove unnecessary Field constructor
...
We can just take the value parameter by value which allows both moving
into it, and copies at the same time, depending on the calling code.
2018-07-18 00:32:35 -04:00
Lioncash
0aebe6b3d5
telemetry: Make operator== and operator!= const member functions of Field
...
These operators don't modify internal class state, so they can be made
const member functions. While we're at it, drop the unnecessary inline
keywords. Member functions that are defined in the class declaration are
already inline by default.
2018-07-18 00:28:47 -04:00
Lioncash
3575d367a4
telemetry: Default copy/move constructors and assignment operators
...
This provides the equivalent behavior, but without as much boilerplate.
While we're at it, explicitly default the move constructor, since we
have a move-assignment operator defined.
2018-07-18 00:25:12 -04:00
bunnei
04b9cde4f5
Merge pull request #664 from jroweboy/logging-stuff
...
Minor logging improvements
2018-07-15 12:58:52 -07:00
James Rowe
497b81558e
Logging: Dump all logs in the queue on close in debug mode
2018-07-15 13:02:09 -06:00
James Rowe
6daebaaa57
Logging: Don't lock the queue for the duration of the write
2018-07-14 11:57:13 -06:00
Hedges
e066bc75b9
More improvements to GDBStub ( #653 )
...
* More improvements to GDBStub
- Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS.
- List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names.
- Initial support for floating point registers.
* Tidy up as requested in PR feedback
* Tidy up as requested in PR feedback
2018-07-12 20:22:59 -07:00
bunnei
04524e76c2
Merge pull request #633 from FearlessTobi/port-defines
...
Port #3579 from Citra: Clean up architecture-specific defines
2018-07-10 09:12:52 -07:00
bunnei
ef2c955db5
Merge pull request #635 from FearlessTobi/port-crashfix
...
Port #3474 from Citra: Do not crash on unimplemented code in debug build
2018-07-09 17:08:25 -07:00
bunnei
913896cbd9
Revert "Virtual Filesystem ( #597 )"
...
This reverts commit 77c684c114
.
2018-07-07 20:24:51 -07:00
fearlessTobi
476e0fae4c
Port #3474 from Citra
2018-07-07 14:17:44 +02:00
fearlessTobi
70a6691e3b
Port #3579 from Citra
2018-07-07 13:59:18 +02:00
bunnei
bebe09a1aa
Merge pull request #630 from FearlessTobi/remove-citra-references
...
Remove some references to Citra
2018-07-06 11:13:50 -04:00
Zach Hilman
77c684c114
Virtual Filesystem ( #597 )
...
* Add VfsFile and VfsDirectory classes
* Finish abstract Vfs classes
* Implement RealVfsFile (computer fs backend)
* Finish RealVfsFile and RealVfsDirectory
* Finished OffsetVfsFile
* More changes
* Fix import paths
* Major refactor
* Remove double const
* Use experimental/filesystem or filesystem depending on compiler
* Port partition_filesystem
* More changes
* More Overhaul
* FSP_SRV fixes
* Fixes and testing
* Try to get filesystem to compile
* Filesystem on linux
* Remove std::filesystem and document/test
* Compile fixes
* Missing include
* Bug fixes
* Fixes
* Rename v_file and v_dir
* clang-format fix
* Rename NGLOG_* to LOG_*
* Most review changes
* Fix TODO
* Guess 'main' to be Directory by filename
2018-07-06 10:51:32 -04:00
fearlessTobi
c9aadff9a9
Remove some references to Citra
2018-07-06 15:47:06 +02:00
bunnei
76b475faf7
Fix build and address review feedback
2018-07-02 21:45:48 -04:00
James Rowe
6269a01b4e
Add configurable logging backends
2018-07-02 21:45:47 -04:00
James Rowe
0d46f0df12
Update clang format
2018-07-02 21:45:47 -04:00
James Rowe
638956aa81
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
mailwl
a2efb1dd48
Common/string_util: add StringFromBuffer function
...
convert input buffer (std::vector<u8>) to string, stripping zero chars
2018-06-07 09:59:47 +03:00
mailwl
7e3d746b06
Service/MM: add service and stub some functions
2018-06-05 12:19:29 +03:00
mailwl
7757cc1a7f
Service/BCAT: add module and services
2018-05-28 16:46:56 +03:00
Lioncash
acc10c7ee2
vector_math: Ensure members are always initialized
...
Ensures that values are always in a well-defined state.
2018-05-01 21:25:25 -04:00
bunnei
81a0082f6b
Merge pull request #424 from lioncash/string
...
string_util: Remove StringFromFormat() and related functions
2018-04-29 21:49:13 -04:00
Lioncash
3abba08080
string_util: Remove StringFromFormat() and related functions
...
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-04-29 18:52:33 -04:00
Lioncash
e8bbafb746
file_util: Make move constructor/assignment operator and related functions noexcept
...
Without this, it's possible to get compilation failures in the (rare) scenario where
a container is used to store a bunch of live IOFile instances, as they may be using
std::move_if_noexcept under the hood. Given these definitely don't throw exceptions
this is also not incorrect to add either.
2018-04-29 18:34:09 -04:00
Lioncash
40d2dcabd7
file_util: Add static assertions to ReadBytes() and WriteBytes()
...
Ensure that the actual types being passed in are trivially copyable. The internal
call to ReadArray() and WriteArray() will always succeed, since they're passed a pointer to char*
which is always trivially copyable.
2018-04-29 18:24:12 -04:00
Lioncash
5d9ee12b1a
file_util: Remove compiler version checks around is_trivially_copyable()
...
The minimum clang/GCC versions we support already support this. We can also
remove is_standard_layout(), as fread and fwrite only require the type to be
trivially copyable.
2018-04-28 15:31:23 -04:00
Lioncash
d43c49264f
log: Remove old logging macros and functions
...
Now that the old macros are no longer used, we can remove all functionality related to them.
2018-04-27 16:18:34 -04:00
Lioncash
8475496630
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
bunnei
3c40496409
Merge pull request #380 from ogniK5377/service-impl
...
Implemented some useful interfaces needed for games.
2018-04-27 00:49:40 -04:00
David Marcec
abc23416e8
Switched to NGLOG_WARNING
2018-04-26 20:03:12 -07:00
Lioncash
3cfe77ae75
common: Move logging macros over to new fmt-capable macros where applicable
2018-04-26 20:09:58 -04:00
David Marcec
7391741a20
Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl
2018-04-26 14:28:54 -07:00
David Marcec
f1f7f2cba9
Added PREPO to logging backend, Removed comments from SaveReportWithUser
2018-04-26 14:19:34 -07:00
Lioncash
87a92ef062
common: Remove chunk_file.h and linear_disk_cache.h
...
These are unused (and given chunk_file references Dolphin's >SVN< I doubt they were going to be used).
2018-04-26 14:59:32 -04:00
David Marcec
27650499bc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
bunnei
326b044c19
Merge pull request #367 from lioncash/clamp
...
math_util: Remove the Clamp() function
2018-04-20 14:18:03 -04:00
bunnei
87f89ac82d
Merge pull request #361 from lioncash/common
...
common_types: Minor changes
2018-04-20 10:27:17 -04:00
Lioncash
fae2dd0344
math_util: Remove the Clamp() function
...
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
2018-04-20 10:14:13 -04:00
bunnei
4d96997447
Merge pull request #364 from lioncash/thread-local
...
common/thread: Remove unnecessary feature checking for thread_local
2018-04-20 09:43:52 -04:00
bunnei
b5c204ac6f
Merge pull request #362 from lioncash/snprintf
...
common_funcs: Remove check for VS versions that we don't even support
2018-04-20 09:43:30 -04:00
bunnei
701dd649e6
Merge pull request #363 from lioncash/array-size
...
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
bunnei
79c1ed80e9
Merge pull request #366 from lioncash/vec
...
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
2018-04-20 09:42:41 -04:00
Lioncash
956e200f12
vector_math: Remove AsArray() and Write() functions from Vec[2,3,4]
...
These are all unused and the Write() ones should arguably not even be in the interface. There are better ways to provide this if we ever need it (like iterators).
2018-04-19 22:58:24 -04:00
Lioncash
0eba5911f2
common: Remove code_block.h
...
We use dynarmic, so this is unued. Anything else we need will likely use Xbyak, so
this header isn't necessary any more.
2018-04-19 22:47:02 -04:00
Lioncash
b134e6afcf
common/thread: Remove unnecessary feature checking for thread_local
...
Every compiler we require already supports it.
2018-04-19 22:41:18 -04:00
Lioncash
d9e316e353
common_funcs: Remove ARRAY_SIZE macro
...
C++17 has non-member size() which we can just call where necessary.
2018-04-19 22:36:52 -04:00
Lioncash
902fc61ef8
common_funcs: Remove check for VS versions that we don't even support
...
We don't support any VS versions that don't already have snprintf in the
standard library implementation.
2018-04-19 22:28:56 -04:00
Lioncash
16ffecd8fb
common_types: Convert typedefs to using aliases
...
May as well while we're making changes to this file.
2018-04-19 22:26:35 -04:00
Lioncash
e8e5041955
common_types: Remove unnecessary check for whether or not__func__ is defined
...
VS has supported this for quite a while.
2018-04-19 22:25:19 -04:00
bunnei
e59126809c
bit_field: Remove is_pod check, add is_trivially_copyable_v.
2018-04-17 18:00:18 -04:00
bunnei
45fd7c4a37
common: Port cityhash code from Citra.
2018-04-13 23:48:22 -04:00
bunnei
0315fe8c3d
bit_field: Make all methods constexpr.
2018-04-13 23:48:18 -04:00
James Rowe
f9945f8a3b
Update fmtlib to fix msvc warnings
...
Additionally, when updating fmtlib, there was a change in fmtlib broke
how the old logging macro was overloaded, so this works around that by
just naming the fmtlib macro impl something different
2018-04-05 22:42:09 -06:00
Daniel Lim Wee Soong
bb9093ed57
logging: Change FmtLogMessage to use variadic template instead of FMT_VARIADIC
...
Due to premature merging of #262 I think the build may be failing right now. Should merge this ASAP to fix it.
2018-04-03 10:31:54 +08:00
bunnei
c2e0820ac2
Merge pull request #262 from daniellimws/fmtlib-macros
...
Logging: Add fmtlib-based macros
2018-04-02 21:19:20 -04:00
bunnei
6cd1482354
Merge pull request #276 from N00byKing/acctoyuzu
...
Change Telemetry Names to yuzu and remove links to citra
2018-04-02 18:30:04 -04:00
Daniel Lim Wee Soong
a66204eb5c
common: fix swap functions on Bitrig and OpenBSD
...
swap{16,32,64} are defined as macros on the two, but client code
tries to invoke them as Common::swap{16,32,64}, which naturally
doesn't work. This hack redefines the macros as inline functions
in the Common namespace: the bodies of the functions are the
same as the original macros, but relying on OS-specific
implementation details like this is of course brittle.
2018-04-03 02:25:11 +08:00
bunnei
deaf6f9e35
service: Add NFP module interface.
...
service: Initialize NFP service.
Log: Add NFP service as a log subtype.
2018-03-29 21:22:44 -04:00
N00byKing
aa0f596a6e
telemetry.h: Reword comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
3357e8d9ba
log.h: Change comment from citra to yuzu
2018-03-26 21:52:59 +02:00
N00byKing
75da830c13
file_util.h: Update Comment from citra to yuzu
2018-03-26 21:51:04 +02:00
N00byKing
99d86deb1f
cpu_detect.cpp: Change comment from citra to yuzu
2018-03-26 21:43:39 +02:00
mailwl
9ee33350de
Service/SSL: add ssl service
2018-03-23 09:32:50 +03:00
Daniel Lim Wee Soong
8529d84f31
Remove dependency chrono
...
Earlier chrono was included but after some code changed it was no longer needed
Forgot to remove it so I'm removing it now
2018-03-22 21:53:51 +08:00
Daniel Lim Wee Soong
3b558eebee
Logging: Create logging macros based on fmtlib
...
Add a new set of logging macros based on fmtlib
Similar but not exactly the same as https://github.com/citra-emu/citra/pull/3533
Citra currently uses a different version of fmt, which does not support FMT_VARIADIC so
make_args is used instead. On the other hand, yuzu uses fmt 4.1.0 which doesn't have make_args yet
so FMT_VARIADIC is used.
2018-03-22 18:21:29 +08:00
mailwl
95e747cd06
Service/spl: add module and services
2018-03-22 09:55:14 +03:00
N00byKing
34b733e70e
CMake: Set EMU_ARCH_BITS in CMakeLists.txt
2018-03-21 19:03:20 +01:00
mailwl
dca7cfb9cf
Service: add fatal:u, fatal:p services
2018-03-20 16:59:02 +03:00
bunnei
6a2197806e
Merge pull request #206 from mailwl/aoc-listaddoncontent
...
Service/AOC: stub ListAddOnContent function
2018-02-20 10:45:50 -05:00
mailwl
46931a9566
Service/AOC: stub ListAddOnContent function
2018-02-20 10:30:12 +03:00
bunnei
1d491d636d
logging: Add category for Friend service.
2018-02-19 17:31:54 -05:00
bunnei
fa58d95027
log: Add logging category for NS services.
2018-02-14 21:43:11 -05:00
bunnei
8e1dbb26bd
logger: Add Time service logging category.
2018-02-04 22:59:52 -05:00
bunnei
c689fe8424
logger: Add SET service logging category.
2018-02-04 22:55:45 -05:00
bunnei
fc1359dc03
logger: Add PCTL service logging category.
2018-02-04 22:44:00 -05:00
bunnei
649960b4eb
logger: Add LM service logging category.
2018-02-04 22:41:55 -05:00
bunnei
8d2e4c3d39
logger: Add APM service logging category.
2018-02-04 22:39:47 -05:00
bunnei
485c6541cf
logger: Add NIFM service logging category.
2018-02-04 22:35:42 -05:00
bunnei
8a5833f7ad
logger: Add VI service logging category.
2018-02-04 22:26:44 -05:00
bunnei
65cfe09b62
logger: Add AM service logging category.
2018-02-04 16:58:12 -05:00
bunnei
a947f16b63
logger: Add "account" service logging category.
2018-02-04 16:40:12 -05:00
st4rk
44eb840232
audout:u OpenAudioOut and IAudioOut ( #138 )
...
* Updated the audout:u and IAudioOut, now it might work with RetroArch without trigger an assert, however it's not the ideal implementation
* Updated the audout:u and IAudioOut, now it might work with RetroArch without trigger an assert, however it's not the ideal implementation
* audout:u OpenAudioOut implementation and IAudioOut cmd 1,2,3,4,5 implementation
* using an enum for audio_out_state as well as changing its initialize to member initializer list
* Minor fixes, added Service_Audio for LOG_*, changed PcmFormat enum to EnumClass
* Minor fixes, added Service_Audio for LOG_*, changed PcmFormat enum to EnumClass
* added missing Audio loggin subclass, minor fixes, clang comment breakline
* Solving backend logging conflict
* minor fix
* Fixed duplicated Service NVDRV in backend.cpp, my bad
2018-01-24 22:17:54 -05:00
Rozlette
ad64e7e86d
logging: add missing NVDRV subclass to macro list
2018-01-23 22:18:23 -06:00
David
eeb3b5eed7
Added nvmemp, Added /dev/nvhost-ctrl, SetClientPID now stores pid ( #114 )
...
* Added nvmemp, Added /dev/nvhost-ctrl, SetClientPID now stores pid
* used clang-format-3.9 instead
* lowercase pid
* Moved nvmemp handlers to cpp
* Removed unnecessary logging for NvOsGetConfigU32. Cleaned up log and changed to LOG_DEBUG
* using std::arrays instead of c arrays
* nvhost get config now uses std::array completely
* added pid logging back
* updated cmakelist
* missing includes
* added array, removed memcpy
* clang-format6.0
2018-01-21 17:59:50 -05:00
Matthew Brener
af871f8966
Fix spelling error in CMakeLists
...
Minor spelling error of its --> it's
2018-01-21 17:40:47 +11:00
James Rowe
096be16636
Format: Run the new clang format on everything
2018-01-20 16:45:11 -07:00
bunnei
be0e14ab3e
Merge pull request #84 from lioncash/cmake
...
CMakeLists: Derive the source directory grouping from targets themselves
2018-01-18 01:37:17 -05:00
Lioncash
e710a1b989
CMakeLists: Derive the source directory grouping from targets themselves
...
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
2018-01-17 21:51:43 -05:00
Lioncash
33eba9b96e
telemetry: Silence initialization order warnings
2018-01-17 19:43:24 -05:00
bunnei
d15cadd760
loggin: Add IPC logging category.
2018-01-17 01:20:02 -05:00
MerryMage
80db02c497
Minor cleanup
2018-01-13 23:56:18 +00:00
James Rowe
18ca3ca751
Removing unused settings and yuzu rebranding
2018-01-12 19:11:05 -07:00
MerryMage
f10a304ecd
fix macos build
2018-01-08 19:20:10 -05:00
B3n30
82151d407d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
bunnei
45db4bb3ea
logging: Rename category "Core_ARM11" to "Core_ARM".
2017-10-23 00:13:12 -04:00
bunnei
746c2a3ae7
core: Refactor MakeMagic usage and remove dead code.
2017-10-15 00:11:38 -04:00
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
2017-10-14 22:18:42 -04:00
bunnei
0906de9a14
hle: Remove a large amount of 3ds-specific service code.
2017-10-10 17:32:14 -04:00
bunnei
b1d5db1cf6
Merge remote-tracking branch 'upstream/master' into nx
...
# Conflicts:
# src/core/CMakeLists.txt
# src/core/arm/dynarmic/arm_dynarmic.cpp
# src/core/arm/dyncom/arm_dyncom.cpp
# src/core/hle/kernel/process.cpp
# src/core/hle/kernel/thread.cpp
# src/core/hle/kernel/thread.h
# src/core/hle/kernel/vm_manager.cpp
# src/core/loader/3dsx.cpp
# src/core/loader/elf.cpp
# src/core/loader/ncch.cpp
# src/core/memory.cpp
# src/core/memory.h
# src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei
3411883fe3
arm: Use 64-bit addressing in a bunch of places.
2017-09-30 14:28:53 -04:00
Huw Pascoe
a13ab958cb
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
Subv
a321bce378
Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.
...
It is unlikely we will ever use this without first doing a Cast to a signed type.
Fixes 9 "unary minus operator applied to unsigned type, result still unsigned" warnings on MSVC2017.3
2017-09-27 09:06:41 -05:00
Weiyi Wang
792dee47a7
Merge pull request #2822 from wwylele/sw_lighting-2
...
Implement fragment lighting in the sw renderer (take 2)
2017-08-09 18:54:29 +03:00
bunnei
f44a1e0291
common: Add build timestamp to scm_rev.
2017-08-03 20:10:37 -04:00
wwylele
fe44e843fe
vector_math: remove dead template parameter
2017-07-11 20:08:56 +03:00
wwylele
f3660ba9dd
vector_math: remove broken SFINAE stuff
...
this was originally added to eliminate warnings on MSVC, but it doesn't work for custom types.
2017-07-11 19:51:29 +03:00
Subv
73566ff7a9
SwRasterizer: Flip the vertex quaternions before clipping (if necessary).
2017-07-11 19:39:15 +03:00
Subv
f2d4d5c219
SwRasterizer: Corrected the light LUT lookups.
2017-07-11 19:39:15 +03:00
bunnei
f7a9d42592
logging: Add WebService as a log cateogry.
2017-07-10 00:15:30 -04:00
B3n30
2e37ce01c9
Implement basic virtual Room support based on enet ( #2803 )
...
* Added support for network with ENet lib,
connecting is possible, but data can't be sent, yet.
* fixup! Added support for network with ENet lib,
* fixup! CLang
* fixup! Added support for network with ENet lib,
* fixup! Added support for network with ENet lib,
* fixup! Clang format
* More fixups!
* Moved ENetHost* and ENetPeer* into pimpl classes
* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
* fixup! Clang again
* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
2017-07-07 15:34:15 -04:00
Kloen
0e428823f0
Remove unnecessary WIN32_LEAN_AND_MEAN macro definition
2017-06-30 01:59:55 +02:00
Kloen Lansfiel
9a8a90b52b
Remove unused import in break_points.cpp ( #2763 )
2017-06-08 21:16:46 -07:00
Yuri Kunde Schlesner
d736cca848
CMake: Create INTERFACE targets for microprofile and nihstro
2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner
0f563111a2
CMake: Use IMPORTED target for Boost
2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
7b81903756
CMake: Correct inter-module dependencies and library visibility
...
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
2579ae543b
Common: Fix some out-of-style includes
2017-05-27 16:14:10 -07:00
Yuri Kunde Schlesner
d1bf7919da
Move framebuffer_layout from Common to Core
...
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
bunnei
61decd84cc
Merge pull request #2716 from yuriks/decentralized-result
...
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner
bae3799bd5
Merge pull request #2697 from wwylele/proctex
...
Implemented Procedural Texture (Texture Unit 3)
2017-05-24 21:37:42 -07:00
Yuri Kunde Schlesner
c1a9e94068
Common: Clean up meta-template logic in BitField
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
a75145a2c6
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
bunnei
a4760e939f
common: Add a generic interface for logging telemetry fields.
2017-05-24 19:16:21 -04:00
wwylele
ade45b5b99
pica/swrasterizer: implement procedural texture
2017-05-20 13:50:50 +03:00
Yuri Kunde Schlesner
cb4da3975e
Remove unused symbols code
2017-05-07 15:33:39 -07:00
bunnei
ccc3985cc0
Merge pull request #2512 from SonofUgly/custom-layout
...
Add custom layout settings.
2017-03-21 22:57:31 -04:00
bunnei
423ab5e2bc
Merge pull request #2497 from wwylele/input-2
...
Refactor input emulation & add SDL gamepad support
2017-03-17 14:59:39 -04:00
bunnei
3e7459bbf9
Merge pull request #2618 from wwylele/log-less-filename
...
Reduce host file name and path logging
2017-03-16 23:35:36 -04:00
Yuri Kunde Schlesner
6ca816e011
common/cpu_detect: Add missing include and fix namespace scope
2017-03-12 21:55:15 -07:00
wwylele
d040a73bed
file_util: Log when using local user directory
2017-03-11 18:31:17 +02:00
wwylele
7cd6cc0fd9
file_util: lower logging level for harmless cases
2017-03-08 17:42:10 +02:00
wwylele
3974895e08
Input: add device and factory template
2017-03-01 23:30:57 +02:00
wwylele
8a8c0f348b
Common: add ParamPackage
2017-03-01 23:30:57 +02:00
Yuri Kunde Schlesner
b250ce21b9
Merge pull request #2587 from yuriks/status-bar
...
Replace built-in Profiler with indicators in status bar
2017-02-26 17:51:15 -08:00
Yuri Kunde Schlesner
3b4e400333
Remove built-in (non-Microprofile) profiler
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
21f4f49c7a
SynchronizedWrapper: Add Lock convenience method
2017-02-26 17:22:02 -08:00
bunnei
892888ed9e
Merge pull request #2569 from wwylele/wrap-unwrap
...
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
SonofUgly
e0a4450bbd
Add custom layout settings.
2017-02-23 10:49:56 -08:00
James Rowe
b090422991
Gui: Change title bar to include build name
...
Nightly builds now have "Citra Nightly" in the titlebar
Bleeding edge builds now have "Citra Bleeding Edge" in the titlebar
2017-02-23 00:42:55 -07:00
wwylele
ea1ea0224c
HW: add AES engine & implement AES-CCM
2017-02-21 23:57:31 +02:00
noah the goodra
091dd226d6
applied the change suggested by @wwylele
2017-02-13 18:34:02 -06:00
noah the goodra
1a84bce0f4
added http service enum to the log.h file
2017-02-13 18:34:01 -06:00
Yuri Kunde Schlesner
97e06b0a0d
Merge pull request #2476 from yuriks/shader-refactor3
...
Oh No! More shader changes!
2017-02-04 13:02:48 -08:00
Weiyi Wang
0b9c59ff22
Common/x64: remove legacy emitter and abi ( #2504 )
...
These are not used any more since we moved shader JIT to xbyak.
2017-01-31 01:06:42 -08:00
noah the goodra
a2d0e2d807
file_util: Fixed implicit type conversion warning ( #2503 )
2017-01-30 20:08:00 -08:00
Yuri Kunde Schlesner
d36ec905b1
Common: Optimize BitSet iterator
2017-01-29 21:31:38 -08:00
Kloen
818b1730a9
common: add <cstddef> to hash.h
2017-01-28 15:30:18 +01:00
Kloen
2fa0971ceb
common: switch ComputeHash64 len param to size_t instead of int, fix warning on MSVC on dsp_dsp.cpp
2017-01-28 14:47:14 +01:00
bunnei
7cfe3ef046
Merge pull request #1951 from wwylele/motion-sensor
...
Emulate motion sensor in frontend
2017-01-07 12:39:20 -05:00
mailwl
f2985f7080
Service/NFC: stub GetTagInRangeEvent
...
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
wwylele
6479f63091
Common: add Quaternion
2016-12-26 10:41:26 +02:00
wwylele
2e6d8e1321
vector math: add implementation of Length and Normalize
2016-12-26 10:41:26 +02:00
wwylele
55f5d0f777
MathUtil: add PI constant
2016-12-26 10:41:26 +02:00
wwylele
2a069e76a5
Common::Event: add WaitUntil
2016-12-26 10:41:26 +02:00
bunnei
51dd13b8a0
Merge pull request #2369 from MerryMage/core-frontend
...
core: Move emu_window and key_map into core
2016-12-23 17:35:35 -05:00
wwylele
488b7a4041
file_util: fix missing sysdata path
2016-12-23 22:19:14 +02:00
MerryMage
64f98f4d0f
core: Move emu_window and key_map into core
...
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
bunnei
aa47af7fb6
Merge pull request #2343 from bunnei/core-cleanup
...
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
bunnei
17d740299a
Merge pull request #2285 from mailwl/csnd-format
...
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei
707cc66362
file_util: Remove unused paths.
2016-12-21 23:29:12 -05:00
Vamsi Krishna
0db22eadd5
Fixed GPLv2 license text in the start.
2016-12-19 00:06:27 +05:30
bunnei
a89471621b
Merge pull request #2316 from endrift/macos-gcc
...
Common: Fix gcc build on macOS
2016-12-16 00:40:40 -05:00
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
2016-12-14 20:06:08 -08:00
Jeffrey Pfau
fb952c399e
Common: Fix gcc build on macOS
2016-12-13 10:20:33 -08:00
mailwl
1238e48c58
csnd:SND reformat source code
2016-12-12 21:19:36 +03:00
Jannik Vogel
45d941d62e
Support mingw cross-compile
2016-12-05 19:09:16 +01:00
Yuri Kunde Schlesner
68c00ee771
Merge pull request #2228 from freiro/winver_fix
...
Move WINVER definition to cmake and a bit of cleanup
2016-11-30 15:47:08 -08:00
freiro
0c22e52f52
WINVER definition moved to CMake and cleanup
2016-11-30 15:47:09 +01:00
mailwl
5b136aa211
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
Subv
aea9a91100
Build: Fixed a few warnings.
2016-11-29 16:51:53 -05:00
Sebastian Valle
d3b7f57b2b
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
freiro
593ec7fa74
Move to AppData/Roaming/Citra/
2016-11-26 22:57:36 +01:00
freiro
972b289c78
Removed /user/ from path
2016-11-26 01:00:52 +01:00
mailwl
d4cadf11fc
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
freiro
79317b63d9
Switch to AppData/Roaming
2016-11-24 16:42:31 +01:00
freiro
3d75e3cd07
Return by value and other fixes
2016-11-19 15:50:16 +01:00
freiro
29bb82cb8e
Win32 move default user folder location to AppData
2016-11-19 15:49:52 +01:00
bunnei
fb13bfe693
Merge pull request #2172 from jroweboy/fix-mingw
...
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
James Rowe
c3ea6f4ddb
Add mingw compile support
2016-11-13 23:50:46 -07:00
James Rowe
793339b73a
Round the rectangle size to prevent float to int casting issues
...
And other minor style changes
2016-11-12 10:49:47 -07:00
James Rowe
d9305b0a07
Add default hotkey to swap primary screens.
...
Also minor style changes
2016-11-05 03:46:43 -06:00
James Rowe
5f72aade77
Rework frame layouts to use a max rectangle instead of hardcoded calculations
2016-11-05 02:55:58 -06:00
SonofUgly
e40c23463f
LargeFrameLayout + Swapped
...
Make small screen stay at 1x, and large screen maintain its aspect ratio.
2016-11-05 02:55:53 -06:00
James Rowe
2b1654ad9b
Support additional screen layouts.
...
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
2016-11-05 02:55:41 -06:00
Jan Beich
94d23b480e
common: use system bswap* functions on more BSDs
2016-10-27 23:28:30 +00:00
Jan Beich
ddd8709e14
common: use system CPUID routine on DragonFly as well
2016-10-27 23:28:30 +00:00
Jan Beich
3d801be97d
common: some FreeBSD headers are incomplete to avoid namespace pollution
...
In file included from src/common/x64/cpu_detect.cpp:16:
/usr/include/machine/cpufunc.h:66:17: error: unknown type name 'u_int'
static __inline u_int
^
/usr/include/machine/cpufunc.h:67:6: error: unknown type name 'u_int'
bsfl(u_int mask)
^
/usr/include/machine/cpufunc.h:69:2: error: unknown type name 'u_int'
u_int result;
^
/usr/include/machine/cpufunc.h:75:17: error: unknown type name 'u_long'; did you mean 'long'?
static __inline u_long
^
/usr/include/machine/cpufunc.h:76:6: error: unknown type name 'u_long'; did you mean 'long'?
bsfq(u_long mask)
^
/usr/include/machine/cpufunc.h:78:2: error: use of undeclared identifier 'u_long'; did you mean
'long'?
u_long result;
^
[...]
2016-10-27 23:28:30 +00:00
Anthony J. Bentley
26af2b644c
common: convert to standard stat()/fstat() interfaces
...
Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.
glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.
Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
2016-10-27 23:28:30 +00:00
Jan Beich
51f92f0e4e
common: stat64 is non-standard, hide on a random Unix
...
src/common/file_util.cpp:79:19: error: variable has incomplete type 'struct stat64'
struct stat64 file_info;
^
src/common/file_util.cpp:79:12: note: forward declaration of 'stat64'
struct stat64 file_info;
^
src/common/file_util.cpp:99:19: error: variable has incomplete type 'struct stat64'
struct stat64 file_info;
^
src/common/file_util.cpp:99:12: note: forward declaration of 'stat64'
struct stat64 file_info;
^
src/common/file_util.cpp:342:19: error: variable has incomplete type 'struct stat64'
struct stat64 buf;
^
src/common/file_util.cpp:342:12: note: forward declaration of 'stat64'
struct stat64 buf;
^
src/common/file_util.cpp:359:19: error: variable has incomplete type 'struct stat64'
struct stat64 buf;
^
src/common/file_util.cpp:359:12: note: forward declaration of 'stat64'
struct stat64 buf;
^
4 errors generated.
2016-10-27 23:28:29 +00:00
Jan Beich
8ce1ec7ffa
common: only FreeBSD has thread affinity compatible with Linux
...
src/common/thread.cpp:90:5: error: unknown type name 'cpu_set_t'; did you mean 'cpuset_t'?
cpu_set_t cpu_set;
^~~~~~~~~
cpuset_t
/usr/include/sys/_cpuset.h:48:24: note: 'cpuset_t' declared here
typedef struct _cpuset cpuset_t;
^
1 error generated.
2016-10-27 23:28:29 +00:00
Jan Beich
1410bd3bd0
common: define routines to set thread name on more BSDs
...
src/common/thread.cpp:123:5: error: use of undeclared identifier 'pthread_setname_np'
pthread_setname_np(pthread_self(), szThreadName);
^
1 error generated.
2016-10-27 23:28:29 +00:00
Ricardo de Almeida Gonzaga
13d46f6820
Fix typos
2016-10-20 12:26:59 -02:00
bunnei
cc7f1155a8
Merge pull request #2024 from JamePeng/update-boss-code
...
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
JamePeng
bd8c80a7b4
Update the stub code of BOSS
2016-10-02 17:36:57 +08:00
Yuri Kunde Schlesner
6219654ded
Common: Remove dangerous Vec[234] array constructors
...
They're not currently used, and it's easy to accidentally pass a single
pointer argument to them, causing an out-of-bounds read.
2016-09-29 21:11:36 -07:00
Yuri Kunde Schlesner
f120e78b56
Remove special rules for Windows.h and library includes
2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
bunnei
57ce84d471
microprofile: Double buffer size to 16MB.
2016-09-15 17:49:31 -04:00
Emmanuel Gil Peyrot
519e7013be
Common: readdir_r() is deprecated, switch to readdir().
2016-09-13 22:11:23 +09:00
Alexandre LittleWhite Laurent
7331b79021
Protection against a resize of size 0
2016-07-23 21:02:05 +02:00
scurest
0f9274fe24
Remove superfluous std::move in return std::move(local_var)
2016-06-25 13:26:21 -05:00
Yuri Kunde Schlesner
d6792632f0
Fix recursive scanning of directories
...
ForeachDirectoryEntry didn't actually do anything with the `recursive`
parameter, and the corresponding callback parameter was shadowing the
actual recursion counters in the user functions.
2016-06-19 00:12:15 -07:00
bunnei
f99961581e
Merge pull request #1789 from wwylele/input-refactor
...
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
bunnei
08e09184df
Merge pull request #1751 from linkmauve/no-recursive-readdir
...
Make recursive FileUtil functions take a maximum recursion
2016-05-30 20:59:10 -04:00
MerryMage
8e1768cf1d
common_funcs: Provide rotr and rotl for MSVC
2016-05-27 10:42:06 +01:00
Emmanuel Gil Peyrot
8ab6f26c09
Common: Make recursive FileUtil functions take a maximum recursion
...
Fixes #1115 .
Also improves the performances of DiskArchive’s directory
implementation a lot, simply by not going through the entire tree
instead of just listing the first level files.
Thanks to JayRoxFox for rebasing this on current master!
2016-05-21 16:41:02 +01:00
wwylele
6cccdcacd2
fixup! fixup! Refactor input system
2016-05-15 19:35:06 +03:00
wwylele
6d49e4621c
fixup! Refactor input system
2016-05-15 13:35:45 +03:00
wwylele
416faa20d1
implement circle pad modifier
2016-05-15 13:24:22 +03:00
wwylele
03631f9b8f
Refactor input subsystem
2016-05-15 13:24:22 +03:00
Lioncash
d5b983a8c0
swap: Get rid of pointer casting for swapping structs
...
These shouldn't haphazardly convert types
2016-05-08 23:33:52 -04:00
Lioncash
47ca79ba4b
swap: Get rid of undefined behavior in swapf and swapd
...
This isn't well-defined in C++.
2016-05-08 23:21:47 -04:00
Lioncash
aef4630102
swap: Remove unused methods
...
Also gets rid of pointer data variants as this prevents the use of
the regular swapping routines as unary predicates in std lib functions.
They also cast to stricter alignment types, which is undefined behavior.
2016-05-08 23:12:04 -04:00
bunnei
c549c36076
Merge pull request #1736 from MerryMage/sdl2-sink
...
AudioCore: SDL2 Sink
2016-05-07 11:08:13 -04:00
MerryMage
920d2cf41d
AudioCore: SDL2 Sink
2016-05-07 11:32:48 +01:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
Yuri Kunde Schlesner
e3a8292495
Common: Remove section measurement from profiler ( #1731 )
...
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
Henrik Rydgård
90501f20e6
Make Citra build with MICROPROFILE_ENABLED set to 0 ( #1709 )
...
* Make Citra build with MICROPROFILE_ENABLED set to 0
* Buildfix with microprofile kept on
* moc did not like a dialog to conditionally exist.
* Cleanup
* Fix end of line
2016-04-28 20:17:31 -04:00
Sam Spilsbury
ef6873980e
assert: Allow UNREACHABLE_MSG to have just one argument
2016-04-24 23:40:14 +08:00
bunnei
0964a3ff53
Merge pull request #1576 from smspillaz/fix-build-errors-03272016
...
Fix various build errors encountered on Clang 3.9 on OS X
2016-04-24 02:02:45 -04:00
LittleWhite
9572652ddc
Protect use of std::is_trivially_copyable to compile with GCC 4.9
2016-04-23 15:45:35 +02:00
Sam Spilsbury
205e8f9f9e
assert: Add _MSG variations for UNREACHABLE and UNIMPLEMENTED
2016-04-23 11:54:02 +08:00
bunnei
6d29c20208
Merge pull request #1672 from wwylele/win-driver-fix
...
Fix driver root identification on Windows
2016-04-19 17:40:13 -04:00
wwylele
43b6cbd762
fix driver root identification on Windows
2016-04-15 14:50:34 +03:00
bunnei
23f967b0af
Merge pull request #1666 from MerryMage/barrier
...
Thread: Correct Common::Barrier implementation
2016-04-14 22:03:17 -04:00
bunnei
aff35d3e58
Merge pull request #1665 from lioncash/file
...
IOFile: Minor API changes
2016-04-14 16:28:15 -04:00
MerryMage
3c710f9b10
Thread: Make Barrier reusable
2016-04-14 13:59:58 +01:00
MerryMage
8c50833445
common/thread: Correct code style
2016-04-14 13:58:28 +01:00
bunnei
507e0b5989
emitter: Add CALL that can be fixed up.
2016-04-13 23:04:50 -04:00
bunnei
e5d417213c
emitter: Support arbitrary FixupBranch targets.
2016-04-13 23:04:42 -04:00
Lioncash
5f51622e9d
file_util: In-class initialize data members
2016-04-13 20:17:24 -04:00
Lioncash
655623ebb2
file_util: const qualify IOFile's Tell and GetSize functions
2016-04-13 20:17:23 -04:00
Lioncash
a4120ca66c
file_util: Don't expose IOFile internals through the API
2016-04-13 20:17:17 -04:00
Lioncash
bf9945b81b
file_util: Check for is_trivially_copyable
...
Also applies the template checks to ReadArray as well.
2016-04-13 19:20:26 -04:00
Lioncash
3ee4432fe3
file_util: Make IOFile data members private
2016-04-13 19:10:54 -04:00
MerryMage
226c5546e2
FileUtil: Missing #include, Add const to IOFile methods
2016-04-12 14:50:20 +01:00
mailwl
61ec5fa776
cecd:u: stub GetCecStateAbbreviated ( #1648 )
2016-04-08 15:39:52 -04:00
bunnei
dccadce074
Merge pull request #1435 from mailwl/frd_u
...
frd:u: Initial stub some functions
2016-04-05 23:04:35 -04:00
Mathew Maidment
aa6380e5bc
Merge pull request #1643 from MerryMage/make_unique
...
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
bunnei
b393408496
Merge pull request #1620 from LFsWang/path
...
Fix filename&path encode problem on Windows
2016-04-04 21:55:08 -04:00
bunnei
6d24c73ea9
Merge pull request #1616 from exhalatio/dlp_dummy
...
Dummy implementation dlp:SRVR Service.
2016-04-03 10:10:58 -04:00
exhalatio
bbdfbe44e6
Dummy implementation dlp:SRVR Service.
2016-04-03 06:05:20 +09:00
LFsWang
87afef73b1
remove debug code
2016-03-31 20:29:39 +08:00
mailwl
cb8e85a37d
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-03-31 14:59:10 +03:00
LFsWang
be01912539
fix unicode url problem on windows
2016-03-31 19:21:03 +08:00
LFsWang
acfa76aa38
Fix encode problem On Windows
2016-03-31 18:58:37 +08:00
mailwl
81d988b022
frd:u: Initial stub some functions
2016-03-27 10:08:04 +03:00
wwylele
6bd5f98272
remove unnecessary const
2016-03-26 10:46:48 +03:00
wwylele
db151efd0a
implement accel and gyro backend
2016-03-22 18:35:03 +02:00
Lioncash
1400aeceac
vector_math: Add missing member in Vec4's SetZero function
2016-03-18 01:49:34 -04:00
JamePeng
dd0b8047eb
Reorganize the ndm service path for dummy implement function
...
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons
The NDM file move to /core/hle/service/ndm/ now!
2016-03-15 00:42:47 +08:00
bunnei
a2024d7497
Merge pull request #1509 from lioncash/noncopy
...
common: Minor changes to NonCopyable
2016-03-13 16:47:44 -04:00
Jannik Vogel
a66c186e81
PICA: Align vertex attributes
2016-03-13 04:54:23 +01:00
Lioncash
38376b833e
common_types: Make NonCopyable constructor constexpr
2016-03-12 21:57:18 -05:00
Lioncash
45e2fce7c0
common_types: Specify const in deleted copy constructor/assignment operator
2016-03-12 21:55:30 -05:00
bunnei
3789de6bd9
Merge pull request #1476 from lioncash/emit
...
emitter: constexpr/misc changes
2016-03-10 01:06:25 -05:00
Lioncash
e3f9d09b28
emitter: templatize ImmPtr
2016-03-09 03:13:01 -05:00
Lioncash
1351c0ce9f
emitter: constexpr-ify helper functions
2016-03-09 03:13:00 -05:00
Lioncash
e66a6a2a1b
emitter: Get rid of CanDoOpWith
...
This was removed in Dolphin as there were no particular uses for it.
I'm sure the same will apply to citra.
2016-03-09 03:12:59 -05:00
Lioncash
6085b419e5
emitter: constexpr-ify OpArg
2016-03-09 03:12:53 -05:00
Lioncash
77bcdafc94
emitter: friend class OpArg with XEmitter
2016-03-09 02:25:00 -05:00
Lioncash
450c84c990
emitter: Remove unimplemented prototype
2016-03-09 02:20:00 -05:00
Lioncash
88d604383e
Common: Get rid of alignment macros
...
The gl rasterizer already uses alignas,
so we may as well move everything over.
2016-03-09 01:31:14 -05:00
bunnei
cddb9bd2aa
Merge pull request #1297 from Subv/saves
...
DiskDirectory: Initialize the directory member with valid info.
2016-03-01 17:16:05 -05:00
Yuri Kunde Schlesner
ddcf2ef32a
Merge pull request #1427 from MerryMage/emit-lbit
...
x64 Emitter: Fix L bit in VEX prefix
2016-02-28 03:12:57 -08:00
MerryMage
f73c39d573
x64 Emitter: Fix L bit in VEX prefix
2016-02-27 12:45:26 +00:00
mailwl
2e13b7f3ca
Initial implementation ir:user
2016-02-26 18:39:28 +03:00
MerryMage
8b00954ec7
AudioCore: Skeleton Implementation
...
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.
This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
MerryMage
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00:00
Lioncash
c89e3d5951
backend: defaulted move constructor/assignment
2016-02-04 22:39:33 -05:00
Lioncash
60fe45813b
color: Make trivial helpers constexpr
2016-01-27 22:14:17 -05:00
Lioncash
3933b68c59
key_map: Use std::tie for comparisons
2016-01-25 01:19:21 -05:00
Subv
922b31ebbd
DiskDirectory: Initialize the directory member with valid info.
2016-01-16 09:30:29 -05:00
LFsWang
8376821776
Add missing return values in ForeachDirectoryEntry
...
ForeachDirectoryEntry is changed by #1256 ,but return value at last line
was missing.
2015-12-23 16:26:38 +08:00
bunnei
87df493b5b
Merge pull request #1252 from Subv/cam
...
Services/Cam: Added new log type and camera enums from 3dbrew.
2015-12-03 22:01:45 -05:00
archshift
b3cfcf55ea
Refactor ScanDirectoryTreeAndCallback to separate errors and retvals
...
ScanDirectoryTreeAndCallback, before this change, coupled error/return
codes and actual return values (number of entries found). This caused
confusion and difficulty interpreting the precise way the function
worked.
Supersedes, and closes #1255 .
2015-11-27 13:33:38 -08:00
Subv
434ae89a6a
Services/Cam: Added new log type and camera enums from 3dbrew.
...
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
wwylele
1f89d5d184
fix failure on gcc and clang
2015-11-12 20:39:30 +02:00
wwylele
8de154893c
disable unary minus when the type is not signed
...
silent warning C4146 on msvc
2015-11-12 20:39:28 +02:00
polaris-
31dee93e84
Implement gdbstub
2015-10-04 11:16:59 -04:00
bunnei
5d635986bf
Merge pull request #1176 from lioncash/vs2015-code-junking-day
...
Obligatory "Throw out workarounds VS2013 once limited us to" PR
2015-10-03 13:19:03 -04:00
bunnei
11a64acf23
Merge pull request #1095 from archshift/game-list
...
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
Lioncash
845ac621b3
bit_field: Re-enable code on MSVC
2015-10-01 15:43:42 -04:00
archshift
7134a17fc6
Split up FileUtil::ScanDirectoryTree to be able to use callbacks for custom behavior
...
Converted FileUtil::ScanDirectoryTree and FileUtil::DeleteDirRecursively
to use the new ScanDirectoryTreeAndCallback function internally.
2015-09-30 21:04:47 -07:00
Lioncash
8cb2bc748d
symbols: Replace an insert call with emplace
2015-09-30 11:55:58 -04:00
Lioncash
65d7a82db4
symbols: Get rid of initial underscores in variable names
2015-09-30 11:54:44 -04:00
Lioncash
7e143d4422
symbols: Directly initialize TSymbol members
2015-09-30 11:53:01 -04:00
Lioncash
052eacc3b9
symbols: Simplify GetSymbol
2015-09-30 11:51:06 -04:00
Lioncash
543192e045
hash: Get rid of unused functions
2015-09-16 08:54:28 -04:00
Lioncash
751fbfdcc3
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Lioncash
13683a6a11
memory_util: Remove unnecessary assignment in FreeMemoryPages
2015-09-11 23:16:34 -04:00
Lioncash
3972ac40ef
memory_util: Remove commented out printf statements
2015-09-11 23:12:28 -04:00
Lioncash
07bfe0abbb
general: Replace 0 literals with nullptr where applicable
2015-09-11 23:11:01 -04:00
Lioncash
b9fb46ac9d
synchronized_wrapper: Add missing return in SynchronizedRef move assignment operator
2015-09-11 22:00:21 -04:00
bunnei
ef622a07ff
Merge pull request #1144 from lioncash/remove
...
common: Get rid of debug_interface.h
2015-09-11 09:47:36 -04:00
Lioncash
bc886a7a03
common: Get rid of a cast in swap.h
2015-09-11 08:54:33 -04:00
Lioncash
5dc9950772
common: Get rid of debug_interface.h
...
This is technically unused. Also removes TMemChecks because it relies on this.
Whenever memory breakpoints are implemented for real, it should be designed to
match the codebase debugging mechanisms.
2015-09-11 08:12:08 -04:00
aroulin
179ad35c2e
x64: Proper stack alignment in shader JIT function calls
...
Import Dolphin stack handling and register saving routines
Also removes the x86 parts from abi files
2015-09-01 23:39:52 +02:00
aroulin
0b6c0afeb7
Common: Import BitSet from Dolphin
2015-09-01 23:39:52 +02:00
Yuri Kunde Schlesner
656d824b20
Common: Fix MicroProfile compilation in MSVC2015
2015-08-28 06:12:12 -03:00
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
aroulin
16f39aa452
x64-emitter: add RCPSS SSE instruction
2015-08-23 15:42:58 +02:00
Lioncash
250d474280
Merge pull request #1058 from lioncash/ptr
...
emitter: Remove pointer casts
2015-08-22 18:42:47 -04:00
Yuri Kunde Schlesner
3efb205a68
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
Lioncash
78e7c77ff5
emitter: Remove pointer casts
...
This should also technically silence quite a few ubsan warnings.
2015-08-21 17:09:33 -04:00
Lioncash
e85c5dbb54
emitter: Remove unnecessary defines
2015-08-20 04:45:32 -04:00
Lioncash
a796149c42
emitter: Remove unnecessary else keywords
2015-08-20 04:45:31 -04:00
Lioncash
e88dc7fc6d
emitter: Remove unused code
2015-08-20 04:45:30 -04:00
Lioncash
8738963bce
emitter: Remove unimplemented JMP prototype
2015-08-20 04:45:29 -04:00
Lioncash
55461125ba
emitter: Pass OpArg by reference where possible
2015-08-20 04:45:28 -04:00
Lioncash
0609b89f74
emitter: Remove unnecessary inline specifiers
...
Functions implemented in a class definition are already implicitly inline.
2015-08-20 04:45:22 -04:00
bunnei
21ba05e5f1
Merge pull request #1035 from darkf/mingw-fix
...
Fix building under MinGW
2015-08-19 20:40:31 -04:00
darkf
e053d30bf7
Fix building under MinGW
2015-08-17 22:21:14 -07:00
Patrick Martin
5b65d95310
videocore: Added RG8 texture support
2015-08-16 02:21:50 -03:00
Yuri Kunde Schlesner
b9a9ad9742
VMManager: Make LogLayout log level configurable as a parameter
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
2e5696dba4
Merge pull request #1031 from bbarenblat/master
...
Handle invalid `Log::Class`
2015-08-15 15:34:12 -07:00
bunnei
b39c053785
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
2015-08-15 18:03:27 -04:00
bunnei
0ee00861f6
Common: Cleanup CPU capability detection code.
2015-08-15 18:03:26 -04:00
bunnei
a1942238f5
Common: Move cpu_detect to x64 directory.
2015-08-15 18:03:26 -04:00
bunnei
bd7e691f78
x64: Refactor to remove fake interfaces and general cleanups.
2015-08-15 18:03:25 -04:00
bunnei
d67e2f78b7
Common: Added MurmurHash3 hash function for general-purpose use.
2015-08-15 17:33:46 -04:00
bunnei
ddbeebb887
Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP.
2015-08-15 17:33:45 -04:00
bunnei
4d51792285
Common: Ported over Dolphin's code for x86 CPU capability detection.
2015-08-15 17:33:44 -04:00
Benjamin Barenblat
7cd5a653ff
Handle invalid `Log::Class`
...
Add a case of `Log::Class::Count` to the switch statement that
dispatches on `Log::Class`. The case simply calls the `UNREACHABLE`
macro.
2015-08-15 15:39:45 -04:00
archshift
d1ae413ffd
Stop defining GCC always_inline attributes as __forceinline
...
__forceinline is a MSVC extension, which may confuse some people working on the codebase.
Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
2015-08-11 19:45:15 -07:00
bunnei
b6c241d667
Merge pull request #1018 from bbarenblat/master
...
Handle invalid `Log::Level::Count`
2015-08-05 11:59:06 -04:00
Benjamin Barenblat
0298b7bedd
Use UNREACHABLE macro for impossible cases in previous commit
...
Use the UNREACHABLE macro instead of `ASSERT(false, ...);`.
2015-08-02 18:30:24 -04:00
Yuri Kunde Schlesner
48393d452c
Common: Work around bug in MSVC2015 standard library
...
The char16_t/char32_t implementations aren't present in the library and
cause linker errors. This is a known issue that wasn't fixed in VS2015
RTM.
2015-08-02 19:03:55 -03:00
Benjamin Barenblat
9ff23da255
Handle invalid `Log::Level::Count`
...
Add a case of `Log::Level::Count` to all switch statements that
dispatch on `Log::Level`. The case simply asserts `false` and notes
the invalid log level.
2015-08-02 12:55:31 -04:00
zawata
6e9a6ca6bf
Common : Fix Conversion Warnings
2015-07-19 03:59:46 -07:00
Emmanuel Gil Peyrot
fcdc8118eb
Common: Remove the unused and commented GetThemeDir prototype from FileUtil.
2015-07-18 13:08:19 +01:00
Tony Wasserka
5e79706db2
Pica: Implement stencil testing.
2015-07-13 23:54:39 +02:00
Tony Wasserka
279e19732c
FileUtil: Add a WriteObject method for writing a single, POD-type object.
2015-07-13 22:27:20 +02:00
Apology11
af18572491
don´t define snprintf on Visual Studio 2015
...
Visual Studio 2015 defines this in stdio now
2015-07-12 13:12:14 +02:00
Yuri Kunde Schlesner
b0d72e3de1
Merge pull request #914 from yuriks/bitfield-mask
...
Common: Fix mask generation in BitField
2015-07-11 19:01:57 -07:00
Lioncash
e5d90b5797
Common: Remove thunk.h
...
This isn't used, and there's no implementations of the member functions.
2015-07-10 20:09:41 -04:00
Yuri Kunde Schlesner
867c28ae03
Merge pull request #876 from linkmauve/include-cleanups
...
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
Yuri Kunde Schlesner
d5b5280501
Common: Remove redundant masking in BitField
...
For the signed case, the shifts already remove the rest of the value, so
ANDing by the mask is redundant.
2015-07-10 18:43:41 -03:00
Yuri Kunde Schlesner
d7f9529bdd
Common: Fix mask generation in BitField
...
Fixes #913
2015-07-10 18:43:40 -03:00
Emmanuel Gil Peyrot
ab61e67c09
Common: Remove unused type unions breaking aliasing rules in horrible ways.
2015-06-28 10:48:42 +01:00
Emmanuel Gil Peyrot
e5fcabdd69
Core: Cleanup file_sys includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
aea15f5c73
Core: Cleanup core includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
45c4781544
CitraQt: Cleanup includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
22ae87530b
Common: Cleanup emu_window includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
1775adc34c
Common: Remove unused ROUND_UP_POW2 macro.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
2d044a67c9
Common: Cleanup memory and misc includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
3a771a13dc
Common: Cleanup profiler includes.
2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot
2a36edfd86
Common: Cleanup thread includes.
2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot
13e6876463
Common: Fix string_util includes.
2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot
8cf9eb7f43
Common: Fix FileUtil includes, and everything relying on those.
2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot
ce0cfd62d9
Common: Remove now-unused EMU_PLATFORM define, fixes issue #373 .
2015-06-27 14:43:57 +01:00
Emmanuel Gil Peyrot
82718c4a41
Common: Remove unused SSE version checking and a GCC macro.
2015-06-27 14:43:57 +01:00
Emmanuel Gil Peyrot
0aade9ad63
Common: Remove unused fifo_queue.h.
2015-06-27 14:43:56 +01:00
bunnei
9850f98339
Merge pull request #855 from purpasmart96/service_rearrangment
...
Services: Continue separation of services into their own folders
2015-06-21 10:55:02 -04:00
purpasmart96
7933dbe6a0
Services: Continue separation of services into their own folders
2015-06-11 20:41:59 -07:00
tfarley
66b0d799ee
Render-to-texture flush, interval math fix
2015-06-08 19:18:20 -04:00
archshift
76690392bf
Move video_core/color.h to common/color.h
2015-05-30 11:17:37 -07:00
archshift
5df2d1b5f7
Move video_core/math.h to common/vector_math.h
...
The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
2015-05-30 11:17:36 -07:00
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
2015-05-29 21:59:29 +01:00
tfarley
05dc633a8c
OpenGL renderer
2015-05-22 15:51:18 -07:00
Yuri Kunde Schlesner
9108482888
Service::Y2R: Support for grayscale decoding of specific formats
...
Implements unrotated planar YUV 4:2:0 -> RGB24 conversions in Y2R.
Currently only the Y (luma) channel is used, so the results don't
contain color. This will be added in a later PR at some point.
This is enough to get all currently know Moflex videos to decode. (Some
don't display on-screen due to seemingly unrelated reasons.)
Thanks to @archshift for doing the initial implementation which I
cleaned up and then fixed the 8x8 block mode.
2015-05-22 17:57:21 -03:00
Yuri Kunde Schlesner
ba2fe7f795
Merge pull request #758 from yuriks/sync-logging
...
Common: Remove async logging
2015-05-15 20:54:48 -07:00
Yuri Kunde Schlesner
7dbc27ff57
Remove unused concurrent_ring_buffer.h
2015-05-15 23:57:53 -03:00
Emmanuel Gil Peyrot
a31fd7f86b
Common: Remove unused cruft from math_util, and remove a duplicated Rect class in common_types.
2015-05-14 16:16:15 +02:00
Yuri Kunde Schlesner
c8eae338a8
Common: Use the log system to print assert messages
2015-05-12 02:52:31 -03:00
Yuri Kunde Schlesner
b88c91dd3d
Common: Remove async logging
...
It provided a large increase in complexity of the logging system while
having a negligible performance impact: the usage patterns of the ring
buffer meant that each log contended with the logging thread, causing
it to effectively act as a synchronous extra buffering.
Also removed some broken code related to filtering of subclasses which
was broken since it was introduced. (Which means no one ever used that
feature anyway, since, 8 months later, no one ever complained.)
2015-05-12 02:31:04 -03:00
Yuri Kunde Schlesner
b700b55696
Common: Remove the BIT macro
...
When the macro was introduced in 326ec51261
it wasn't noticed that it conflicted in name with a heavily used macro
inside of dyncom. This causes some compiler warnings. Since it's only
lightly used, it was opted to simply remove the new macro.
2015-05-09 18:16:46 -03:00
Yuri Kunde Schlesner
326ec51261
Common: Add BIT macro
2015-05-08 22:11:04 -03:00
Yuri Kunde Schlesner
8809d02db3
Common: Add StringFromFixedZeroTerminatedBuffer
2015-05-08 03:03:06 -03:00
Yuri Kunde Schlesner
4560178f66
Merge pull request #725 from yuriks/remove-common-crap
...
Remove unused hash and mem_arena from common
2015-05-07 16:18:03 -07:00
bunnei
10ef39624a
Merge pull request #723 from lioncash/commonstr
...
string_util: Get rid of UriDecode/UriEncode
2015-05-07 18:55:18 -04:00
Yuri Kunde Schlesner
ed12b08e7a
Profiler: Fix off-by-one error when computing average.
2015-05-07 19:48:31 -03:00
Yuri Kunde Schlesner
3396f352cb
Common: Remove mem_arena.cpp/h
...
It is superfluous for Citra. (It's only really necessary if you're doing
JIT. We were using it but not taking any advantage from it.) This should
make 32-bit builds work again.
2015-05-07 19:01:09 -03:00
Yuri Kunde Schlesner
d9df5b575a
Common: Remove hash.cpp/h
...
Currently unused and the code quality is pretty questionable.
2015-05-07 18:31:18 -03:00
Yuri Kunde Schlesner
fae5933ad6
Common: Add proper macros to test for architecture pointer size
...
The old system of just defining macros available in some other platform
was susceptible to silently using the wrong code if you forgot to
include a particular header. This fixes a crash on non-Windows platforms
introduced by e1fbac3ca1
.
2015-05-07 18:22:36 -03:00
Lioncash
9adad45b0f
string_util: Get rid of UriDecode/UriEncode
2015-05-07 17:10:55 -04:00
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner
1bd1a13a02
Common: Move alignment macros to common_funcs.h
2015-05-07 15:45:21 -03:00
Yuri Kunde Schlesner
ae963d75f8
Common: Move SSE detection ifdefs to platform.h
2015-05-07 15:45:20 -03:00
Yuri Kunde Schlesner
a594fdb66e
Common: Remove more unused compatibility defines
2015-05-07 15:45:20 -03:00
Yuri Kunde Schlesner
f3c096951b
Common: Move IO-specific compatibility macros to file_util.cpp
2015-05-07 15:45:20 -03:00
Yuri Kunde Schlesner
bf12f270b3
Common: Remove many unnecessary cross-platform compatibility macros
2015-05-06 23:50:08 -03:00
Yuri Kunde Schlesner
c0eaa662d4
Clean-up includes
2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner
c916bcf7b5
Move typedefs from kernel.h to more appropriate places
2015-05-06 23:45:05 -03:00
Yuri Kunde Schlesner
6ad71c216b
Common: Move NonCopyable to common_types.h
2015-05-06 23:45:05 -03:00
Yuri Kunde Schlesner
7a4b717772
Common: Use C++11 deleted functions for NonCopyable
2015-05-06 23:45:04 -03:00
Yuri Kunde Schlesner
1fee769aa0
Common: Remove unused enums
2015-05-06 23:45:04 -03:00
Zaneo
b8328593fe
EmuWindow: Clip mouse input coordinates to emulated screen dimensions.
...
If the mouse position for a mouse move/drag would take it outside the emulated screen dimensions, clip the coordinates to
the emulated screen dimensions.
Qt and GLFW will report negative coordinates for mouse positions to the left, or above citra window. Added restriction
to mouse coordinates passed to touchmoved by Qt/GLFW to be greater or equal to zero.
2015-05-01 23:52:33 -04:00
Yuri Kunde Schlesner
6402de9ae7
Common: thread.h cleanups
...
The helper classes are rendered obsolete by C++11 lambdas. Also made
formatting conform to our code style.
2015-04-16 17:55:30 -03:00
bunnei
7b9f428b23
Thread: Implement priority boost for starved threads.
...
SVC: Return correct error code on invalid CreateThread processor ID.
SVC: Assert when creating a thread with an invalid userland priority.
2015-04-09 19:05:21 -04:00
bunnei
3fd2cc566b
Merge pull request #641 from purpasmart96/service_stubs
...
Services: Stubs and minor changes
2015-04-03 22:16:50 -04:00
purpasmart96
198c0ddc72
Services: Stubs and minor changes
2015-04-02 20:05:11 -07:00
Lioncash
e05d6220f5
disassembler: Get rid of a const_cast
2015-03-30 15:37:34 -04:00
Emmanuel Gil Peyrot
188b419586
Common: Fix logic for setting EMU_DATA_DIR.
2015-03-16 02:22:59 +01:00
Emmanuel Gil Peyrot
4c684fb274
Common: Make a #else more apparent.
2015-03-16 02:22:19 +01:00
Subv
c0d1a91017
EmuWindow: Fixed a reference to a temporary variable
...
in GetTouchState()
2015-03-14 15:01:02 -05:00
bunnei
ed5b275d21
Merge pull request #642 from bunnei/touchpad
...
Touchpad support
2015-03-11 21:28:57 -04:00
bunnei
d61b26b79f
HID: Complete refactor of pad/touch input to fix threading issues.
2015-03-10 23:58:07 -04:00
bunnei
b56829df02
Merge pull request #629 from archshift/lcdfb
...
Implement SetLcdForceBlack and add implementation for color filling in the GPU code
2015-03-10 18:08:55 -04:00
bunnei
953e09ddb5
EmuWindow: Made pad/touch functions non-static.
2015-03-10 18:05:20 -04:00
bunnei
543232436f
EmuWindow: Added infrastructure code to enable touchpad support.
2015-03-10 18:05:17 -04:00
archshift
041e99b613
Added LCD registers, and implementation for color filling in OGL code.
2015-03-09 15:51:41 -07:00
bunnei
3da94a597b
Merge pull request #634 from linkmauve/logging-performances
...
Apply the logging filter before sending the message to the queue
2015-03-09 15:42:18 -04:00
bunnei
ba8ce6c8f5
Merge pull request #584 from yuriks/outline-asserts
...
Asserts: Use lambdas to keep assertion code away from the main code path
2015-03-08 22:25:04 -04:00
bunnei
25633b431d
Fixed EmuWindow typo (fixes OSX build)
2015-03-07 18:26:28 -05:00
bunnei
06bf471581
Merge pull request #636 from bunnei/refactor-screen-win
...
Set framebuffer layout from EmuWindow.
2015-03-07 18:18:40 -05:00
bunnei
9960c49c21
Set framebuffer layout from EmuWindow.
2015-03-07 17:21:19 -05:00
Tony Wasserka
93e32bce72
Merge pull request #538 from yuriks/perf-stat
...
Add profiling infrastructure and widget
2015-03-07 15:30:40 +01:00
Emmanuel Gil Peyrot
0aa44e238d
Logging: check for filter before sending to the queue, to skip all heavy formatting on the other thread.
2015-03-06 19:23:52 +01:00
archshift
e011acaa84
Removed swap code redundancy and moved common swap code to swap.h
2015-03-05 22:46:45 -08:00
Yuri Kunde Schlesner
dc8a3f8bc8
Profiler: Implement QPCClock to get better precision on Win32
...
MSVC 2013 (at least) doesn't use QueryPerformanceCounter to implement
std::chrono::high_resolution_clock, so it has bad precision. Manually
implementing our own clock type using it works around this for now.
2015-03-01 21:47:14 -03:00
Yuri Kunde Schlesner
cd1fbfcf1b
Add profiling infrastructure and widget
2015-03-01 21:47:13 -03:00
Emmanuel Gil Peyrot
129ad721c1
Common: Switch to the XDG Base Directory Specification for directory selection.
...
This allows for easily movable and independent configuration and data directories, using standardized paths.
2015-02-25 05:27:13 +01:00
bunnei
50a0c4f14f
Merge pull request #581 from archshift/tfe
...
Added information reporting from ThrowFatalError
2015-02-23 01:23:15 -05:00
archshift
0420a4d1de
Added information reporting from ThrowFatalError
...
This was RE'd from the errdisp applet.
2015-02-22 12:19:30 -08:00
Emmanuel Gil Peyrot
54d6f6c82b
Common: Change names containing “Dolphin” or “PPSSPP” to something more generic.
2015-02-20 16:54:10 +00:00
archshift
4fb75d220a
Misc cleanup of common and related functions
2015-02-19 22:26:25 -08:00
archshift
302f0b32f5
Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h
2015-02-19 22:26:25 -08:00
archshift
49f94b82b4
Remove "super lame/broken" file_search compilation unit that was leftover from Dolphin
2015-02-18 23:23:18 -08:00
archshift
961f65d1fe
Remove redundant utf8 compilation unit that was leftover from Dolphin
2015-02-18 22:34:32 -08:00
archshift
9f7f1a2272
Remove useless extended_trace compilation unit that was leftover from Dolphin
2015-02-18 22:30:31 -08:00
archshift
5efd149ad5
Remove the useless msg_handler compilation unit that was left over from Dolphin
2015-02-18 22:26:22 -08:00
bunnei
745b42d236
Merge pull request #570 from purpasmart96/config_mem
...
ConfigMem: Clean up the Config memory to be more like the shared page
2015-02-18 00:12:37 -05:00
Yuri Kunde Schlesner
714d507938
Asserts: Use lambdas to keep assertion code away from the main code path
2015-02-18 02:19:30 -02:00
purpasmart96
c3c309f33d
ConfigMem: Clean up the Config memory to be more like the shared page and moved
...
the helper macro for padding to common_funcs.h
2015-02-16 15:12:05 -08:00
bunnei
12181c8a64
Merge pull request #529 from Subv/master
...
Build: Fixed some warnings
2015-02-14 15:50:26 -05:00
Lioncash
3c474a7d31
backend: Add logging subentry for ldr
...
Fixes an assertion upon executing citra in debug mode.
2015-02-12 20:46:13 -05:00
Subv
8e2b248e05
Build: Fixed some warnings
2015-02-12 09:25:35 -05:00
archshift
ef24e72b26
Asserts: break/crash program, fit to style guide; log.h->assert.h
...
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)
Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
bunnei
ca22ee3239
Merge pull request #526 from purpasmart96/citra_stubs
...
Services: Stub some functions
2015-02-10 18:39:37 -05:00
purpasmart96
60ce36f721
Services: Stub some functions
2015-02-07 17:34:59 -08:00
chinhodado
34cce345a7
Fix a wrong file name in a comment
2015-02-07 00:37:06 -05:00
Yuri Kunde Schlesner
fc11aff955
Common: Fix SCOPE_EXIT to actually create unique identifiers.
2015-01-30 11:47:03 -02:00
archshift
1f109c6b49
Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx
2015-01-21 13:31:10 -08:00
archshift
228843c43e
Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.
2015-01-10 14:32:10 -08:00
bunnei
e6864a1f41
Merge pull request #431 from yuriks/thread-queue-cleanup
...
Common: Clean up ThreadQueueList
2015-01-07 17:58:31 -05:00
Yuri Kunde Schlesner
122c2bb324
Common: Clean up ThreadQueueList
...
Replace all the C-style complicated buffer management with a std::deque.
In addition to making the code easier to understand it also adds support
for non-POD IdTypes.
Also clean the rest of the code to follow our code style.
2015-01-07 18:38:25 -02:00
bunnei
3eca33c6a4
Merge pull request #425 from Subv/coretiming
...
Ported the CoreTiming namespace from PPSSPP
2015-01-07 15:30:46 -05:00
Subv
9bf82beb4c
CoreTiming: Ported the CoreTiming namespace from PPSSPP
...
Implemented the required calls to make it work.
CoreTiming: Added a new logging class Core_Timing.
2015-01-07 15:08:35 -05:00
bunnei
5217e3f873
Merge pull request #421 from linkmauve/remove-dead-platforms
...
Remove dead platform #ifdefs to make the code more readable.
2015-01-06 23:09:20 -05:00
bunnei
088863c921
Merge pull request #376 from Subv/arc_reorder
...
Archives: Change the folder layout of some archives.
2015-01-06 20:13:56 -05:00
Emmanuel Gil Peyrot
6b411c63c9
Common: Remove dead platform #ifdefs to make the code more readable.
...
Symbian, Xbox, Blackberry and iOS got removed.
FreeBSD and Android kept due to them potentially being able to run Citra in the future.
The iOS specific part also got removed from PPSSPP in order to fix a bug there.
2015-01-06 18:57:28 +00:00
Emmanuel Gil Peyrot
66e06f65c4
Common: Use std::abs instead of abs, using abs with cmath fails on some systems.
2015-01-05 16:38:12 +00:00
Emmanuel Gil Peyrot
ffe4cc9c5a
Common: Remove the unused x86-specific 128-bit float type.
2015-01-05 15:03:50 +00:00
Subv
71a063f45c
Archives: Changed the way paths are built for the archives.
...
Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout
2015-01-03 20:46:05 -05:00
Subv
cfd7b219f6
SaveDataCheck: Move the files to nand/title
...
under /nand/title/high/low/content/00000000.app.romfs
2015-01-03 19:01:46 -05:00
Subv
3bc9f5509b
Archives: Change the folder layout of some archives.
...
This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
2015-01-02 21:55:13 -05:00
Subv
aade417b14
Archives: Reduced duplicate code in RomFS and SaveCheck.
...
Fixed a few warnings and cleaned up the code
2015-01-02 21:13:54 -05:00
Subv
97a7381d29
SOC_U: Preliminary implementation of sockets.
...
Stubbed CreateMemoryBlock
Using Berkeley sockets, and Winsock2.2 on Windows.
So far ftpony creates the socket and accepts incoming connections
SOC_U: Renamed functions to maintain consistency
Also prevents possible scope errors / conflicts with the actual Berkeley socket functions
SOCU: Close all the opened sockets when cleaning up SOCU
2014-12-31 10:51:44 -05:00
bunnei
29da5da951
Merge pull request #369 from darkf/mingw_
...
Fix MinGW build (2)
2014-12-30 23:54:02 -05:00
darkf
5d10b212ec
Fix MSVC-related #defines and add CMakeLists comment
2014-12-29 20:12:03 -08:00
darkf
8ba9ac0f74
Fix merge conflicts
2014-12-29 19:47:41 -08:00
Subv
2c89d4d5cd
Archives: Implemented ExtSaveData and SharedExtSaveData
...
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-29 22:29:55 -05:00
bunnei
2188af4a65
Merge pull request #322 from chinhodado/master
...
More warning cleanups
2014-12-22 00:12:43 -05:00
bunnei
0de6a08d75
Merge pull request #291 from purpasmart96/license
...
License change
2014-12-21 16:05:44 -05:00
Chin
0199a7d9ef
More warning cleanups
2014-12-21 10:58:55 -05:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
Tony Wasserka
95be6a09b2
BitField: Add an explicit Assign method.
...
This is useful when doing crazy stuff like inheriting from BitField.
2014-12-20 18:05:53 +01:00
Yuri Kunde Schlesner
82528ba7df
Common: Add a clone of std::make_unique
2014-12-20 03:45:02 -02:00
Subv
bec527fa24
SaveData: Implemented the SystemSaveData archive.
...
It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
2014-12-17 23:44:32 -05:00
Subv
ea9ce0fba7
Filesystem/Archives: Implemented the SaveData archive
...
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information
Got rid of the code duplication in File and Directory
Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive.
FS_U: Use the correct error code when a file wasn't found
2014-12-17 19:21:38 -05:00
Yuri Kunde Schlesner
ac87c3b0d0
Restore the original console color after logging a message.
...
Fixes #277
2014-12-14 02:10:41 -02:00
Yuri Kunde Schlesner
4d2a6f8b9b
Remove old logging system
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0e0a007a25
Add configurable per-class log filtering
2014-12-13 02:08:06 -02:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00
Yuri Kunde Schlesner
6390c66e95
Implement text path trimming for shorter paths.
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
6b0fb62c47
Re-add coloring to the console logging output.
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
616d874443
New logging system
2014-12-13 01:59:52 -02:00
Yuri Kunde Schlesner
04b1f2936c
Add SCOPE_EXIT macro to conveniently execute cleanup actions
2014-12-13 01:59:51 -02:00
Yuri Kunde Schlesner
eda30c36ee
Added missing include in common_funcs.h
2014-12-13 01:59:50 -02:00
Yuri Kunde Schlesner
8a681cdf3d
Remove redundant include from common_funcs.h
2014-12-13 01:59:50 -02:00
bunnei
a6791e4fc7
Merge pull request #267 from bunnei/apt-shared-font
...
APT shared font loading
2014-12-12 22:12:12 -05:00
bunnei
6fe61d3deb
APT_U: Added GetSharedFont service function.
2014-12-12 22:06:10 -05:00
Tony Wasserka
33e61ef514
Merge pull request #261 from neobrain/boost
...
Add Boost as a submodule and add some minor cleanups using Boost.Range
2014-12-12 17:32:57 +01:00
bunnei
5bac72282a
Common: Add "sysdata" to GetUserPath and cleanup.
2014-12-12 00:15:47 -05:00
archshift
4763fca9f8
Explicitly specify LE strings to iconv, fixes paths in Steel Diver
2014-12-09 22:07:28 -08:00
Yuri Kunde Schlesner
521e1cb7e0
Remove unused NDMA module
2014-12-09 18:27:16 -02:00
Tony Wasserka
0cd27a511e
Some code cleanup.
2014-12-09 16:37:34 +01:00
Tony Wasserka
27280f178b
Fix some headers to include their dependencies properly.
2014-12-09 16:37:34 +01:00
Tony Wasserka
3d8c6e61be
StringUtil: Perform some minimal cleanup.
2014-12-07 23:52:17 +01:00
Rohit Nirmal
8a62423970
Change NULLs to nullptrs.
2014-12-03 12:57:57 -06:00
darkf
459502e48c
Fix MinGW build
2014-11-28 21:38:20 -08:00
Emmanuel Gil Peyrot
f8c05e53c4
Remove unused includes to common/thread.h
2014-11-25 20:39:25 +00:00
Emmanuel Gil Peyrot
739bb58c3a
Remove tabs in all files except in skyeye imports and in generated GL code
2014-11-19 09:04:03 +00:00
Emmanuel Gil Peyrot
f5d38649c7
Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated
2014-11-19 09:03:07 +00:00
bunnei
40acd63631
Merge pull request #165 from neobrain/viewport-scaling
...
Stretch emulation output to render window and be display density independent
2014-11-18 18:32:01 -05:00
Lioncash
1a8f466217
Remove extraneous semicolons
2014-11-18 08:27:16 -05:00
Tony Wasserka
5785f764ab
EmuWindow: Add some explicit documentation and set proper minimal client area size.
2014-11-18 13:16:02 +01:00
Tony Wasserka
6a6464807a
EmuWindow: Add a TODO.
...
Implementing this function currently is not critical, as we don't perform any configuration changes, yet.
However, the interface is a good starting point for adding this functionality.
2014-11-18 13:16:02 +01:00
Tony Wasserka
e02ff0121f
MathUtil: Make Rectangle work with unsigned types.
2014-11-18 13:15:59 +01:00
Tony Wasserka
19bb01c223
EmuWindow: Better document the purpose of OnMinimalClientAreaChangeRequest.
2014-11-18 13:09:01 +01:00
Tony Wasserka
182476c96a
EmuWindow: Remove window title getters/setters.
...
The window title is none of the emulation core's business. The GUI code is free to put whatever it wants there.
Providing properly thread-safe window title getters and setters is a mess anyway.
2014-11-18 13:09:01 +01:00
Tony Wasserka
ded9c8a826
EmuWindow: Add documentation.
2014-11-18 13:09:01 +01:00
Tony Wasserka
722ce22589
EmuWindow: Add support for specifying minimal client area sizes.
2014-11-18 13:09:01 +01:00
Tony Wasserka
bd8f491e4c
Fixup EmuWindow interface and implementations thereof.
2014-11-18 13:09:01 +01:00
Kevin Hartman
221a9b023d
Viewport scaling and display density independence
...
The view is scaled to be as large as possible, without changing the aspect, within the bounds of the window.
On "retina" displays, or other displays where window units != pixels, the view should no longer draw incorrectly.
2014-11-18 13:06:05 +01:00
Tony Wasserka
c8d933a142
Add a GUI logging channel.
...
Replace asserts with _dbg_assert_.
2014-11-18 13:03:02 +01:00
Lioncash
827e7a1898
emu_window: Fix initializer list order.
...
Gets rid of a warning on OSX.
2014-11-17 09:27:59 -05:00
archshift
1f7c4ab7f6
Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functions
2014-11-12 19:30:17 -08:00
Gareth Poole
38df9e96dd
Renamed souce files of services to match port names
2014-10-29 15:55:51 -04:00
Yuri Kunde Schlesner
d72708c1f5
Add `override` keyword through the code.
...
This was automated using `clang-modernize`.
2014-10-26 16:18:05 -02:00
Yuri Kunde Schlesner
da564d3fe0
Fix compile errors in Clang
2014-10-26 16:18:04 -02:00
Tony Wasserka
a7a57c04c6
Merge pull request #150 from lioncash/typo
...
bit_field: Fix a typo in the sample usage.
2014-10-25 21:19:43 +02:00
Lioncash
2dce9b2ead
bit_field: Fix a typo in the sample usage.
2014-10-25 15:18:34 -04:00
archshift
7fa4dbd0c6
Removed uses of raw c-string manipulation functions.
2014-10-23 21:44:10 -07:00
bunnei
ce8390ac03
Merge pull request #133 from archshift/sdmc-enabled
...
Use config files to store whether SDMC is enabled or not, auto-create SDMC dir.
2014-10-23 18:51:54 -04:00
Yuri Kunde Schlesner
b75ac24391
Use std sized types instead of platform specific typedefs
2014-10-22 22:43:15 -02:00
archshift
a7c7946867
Common: Return from CreateFullPath early if the directory creation fails
2014-10-22 15:24:25 -07:00
bunnei
a171000cbe
Merge pull request #108 from archshift/config
...
Configuration files
2014-10-07 19:44:13 -04:00
archshift
e6594f9f53
Added configuration file system.
...
Uses QSettings on citra-qt, and inih on citra-cli.
2014-10-07 15:09:37 -07:00
Emmanuel Gil Peyrot
fbd72fd6bf
Common: Add a helper function to generate a 8.3 filename from a long one.
...
Core: Fix the SDMC Directory implementation to make blargSnes work.
2014-10-06 19:58:43 +02:00
Lioncash
ca2f0de08a
Fix warnings in core and common
2014-09-28 11:44:14 -04:00
bunnei
ee7cfc71bd
Merge pull request #118 from lioncash/chunk-file
...
chunk_file: General cleanup
2014-09-22 22:02:51 -04:00
Lioncash
ff442d6cf9
chunk_file: General cleanup
...
- Remove unnecessary ifdefs
- Remove commented out code. Can be retrieved later if needed.
2014-09-21 18:36:14 -04:00
archshift
1966f7b0ad
Use the citra user path for the sdmc directory
2014-09-21 09:34:33 -07:00
Emmanuel Gil Peyrot
6b7b36a874
Common: Rename the File namespace to FileUtil, to match the filename and prevent collisions.
2014-09-17 14:35:45 +00:00
Emmanuel Gil Peyrot
edaf59a759
Common: Return the number of items read/written in IOFile’s methods instead of a boolean.
2014-09-17 14:35:45 +00:00
Kevin Hartman
02fd19b2f6
Added support for multiple input device types for KeyMap and connected Qt.
2014-09-12 01:15:14 -07:00
Kevin Hartman
4a94ec934a
Initial HID PAD work, with GLFW only.
2014-09-11 22:43:42 -07:00
bunnei
532a9e80a0
Merge pull request #99 from archshift/ext-check
...
loader.cpp: improved file extension checking, made Upper/LowerStr useful, moved string_util into Common namespace
2014-09-11 00:04:36 -04:00
bunnei
d79fe3ebaa
Merge pull request #103 from archshift/prune
...
Prune redundant includes
2014-09-10 18:44:08 -04:00
bunnei
249a567834
Merge pull request #104 from archshift/removal
...
Removed fixed_size_queue.h
2014-09-09 20:56:28 -04:00
bunnei
8891c27425
Merge pull request #101 from lioncash/inf-loop
...
Common: Fix a potential infinite loop in StringUtil's ReplaceAll
2014-09-09 20:53:33 -04:00
archshift
727bad24a2
Removed fixed_size_queue.h
...
It's unused and doesn't look like it compiles anyway :/
2014-09-08 18:49:41 -07:00
archshift
9d7cc2bedc
common: Prune all redundant includes
2014-09-08 17:25:43 -07:00
archshift
8fe5f2e2fe
Moved common_types::Rect from common to Common namespace
2014-09-08 15:43:36 -07:00
archshift
5472fd4d9b
Added string_util to common, small changes in loader.cpp
2014-09-08 15:43:22 -07:00
archshift
4ed24a0619
loader.cpp: improved file extension checking, made Upper/LowerStr useful
...
Instead of forcibly taking the last 4 characters, it now finds the last extension separator (the period) and takes a substr of its location.
2014-09-08 15:41:58 -07:00
Lioncash
5b65decf91
Common: Remove HAVE_CXX11_SYNTAX define from Common.h
2014-09-08 15:01:15 -04:00
Lioncash
2f6ef914db
Common: Fix a potential infinite loop in StringUtil's ReplaceAll
2014-09-08 14:48:59 -04:00
archshift
498d1a37f1
Removed common/std_xyz, instead using the std header
2014-09-07 14:31:07 -07:00
archshift
4795a64fc8
Removed common/atomic, instead using std::atomic
2014-09-02 22:40:02 -07:00
Yuri Kunde Schlesner
c57de3e404
Remove hand-crafted Visual Studio solution.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner
b15d631d99
Avoid LOGGING redefinition warnings.
2014-09-01 18:06:30 -03:00
Yuri Kunde Schlesner
45976da975
CMake cleanup
...
Several cleanups to the buildsystem:
- Do better factoring of common libs between platforms.
- Add support to building on Windows.
- Remove Qt4 support.
- Re-sort file lists and add missing headers.
2014-09-01 18:06:30 -03:00
bunnei
59d512484a
Merge pull request #58 from lioncash/clamp
...
Common: Add a clamp function to math_utils.h
2014-08-21 11:31:43 -04:00
Lioncash
2f571a0d9d
Common: Add a clamp function to math_utils.h
2014-08-19 03:37:38 -04:00
Lioncash
85a20a9b19
Common: Get rid of an unnecessary forward declaration in symbols.h
2014-08-18 16:40:17 -04:00
Lioncash
a49a5fa4d9
Common: Don't return a reference to a string when calling GetName in symbols.cpp
...
Returning a copy of the string is what was likely meant to be done.
2014-08-18 01:59:03 -04:00
bunnei
68c81f28d9
Merge pull request #52 from lioncash/memory
...
Common: Correctly set ptr to null if mmap fails in memory_util
2014-08-17 20:38:28 -04:00
bunnei
54d5d4477f
Merge pull request #48 from linkmauve/master
...
Replace insecure temporary file creation with devshm.
2014-08-17 20:33:47 -04:00
Lioncash
cc9f352b66
Common: Correctly set ptr to null if mmap fails in memory_util
...
On POSIX systems mmap will return MAP_FAILED ((void*)-1) instead of a null pointer.
2014-08-17 14:08:43 -04:00
Lioncash
da6f24b374
Common: Move remaining C header includes over to their C++ equivalent
2014-08-17 13:54:06 -04:00
Lioncash
90e994471a
Common: Move header guards over to pragma once
...
Also replaced C headers with the C++ equivalent ones
2014-08-17 13:45:55 -04:00
Emmanuel Gil Peyrot
c91d9fd837
mem_arena: Replace insecure temporary file creation with devshm, importing Dolphin’s code.
2014-08-16 10:12:30 +02:00
archshift
a7c549a40c
Simplified if-tree in extended_trace.cpp
2014-08-12 14:34:25 -07:00
bunnei
0ccd026a6d
Merge pull request #41 from archshift/itr
...
Changed iterators to use auto, many of which using range-based loops
2014-08-12 10:12:39 -04:00
archshift
1a2604902f
break_points.cpp: return directly from conditionals
2014-08-12 04:04:54 -07:00
archshift
e3efc613fd
break_points: cleaned up, added `find_if`s
2014-08-12 03:48:11 -07:00
archshift
5a7c3ad194
Changed iterators to use auto, some of which using range-based loops
2014-08-11 17:53:23 -07:00
Tony Wasserka
9c781a6c76
Remove the fancy RegisterSet class introduced in 4c2bff61e
.
...
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures.
Instead, we now use a more conventional approach which is a lot more clean to use.
2014-08-12 02:17:21 +02:00
Anthony J. Bentley
dad3655a6d
Use pthread_set_name_np() on OpenBSD.
2014-08-07 22:56:58 -06:00
Tony Wasserka
246cb75584
RegisterSet: Simplify code by using structs for register definition instead of unions.
2014-07-23 00:33:08 +02:00
Yuri Kunde Schlesner
78eb8ba844
[build] Search for the git binary in the default msysgit install dir
...
The Git for Windows installer doesn't add the Git binaries to the path
by default. (Due to risk of conflicts with built-in windows commands.)
Unless you have configured your system specially this causes the
scm_rev_gen.js script to fail to find Git. Added more paths to the
script so that it searches in the default msysgit installation
directory, eliminating the need to set the PATH for most environments.
2014-07-19 17:16:05 -03:00
Tony Wasserka
0da8e2eacc
BitField: Cast enum values to proper integer type.
2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9
BitField: Add a static_assert.
...
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5
BitField: Delete copy assignment to prevent obscure bugs.
...
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d
BitField: Add an explicit evaluation method.
...
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +02:00
bunnei
004df76795
Merge branch 'threading' of https://github.com/bunnei/citra
...
Conflicts:
src/core/hle/function_wrappers.h
src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
bunnei
b919158050
Removed definition of MAX_PATH, this is already defined in common_paths.h.
2014-06-12 06:10:55 -04:00
archshift
ee4717aaae
Preprocessor: #if's out OSX-specific GL changes on other platforms
2014-06-12 06:10:55 -04:00
bunnei
06ef8f001a
Common: Removed duplicate "LONG" and "MAX_PATH" definitions.
2014-06-12 06:10:54 -04:00
Tony Wasserka
4c2bff61e5
Pica: Use some template magic to define register structures efficiently.
2014-06-12 06:10:54 -04:00
Tony Wasserka
1dfa392824
Rename LCD to GPU.
2014-06-12 06:10:49 -04:00
bunnei
00adbc7817
log: updated MAX_LOGLEVEL to use correct log level enum type
2014-06-01 11:49:58 -04:00
bunnei
5cd922d151
log: updated GenericLog __attribute__ for newly added parameter
2014-06-01 11:05:48 -04:00
bunnei
6fc62f8c93
log: fixed to not print twice, enabled coloring, added OS print logging as its own type
2014-05-29 23:03:03 -04:00
bunnei
32c314c992
Merge branch 'threading'
2014-05-22 22:57:45 -04:00
archshift
5a8ed196e6
common_types: Changed BasicRect back to Rect, in the common namespace
...
Only Rect is in the namespace for now; the rest of common should be added in the future
2014-05-19 17:57:35 -07:00
archshift
034e3aabc8
Improved clarity and whitespace
...
Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5.
2014-05-19 15:21:55 -07:00
archshift
403e4bf837
CMakeLists: rename HEADS, improved comments
...
Changes for clarity of comments, removed redundant compiler flags.
2014-05-19 15:19:36 -07:00
archshift
c1394650ff
Updated cmakelists
2014-05-16 23:39:27 -07:00
archshift
b8c8d0903e
Merge remote-tracking branch 'upstream/master' into issue-7-fix
2014-05-16 23:21:03 -07:00
bunnei
43bc2ac724
added MIN, MAX, and CLAMP macros to common_funcs
2014-05-17 00:53:41 -04:00
bunnei
cf2eb8e3d3
added ThreadQueueList class to common (taken from PPSSPP)
2014-05-15 18:19:34 -04:00
bunnei
daf7a7880a
added kernel logger to common
2014-05-09 20:54:51 -04:00
bunnei
a6b047ec3b
removed incorrect dolphin copyright line
2014-05-08 17:11:41 -04:00
bunnei
a713bd1bad
fixed include of common in bit_field.h
2014-05-07 21:44:16 -04:00
bunnei
505d984f16
logger fix for linux
2014-05-07 21:34:04 -04:00
bunnei
92bde183dd
added GSP to loggers
2014-05-07 20:59:21 -04:00
bunnei
e7a0283625
added BitField to common
2014-05-07 18:14:42 -04:00
bunnei
9db26df05f
- added better SVC logging
...
- added stubs for GetResourceLimit and GetResourceLimitCurrentValues SVCs
2014-05-06 17:18:20 -04:00
archshift
7817d6c79a
Support for C++11 on OSX
2014-04-30 23:47:38 -07:00
archshift
704075f04a
Fixed indents
2014-04-30 20:13:28 -07:00
archshift
52377cf0d2
Some more experimentation
2014-04-29 19:27:01 -07:00
archshift
5a9c2ce5ea
IT'S ALIVE!
2014-04-28 19:40:39 -07:00
archshift
5749d1eabe
Fix complaints about functions that could not be found
2014-04-27 22:25:30 -07:00
archshift
5741f2fb26
Problematic class with no current implementation
2014-04-27 22:24:39 -07:00
archshift
ff48c8bed3
Rect to BasicRect
...
Somewhere along the line an OSX header had already taken the name Rect.
2014-04-27 22:21:46 -07:00
bunnei
81cb80997a
add missing bswap functions
2014-04-27 21:49:50 -04:00
bunnei
535947a0e1
fix for issue Linux build #9 , not sure why this is broken but its unused code I'm just getting rid of it
2014-04-27 21:31:50 -04:00
bunnei
438dba40c1
Merge branch 'hle-interface-updates'
2014-04-27 21:25:16 -04:00
bunnei
a48c6b947d
removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class
2014-04-27 18:29:51 -04:00
Thomas Edvalson
08e1ba746f
Resolved undefined Common::g_scm_branch error.
2014-04-25 10:34:27 -04:00
bunnei
66a98ea686
made qt window title consistent
2014-04-23 22:49:55 -04:00
bunnei
80a040ac77
fixes to scm_rev generation to make it conistent with windows build
2014-04-23 19:13:00 -07:00
ShizZy
121960a2eb
updated windows scm_rev code to use new style
2014-04-23 22:04:33 -04:00
bunnei
4405a53cf3
added scm rev generation on Linux/cmake
2014-04-23 18:43:57 -07:00
bunnei
7a136b8a84
fixes to build on linux
2014-04-22 19:42:29 -07:00
ShizZy
c479921142
removed duplicate rotl/rotr functions
2014-04-22 18:47:43 -04:00
ShizZy
5c89324809
updated CMakeLists for missing files
2014-04-22 18:35:40 -04:00
bunnei
958bca606e
Merge branch 'hle-interface'
2014-04-18 17:52:49 -04:00
bunnei
c3a4b4bfca
added NDMA hardware interface
2014-04-17 23:43:55 -04:00
bunnei
cb504e236b
added helper functions for upper/lowercase strings
2014-04-14 21:25:46 -04:00
Mathieu Vaillancourt
d046cfbba1
Add symbols map
2014-04-12 19:04:31 -04:00
bunnei
d4cb2aab63
added logger for generic HLE
2014-04-10 22:43:48 -04:00
bunnei
17b32b7b3f
removed scm_rev.h from version control
2014-04-10 20:05:58 -04:00
bunnei
7b3cde1f3a
added missing const to GetWindowTitle
2014-04-10 20:04:38 -04:00
bunnei
6b83509a7e
updated CMakeLists
2014-04-09 23:09:05 -04:00
bunnei
5da03e821e
- removed deprecated version.h
...
- cleaned up window title
- cleaned up emu_window_glfw/emu_window
2014-04-08 23:18:23 -04:00
bunnei
2c54d5eee2
fixed scm_rev_gen
2014-04-08 20:20:10 -04:00
bunnei
de0a034a84
fixed project includes to use new directory structure
2014-04-08 20:15:08 -04:00
bunnei
63e46abdb8
got rid of 'src' folders in each sub-project
2014-04-08 19:25:03 -04:00
bunnei
aa3ae1af49
added "citra" instead of "emu" to title bar
2014-04-06 22:49:54 -04:00
bunnei
0716470609
added logger option specifically for the renderer
2014-04-06 16:56:42 -04:00
bunnei
89fd6eb237
added missing includes to common_types.h
2014-04-05 15:47:55 -04:00