summaryrefslogtreecommitdiffstats
path: root/src/common/CMakeLists.txt (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-01-15common/timer: RemoveLioncash1-2/+0
This is a leftover from citra and dolphin that isn't used at all, particularly given the <chrono> header exists.
2021-01-15common/color: RemoveReinUsesLisp1-1/+0
This is a leftover from Citra we no longer use.
2021-01-11common: Introduce useful tree structures.bunnei1-0/+3
2021-01-02X86/NativeClock: Reimplement RTDSC access to be lock free.Fernando Sahmkow1-1/+0
2021-01-01memory: Remove MemoryHookMerryMage1-2/+0
2020-12-30common: ThreadWorker: Add class to help do asynchronous work.bunnei1-0/+2
2020-12-13cmake: Fix generating CMake configs and linking with Boostlat9nq1-1/+1
Fixes regression by 761206cf81b271f7f4dd6a167a120325b760dbf3, causing yuzu to not build on Linux with any version of Boost except a cached 1.73 Conan version from before about a day ago. Moves the Boost requirement out of the `REQUIRED_LIBS` psuedo-2D-array for Conan to instead be manually configured, using Conan as a fallback solution if the system does not meet our requirements. Requires any update from the linux-fresh container in order to build. **DO NOT MERGE** until someone with the MSVC toolchain can verify this works there, too.
2020-12-12common: Update CMakeList to fix build issue with Boost.bunnei1-2/+1
2020-12-06hle: kernel: Separate KScheduler from GlobalSchedulerContext class.bunnei1-1/+0
2020-12-06common: Port BitSet from Mesosphere.bunnei1-0/+1
2020-11-26common: Add Common::DivCeil and Common::DivCeilLog2ReinUsesLisp1-0/+1
Add an equivalent to 'Common::AlignUp(n, d) / d' and a log2 alternative.
2020-11-20common/bit_cast: Add function matching std::bit_cast without constexprReinUsesLisp1-0/+1
Add a std::bit_cast-like function archiving the same runtime results as the standard function, without compile time support. This allows us to use bit_cast while we wait for compiler support, it can be trivially replaced in the future.
2020-11-02common: Enable warnings as errorsLioncash1-0/+16
Cleans up common so that we can enable warnings as errors.
2020-10-27video_core: NVDEC Implementationameerj1-0/+2
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library. The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data. To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library. Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header. Async GPU is not properly implemented at the moment. Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-09-29CMakeLists: use system zstd on Linuxlat9nq1-1/+6
From what I understand, this tells CMake to use the system, not conan, version of zstd. Required to build on the coming MinGW Docker container.
2020-09-29CMakeLists: fix for finding zstd on linux-mingwlat9nq1-1/+1
2020-08-23web_service: Move web_result.h into web_serviceLioncash1-1/+0
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-03ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David1-0/+1
* 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-07-10cmake: Fix libfmt linking errorsDavid Marcec1-5/+1
2020-07-09cmake: fix fmt linking when foundJohn Galt1-1/+5
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-03Revert "cmake: fix fmt linking"bunnei1-1/+1
2020-06-29cmake: fix fmt linkingJohn Galt1-1/+1
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-27ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow1-0/+2
2020-06-26Common: Fix non-conan buildFernando Sahmkow1-1/+2
2020-06-18Common: Implement WallClock Interface and implement a native clock for x64Fernando Sahmkow1-0/+4
2020-06-18Common: Implement a basic Fiber class.Fernando Sahmkow1-0/+2
2020-06-18Common: Implement a basic SpinLock classFernando Sahmkow1-0/+2
2020-06-12gl_arb_decompiler: Implement an assembly shader decompilerReinUsesLisp1-0/+2
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-05-30Add xbyak externalDavid Marcec1-1/+3
2020-05-17main: Log host system memory parametersMorph1-0/+2
Logs both physical memory and swapfile sizes, this is useful for support.
2020-05-11common: Add module to get the current time zone.bunnei1-0/+2
2020-05-08Replace externals with Conan (#3735)James Rowe1-2/+2
* 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-04-17common: Add VirtualBuffer class, to abstract memory virtualization.bunnei1-0/+2
2020-04-07common/dynamic_library: Import and adapt helper from DolphinReinUsesLisp1-0/+2
2020-03-13shader/transform_feedback: Add host API friendly TFB builderReinUsesLisp1-0/+2
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp1-2/+2
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp1-2/+0
Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
2020-01-16Fix git version in scm_rev.cppJames Rowe1-0/+5
2019-11-06ci: Populate build repository from Azure environmentZach Hilman1-11/+2
2019-10-25VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.Fernando Sahmkow1-2/+4
2019-10-15common: Rename binary_find.h to algorithm.hLioncash1-1/+1
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-05common: Add additional SCM revision fieldsZach Hilman1-0/+12
2019-10-05Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.Fernando Sahmkow1-0/+2
2019-10-05shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow1-0/+4
2019-09-22cmake: Add SCM detection for AzureZach Hilman1-0/+3
2019-08-21shader_ir: Implement VOTEReinUsesLisp1-0/+1
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-07-09shader_ir: Implement a new shader scannerFernando Sahmkow1-0/+2
2019-07-05texture_cache: Address FeedbackFernando Sahmkow1-0/+1
2019-06-21shader: Decode SUST and implement backing image functionalityReinUsesLisp1-0/+1
2019-06-07cmake: Add missing shader hash file entriesReinUsesLisp1-0/+3
2019-04-25common: Extract UUID to its own classZach Hilman1-0/+2
Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
2019-03-29common/zstd_compression: Add Zstandard wrapperunknown1-0/+2
2019-03-29common: Link libzstd_staticunknown1-1/+1
2019-03-29Addressed feedbackunknown1-2/+2
2019-03-29data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compressionunknown1-0/+3
2019-03-27Implement a MultiLevelQueueFernando Sahmkow1-0/+1
2019-03-21common/CMakeLists: Amend boost dependencyLioncash1-1/+1
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-17core: Move PageTable struct into Common.bunnei1-0/+4
2019-03-16common/thread_queue_list: Remove unnecessary dependency on boostLioncash1-1/+1
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-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp1-0/+1
2019-02-16Implement 128 bits Unsigned Integer Multiplication and Division.Fernando Sahmkow1-0/+2
2019-02-07cmake: Fix title bar issueReinUsesLisp1-1/+14
2019-02-07cmake: Use CMAKE_COMMAND instead of "cmake"Frederic L1-1/+1
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-02-07gl_shader_disk_cache: Invalidate shader cache changes with CMake hashReinUsesLisp1-39/+53
2018-12-21common: Add basic bit manipulation utility function to CommonLioncash1-0/+1
2018-11-22common: Remove bit_set.hLioncash1-1/+0
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-21common: Remove dependency on xbyakLioncash1-5/+0
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-10-23common: Remove memory_util.cpp/.hLioncash1-2/+0
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-06Remove "#" in the version numberfearlessTobi1-1/+1
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-02Port web_service from CitrafearlessTobi1-0/+3
2018-09-08common: Implement a ring bufferMerryMage1-0/+1
2018-09-07Better Title Bar DisplayCaptV0rt3x1-5/+19
2018-08-15common: Remove unused old breakpoint source filesLioncash1-2/+0
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-12common: Move hex string processing to separate fileZach Hilman1-0/+2
2018-07-21common: Remove synchronized_wrapper.hLioncash1-1/+0
This is entirely unused in the codebase.
2018-04-26common: Remove chunk_file.h and linear_disk_cache.hLioncash1-2/+0
These are unused (and given chunk_file references Dolphin's >SVN< I doubt they were going to be used).
2018-04-20common: Remove code_block.hLioncash1-1/+0
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-14common: Port cityhash code from Citra.bunnei1-1/+2
2018-03-22Logging: Create logging macros based on fmtlibDaniel Lim Wee Soong1-1/+1
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-21CMake: Set EMU_ARCH_BITS in CMakeLists.txtN00byKing1-1/+0
2018-01-21Fix spelling error in CMakeListsMatthew Brener1-1/+1
Minor spelling error of its --> it's
2018-01-18CMakeLists: Derive the source directory grouping from targets themselvesLioncash1-63/+57
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
2018-01-14Minor cleanupMerryMage1-1/+1
2018-01-09CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n301-0/+1
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2017-05-28CMake: Create INTERFACE targets for microprofile and nihstroYuri Kunde Schlesner1-1/+1
2017-05-28CMake: Use IMPORTED target for BoostYuri Kunde Schlesner1-0/+1
2017-05-28CMake: Correct inter-module dependencies and library visibilityYuri Kunde Schlesner1-1/+1
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-28Move framebuffer_layout from Common to CoreYuri Kunde Schlesner1-2/+0
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-25common: Add a generic interface for logging telemetry fields.bunnei1-0/+2
2017-05-08Remove unused symbols codeYuri Kunde Schlesner1-2/+0
2017-03-01Common: add ParamPackagewwylele1-0/+2
2017-02-27Remove built-in (non-Microprofile) profilerYuri Kunde Schlesner1-2/+0
2017-02-23Gui: Change title bar to include build nameJames Rowe1-0/+23
Nightly builds now have "Citra Nightly" in the titlebar Bleeding edge builds now have "Citra Bleeding Edge" in the titlebar
2017-01-31Common/x64: remove legacy emitter and abi (#2504)Weiyi Wang1-4/+1
These are not used any more since we moved shader JIT to xbyak.
2016-12-26Common: add Quaternionwwylele1-0/+1
2016-12-23core: Move emu_window and key_map into coreMerryMage1-4/+0
* Removes circular dependences (common should not depend on core)
2016-12-15VideoCore: Convert x64 shader JIT to use Xbyak for assemblyYuri Kunde Schlesner1-1/+7
2016-11-05Support additional screen layouts.James Rowe1-0/+2
Allows users to choose a single screen layout or a large screen layout. Adds a configuration option to change the prominent screen.
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner1-1/+0
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-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage1-1/+0
2016-03-13PICA: Align vertex attributesJannik Vogel1-0/+1
2015-09-11common: Get rid of debug_interface.hLioncash1-1/+0
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-01Common: Import BitSet from Dolphinaroulin1-0/+1
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner1-0/+3
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-16Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei1-1/+1
2015-08-16Common: Move cpu_detect to x64 directory.bunnei1-2/+2
2015-08-16x64: Refactor to remove fake interfaces and general cleanups.bunnei1-12/+6
2015-08-15Common: Added MurmurHash3 hash function for general-purpose use.bunnei1-1/+3
2015-08-15Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP.bunnei1-2/+12
2015-08-15Common: Ported over Dolphin's code for x86 CPU capability detection.bunnei1-0/+8
2015-07-11Common: Remove thunk.hLioncash1-1/+0
This isn't used, and there's no implementations of the member functions.
2015-06-27Common: Remove unused fifo_queue.h.Emmanuel Gil Peyrot1-1/+0
2015-05-30Move video_core/color.h to common/color.harchshift1-0/+1
2015-05-30Move video_core/math.h to common/vector_math.harchshift1-0/+1
The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
2015-05-16Remove unused concurrent_ring_buffer.hYuri Kunde Schlesner1-1/+0
2015-05-14Common: Remove unused cruft from math_util, and remove a duplicated Rect class in common_types.Emmanuel Gil Peyrot1-1/+0
2015-05-08Common: Remove mem_arena.cpp/hYuri Kunde Schlesner1-2/+0
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-07Common: Remove hash.cpp/hYuri Kunde Schlesner1-2/+0
Currently unused and the code quality is pretty questionable.
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+0
2015-03-02Add profiling infrastructure and widgetYuri Kunde Schlesner1-0/+4
2015-02-19Remove "super lame/broken" file_search compilation unit that was leftover from Dolphinarchshift1-2/+0
2015-02-19Remove redundant utf8 compilation unit that was leftover from Dolphinarchshift1-2/+0
2015-02-19Remove useless extended_trace compilation unit that was leftover from Dolphinarchshift1-2/+0
2015-02-19Remove the useless msg_handler compilation unit that was left over from Dolphinarchshift1-2/+0
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-1/+1
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.
2014-12-20Common: Add a clone of std::make_uniqueYuri Kunde Schlesner1-0/+1
2014-12-13Remove old logging systemYuri Kunde Schlesner1-4/+0
2014-12-13Add configurable per-class log filteringYuri Kunde Schlesner1-0/+2
2014-12-13New logging systemYuri Kunde Schlesner1-0/+6
2014-12-13Add SCOPE_EXIT macro to conveniently execute cleanup actionsYuri Kunde Schlesner1-0/+1
2014-09-12Added support for multiple input device types for KeyMap and connected Qt.Kevin Hartman1-0/+1
2014-09-12Initial HID PAD work, with GLFW only.Kevin Hartman1-0/+2
2014-09-09Removed fixed_size_queue.harchshift1-1/+0
It's unused and doesn't look like it compiles anyway :/
2014-09-07Removed common/std_xyz, instead using the std headerarchshift1-3/+0
2014-09-03Removed common/atomic, instead using std::atomicarchshift1-3/+0
2014-09-01CMake cleanupYuri Kunde Schlesner1-7/+16
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-05-20CMakeLists: rename HEADS, improved commentsarchshift1-2/+2
Changes for clarity of comments, removed redundant compiler flags.
2014-05-17Updated cmakelistsarchshift1-0/+1
2014-05-01Fixed indentsarchshift1-1/+1
2014-04-29IT'S ALIVE!archshift1-1/+39
2014-04-24fixes to scm_rev generation to make it conistent with windows buildbunnei1-3/+3
2014-04-24added scm rev generation on Linux/cmakebunnei1-1/+3
2014-04-23updated CMakeLists for missing filesShizZy1-0/+1
2014-04-10updated CMakeListsbunnei1-16/+17
2014-04-02convert tabs to spacesbunnei1-16/+16
2013-09-05updated CMakeLists.txt file for new common filesShizZy1-9/+16
2013-08-30adding initial project layoutShizZy1-0/+11