Commit Graph

30 Commits

Author SHA1 Message Date
James Rowe
54b9896c0e Fix git version in scm_rev.cpp 2020-01-16 00:12:50 -07:00
Fernando Sahmkow
278d75c983 VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders. 2019-10-25 09:01:29 -04:00
Fernando Sahmkow
a9b6d567ee Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes. 2019-10-04 18:52:50 -04:00
Fernando Sahmkow
aca18fb2a6 shader_ir: Corrections to outward movements and misc stuffs 2019-10-04 18:52:48 -04:00
ReinUsesLisp
bd45a7cb9c shader_ir: Implement VOTE
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-08-21 14:50:38 -03:00
Fernando Sahmkow
0a5d4b9fba shader_ir: Implement a new shader scanner 2019-07-09 08:14:36 -04:00
ReinUsesLisp
6788a49ac5 shader: Decode SUST and implement backing image functionality 2019-06-20 21:38:33 -03:00
ReinUsesLisp
a92e0549d7 cmake: Add missing shader hash file entries 2019-06-06 20:11:48 -03:00
fearlessTobi
200780e6cd GenerateSCMRev: fix Travis compilation on repo forks 2019-04-16 00:34:22 +02:00
ReinUsesLisp
5c6821bdc1 shader/decode: Split memory and texture instructions decoding 2019-02-26 00:11:30 -03:00
ReinUsesLisp
9d30378cec cmake: Fix title bar issue 2019-02-06 22:23:41 -03:00
Michael
850c9ec649 cmake: Fixup application string
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
2019-02-06 22:23:40 -03:00
ReinUsesLisp
0ffe489806 gl_shader_disk_cache: Invalidate shader cache changes with CMake hash 2019-02-06 22:20:57 -03:00
James Rowe
eff1a30cdd QT Frontend: Add a Loading screen with progressbar
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.
2019-01-19 23:34:03 -07:00
Zach Hilman
6acfdfeb7f build: Copy web engine resources to correct location 2019-01-05 15:27:15 -05:00
Zach Hilman
37d8cc7459 Update Qt MSVC external to 5.12.0 2018-12-31 13:19:23 -05:00
Zach Hilman
4734c9da67 cmake: Add USE_QT_WEB_ENGINE flag and update build system 2018-12-28 15:32:39 -05:00
tech4me
b06587e78d Update MinGWCross.cmake to lowercase 2018-09-19 14:22:14 -04:00
tech4me
728ae9e2ff travis: running mingw build on travis ci
This commit also fixed a broken cmake dependency with unicorn
2018-09-19 14:22:14 -04:00
Zach Hilman
a21ea760eb Fix missing qjpeg DLL 2018-08-06 23:06:33 -04:00
James Rowe
97a8616183 Add qt windowsvistastyle dll to the build 2018-07-03 14:44:13 -04:00
bunnei
812abfd129 Revert "Use Ninja for MSVC AppVeyor builds" (#584) 2018-06-23 03:17:32 -04:00
Michał Janiszewski
31a3459760 Use Ninja for MSVC AppVeyor builds 2018-06-05 22:46:54 +02:00
MerryMage
1ae627ad03 Fix build on macOS and linux 2018-01-13 22:38:52 +00:00
James Rowe
8f0a03a606 Massive removal of unused modules 2018-01-12 19:11:03 -07:00
bunnei
638c0f24de cmake: Add CopyYuzuUnicornDeps script. 2018-01-04 13:24:08 -05:00
bunnei
4f119eaf91 DownloadExternals: Use yuzu repo. 2018-01-04 00:12:18 -05:00
James Rowe
1cbc44a6c5 Build: Enable SSL in mingw by linking against WinSSL
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.
2017-09-11 09:10:17 -06:00
freiro
6c4e95b7eb Modularized Qt and SDL file copying
Now cmake relies on two submodules to copy the libraries in the proper folders
2016-12-13 21:05:00 +01:00
freiro
64d59a3c1b Modularization of copy_msvc_libraries cmake funct
Created a new folder in Citra's root called CMakeModules that should
contain cmake functions used by the various CMakeLists.txt.
2016-12-11 15:36:34 +01:00