summaryrefslogtreecommitdiff
path: root/CMakeModules (follow)
Commit message (Collapse)AuthorAgeFilesLines
* CI: fix cachingGravatar liushuyu2022-07-042-0/+13
|
* CMakeModules: Add MinGWClangCrossGravatar lat9nq2022-06-161-0/+55
| | | | | Facilitates what programs we need for cross-compiling to Windows from Linux using LLVM's compilers. Based on MinGWCross
* Allow overriding SCM version infoGravatar Andrew Udvare2021-12-201-3/+9
| | | | | | 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.
* CMakeModules: Add Qt5QmlModelGravatar Morph2021-10-021-0/+1
| | | | Required by Qt 5.15's QtWebEngine
* cmake: Remove unused code in GenerateSCMRev.cmakeGravatar ReinUsesLisp2021-07-221-11/+2
| | | | Remove shader code hash generation code as it's no longer used.
* shader: Remove old shader managementGravatar ReinUsesLisp2021-07-221-55/+1
|
* cmake: Download Qt binaries on Linux if neededGravatar lat9nq2021-05-261-38/+97
| | | | | | | | | | | | | If the local version of Qt is older than the minimum version required by yuzu, download a pre-built binary package from yuzu-emu/ext-linux-bin and build yuzu with it, instead. This also requires linking yuzu to the correct libraries after building it, and copying over the required binaries when building yuzu. This sets the Qt requirement to 5.12, which is intentionally behind the versions used by our toolchains since they are not all updated yet to 5.15.
* cmake: Download Boost if inadequate local versionGravatar lat9nq2021-04-221-4/+18
| | | | | | | | | | | | | | Building SDL2 from externals is incompatible with Conan's version of libiconv, a requirement of Conan's Boost package. Solution is to use the same Boost package in use by the linux-fresh container. This tells CMake to download boost_1_75_0.tar.xz from yuzu-emu/ext-linux-bin at CMake's configuration step, much the same way Qt and FFmpeg are downloaded for Windows. Also makes DownloadExternals.cmake cross-platform. Although the CMake code is not entirely specific to Linux, only Linux has Boost libraries available at ext-linux-bin, whereas there is no equivalent Boost package for Windows at ext-windows-bin. caveat emptor
* cmake: Update FFmpeg to 4.3.1Gravatar lat9nq2021-02-091-6/+2
| | | | | | | Download FFmpeg package version 4.3.1. Uses a file defined within the package to determine with DLLs to copy. Also corrects a submodule name.
* cmake: Revert FFmpeg 4.3.1 update for Windows buildsGravatar ameerj2021-02-081-1/+1
| | | | The new 4.3.1 externals build seems to not be compatible with yuzu. This also fixes an oversight when renaming CMake variables.
* core: Remove usage of unicornGravatar Lioncash2020-11-031-9/+0
| | | | | | | | Unicorn long-since lost most of its use, due to dynarmic gaining support for handling most instructions. At this point any further issues encountered should be used to make dynarmic better. This also allows us to remove our dependency on Python.
* video_core: NVDEC ImplementationGravatar ameerj2020-10-261-0/+10
| | | | | | | | | | | | | | 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>
* cmake: stop linking against QGL after c6a0ab979239Gravatar Jan Beich2020-07-011-1/+0
|
* gl_arb_decompiler: Implement an assembly shader decompilerGravatar ReinUsesLisp2020-06-111-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.
* Make compatible with the current MinGW cross-compilerGravatar lat9nq2020-05-011-2/+2
| | | | | | The Docker image was just updated to use Arch Linux instead of Ubuntu. This PR sets the compiler names to reflect how they are installed on the Arch Linux Docker image. Fixes "x86_64-w64-mingw32-g++-posix is not a full path and was not found in the PATH." errors in CMake.
* Use the correct directory for Qt PluginsGravatar James Rowe2020-03-231-4/+8
|
* shader/transform_feedback: Add host API friendly TFB builderGravatar ReinUsesLisp2020-03-131-0/+2
|
* video_core: Rename "const buffer locker" to "registry"Gravatar ReinUsesLisp2020-03-091-2/+2
|
* gl_shader_cache: Rework shader cache and remove post-specializationsGravatar ReinUsesLisp2020-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.cppGravatar James Rowe2020-01-161-0/+4
|
* VideoCore: Unify const buffer accessing along engines and provide ↵Gravatar Fernando Sahmkow2019-10-251-2/+4
| | | | ConstBufferLocker class to shaders.
* Shader_Ir: Refactor Decompilation process and allow multiple decompilation ↵Gravatar Fernando Sahmkow2019-10-041-0/+2
| | | | modes.
* shader_ir: Corrections to outward movements and misc stuffsGravatar Fernando Sahmkow2019-10-041-0/+4
|
* shader_ir: Implement VOTEGravatar ReinUsesLisp2019-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 scannerGravatar Fernando Sahmkow2019-07-091-0/+2
|
* shader: Decode SUST and implement backing image functionalityGravatar ReinUsesLisp2019-06-201-0/+1
|
* cmake: Add missing shader hash file entriesGravatar ReinUsesLisp2019-06-061-0/+3
|
* GenerateSCMRev: fix Travis compilation on repo forksGravatar fearlessTobi2019-04-161-1/+1
|
* shader/decode: Split memory and texture instructions decodingGravatar ReinUsesLisp2019-02-261-0/+1
|
* cmake: Fix title bar issueGravatar ReinUsesLisp2019-02-061-8/+1
|
* cmake: Fixup application stringGravatar Michael2019-02-061-2/+2
| | | Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
* gl_shader_disk_cache: Invalidate shader cache changes with CMake hashGravatar ReinUsesLisp2019-02-061-0/+101
|
* QT Frontend: Add a Loading screen with progressbarGravatar James Rowe2019-01-191-1/+4
| | | | | | | | | | | | With shader caches on the horizon, one requirement is to provide visible feedback for the progress. The shader cache reportedly takes several minutes to load for large caches that were invalidated, and as such we should provide a loading screen with progress. Adds a loading screen widget that will be shown until the first frame of the game is swapped. This was chosen in case shader caches are not being used, several games still take more than a few seconds to launch and could benefit from a loading screen.
* build: Copy web engine resources to correct locationGravatar Zach Hilman2019-01-051-2/+1
|
* Update Qt MSVC external to 5.12.0Gravatar Zach Hilman2018-12-311-1/+1
|
* cmake: Add USE_QT_WEB_ENGINE flag and update build systemGravatar Zach Hilman2018-12-281-0/+27
|
* Update MinGWCross.cmake to lowercaseGravatar tech4me2018-09-191-40/+40
|
* travis: running mingw build on travis ciGravatar tech4me2018-09-191-0/+54
| | | | This commit also fixed a broken cmake dependency with unicorn
* Fix missing qjpeg DLLGravatar Zach Hilman2018-08-061-0/+3
|
* Add qt windowsvistastyle dll to the buildGravatar James Rowe2018-07-031-0/+3
|
* Revert "Use Ninja for MSVC AppVeyor builds" (#584)Gravatar bunnei2018-06-233-3/+3
|
* Use Ninja for MSVC AppVeyor buildsGravatar Michał Janiszewski2018-06-053-3/+3
|
* Fix build on macOS and linuxGravatar MerryMage2018-01-132-4/+4
|
* Massive removal of unused modulesGravatar James Rowe2018-01-121-1/+1
|
* cmake: Add CopyYuzuUnicornDeps script.Gravatar bunnei2018-01-041-0/+9
|
* DownloadExternals: Use yuzu repo.Gravatar bunnei2018-01-041-1/+1
|
* Build: Enable SSL in mingw by linking against WinSSLGravatar James Rowe2017-09-111-0/+18
| | | | | | | | | | The mingw builds aren't submitting telemetry because the curl library they are linked against is configured to use openSSL and openSSL looks for the certificates in the users home folder. This keeps it from contacting web services because it can't communicate over SSL. This commit adds a download in mingw builds that will download a precompiled curl for mingw linked against winssl and sspi.
* Modularized Qt and SDL file copyingGravatar freiro2016-12-132-5/+8
| | | | Now cmake relies on two submodules to copy the libraries in the proper folders
* Modularization of copy_msvc_libraries cmake functGravatar freiro2016-12-111-0/+19
Created a new folder in Citra's root called CMakeModules that should contain cmake functions used by the various CMakeLists.txt.