summaryrefslogtreecommitdiffstats
path: root/src/common/CMakeLists.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* common: Enable warnings as errorsLioncash2020-11-021-0/+16
| | | | Cleans up common so that we can enable warnings as errors.
* video_core: NVDEC Implementationameerj2020-10-271-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>
* CMakeLists: use system zstd on Linuxlat9nq2020-09-291-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.
* CMakeLists: fix for finding zstd on linux-mingwlat9nq2020-09-291-1/+1
|
* web_service: Move web_result.h into web_serviceLioncash2020-08-231-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.
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David2020-08-031-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
* cmake: Fix libfmt linking errorsDavid Marcec2020-07-101-5/+1
|
* cmake: fix fmt linking when foundJohn Galt2020-07-091-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.
* Revert "cmake: fix fmt linking"bunnei2020-07-031-1/+1
|
* cmake: fix fmt linkingJohn Galt2020-06-291-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.
* ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.Fernando Sahmkow2020-06-271-0/+2
|
* Common: Fix non-conan buildFernando Sahmkow2020-06-261-1/+2
|
* Common: Implement WallClock Interface and implement a native clock for x64Fernando Sahmkow2020-06-181-0/+4
|
* Common: Implement a basic Fiber class.Fernando Sahmkow2020-06-181-0/+2
|
* Common: Implement a basic SpinLock classFernando Sahmkow2020-06-181-0/+2
|
* gl_arb_decompiler: Implement an assembly shader decompilerReinUsesLisp2020-06-121-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.
* Add xbyak externalDavid Marcec2020-05-301-1/+3
|
* main: Log host system memory parametersMorph2020-05-171-0/+2
| | | | Logs both physical memory and swapfile sizes, this is useful for support.
* common: Add module to get the current time zone.bunnei2020-05-111-0/+2
|
* Replace externals with Conan (#3735)James Rowe2020-05-081-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
* common: Add VirtualBuffer class, to abstract memory virtualization.bunnei2020-04-171-0/+2
|
* common/dynamic_library: Import and adapt helper from DolphinReinUsesLisp2020-04-071-0/+2
|
* shader/transform_feedback: Add host API friendly TFB builderReinUsesLisp2020-03-131-0/+2
|
* video_core: Rename "const buffer locker" to "registry"ReinUsesLisp2020-03-091-2/+2
|
* gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp2020-03-091-2/+0
| | | | | Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
* Fix git version in scm_rev.cppJames Rowe2020-01-161-0/+5
|
* ci: Populate build repository from Azure environmentZach Hilman2019-11-061-11/+2
|
* VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.Fernando Sahmkow2019-10-251-2/+4
|
* common: Rename binary_find.h to algorithm.hLioncash2019-10-151-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.
* Merge pull request #2943 from DarkLordZach/azure-titlebars-v2bunnei2019-10-061-0/+12
|\ | | | | ci: Add custom titlebars for mainline and patreon
| * common: Add additional SCM revision fieldsZach Hilman2019-10-051-0/+12
| |
* | Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.Fernando Sahmkow2019-10-051-0/+2
| |
* | shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow2019-10-051-0/+4
|/
* cmake: Add SCM detection for AzureZach Hilman2019-09-221-0/+3
|
* shader_ir: Implement VOTEReinUsesLisp2019-08-211-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.
* shader_ir: Implement a new shader scannerFernando Sahmkow2019-07-091-0/+2
|
* texture_cache: Address FeedbackFernando Sahmkow2019-07-051-0/+1
|
* shader: Decode SUST and implement backing image functionalityReinUsesLisp2019-06-211-0/+1
|
* cmake: Add missing shader hash file entriesReinUsesLisp2019-06-071-0/+3
|
* common: Extract UUID to its own classZach Hilman2019-04-251-0/+2
| | | Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
* common/zstd_compression: Add Zstandard wrapperunknown2019-03-291-0/+2
|
* common: Link libzstd_staticunknown2019-03-291-1/+1
|
* Addressed feedbackunknown2019-03-291-2/+2
|
* data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compressionunknown2019-03-291-0/+3
|
* Implement a MultiLevelQueueFernando Sahmkow2019-03-271-0/+1
|
* common/CMakeLists: Amend boost dependencyLioncash2019-03-211-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.
* Merge pull request #2247 from lioncash/includebunnei2019-03-211-1/+1
|\ | | | | common/thread_queue_list: Remove unnecessary dependency on boost
| * common/thread_queue_list: Remove unnecessary dependency on boostLioncash2019-03-161-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.
* | core: Move PageTable struct into Common.bunnei2019-03-171-0/+4
| |
* | Merge pull request #2129 from FernandoS27/cntpctbunnei2019-03-171-0/+2
|\ \ | |/ |/| Correct CNTPCT from using CPU Cycles to using Clock Cycles
| * Implement 128 bits Unsigned Integer Multiplication and Division.Fernando Sahmkow2019-02-161-0/+2
| |
* | shader/decode: Split memory and texture instructions decodingReinUsesLisp2019-02-261-0/+1
|/
* cmake: Fix title bar issueReinUsesLisp2019-02-071-1/+14
|
* cmake: Use CMAKE_COMMAND instead of "cmake"Frederic L2019-02-071-1/+1
| | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
* gl_shader_disk_cache: Invalidate shader cache changes with CMake hashReinUsesLisp2019-02-071-39/+53
|
* common: Add basic bit manipulation utility function to CommonLioncash2018-12-211-0/+1
|
* common: Remove bit_set.hLioncash2018-11-221-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.
* common: Remove dependency on xbyakLioncash2018-11-211-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).
* common: Remove memory_util.cpp/.hLioncash2018-10-231-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.
* Remove "#" in the version numberfearlessTobi2018-10-061-1/+1
| | | | So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
* Port web_service from CitrafearlessTobi2018-10-021-0/+3
|
* common: Implement a ring bufferMerryMage2018-09-081-0/+1
|
* Better Title Bar DisplayCaptV0rt3x2018-09-071-5/+19
|
* Merge pull request #1005 from DarkLordZach/registered-fmtbunnei2018-08-161-0/+2
|\ | | | | file_sys: Add support for registration format
| * common: Move hex string processing to separate fileZach Hilman2018-08-121-0/+2
| |
* | common: Remove unused old breakpoint source filesLioncash2018-08-151-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).
* common: Remove synchronized_wrapper.hLioncash2018-07-211-1/+0
| | | | This is entirely unused in the codebase.
* common: Remove chunk_file.h and linear_disk_cache.hLioncash2018-04-261-2/+0
| | | | These are unused (and given chunk_file references Dolphin's >SVN< I doubt they were going to be used).
* common: Remove code_block.hLioncash2018-04-201-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.
* common: Port cityhash code from Citra.bunnei2018-04-141-1/+2
|
* Merge pull request #262 from daniellimws/fmtlib-macrosbunnei2018-04-031-1/+1
|\ | | | | Logging: Add fmtlib-based macros
| * Logging: Create logging macros based on fmtlibDaniel Lim Wee Soong2018-03-221-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.
* | CMake: Set EMU_ARCH_BITS in CMakeLists.txtN00byKing2018-03-211-1/+0
|/
* Fix spelling error in CMakeListsMatthew Brener2018-01-211-1/+1
| | | Minor spelling error of its --> it's
* CMakeLists: Derive the source directory grouping from targets themselvesLioncash2018-01-181-63/+57
| | | | | Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
* Minor cleanupMerryMage2018-01-141-1/+1
|
* CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n302018-01-091-0/+1
| | | | * CoreTiming: New CoreTiming; Add Test for CoreTiming
* CMake: Create INTERFACE targets for microprofile and nihstroYuri Kunde Schlesner2017-05-281-1/+1
|
* CMake: Use IMPORTED target for BoostYuri Kunde Schlesner2017-05-281-0/+1
|
* CMake: Correct inter-module dependencies and library visibilityYuri Kunde Schlesner2017-05-281-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.
* Move framebuffer_layout from Common to CoreYuri Kunde Schlesner2017-05-281-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.
* common: Add a generic interface for logging telemetry fields.bunnei2017-05-251-0/+2
|
* Remove unused symbols codeYuri Kunde Schlesner2017-05-081-2/+0
|
* Common: add ParamPackagewwylele2017-03-011-0/+2
|
* Merge pull request #2587 from yuriks/status-barYuri Kunde Schlesner2017-02-271-2/+0
|\ | | | | Replace built-in Profiler with indicators in status bar
| * Remove built-in (non-Microprofile) profilerYuri Kunde Schlesner2017-02-271-2/+0
| |
* | Gui: Change title bar to include build nameJames Rowe2017-02-231-0/+23
|/ | | | | Nightly builds now have "Citra Nightly" in the titlebar Bleeding edge builds now have "Citra Bleeding Edge" in the titlebar
* Common/x64: remove legacy emitter and abi (#2504)Weiyi Wang2017-01-311-4/+1
| | | These are not used any more since we moved shader JIT to xbyak.
* Common: add Quaternionwwylele2016-12-261-0/+1
|
* core: Move emu_window and key_map into coreMerryMage2016-12-231-4/+0
| | | | * Removes circular dependences (common should not depend on core)
* VideoCore: Convert x64 shader JIT to use Xbyak for assemblyYuri Kunde Schlesner2016-12-151-1/+7
|
* Support additional screen layouts.James Rowe2016-11-051-0/+2
| | | | | Allows users to choose a single screen layout or a large screen layout. Adds a configuration option to change the prominent screen.
* Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner2016-04-291-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.
* Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-1/+0
|
* PICA: Align vertex attributesJannik Vogel2016-03-131-0/+1
|
* common: Get rid of debug_interface.hLioncash2015-09-111-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.
* Common: Import BitSet from Dolphinaroulin2015-09-011-0/+1
|
* Integrate the MicroProfile profiling libraryYuri Kunde Schlesner2015-08-251-0/+3
| | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei2015-08-161-1/+1
|
* Common: Move cpu_detect to x64 directory.bunnei2015-08-161-2/+2
|
* x64: Refactor to remove fake interfaces and general cleanups.bunnei2015-08-161-12/+6
|
* Common: Added MurmurHash3 hash function for general-purpose use.bunnei2015-08-151-1/+3
|
* Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP.bunnei2015-08-151-2/+12
|
* Common: Ported over Dolphin's code for x86 CPU capability detection.bunnei2015-08-151-0/+8
|
* Common: Remove thunk.hLioncash2015-07-111-1/+0
| | | | This isn't used, and there's no implementations of the member functions.
* Common: Remove unused fifo_queue.h.Emmanuel Gil Peyrot2015-06-271-1/+0
|
* Move video_core/color.h to common/color.harchshift2015-05-301-0/+1
|
* Move video_core/math.h to common/vector_math.harchshift2015-05-301-0/+1
| | | | The file only contained vector manipulation code, and such widely-useable code doesn't belong in video_core.
* Merge pull request #758 from yuriks/sync-loggingYuri Kunde Schlesner2015-05-161-1/+0
|\ | | | | Common: Remove async logging
| * Remove unused concurrent_ring_buffer.hYuri Kunde Schlesner2015-05-161-1/+0
| |
* | Common: Remove unused cruft from math_util, and remove a duplicated Rect class in common_types.Emmanuel Gil Peyrot2015-05-141-1/+0
|/
* Common: Remove mem_arena.cpp/hYuri Kunde Schlesner2015-05-081-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.
* Common: Remove hash.cpp/hYuri Kunde Schlesner2015-05-071-2/+0
| | | | Currently unused and the code quality is pretty questionable.
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-1/+0
|
* Add profiling infrastructure and widgetYuri Kunde Schlesner2015-03-021-0/+4
|
* Remove "super lame/broken" file_search compilation unit that was leftover from Dolphinarchshift2015-02-191-2/+0
|
* Remove redundant utf8 compilation unit that was leftover from Dolphinarchshift2015-02-191-2/+0
|
* Remove useless extended_trace compilation unit that was leftover from Dolphinarchshift2015-02-191-2/+0
|
* Remove the useless msg_handler compilation unit that was left over from Dolphinarchshift2015-02-191-2/+0
|
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-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.
* Common: Add a clone of std::make_uniqueYuri Kunde Schlesner2014-12-201-0/+1
|
* Remove old logging systemYuri Kunde Schlesner2014-12-131-4/+0
|
* Add configurable per-class log filteringYuri Kunde Schlesner2014-12-131-0/+2
|
* New logging systemYuri Kunde Schlesner2014-12-131-0/+6
|
* Add SCOPE_EXIT macro to conveniently execute cleanup actionsYuri Kunde Schlesner2014-12-131-0/+1
|
* Added support for multiple input device types for KeyMap and connected Qt.Kevin Hartman2014-09-121-0/+1
|
* Initial HID PAD work, with GLFW only.Kevin Hartman2014-09-121-0/+2
|
* Removed fixed_size_queue.harchshift2014-09-091-1/+0
| | | | It's unused and doesn't look like it compiles anyway :/
* Removed common/std_xyz, instead using the std headerarchshift2014-09-071-3/+0
|
* Removed common/atomic, instead using std::atomicarchshift2014-09-031-3/+0
|
* CMake cleanupYuri Kunde Schlesner2014-09-011-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.
* CMakeLists: rename HEADS, improved commentsarchshift2014-05-201-2/+2
| | | | Changes for clarity of comments, removed redundant compiler flags.
* Updated cmakelistsarchshift2014-05-171-0/+1
|
* Fixed indentsarchshift2014-05-011-1/+1
|
* IT'S ALIVE!archshift2014-04-291-1/+39
|
* fixes to scm_rev generation to make it conistent with windows buildbunnei2014-04-241-3/+3
|
* added scm rev generation on Linux/cmakebunnei2014-04-241-1/+3
|
* updated CMakeLists for missing filesShizZy2014-04-231-0/+1
|
* updated CMakeListsbunnei2014-04-101-16/+17
|
* convert tabs to spacesbunnei2014-04-021-16/+16
|
* updated CMakeLists.txt file for new common filesShizZy2013-09-051-9/+16
|
* adding initial project layoutShizZy2013-08-301-0/+11