Skip to content

Conversation

@kd-11
Copy link
Contributor

@kd-11 kd-11 commented Nov 16, 2025

Fixes most visual bugs reported in "I AM ALIVE". The game has other unrelated issues such as flickering shadows, but the root cause for that is different.

Ref: #6897

* Calculates the lane mask for a given input
* This is a temporary workaround until the decompiler is rewritten with some IR to allow granular split/gather passes
*/
u32 get_src_vector_mask(u32 opcode, int operand);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can it be const ?

Suggested change
u32 get_src_vector_mask(u32 opcode, int operand);
u32 get_src_vector_mask(u32 opcode, int operand) const;

@Megamouse Megamouse added the RSX label Nov 16, 2025
@kd-11 kd-11 marked this pull request as draft November 16, 2025 16:39
@kd-11 kd-11 changed the title rsx: Reimplement FP register lane gather logic [TESTERS NEEDED] rsx: Reimplement FP register lane gather logic Nov 16, 2025
@MarioSonic2987
Copy link
Contributor

Breaks outlines in The Simpsons Game.
image

Log
RSX Capture

@Virtua64
Copy link

Regression with COD4. Tried with clean cache, different shader modes etc.

PR:

cod.mp4

Master:

cod

RSX: https://www.dropbox.com/scl/fi/a8fjyg6l3schxzhma6rvo/BLUS30072_20251117073126_capture.rrc.gz?rlkey=v78zmbjtwg3szgwtx9nyy9rsx&st=oy91vx3g&dl=0

Ryzen 7 2700
GTX 1650
Win 10

@kd-11
Copy link
Contributor Author

kd-11 commented Nov 17, 2025

COD is fixed. Simpsons requires a compiler overhaul. I'll look at the easiest way to do that while also adding UTs. Otherwise the eventual rewrites will be too painful.

@Virtua64
Copy link

Regression with The BIGS 2. Most text in the game is now blue.

PR:

bigsPR02

bigsPR

Master:

bigs

bigs02

RSX: https://www.dropbox.com/scl/fi/9nc5kdney4iyczjsirypg/BLUS30280_20251118045821_capture.rrc.gz?rlkey=i8w9eg73xg8eovzviwg0zkaxz&st=hk4d9ypd&dl=0

@kd-11 kd-11 mentioned this pull request Nov 18, 2025
@kd-11 kd-11 changed the title [TESTERS NEEDED] rsx: Reimplement FP register lane gather logic rsx: Reimplement FP register lane gather logic Nov 18, 2025
@kd-11 kd-11 changed the title rsx: Reimplement FP register lane gather logic rsx: Rewrite FP decompiler Nov 18, 2025
@Virtua64
Copy link

Regression with RR7 demo with similar blue color affecting tire smoke and nitrous. I don't want to spam this topic with regressions since I assume you are well aware of what the issues are. I will wait for any further commits before making any other reports here. Cheers.

RR7 PR:

rr7PR.mp4

RR7 master:

rr7master.mp4

u8 fragment_texture::convolution_filter() const
{
return ((registers[NV4097_SET_TEXTURE_FILTER + (m_index * 8)] >> 13) & 0xf);
return ((registers[NV4097_SET_TEXTURE_FILTER + (m_index * 8)] >> 13) & 0x7);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the convolution filter fix be done in another pr? it seems like it's an important fix with minimal chance for regressions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea. I'll move that to a smaller PR

@kd-11 kd-11 changed the title rsx: Rewrite FP decompiler rsx: Rewrite FP aliased registers handling Nov 24, 2025
@kd-11
Copy link
Contributor Author

kd-11 commented Nov 24, 2025

CFG is now done with #17743
Some minor changes are still needed, that will change soon.

@kd-11
Copy link
Contributor Author

kd-11 commented Nov 24, 2025

Next task: #17753

@RPCS3 RPCS3 deleted a comment from maricelase Nov 28, 2025
@kd-11
Copy link
Contributor Author

kd-11 commented Dec 7, 2025

This work has been reimplemented from the ground up. Final PR: #17837

@kd-11 kd-11 closed this Dec 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants