Commit Graph

94 Commits

Author SHA1 Message Date
673f81c18a New FrameTime/VBlank Analyzer + Graph 2022-12-23 19:52:53 -05:00
bc360584a3 VideoCommon: add structures to graphics mods to allow for future adding or removing parameters with less code overhead 2022-10-09 00:00:01 -05:00
acb10f0006 replace libpng with libspng 2022-07-25 18:32:16 -07:00
828afc6735 Merge pull request #10673 from iwubcode/spirv-backends
D3D: Generate HLSL from SPIRV*
2022-07-08 15:29:58 -04:00
f416b71925 VideoCommon: add logic to handle a GraphicsMod while Dolphin is running 2022-06-27 18:20:52 -05:00
254246b814 VideoCommon: add logic to read a GraphicsMod from configuration 2022-06-27 18:20:52 -05:00
f92beb611f VideoCommon: add game mod constants 2022-06-26 21:53:21 -05:00
3790c99a7d VideoCommon: add common spirv helper functions
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
580c721c82 cmake: Don't use PCH with Qt6. 2022-05-22 01:19:44 +02:00
6236a0d494 Eliminate SamplerCommon 2021-11-17 20:04:34 -08:00
88bd10cd30 Extend TMEM cache implementation
Now works with games that deliberately avoid invalidating TMEM because
they know textures are too large to fit:

 * Sonic Riders
 * Metal Arms: Glitch in the System
 * Godzilla: Destroy All Monsters Melee
 * NHL Slapshot
 * Tak and the Power of Juju
 * Night at the Museum: Battle of the Smithsonian
 * 428: Fūsa Sareta Shibuya de
2021-10-12 15:51:24 +13:00
90437d1574 Change how FFmpeg is imported for Apple computers.
Imports Apple libraries and also pulls swresample in, so when compiling Dolphin doesn't throw undefined symbols.
2021-10-06 18:11:32 -10:00
182dfc38e6 VideoCommon: move all texture calculations to a "TextureInfo" class. This ever so slightly improves readability and allows for the full texture name to be generated outside of the hires texture cache 2021-05-11 22:58:36 -05:00
0ad2f3da45 Core: Remove ImageWrite and get rid of -Wmissing-declarations warnings 2020-12-16 16:04:19 +01:00
6e7d1e0e71 VideoCommon: Add Free Look camera with separate modes 2020-05-03 13:31:47 -05:00
6fbbc2683e VideoCommon: Make use of fmt outside of shader generators
Migrates most of VideoCommon over to using fmt, with the exception being
the shader generator code. The shader generators are quite large and
have more corner cases to deal with in terms of conversion (shaders have
braces in them, so we need to make sure to escape them).

Because of the large amount of code that would need to be converted, the
conversion of VideoCommon will be in two parts:

- This change (which converts over the general case string formatting),
- A follow up change that will specifically deal with converting over
  the shader generators.
2019-11-23 16:00:45 -05:00
1df655e376 VideoCommon: Rename AVIDump to FrameDump 2019-06-30 13:02:39 +02:00
3d27439d9a VideoCommon/CMakeLists: Specify headers in target sources 2019-05-31 06:54:26 -04:00
6c393f9ff4 Add imgui golf mode overlay 2019-04-05 07:01:03 -04:00
7cfb626a83 Add imgui-based Netplay Chat 2019-03-23 20:13:24 +01:00
f039149198 Move most backend functionality to VideoCommon 2019-02-19 16:57:54 +10:00
63dd91628d Remove old RasterFont classes 2019-01-25 11:15:57 +10:00
b818cc682c VideoCommon/Vulkan: Explicitly link in xxhash
Lessens the dependency on the LIBS variable (and also makes the required
libraries explicit).
2018-03-28 17:03:16 -04:00
fd7ac0d4a3 VideoCommon/CMakeLists: Migrate off add_dolphin_library
Continues the migration work started in 3a4c3bbe01
2018-03-28 09:57:50 -04:00
b68e8b872e VideoBackendBase: Migrate functions from MainBase.cpp to VideoBackendBase.cpp
Given that this only contains functions from the VideoBackendBase class,
it makes more sense to move these to the relevant cpp file to keep them
all together.
2018-03-18 15:33:59 -04:00
dec0c3bce8 Move shader caches to VideoCommon 2018-03-10 15:56:30 +10:00
4c24a69710 VideoCommon: Add support for Abstract Framebuffers 2018-03-02 20:20:48 +10:00
491c10ec96 VideoBackends: Use VideoCommon shader generators for efb2tex copies.
This will generate one shader per copy format. For now, it is the same
shader with the colmat hard coded. So it should already improve the GPU
performance a bit, but a rewrite of the shader generator is suggested.

Half of the patch is done by linkmauve1:
VideoCommon: Reorganise the shader writes.
2017-12-02 15:17:39 +01:00
f43d85921d VideoBackends: Add AbstractStagingTexture class
Can be used for asynchronous readback or upload of textures.
2017-11-22 18:47:04 +10:00
745d541527 ShaderGen: Implement vertex ubershaders 2017-07-30 17:43:59 +10:00
7d78cf0f6f ShaderGen: Implement pixel ubershaders 2017-07-30 17:43:59 +10:00
0a9574eaa1 VideoCommon: Add AsyncShaderCompiler class implementation 2017-07-30 17:43:59 +10:00
3ea9d86faa ShaderGen: Pass host config to shader generation functions
Also moves the host config checks to common.
2017-07-20 17:54:33 +10:00
2cdc93f4ab Video Backends: Split texture cache code out into separate files, introduce 'AbstractTexture' 2017-06-13 00:41:51 -05:00
d951d2e4c4 CMake: libav/ffmpeg cleanups
Use @Orphis's FindFFmpeg module from ppsspp:
2149d3db7f

From that commit:

> This new module should be able to handle both libraries in the regular
> paths and fallback to pkg-config.
> It is also able to find dynamic libraries, not just static libraries.
> It will generate imported targets with the name FFmpeg::<lib> that you
> can use in your scripts.
2017-05-26 00:53:58 -07:00
bc8a96d713 HiresTextures: Support parsing DDS files directly
This leaves DDS textures using DXT1/3/5 compressed in-memory, which can
be passed directly to the backend.
2017-04-29 00:14:23 +10:00
ee61bd6f2e CMakeLists: Normalize whitespace
Normalizes tabs to spaces to follow our codebase's indentation style.
2017-03-01 14:53:23 -05:00
8c82607c95 cmake: Don't use unqualified target_link_libraries
You can't mix unqualified and qualified link libraries (PUBLIC / PRIVATE).
Use the modern form.
2017-02-08 03:07:43 +01:00
3df828463d VideoCommon: Assembly blending state in a shared state object. 2017-01-06 14:01:36 +01:00
d958388617 VideoCommon: Fix some warnings. 2016-06-26 23:10:31 +12:00
c34fb3edf0 Use ffmpeg for Windows Video Dumping instead of VFW 2016-01-07 18:37:58 -05:00
bc248f8941 VideoCommon: use a new async event system for efb access 2015-02-22 08:41:15 +01:00
b4b03641b3 [AArch64] Implement vertex loader recompiler.
Shows a noticeable reduction in time spent in the vertex loader.
2015-02-16 16:51:32 -06:00
1e809d9c11 Revert "Merge pull request #1903 from RisingFog/libav"
This reverts commit 34079a0037, reversing
changes made to 3274df7158.
2015-01-26 02:35:29 +01:00
Fog
6cad635bd8 Use ffmpeg for Windows Video Dumping instead of VFW 2015-01-21 19:47:45 -05:00
e82e9f97f5 VertexLoader: add new JIT 2015-01-18 13:29:34 +01:00
6bcdb10eee CMake: simplify some expressions 2015-01-03 13:17:57 +01:00
809117102e VideoCommon: split VertexLoaderBase from VertexLoader 2014-12-21 14:12:43 +01:00
b406e4e1f2 VideoCommon: Add a separate constants buffer for the geometry shader. 2014-12-14 21:23:13 +01:00
4d9589b35f Cosmetics. 2014-11-23 14:27:38 +01:00