aboutsummaryrefslogtreecommitdiff
path: root/src/common/CMakeLists.txt
AgeCommit message (Collapse)Author
2020-11-25common: Add Common::DivCeil and Common::DivCeilLog2ReinUsesLisp
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 constexprReinUsesLisp
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 errorsLioncash
Cleans up common so that we can enable warnings as errors.
2020-10-26video_core: NVDEC Implementationameerj
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-28CMakeLists: use system zstd on Linuxlat9nq
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-28CMakeLists: fix for finding zstd on linux-mingwlat9nq
2020-08-22web_service: Move web_result.h into web_serviceLioncash
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 ↵David
WriteBuffer (#4465) * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
2020-07-10cmake: Fix libfmt linking errorsDavid Marcec
2020-07-09cmake: fix fmt linking when foundJohn Galt
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-02Revert "cmake: fix fmt linking"bunnei
2020-06-29cmake: fix fmt linkingJohn Galt
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 Sahmkow
2020-06-26Common: Fix non-conan buildFernando Sahmkow
2020-06-18Common: Implement WallClock Interface and implement a native clock for x64Fernando Sahmkow
2020-06-18Common: Implement a basic Fiber class.Fernando Sahmkow
2020-06-18Common: Implement a basic SpinLock classFernando Sahmkow
2020-06-11gl_arb_decompiler: Implement an assembly shader decompilerReinUsesLisp
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 Marcec
2020-05-17main: Log host system memory parametersMorph
Logs both physical memory and swapfile sizes, this is useful for support.
2020-05-11common: Add module to get the current time zone.bunnei
2020-05-08Replace externals with Conan (#3735)James Rowe
* 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.bunnei
2020-04-07common/dynamic_library: Import and adapt helper from DolphinReinUsesLisp
2020-03-13shader/transform_feedback: Add host API friendly TFB builderReinUsesLisp
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp
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 Rowe
2019-11-05ci: Populate build repository from Azure environmentZach Hilman
2019-10-25VideoCore: Unify const buffer accessing along engines and provide ↵Fernando Sahmkow
ConstBufferLocker class to shaders.
2019-10-15common: Rename binary_find.h to algorithm.hLioncash
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-05Merge pull request #2943 from DarkLordZach/azure-titlebars-v2bunnei
ci: Add custom titlebars for mainline and patreon
2019-10-05common: Add additional SCM revision fieldsZach Hilman
2019-10-04Shader_Ir: Refactor Decompilation process and allow multiple decompilation ↵Fernando Sahmkow
modes.
2019-10-04shader_ir: Corrections to outward movements and misc stuffsFernando Sahmkow
2019-09-22cmake: Add SCM detection for AzureZach Hilman
2019-08-21shader_ir: Implement VOTEReinUsesLisp
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 Sahmkow
2019-07-05texture_cache: Address FeedbackFernando Sahmkow
2019-06-20shader: Decode SUST and implement backing image functionalityReinUsesLisp
2019-06-06cmake: Add missing shader hash file entriesReinUsesLisp
2019-04-25common: Extract UUID to its own classZach Hilman
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 wrapperunknown
2019-03-29common: Link libzstd_staticunknown
2019-03-29Addressed feedbackunknown
2019-03-29data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache ↵unknown
to common/data_compression
2019-03-27Implement a MultiLevelQueueFernando Sahmkow
2019-03-20common/CMakeLists: Amend boost dependencyLioncash
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-20Merge pull request #2247 from lioncash/includebunnei
common/thread_queue_list: Remove unnecessary dependency on boost
2019-03-16core: Move PageTable struct into Common.bunnei