New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BLJM60571 Texture Corruption #8150
Comments
I need more context, e.g which title is this? Also need some logs and RSX capture. Note that RSX has its own tiling format, but it is unlikely to break like this as a decoder for it is fully implemented. |
It's a 2D Japanese visual novel, which only renders sprites. The full log of a few minutes of gameplay and the RSX capture is here: Also, this is what that texture normally should look like, and to the right is the correct framebuffer result: Thanks for looking into this if you've got time. |
The texture in question is marked as swizzled during rendering, but is actually stored in linear format. |
Lol that clarifies a lot. Thanks! |
The swizzle operation is not being done using blit engine and is loaded straight from memory as-is, but the texture configuration registers are clearly expecting a swizzled input, right down to pitch not being set. There are only two ways to use the PS3 GPU to swizzle, one being blit engine and the other being swizzled RTTs. Ofc we cannot do swizzled RTTs on PC, at least not in user space without some extra work being done. I could not find any commands relating to this however, but it is possible that this is done once when the program first loads and the generated textures reused throughout. |
Just to update, I was right, the game is using a swizzled raster to generate the texture but we only support linear readback. I haven't had time to complete the fix, but it should be finished soon. |
Should be fixed by #8664 |
This is a completely different problem now, looks like broken synchronization to me. I'll get back around to this at some point. |
Retry with #8696 which fixes some problems with the last patch. If that doesn't fix it, at least provide a save for this game as it is torture trying to get ingame every time you change something in the code. |
very strangely, I tried rsx caputure, but it turned out to be correct to open rsx caputure this rsx caputure+ savedata https://drive.google.com/file/d/1zBA8_2Ii4hxbNXHu09q4HiNi6hE6zSIM/view?usp=sharing |
Please retest this. The texture subsystem has been rewritten since the last time I touched this issue. |
Closing. Request to reopen if you can still reproduce. |
it's still an issue unfortunately in the prologue it's one specific scene with one specific animation, same character will look fine after few dialog lines log with several runs (vk normal, vk in strict mode, ogl in strict mode) |
Retested with v0.0.30-15914-2a1af17f. No changes |
Still got the same problem, keep waiting |
Quick summary
Details
The texture is in B8G8R8A8_UNORM and optimal tiling. The fragment shader just samples the texture straight onto screen, so it shouldn't be the shader's problem. This looks like a texture format issue to me, but I don't know how RSX works so I am not sure.
I don't have time to dig down further, but I hope the corruption pattern will ring a bell to people who are familiar with RSX like @kd-11.
The text was updated successfully, but these errors were encountered: