summaryrefslogtreecommitdiffstats
path: root/src/common/CMakeLists.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement HardwareOpusKelebek12023-09-161-2/+3
|
* Merge pull request #11447 from xcfrg/portable-compile-outliamwhite2023-09-121-0/+4
|\ | | | | common: add a compile time option to allow disabling portable mode
| * add a compile time option to allow disabling portable modexcfrg2023-09-071-0/+4
| |
* | msvc: set warning level to /W4 globallyDanila Malyutin2023-09-031-2/+0
|/ | | | And fix a bunch of warnings
* settings: Cleanuplat9nq2023-07-211-0/+1
| | | | | | Addresses review feedback Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
* settings,uisettings: Remove leading underscorelat9nq2023-07-211-1/+1
|
* common,yuzu-qt: Avoid explicit instantiation on old clanglat9nq2023-07-211-3/+8
| | | | | Clang versions < 15 have compile issues with explicit instantiation. Disable it for these versions.
* settings: Move some simple data to BasicSettinglat9nq2023-07-211-0/+2
| | | | | Reduces the need for the compiler to duplicate this code, by about 100KB executable size.
* (ui,)settings: Use explicit instantiationlat9nq2023-07-211-0/+2
| | | | Reduces compile times a tad on clang.
* settings: Split enums to new filelat9nq2023-07-211-0/+1
|
* x64: Deduplicate RDTSC usageMorph2023-06-081-0/+2
|
* common: link libandroid on androidLiam2023-06-031-0/+5
|
* android: Implement SAF support & migrate to SDK 31. (#4)bunnei2023-06-031-0/+8
|
* x64: Add MicroSleepMorph2023-03-271-0/+2
| | | | | | | MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision. This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield(). Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
* common: Port boost's hash_value implementationMorph2023-03-261-0/+1
| | | | Ports a small subset of boost's hash_value implementation (<= 1.80.0).
* kernel: use KTypedAddress for addressesLiam2023-03-221-0/+1
|
* kernel: avoid signed overflow UB on MSVCLiam2023-03-081-0/+1
|
* common: Implement a method to change the Windows timer resolutionMorph2023-03-051-0/+8
| | | | This utilizes undocumented NtDll functions to change the current timer resolution from the default of 1ms.
* common: Implement a high resolution steady clockMorph2023-03-051-0/+2
| | | | This implementation provides a consistent, high performance, and high resolution clock where/when std::chrono::steady_clock does not provide sufficient precision.
* cmake: use correct boost imported targetsAlexandre Bouvier2023-02-281-1/+1
|
* cmake: prefer system llvm libraryAlexandre Bouvier2023-01-231-1/+1
|
* Move demangle impl to cppKelebek12023-01-141-0/+1
|
* Add stacktrace symbol demanglingKelebek12023-01-141-1/+2
|
* MacroHLE: Reduce massive calculations on sizing estimation.Fernando Sahmkow2023-01-011-0/+1
|
* common: Add ScratchBuffer classameerj2022-12-201-0/+1
| | | | | This class creates a default initialized heap allocated buffer for cases where value initializing members during allocation or resize is redundant.
* common: add make_unique_for_overwriteameerj2022-12-201-0/+1
|
* memory: correct semantics of data cache management operationsLiam2022-12-111-2/+0
|
* cmake: prefer system librariesAlexandre Bouvier2022-12-041-12/+2
|
* CMake: Consolidate common PCH headersameerj2022-12-011-1/+1
|
* CMake: Use precompiled headersameerj2022-11-301-0/+6
|
* common: add cache management functionsLiam2022-11-121-0/+2
|
* CMakeLists: Remove redundant warningsMorph2022-10-221-2/+0
| | | | These warnings are already included in /W3.
* CMakeLists: Treat MSVC warnings as errorsMorph2022-10-221-1/+0
|
* general: Enforce C4800 everywhere except in video_coreMorph2022-10-221-0/+6
|
* CMakeLists: Remove all redundant warningsMorph2022-10-221-2/+0
| | | | These are already explicitly or implicitly set in src/CMakeLists.txt
* CMake: Try add library "LZ4::lz4_shared" if "lz4::lz4" is unavailableKyle Kienapfel2022-10-141-1/+5
| | | | | | | | | | | | Right now this looks like a distro specific problem, but we'll have to see. Over on Gentoo: with lz4 1.9.3 there is a lz4::lz4 library target, with 1.9.4 it's no longer mentioned in the cmake files provided by the package. (/usr/lib64/cmake/lz4) arch and openSUSE have lz4 1.9.4 available so I checked there, they only have .pc files for pkg-config, so asking for "lz4::lz4" works as usual MSVC does require "lz4::lz4" to be asked for
* NVDRV: Remake ASGPUFernando Sahmkow2022-10-061-0/+2
|
* Common: implement MultiLevelPageTable.Fernando Sahmkow2022-10-061-0/+2
|
* cmake: fix git detectionAlexandre Bouvier2022-09-181-27/+2
|
* Merge pull request #8649 from lat9nq/common-position-independentMorph2022-09-161-3/+3
|\ | | | | common: Use PROJECT_SOURCE_DIR to find CMakeModules
| * common: Use PROJECT_SOURCE_DIR to find CMakeModuleslat9nq2022-08-021-3/+3
| | | | | | | | Fixes CMake configuration when yuzu is a submodule of another project.
* | common: do not link to xbyak on non-amd64 architecturesliushuyu2022-09-141-1/+2
| |
* | core, network: Add ability to proxy socket packetsFearlessTobi2022-08-151-0/+1
| |
* | chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-0/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
* yuzu: Add ui files for multiplayer roomsFearlessTobi2022-07-251-0/+1
|
* Merge pull request #8545 from Kelebek1/Audioliamwhite2022-07-231-0/+3
|\ | | | | Project Andio
| * Project AndioKelebek12022-07-221-0/+3
| |
* | ci,CMake: Drop Conan support for vcpkglat9nq2022-07-231-2/+3
|/ | | | | | | | | | | | | | | | | | Between packages breaking, Conan always being a moving target for minimum required CMake support, and now their moves to Conan 2.0 causing existing packages to break, I suppose this was a long time coming. vcpkg isn't without its drawbacks, but at the moment it seems easier on the project to use for external packages. Mostly removes the logic for Conan from the root CMakeLists file, leaving basic find_package()'s in its place. Sets only the find_package()'s that require CONFIG mode as necessary. clang and linux CI now use the vcpkg toolchain file configured in the Docker container when possible. mingw CI turns off YUZU_TESTS because there's no way on the container to run Windows executables on a Linux host anyway, and it's not easy to get Catch2 there.
* common: consolidate ELF structure definitionsLiam2022-06-051-0/+1
|
* logging/log.h: move enum class formatter to a separate file ...liushuyu2022-01-101-0/+1
| | | | ... to common/logging/formatter.h
* Allow overriding SCM version infoAndrew Udvare2021-12-211-0/+5
| | | | | | If the build is from a non-repository, these functions will return empty. This patch allows using defines to CMake to set version info such as -DGIT_BRANCH=master.
* common: Rewrite and move core/frontend/input.h to commongerman772021-11-251-0/+1
|
* common: Implement a subset of P0323 (std::expected)Morph2021-11-021-0/+1
| | | | | This implementation is based on and is a subset of the proposed implementation of std::expected https://github.com/TartanLlama/expected/blob/master/include/tl/expected.hpp
* common/logging: Move Log::Entry declaration to a separate headerameerj2021-10-021-0/+1
| | | | This reduces the load of requiring to include std::chrono in all files which include log.h
* common: Move error handling to error.cpp/hMorph2021-09-111-1/+2
| | | | This allows us to avoid implicitly including <string> every time common_funcs.h is included.
* Revert "logging: Display backtrace on crash"Morph2021-08-271-3/+0
|
* logging: Display backtrace on crashyzct123452021-08-131-0/+3
| | | | | | | This implements backtraces so we don't have to tell users how to use gdb anymore. This prints a backtrace after abort or segfault is detected. It also fixes the log getting cut off with the last line containing only a bracket. This change lets us know what caused a crash not just what happened the few seconds before it. I only know how to add support for Linux with GCC. Also this doesn't work outside of C/C++ such as in dynarmic or certain parts of graphics drivers. The good thing is that it'll try and just crash again but the stack frames are still there so the core dump will work just like before.
* Merge pull request #6585 from ameerj/hadesbunnei2021-07-251-63/+1
|\ | | | | Shader Decompiler Rewrite
| * cmake: Remove shader cache versionReinUsesLisp2021-07-231-9/+1
| |
| * shader: Remove old shader managementReinUsesLisp2021-07-231-55/+1
| |
* | common: Publically link to pthreadslat9nq2021-07-231-1/+1
|/ | | | | Common requires pthreads but does not refer to it when linking to other modules. Fix this by linking to Threads where necessary.
* common/thread_worker: Add support for stateful threadsReinUsesLisp2021-07-091-1/+0
|
* common: Add unique functionReinUsesLisp2021-07-091-0/+1
|
* common: Replace common_sizes into user-literalsWunkolo2021-06-241-1/+1
| | | | | | | | | | | | | Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
* common: logging: Restructure backend codeMorph2021-06-131-0/+1
|
* common/host_memory: Add interface and Windows implementationReinUsesLisp2021-06-111-0/+2
|
* src/common/CMakeLists.txt: fix variable escapingliushuyu2021-06-091-8/+9
|
* common: Extract point into a common structLioncash2021-05-281-0/+1
| | | | | This is generic enough that it can be moved into the Common class for reuse.
* common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270)Morph2021-05-261-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* common: Move settings to common from core.bunnei2021-04-151-0/+4
| | | | - Removes a dependency on core and input_common from common.
* Merge pull request #6099 from bunnei/derive-membunnei2021-04-101-0/+1
|\ | | | | Kernel Rework: Derive memory regions from board layout.
| * common: Move common sizes to their own header for code reuse.bunnei2021-03-211-0/+1
| |
* | common: Move assert failure handling into a cpp file.Markus Wick2021-04-041-0/+1
|/ | | | | | | | | | Advantage: Altering the handler does not need a full recompilation. Disadvantage: noreturn is droped, so the caller is a bit slower. We quite often run yuzu with a YOLO assertion handler. In fact, only very few games run at all with asserts. This patch allows developers to patch the handler without recompiling everything. The overhead of the missing "noreturn" attribute shoul be negletable.
* common: Add implementation of TinyMT (Mersenne Twister RNG).bunnei2021-02-191-0/+1
|
* common: Merge uint128 to a single header file with inlines.bunnei2021-02-151-1/+0
|
* common: Add -fsized-deallocation as a Clang flaglat9nq2021-02-101-0/+2
| | | | Prevents an operator delete error when compiling with Clang 11.
* renderer_opengl: Avoid precompiled cache and force NV GL cache directoryReinUsesLisp2021-01-211-0/+2
| | | | | | | | | | | | | | Setting __GL_SHADER_DISK_CACHE_PATH we can force the cache directory to be in yuzu's user directory to stop commonly distributed malware from deleting our driver shader cache. And by setting __GL_SHADER_DISK_CACHE_SKIP_CLEANUP we can have an unbounded shader cache size. This has only been implemented on Windows, mostly because previous tests didn't seem to work on Linux. Disable the precompiled cache on Nvidia's driver. There's no need to hide information the driver already has in its own cache.
* Merge pull request #5275 from FernandoS27/fast-native-clockbunnei2021-01-161-1/+0
|\ | | | | X86/NativeClock: Improve performance of clock calculations on hot path.
| * X86/NativeClock: Reimplement RTDSC access to be lock free.Fernando Sahmkow2021-01-021-1/+0
| |
* | common/timer: RemoveLioncash2021-01-151-2/+0
| | | | | | | | | | This is a leftover from citra and dolphin that isn't used at all, particularly given the <chrono> header exists.
* | common/color: RemoveReinUsesLisp2021-01-151-1/+0
| | | | | | | | This is a leftover from Citra we no longer use.
* | common: Introduce useful tree structures.bunnei2021-01-111-0/+3
|/
* memory: Remove MemoryHookMerryMage2021-01-011-2/+0
|
* common: ThreadWorker: Add class to help do asynchronous work.bunnei2020-12-301-0/+2
|
* Merge pull request #5131 from bunnei/scheduler-rewritebunnei2020-12-211-1/+1
|\ | | | | Rewrite Kernel scheduler based on Atmosphere
| * hle: kernel: Separate KScheduler from GlobalSchedulerContext class.bunnei2020-12-061-1/+0
| |
| * common: Port BitSet from Mesosphere.bunnei2020-12-061-0/+1
| |
* | cmake: Fix generating CMake configs and linking with Boostlat9nq2020-12-131-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.
* | common: Update CMakeList to fix build issue with Boost.bunnei2020-12-121-2/+1
|/
* common: Add Common::DivCeil and Common::DivCeilLog2ReinUsesLisp2020-11-261-0/+1
| | | | Add an equivalent to 'Common::AlignUp(n, d) / d' and a log2 alternative.
* common/bit_cast: Add function matching std::bit_cast without constexprReinUsesLisp2020-11-201-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.
* 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