Emulator Issues #12620
closedTony Hawk's Pro Skater 4 renders incorrectly when using Ubershaders
0%
Description
Game Name?
Tony Hawk's Pro Skater 4
What's the problem? Describe what went wrong.
Tony Hawk's Pro Skater 4 renders incorrectly when using ubershaders; a large portion of the environment is green. When using D3D11, Dolphin crashes with ubershaders; the other backends do not crash.
What steps will reproduce the problem?
Load the fifolog below when using exclusive ubershaders. (It probably also reproduces when playing the game normally, but I don't actually own it so I can only test with the fifolog).
Is the issue present in the latest development version?
Yes, 5.0-14860
Is the issue present in the latest stable version?
Ubershaders didn't exist in 5.0. I tested 5.0-4869, which first added ubershaders, and it rendered correctly there.
If the issue isn't present in the latest stable version, which is the first broken version?
5.0-5934.
If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible.
Fifolog: https://fifo.ci/media/dff/TonyHawkProSkater4ClippedShadows.dff
Is there anything else that can help developers narrow down the issue?
D3D11 logs the following before crashing (there are other similar messages about the sampler that are logged several times beforehand):
D3D11 WARNING: ID3D11DeviceContext::DrawIndexed: The Pixel Shader unit expects a Sampler to be set at Slot 6, but none is bound. This is perfectly valid, as a NULL Sampler maps to default Sampler state. However, the developer may not want to rely on the defaults. [ EXECUTION WARNING #352: DEVICE_DRAW_SAMPLER_NOT_SET]
D3D11 ERROR: ID3D11DeviceContext::DrawIndexed: The Shader Resource View dimension declared in the shader code (TEXTURE2DARRAY) does not match the view type bound to slot 0 of the Pixel Shader unit (BUFFER). This mismatch is invalid if the shader actually uses the view (e.g. it is not skipped due to shader code branching). [ EXECUTION ERROR #354: DEVICE_DRAW_VIEW_DIMENSION_MISMATCH]
D3D11: **BREAK** enabled for the previous message, which was: [ ERROR EXECUTION #354: DEVICE_DRAW_VIEW_DIMENSION_MISMATCH ]
Exception thrown at 0x00007FF8DAB64ED9 (KernelBase.dll) in Dolphin.exe: 0x0000087A (parameters: 0x0000000000000001, 0x0000007CD28FBBE0, 0x0000007CD28FD9B0).
Unhandled exception at 0x00007FF8DAB64ED9 (KernelBase.dll) in Dolphin.exe: 0x0000087A (parameters: 0x0000000000000001, 0x0000007CD28FBBE0, 0x0000007CD28FD9B0).
This issue can be seen on fifoci: https://fifo.ci/result/6610142/
Updated by pokechu22 over 3 years ago
- Description updated (diff)
- Regression start set to 5.0-5934
Updated by pokechu22 over 3 years ago
This issue doesn't happen when per-pixel lighting is enabled, for some reason.
Updated by pokechu22 over 3 years ago
- Status changed from New to Fix pending
https://github.com/dolphin-emu/dolphin/pull/10012
The D3D11 crash is unrelated (it only happens when API validation layers are enabled, and first started happening in 5.0-5400, which made the API validation layers check box work with D3D11). If API validation layers are disabled, the broken rendering can be confirmed.
Updated by pokechu22 over 3 years ago
- Status changed from Fix pending to Fixed
- Fixed in set to 5.0-15130