5ef8a7973e
BPMemory: Make TevKSel more clear
...
It stores both the konst selection value for alpha and color channels (for two tev stages per ksel), and half of a swap table row (there are 4 total swap tables, which can be used for swizzling the rasterized color and the texture color, and indices selecting which tables to use are stored per tev stage in the alpha combiner). Since these are indexed very differently, the old code was hard to follow.
2022-08-29 11:10:05 -07:00
4206ac243b
SW/Rasterizer: Use RAS1_IREF::getTexCoord and getTexMap
2022-08-29 11:10:05 -07:00
ae0fcd9a9f
SW/Tev: Replace Tev::SetRegColor with Tev::SetKonstColors
2022-08-29 11:10:05 -07:00
3b9a048291
SW/Tev: Use std::clamp for Clamp255 and Clamp1024
2022-08-29 11:10:05 -07:00
bae0f21f74
SW/Tev: Remove Tev::Init
2022-08-29 11:10:05 -07:00
c9936f8c1c
SW/Tev: Use EnumMap for scale/bias tables
2022-08-29 11:10:05 -07:00
b02992548e
SW/Tev: Use EnumMap for Reg
2022-08-29 11:10:03 -07:00
2db7569463
SW/Tev: Use TevColorRef/TevAlphaRef instead of raw s16 pointers
2022-08-29 11:05:10 -07:00
e04d23e086
SW/Rasterizer: Fix indirect stage using texture coordinates/maps >= 4
...
The masking was incorrect. This affects the main menu of The Last Avatar, though that menu also relies on copy filter functionality that is not correctly handled in the software renderer so the difference is not obvious; that game shuffles textures across all indices for some reason, so this issue would presumably result in subtle flickering.
2022-08-28 12:19:36 -07:00
0cced44142
Use __VA_OPT__(, ) __VA_ARGS__
instead of ##__VA_ARGS__
...
Per https://en.cppreference.com/w/cpp/preprocessor/replace#.23_and_.23.23_operators the `##` behavior is a nonstandard extension; this extension seems to be supported by all compilers we care about, but IntelliSense in visual studio doesn't correctly handle it, resulting in false errors in the IDE (but not when compiling).
Per https://en.cppreference.com/w/cpp/preprocessor/replace#Function-like_macros C++20 introduced a workaround, where `__VA_OPT__(, )` generates a comma if and only if `__VA_ARGS__` is non-empty.
This PR replaces all occurrences, with the exception of Externals, DSPSpy (which is not likely to be edited in MSVC and does not target C++20 currently), and JitArm64_Integer.cpp (which uses `Function(__VA_ARGS__)`, and thus does not ever need a comma).
2022-08-23 12:09:57 -07:00
3c38f5c1d2
D3DCommon: Remove unused swap chain functions
...
These were added in ea15080d8f
(which added D3DCommon), but never were used.
2022-08-17 18:16:50 -07:00
da7aded00d
Vulkan: Remove unused swap chain functions
...
These were added in 5e29508b8f
and 1f2d43c870
, but were replaced with CONFIG_CHANGE_BIT_VSYNC and CONFIG_CHANGE_BIT_STEREO_MODE in e4b205c769
.
2022-08-17 18:16:17 -07:00
700162b8bd
MTLUtil: Include TargetConditionals
2022-07-23 17:22:11 -04:00
77f44f1600
MTLMain: Include TargetConditionals
2022-07-23 17:22:11 -04:00
b32b27ae9a
MTLMain: Only compile NSView manipulation code on macOS
2022-07-23 17:22:04 -04:00
8ad7fa0313
MTLUtil: Return invalid for non-supported texture formats on non-macOS platforms
2022-07-23 13:53:31 -04:00
7edd3aff75
MTLUtil: Don't attempt to get all GPUs on non-macOS platforms
2022-07-23 13:53:22 -04:00
50d3ad58df
CMakeLists: Link videometal with Foundation
2022-07-23 13:53:15 -04:00
6559c6b8ee
VideoBackends:Multiple: Grammar fixes
2022-07-21 20:44:19 -05:00
a41345127f
VideoBackends:Metal: Remove unified memory config
...
Not worth the extra code
2022-07-21 20:44:19 -05:00
5065767abd
VideoBackends:Metal: Avoid submitting draw calls with no vertices/indices
2022-07-21 20:44:19 -05:00
ee3f2b8fcb
VideoBackends:Metal: Implement PerfQuery
2022-07-21 20:44:19 -05:00
c48035908c
VideoBackends:Metal: Use unified memory path by default on all GPUs
2022-07-21 20:44:19 -05:00
6ee0248eab
VideoBackends:Metal: MSAA support
2022-07-21 20:44:19 -05:00
c0fd128171
VideoBackends:Metal: Use base vertex
2022-07-21 20:44:19 -05:00
5742ccf8de
VideoBackends:Metal: Cache pipelines
...
Metal pipelines hold less stuff than Dolphin pipelines, so duplicates will appear
2022-07-21 20:44:19 -05:00
e32213d031
VideoBackends:Metal: Create samplers on demand
2022-07-21 20:44:19 -05:00
61705b05da
VideoBackends:Metal: FBFetch for Intel GPUs
2022-07-21 20:44:19 -05:00
a5ef9dfd53
VideoBackends:Metal: Use DriverDetails for bugs
2022-07-21 20:44:19 -05:00
716c0980d7
VideoBackends: Add Metal renderer
2022-07-21 20:44:19 -05:00
70b0b03c3c
Merge pull request #10747 from tellowkrinkle/LateUIDFixup
...
Add a post-cache shader UID fixup pass
2022-07-17 00:43:16 -04:00
2f43889141
Software: Use hardware-verified numbers for RGB->YUV conversion
2022-07-16 00:07:10 -07:00
791bd16b28
Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
...
This will be used for later refactoring for increased accuracy.
2022-07-16 00:07:10 -07:00
6ab24e6c17
VideoCommon: Better driver bug handling
...
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
2022-07-13 21:51:24 -05:00
cce6133ef6
Merge pull request #10749 from tellowkrinkle/IntelUbershaders
...
VideoCommon: Fix ubershaders on MoltenVK Intel
2022-07-10 19:35:55 -04:00
6e09b13ce3
Merge pull request #10829 from AdmiralCurtiss/spirv-cross-cmake-fix
...
Fix CMake Windows build after #10673 (HLSL from SPIRV).
2022-07-10 09:08:24 +02:00
1c6a0073d2
ShaderCompiler: Use compute shader header in compute shaders
2022-07-09 19:01:58 -04:00
cdd3571491
D3DCommon: Add glslang include directories in CMake.
2022-07-10 00:59:32 +02:00
828afc6735
Merge pull request #10673 from iwubcode/spirv-backends
...
D3D: Generate HLSL from SPIRV*
2022-07-08 15:29:58 -04:00
69e32dea52
Resolve GCC Warnings
2022-06-30 15:26:48 -05:00
dda1479ecf
VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality
2022-06-24 18:09:53 -05:00
0eb9352579
D3D: update BoundingBox to match generated shader code
2022-06-24 18:09:53 -05:00
5dd2704416
D3D / VideoCommon: generate HLSL from SPIRV
2022-06-24 18:09:53 -05:00
26529a31ab
VideoCommon: Fix SSBO layout and remove associated "bug"
2022-06-16 20:26:11 -05:00
db6e928c8d
VideoCommon: Fix Intel GPUs on Metal/Vulkan locking up in ubershaders
2022-06-14 00:48:47 -05:00
803a0de5a4
VKMain: Remove check for macOS 10.14
2022-06-01 22:57:56 -04:00
580c721c82
cmake: Don't use PCH with Qt6.
2022-05-22 01:19:44 +02:00
8df55b492c
Show a panic alert if the CP matrix indices don't match the XF matrix indices
...
This almost certainly never happens, but if it does we want to know.
2022-05-18 14:43:14 -07:00
c0488de482
Merge pull request #10251 from Pokechu22/negative-scissor
...
Rework scissor handling
2022-04-24 15:00:42 -04:00
8e7c848425
Merge pull request #10601 from Pokechu22/vulkan-shader-compile-error
...
Vulkan: Improve shader compile error handling
2022-04-24 11:43:10 -07:00