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
2aa0ae097b
Merge pull request #10672 from Pokechu22/xf-invtxspec
...
Show panic alerts if the CP configuration doesn't match the XF configuration
2022-05-19 13:13:53 -07:00
0637c17b59
VideoCommon/FrameDump: printf-format messages before logging them
2022-05-19 12:41:58 -07: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
38a75f6a49
Show a panic alert if the CP vertex config doesn't match the XF vertex config
...
This probably isn't triggered by real games, but it's possible to accidentally do it with libogc (which results in freezes on real hardware).
2022-05-18 14:43:14 -07:00
46bcdc4372
Rename CP and XF normal component count enums and update their descriptions
2022-05-18 14:43:14 -07:00
736466a5d9
XFMemory: Rename hostinfo to invtxspec
2022-05-18 14:43:14 -07:00
3949698acf
Verify graphics config validity after populating the backend info
...
... and refresh the config before populating the backend info, as the config (specifically iAdapter) needs to be set to correctly populate the backend info.
Before, the list of valid antialiasing modes was always determined from the first adapter on the list on startup, regardless of the adapter the user selected.
2022-05-16 16:59:57 -07:00
56626f73bf
fmt: fix 'ambigous overload' error
2022-05-10 19:19:52 -07:00
01d4a2e9cc
TextureCacheBase: Don't log error while measuring state size.
2022-04-26 21:26:42 +02:00
c0488de482
Merge pull request #10251 from Pokechu22/negative-scissor
...
Rework scissor handling
2022-04-24 15:00:42 -04:00
c42392c565
Merge pull request #10290 from OatmealDome/m1-earlyz-bug
...
DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs
2022-04-24 13:30:04 -04:00
784079853d
VideoCommon: Add comment explaining why only the first normal gets normalized
...
Co-authored-by: Scott Mansell <phiren@gmail.com >
2022-04-22 16:54:38 -07:00
2a5c77f43f
VideoCommon: Handle emboss texgen with only a single normal
...
Fixes a large number of effects in Rogue Squadron 2 and 3.
2022-04-22 16:54:38 -07:00
39b2854b98
VertexLoader: Convert count register to remaining register
...
This more accurately represents what's going on, and also ends at 0 instead of 1, making some indexing operations easier. This also changes it so that position_matrix_index_cache actually starts from index 0 instead of index 1.
2022-04-22 16:54:38 -07:00
97d0ff58c8
Convert vertex loader position cache to std::array
2022-04-22 16:54:38 -07:00
f722bdf7f1
VertexLoaderX64: Refactor so that zfreeze is only in one place
...
(Specifically, the copy for VertexLoaderManager::position_cache. The position matrix index happens elsewhere, and the float path still has special logic to copy to scratch3.)
2022-04-22 16:54:38 -07:00
6f1350ae51
VertexLoaderARM64: Fix z-freeze position matrix index
...
Before, it would always write to index 0 (which is unused). Now it writes to the correct index.
2022-04-22 16:54:38 -07:00
04fdadd9d5
VideoCommon: Rename norm0/norm1/norm2 to normal/tangent/binormal
2022-04-22 16:54:36 -07:00
88134a6786
VertexShaderGen: Simplify normal calculation
...
This is a readability change; there should be no functional or performance differences.
2022-04-22 16:51:58 -07:00
259a5fc7c0
DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs
2022-04-20 14:56:34 -04:00
e7f5e5172c
DriverDetails: Introduce new VENDOR_APPLE for Apple GPUs
2022-04-19 10:55:27 -04:00
80dfefb32e
UberShaderPixel: Add support for non-dual source shader blending
2022-04-19 10:55:26 -04:00
c1d87db6fa
PixelShaderGen: Add support for non-dual source shader blending
2022-04-19 10:55:26 -04:00
ef760ee012
Common/PointerWrap: Prevent reads/writes past the end of the buffer.
2022-04-18 23:48:00 +02:00
853cf4f818
Common/PointerWrap: Hide internals.
2022-04-18 03:41:14 +02:00
f3eff70e2f
Implement ImGui window for scissor rectangles
...
This is mainly for debugging, and is only exposed by manually editing the configuration.
2022-04-16 12:35:00 -07:00
076392a0f6
VideoCommon: Rework scissor handling
...
This increases accuracy, fixing the white rendering in Major Minor's Majestic March. However, the hardware backends can only have one viewport and scissor rectangle at a time, while sometimes multiple are needed to accurately emulate what is happening. If possible, this will need to be fixed later.
2022-04-16 10:26:11 -07:00
4595b89ad8
VideoCommon: Remove bSupportsOversizedViewports
...
I think this is a relic of D3D9. D3D11 and D3D12 seem to work fine without it. Plus, ViewportCorrectionMatrix just didn't work correctly (at least with the viewports being generated by the new scissor code).
2022-04-16 10:26:11 -07:00
b85b35d5ea
VideoCommon: Create dedicated structs for scissor pos/offset
2022-04-16 10:26:10 -07:00
c5c4169bc8
Merge pull request #10255 from Pokechu22/sw-zfreeze
...
Software: Fix zfreeze with CullMode::All
2022-04-15 11:12:49 +12:00
abffa93a72
MoltenVK: Fix pixel shader typo
2022-04-10 20:51:20 +02:00
e932a1bfb7
Merge pull request #10571 from AdmiralCurtiss/ffmpeg-custom-pix-fmt
...
VideoCommon/FrameDump: Allow user to specify a pixel format.
2022-04-09 14:19:39 -04:00
59f299d5d6
Software: Fix zfreeze with CullMode::All
2022-04-08 20:05:32 -07:00
3a742e99bb
Software: Remove config to disable ZComploc and ZFreeze
...
These aren't particularly useful, and make the code a bit more confusing. If for some reason someone wants to test what happens when these functions are disabled, it's easier to just edit the code that implements them. They aren't exposed in the UI, so one would need to restart Dolphin to do it anyways.
2022-04-08 20:05:32 -07:00
4e9a314776
Round viewport coordinates when vertex rounding is enabled
...
This should fix https://bugs.dolphin-emu.org/issues/9105
2022-04-08 18:30:59 -07:00