-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Correctly fetch correct pitch and depth for textures from RSX #1496
Conversation
By analyzing the blame information on this pull request, we identified @DHrpcs3, @vlj and @Nekotekina to be potential reviewers |
I'm not sure how the pitch per index should be fetched. The other values are set in the init() function but not for depth and pitch. Someone more familiar with the core RSX should confirm. |
c1c7068
to
77d5b29
Compare
Updated to also affect vertex textures. |
Nice catch. I think gcm.cpp code correctly parses control 2 and 3, I had an issue where some texture related opcode had a stride of 8 and some other a stride of 1. Dx12 doesn't use texture pitch from the register and computes it from texture width. It'd likely not accurate but I didn't know how to interpret the pitch value from the register when I wrote the code: sometimes it's 0 and sometimes the pitch value is wrong. |
@jarveson Indeed; there is a rather large gap between 583-640 (base 10) so I agree with your analysis about the indexing having a stride of 8. Will update accordingly. |
77d5b29
to
c02e1ba
Compare
Updated vertex texture pitch and depth index stride. |
Is travis-ci stuck ? |
Travis seems to be triggered now. Sadly there's no way to redeliver Travis payloads. |
7a64d03
to
0cac71b
Compare
Sorry. Bad push. @vlj Requires approval again. |
@tambry where should be rebuild/cancel build option for those in the team (same as appveyor). |
@danilaml There is, but I can't do that, when Travis didn't receive the build request. Ie. Github was waiting for Travis build to start for hours. |
c14a260
to
cd64875
Compare
Include vertex textures too Set correct stride for vertex texture params Change references to gl_Position in D3D12FragmentProgramDecompiler Revert bad commit
cd64875
to
7d70be4
Compare
Correctly fetch correct pitch and depth for textures from RSX
Texture pitch and depth are fetched from the registers without indexing, causing all texture layers to contain info for texture layer 0. Thanks to @jarveson for pointing out the problem.
Should fix issue #1495