Commit Graph

4602 Commits

Author SHA1 Message Date
f83015649c VideoCommon: Clear backend_info before populating 2022-07-13 02:55:54 -05:00
6bd0fc86ba VideoCommon: Properly mask fbfetch logic op emulation 2022-07-13 02:27:45 -05:00
cce6133ef6 Merge pull request #10749 from tellowkrinkle/IntelUbershaders
VideoCommon: Fix ubershaders on MoltenVK Intel
2022-07-10 19:35:55 -04:00
e072aaa769 ShaderCache: Fix inverted usage of palette_format. 2022-07-09 13:17:53 +02:00
fac66897af Merge pull request #10819 from Dentomologist/fix_shader_compilation_warnings
VideoCommon: Fix D3D shader compilation warnings
2022-07-08 18:46:29 -04:00
828afc6735 Merge pull request #10673 from iwubcode/spirv-backends
D3D: Generate HLSL from SPIRV*
2022-07-08 15:29:58 -04:00
e1e0f42b37 VideoCommon: Fix D3D shader warning X3557 (single iteration loop)
Fix warning "loop only executes for 1 iteration(s), forcing loop to
unroll" when vertex_in == 1
2022-07-08 00:25:55 -07:00
71541c1324 VideoCommon: Fix D3D shader warning X4000 (uninitialized variables)
Initialize alpha_A and alpha_B. They were previously only initialized in
cases where they were used, but D3D isn't able to figure that out.
2022-07-08 00:25:14 -07:00
0fac1d6e87 VideoCommon: Fix D3D shader warning X3571 (negative base for pow())
Add abs() to fix "pow(f, e) will not work for negative f, use abs(f) or
conditionally handle negative values if you expect them".
2022-07-08 00:19:05 -07:00
3ee4b89a46 VideoCommon: Remember to flush command buffers after multiple EFB copies 2022-07-06 18:38:05 -05:00
3bcd7aced9 Merge pull request #8467 from CookiePLMonster/interruptable-shader-precompile
Make shader precompilation interruptable
2022-07-02 13:08:37 +02:00
07a15a3228 Merge pull request #10624 from Minty-Meeo/resolve-gcc-warnings
Resolve Linux GCC Warnings
2022-07-02 09:17:44 +02:00
69e32dea52 Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
4788a05c76 VideoCommon: fix projection graphics mod affecting more than the intended draw call 2022-06-29 20:04:59 -05:00
1480b78f64 VideoCommon: dump EFB with size and texture format details and dump XFB with size details. Finally move count to front of image for XFB/EFB dumps so as to make it easier to see them in order. Change the count value prefix to 'n' 2022-06-27 18:20:52 -05:00
69839df1eb VideoCommon: support dynamically updating game mods at runtime 2022-06-27 18:20:52 -05:00
892678648e VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls) 2022-06-27 18:20:52 -05:00
62c186e14b VideoCommon: add UninitializeEFBMemory to mirror XFB function 2022-06-27 18:20:52 -05:00
0f88155729 Core / DolphinQt / VideoCommon: add setting for enabling graphic mods 2022-06-27 18:20:52 -05: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
4fbbd85ef4 VideoCommon: create variables for EFB/XFB copy prefix. Reword prefix to 'efb1' and 'xfb1' to match textures 2022-06-26 21:53:21 -05:00
b9995b04a0 VideoCommon: add a way to get have a graphics directory count for all games by using a special 'all.txt' instead of a 'gameid.txt' file 2022-06-26 00:45:13 -05:00
7854afe512 VideoCommon: add support for setting and getting the stage from the texture info 2022-06-26 00:45:13 -05:00
a1892a9c68 VideoCommon: add function to check whether TextureFormat is a valid value 2022-06-26 00:45:13 -05:00
a8b5266347 VideoCommon: enable optimizer and remove debug details when converting GLSL to SPIR-V with validation layers turned off 2022-06-24 18:09:53 -05:00
dda1479ecf VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality 2022-06-24 18:09:53 -05:00
c2d3b7e7f5 VideoCommon: update pixel shader output to match old D3D code 2022-06-24 18:09:53 -05:00
cad1d6ce90 VideoCommon: fix support of stereoscopic rendering after moving d3d to SPIRV generation 2022-06-24 18:09:53 -05:00
993fa3bf94 VideoCommon: update UberShaderPixel to properly support logic ops, matching the specialized shader 2022-06-24 18:09:53 -05:00
5dd2704416 D3D / VideoCommon: generate HLSL from SPIRV 2022-06-24 18:09:53 -05:00
3790c99a7d VideoCommon: add common spirv helper functions
Co-authored-by: tellowkrinkle <tellowkrinkle@gmail.com>
2022-06-24 17:52:31 -05:00
1faca4bfc7 Merge pull request #10752 from tellowkrinkle/BetterShaderNames
VideoCommon: Better shader names
2022-06-24 15:50:48 -07:00
ffa3bf86fb Merge pull request #10760 from tellowkrinkle/std430
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-24 18:40:47 -04:00
6ddff87d42 Merge pull request #10755 from tellowkrinkle/DebugUID
VideoCommon: Don't add garbage to shader uids in debug builds
2022-06-22 14:33:23 +02:00
2b2b8e932d Rename FPS_REFRESH_INTERVAL in VideoCommon/FPSCounter 2022-06-17 20:11:53 -06:00
f79ac768d8 VideoCommon:ShaderCache: Add const to some local variables 2022-06-17 20:14:32 -05:00
26529a31ab VideoCommon: Fix SSBO layout and remove associated "bug" 2022-06-16 20:26:11 -05:00
c7892d7371 VideoCommon: Name ubershaders 2022-06-16 02:08:45 -05:00
23c1721fbd VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders 2022-06-16 02:08:45 -05:00
3fe1a1a3d7 VideoCommon: Don't add garbage to shader uids in debug builds
There wasn't anything stopping compilers from doing it in release builds either, but most optimizations would make the padding zero
2022-06-14 21:51:58 -05:00
25929789c1 VideoCommon: Don't pass State by inout
Spirv-cross's MSL codegen makes the amazing choice of compiling calls to inout functions as `State temp = s; call_function(temp); s = temp`.  Not all Metal backends handle this mess well.  In particular, it causes register spills on Intel, losing about 5% in performance.
2022-06-14 00:48:47 -05:00
db6e928c8d VideoCommon: Fix Intel GPUs on Metal/Vulkan locking up in ubershaders 2022-06-14 00:48:47 -05:00
7faf5ea170 Clear the UI after async shader compilation 2022-06-10 17:19:59 +02:00
dcad3ec892 Allow to interrupt shader precompilation by stopping emulation 2022-06-10 17:11:32 +02:00
6e2febd404 VideoBackendBase: Remove __builtin_available for macOS 10.14 2022-06-01 22:57:51 -04:00
f6b9acccfc Common: Refactor PointerWrap 2022-05-25 13:06:41 -07:00
580c721c82 cmake: Don't use PCH with Qt6. 2022-05-22 01:19:44 +02:00
a98d0367d8 Merge pull request #10677 from Pokechu22/no-printf-log
Remove printf-style logging
2022-05-19 17:55:17 -04:00