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
James Rowe
b429095b61
Fix git version in scm_rev.cpp
2020-01-16 00:12:50 -07:00
Zach Hilman
0c8b6b0351
ci: Populate build repository from Azure environment
2019-11-05 21:37:27 -05: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
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
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
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
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
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
06c4ce8645
shader: Decode SUST and implement backing image functionality
2019-06-20 21:38:33 -03:00
ReinUsesLisp
dec1cbaf7f
cmake: Add missing shader hash file entries
2019-06-06 20:11:48 -03: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
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
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
522957f9f3
Implement a MultiLevelQueue
2019-03-27 14:33:44 -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
ReinUsesLisp
48e6f77c03
shader/decode: Split memory and texture instructions decoding
2019-02-26 00:11:30 -03:00
Fernando Sahmkow
3ea48e8ebe
Implement 128 bits Unsigned Integer Multiplication and Division.
2019-02-15 22:55:31 -04: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
Lioncash
fc8da2d5e3
common: Add basic bit manipulation utility function to Common
2018-12-21 07:04:18 -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
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
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
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
fearlessTobi
4d139943f2
Port web_service from Citra
2018-10-02 15:30:48 +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
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
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
Zach Hilman
10aac376d1
common: Move hex string processing to separate file
2018-08-11 22:50:08 -04:00
Lioncash
973fdce79b
common: Remove synchronized_wrapper.h
...
This is entirely unused in the codebase.
2018-07-21 14:51:44 -04: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
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
bunnei
45fd7c4a37
common: Port cityhash code from Citra.
2018-04-13 23:48:22 -04:00
bunnei
c2e0820ac2
Merge pull request #262 from daniellimws/fmtlib-macros
...
Logging: Add fmtlib-based macros
2018-04-02 21:19:20 -04: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
N00byKing
34b733e70e
CMake: Set EMU_ARCH_BITS in CMakeLists.txt
2018-03-21 19:03:20 +01:00
Matthew Brener
af871f8966
Fix spelling error in CMakeLists
...
Minor spelling error of its --> it's
2018-01-21 17:40:47 +11: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
MerryMage
80db02c497
Minor cleanup
2018-01-13 23:56:18 +00: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
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
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
a4760e939f
common: Add a generic interface for logging telemetry fields.
2017-05-24 19:16:21 -04:00
Yuri Kunde Schlesner
cb4da3975e
Remove unused symbols code
2017-05-07 15:33:39 -07: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
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
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
wwylele
6479f63091
Common: add Quaternion
2016-12-26 10:41:26 +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
Yuri Kunde Schlesner
f4e98ecf3f
VideoCore: Convert x64 shader JIT to use Xbyak for assembly
2016-12-14 20:06:08 -08: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
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
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
Jannik Vogel
a66c186e81
PICA: Align vertex attributes
2016-03-13 04:54:23 +01: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
0b6c0afeb7
Common: Import BitSet from Dolphin
2015-09-01 23:39:52 +02: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
bunnei
b39c053785
Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.
2015-08-15 18:03:27 -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
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
Emmanuel Gil Peyrot
0aade9ad63
Common: Remove unused fifo_queue.h.
2015-06-27 14:43:56 +01: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
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
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
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner
cd1fbfcf1b
Add profiling infrastructure and widget
2015-03-01 21:47:13 -03: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
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
Yuri Kunde Schlesner
82528ba7df
Common: Add a clone of std::make_unique
2014-12-20 03:45:02 -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
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
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
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
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
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
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
704075f04a
Fixed indents
2014-04-30 20:13:28 -07:00
archshift
5a9c2ce5ea
IT'S ALIVE!
2014-04-28 19:40:39 -07:00
bunnei
80a040ac77
fixes to scm_rev generation to make it conistent with windows build
2014-04-23 19:13:00 -07:00
bunnei
4405a53cf3
added scm rev generation on Linux/cmake
2014-04-23 18:43:57 -07:00
ShizZy
5c89324809
updated CMakeLists for missing files
2014-04-22 18:35:40 -04:00
bunnei
6b83509a7e
updated CMakeLists
2014-04-09 23:09:05 -04:00
bunnei
c9b5b89e21
convert tabs to spaces
2014-04-01 18:48:08 -04:00
ShizZy
d9c849586e
updated CMakeLists.txt file for new common files
2013-09-04 20:42:27 -04:00
ShizZy
27474060e1
adding initial project layout
2013-08-29 23:35:09 -04:00