Skip to content
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

Software renderer issues #16131

Open
hrydgard opened this issue Sep 29, 2022 · 99 comments
Open

Software renderer issues #16131

hrydgard opened this issue Sep 29, 2022 · 99 comments

Comments

@hrydgard
Copy link
Owner

hrydgard commented Sep 29, 2022

Software is not quite in a state where we'll create individual issues for everything, but here's a place to collect issues (always with GE dumps!).

Wipeout menu text slightly glitched (additional thin vertical lines, clearly filtering outside the intended range): (#16241)

image

Both dumps here:

Wipeout UCES00001 dumps.zip

Wipeout Pure ocean white instead of blue: (#16132)

image

Both dumps here:

Wipeout UCES00001 dumps.zip


Misplaced triangle in Zettai Zetsumei Toshi 3 (#16470)

Zettai Zetsumei Toshi 3 draws some triangles that it shouldn't below the character's feet (more details in #16207 (comment)):

image
ULJS00191 GE dump.zip

Note: related problem in #15875, but with negative W after clipping Z.

@hrydgard hrydgard added this to the Future-Prio milestone Sep 29, 2022
@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Sep 30, 2022

Uneven positions textured with wrong step factor (#16241)

Yeah, there's something more about the texture interpolation or pixel position rounding. I think my earlier tests were overly narrow, and there's missing factors. Another example is rainbow six, the bloom pulls in some depth and covers the screen in pink.

The correct rendering in this case looks much better (PSP):
#16131_UCES00001_wipeout_font_interp

I think it ultimately has to do with rounding.


Ocean was dst.a blending (#16132)

The ocean is an interesting case, wasn't aware of this one. First, the correct PSP rendering:
#16131_UCES00001_wipeout_white_ocnea

It clears the screen to white, but then does draw the ocean successfully, this is at 140/632:
Ocean tunnel

Starting at 164/632 and completing just before 178/632, the ocean is whited out. Definitely looks wrong. The purpose of those draws are to add glimmer to the water:
Shiny water

This is using a texture matrix, so I must've gotten something wrong in the recent change... I did see that it was handling inf/nan wrong, maybe it's involved here? The game's texture matrix actually ensures q is 1, so it ought to just be regular interpolation, essentially. Could probably detect this and skip projection, but doing that anyway does not help.

It seems like that's not it. If I change the src blend factor from dst.a to fixed 0x808080 (which most of the stencil is set to that), we get:
Shiny water also

Our stenciled waves are missing, but it looks nice. This must be something I got wrong in blending optimization... will get back to this in a bit, probably not hard to fix.

-[Unknown]

@ghost
Copy link

ghost commented Sep 30, 2022

I reported it before but I will post it here as well for sake of being on 1 place.
Metal Slug XX got a graphical texture issue in combat school:
#15755

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Oct 17, 2022
Can't round to the pixel when calculating the S/T deltas.
This fixes issues in Wipeout (hrydgard#16131) and Call of Duty bloom.
unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Oct 17, 2022
Can't round to the pixel when calculating the S/T deltas.
This fixes issues in Wipeout (hrydgard#16131) and Call of Duty bloom.
@benderscruffy
Copy link

benderscruffy commented Oct 30, 2022

here is one for DTM Race Driver 2 (#16470)

ULES00041_0001.zip
ULES00041_0002.zip

@benderscruffy
Copy link

Socom NavySeals Fireteam Bravo 3

NPJG90068_0001.zip
NPJG90068_0002.zip
NPJG90068_0003.zip
NPJG90068_0004.zip

@benderscruffy
Copy link

Prince of Persia - Rival Swords (USA) (En,Fr,Es) (v1.01)
ULUS10240_0001.ppdmp.ZIP
ULUS10240_0002.ppdmp.ZIP
ULUS10240_0003.ppdmp.ZIP

@unknownbrackets
Copy link
Collaborator

here is one for DTM Race Driver 2
ULES00041_0001.zip ULES00041_0002.zip

These are the same clipping inversion indeed, at 147/726 and 134/673 respectively. Didn't check which direction w goes.

Socom NavySeals Fireteam Bravo 3

NPJG90068_0001.zip

Looking at the first one, it looks really good up to the very end:
Software rendering

Compare to expected output:
Reference image

You can tell it's just missing the final bloom and post-processing. This is right before 5803/5809.

But then it does a self-texture 0x04044000 -> 0x04044000, which is a bit strange. The framebuffer is 5551, but it textures from itself as CLUT8 1024x512, with a grayscale ramp and even color doubling. It does this with a src.a + ONE blend, but the alpha is fixed at FF, so it just ends up adding the ramp. There's no CLUT format mask or anything - but it does start at U=1, so I'd guess it's going after the G2B5A1 bits.

Here's the current translated result:
Speckled image

Naturally, it does the same basic thing on the other side as well. It comes out a bit better, which might indicate some rounding issue (although the verts are pretty even and it's throughmode.)

But... as we can see, the PSP rendering was okay and even brightened effectively. That's clearly the intended plan here.

Hardware doesn't even try: CLUT8 fb_format not matching framebuffer of format 5551 at 04044000/512. So it's actually incorrect and missing the bloom.

The palette repeats the ramp for 128 pixels, twice, which could've been accomplished more efficiently with mask 0x7F. Changing the mask to 0x1F (I guess mapping to R if it's off by one) looks decent:

Somewhat bloomed image

This isn't correctly bloomed, though. So it must be getting the X off. For posterity, an edited framedump with flags so the bloom is not copied to memory as a texture:

#16131_NPJG90068_socom3_bloom_edit.zip

NPJG90068_0002.zip NPJG90068_0003.zip NPJG90068_0004.zip

These have the same thing going on.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Prince of Persia - Rival Swords (USA) (En,Fr,Es) (v1.01)
ULUS10240_0001.ppdmp.ZIP ULUS10240_0002.ppdmp.ZIP ULUS10240_0003.ppdmp.ZIP

This actually looks okay, in the frame dump? It's slow, though.

It does a self-render at 13132/13292, which uses a blend ONE + ZERO to modulate the pixels. Could allow threading on this since pixels are 1:1, would be a good optimization. Maybe could auto-disable linear or even bypass sampler for simple in-place bloom like this.

Anyway, before:
Original image

After:
Image with more green and yellow

Which works out fine. Next we use a red clut ramp + CLUT32 + RGB mask to adjust the red color further. And so on with green and blue. The result:

Brighter image

This all works fine, but four 480x272 draws with linear sampling and no threading take their toll. If I set the prim filter to "1-13131,13136-13292", the color is wrong but speed improves from ~60% -> ~70% (16% improvement.) The smoke/fire effects also take their toll, as it's a lot of linear filtering.

I actually have this game, though (forgot I got it and Silent Hill a few years ago.) Looking at the intro, I see some weird things happening around fire. The frame dumps have yellow boxes under them, and this does happen in the PSP rendering as well. But I don't think the wierd flickering boxes are right.

I captured a frame dump of the flickering specifically (also nuked the bloom texture copying to reduce the dump size):
#16131_ULUS10240_persia_rival_fire1_edit.zip

But... it actually shows the weird line on the PSP?
#16131_ULUS10240_persia_rival_fire1_edit

It's hard for me to believe this actually shows in game. It comes from an odd draw, specifically at 14573/15499. The positions are a square, but the UVs are garbage - first vert has insanely high UVs, the others have zero. Even hardware rendering has these glitches, though. I hope this isn't some dcache issue. It seems like there's actually just a pointer written there, which gets interpreted as UV...

Actually not a pointer, it's written uncached by this to 0842d8cc:

sv.s	S221,0(s1)

Although 09fbf6a0 looks more like a pointer than a float... it's nearly zero if it's a float. It's read from 09fbf884 (which... looks a lot like the previous "float" pointer...) That's stack, and when it's reading it sp=09fbf5f0, fp=09fbf7d0. Seems like 08B89920 writes it, but it's sw v1,0xB4(fp)... maybe a previous run of the same func. I wonder if some HLE func it's calling should be writing some bytes to stack and overwriting it.... doesn't seem like there's HLE between the two.

It's just an lv.q + sv.s, no manipulation between. Hm, the value comes from 09FBF57C, which is also stack. That happens at 0882c3a0. But there's still no HLE after that, on that thread... strange.

-[Unknown]

@benderscruffy
Copy link

benderscruffy commented Oct 31, 2022

Resistance Retribution fire and smoke incorrect
UCUS98668_0001.ppdmp.ZIP
UCUS98668_0002.ppdmp.ZIP
UCUS98668_0003.ppdmp.ZIP

UCUS98668_0004.ppdmp.ZIP
(ammo lines are still an issue)

@benderscruffy
Copy link

benderscruffy commented Oct 31, 2022

77 - Beyond the Milky Way (Japan) (v1.01)
lines are going through the screen through the characters.
ULJM05877_0001.ppdmp.ZIP
ULJM05877_0002.ppdmp.ZIP
ULJM05877_0003.ppdmp.ZIP

@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Nov 13, 2022

Resistance Retribution fire and smoke incorrect UCUS98668_0001.ppdmp.ZIP UCUS98668_0002.ppdmp.ZIP UCUS98668_0003.ppdmp.ZIP UCUS98668_0004.ppdmp.ZIP

These are very interesting in hardware and in software. Here's a grid of how they look, correct on left, software in middle, and Vulkan on the right.

Screenshots comparing each rendering of smoke effects

The most immediately apparent issue is that smoke seems to be rendering at half the width it should in many cases - software only. However, the ammo bar is also visually solid on softgpu and Vulkan. There's also some smoke in the fourth example that only shows in Vulkan. And curiously, the first example has smoke in the top right that looks larger (and honestly, better) in Vulkan than it should. Mysteriously, that smoke is not half width on softgpu.

Focusing first on the ammo bar, it's drawn at 4458/4504 which is solid. 4460/4504 is what draws the lines between. It doesn't draw because of a depth test failure.... interesting.

Prior to 4451/4504, the depth there is simply zero. The draw renders the background of the ammo box, and sets 356,254 to 62028 using transform. 4458/4504 draws the solid color, also using transform. The input value is -0.0, which transforms to -1.0 pre-viewport. Viewport transform is z * -32767.5 + 32767.5, which is straight-forwardly 65535.

The grid draw at 4460/4504 then uses >= depth testing (they all do), and an inefficient lattice of triangles to draw the grid. It's again transform, but the original Z is now 4.625 and the matrices are more complex (but why?) for this grid. We transform (z (4.625) * -0.507797 + 2.348294) * 0.002 + -1.0 which by my math is about -1.00000053425 (about 9 parts of 2^24 more than 1.) This should transform identically to 65535, since the viewport is the same.

However, it doesn't, and I think it's because of the float inaccuracy, perhaps. We end up with a depth of 65534, which doesn't pass the depth test. In Vulkan, it calculates 65534.992188 in software transform. Might be solvable with some better rounding...


Smoke caused by fogged rectangles in transform mode (#16384)

The smoke is drawn at 4373/4504, 4379/4504, and 4385/4504. Software skips 4373, and doing so in Vulkan looks just like software. So that draw is the issue.

The draw is 31 rectangles overlaid to cause the smoke effect, using fog, depth clamp, alpha blend (standard), alpha test (a > 1), depth test (src >= dest), and depth write masking. No verts outside cull ranges or clipping. If I turn off fog, it renders correctly, so I suspect it's an issue with fog rectangle handling (which does do a weird half rectangle thing.)

Dumb mistake - I forgot about texturing when handling the fog weirdness on rectangles. That explains all the half width smoke.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Nov 13, 2022

Rendering off by one when starting after the center of a pixel (#16385)

77 - Beyond the Milky Way (Japan) (v1.01)

lines are going through the screen through the characters.
ULJM05877_0001.ppdmp.ZIP ULJM05877_0002.ppdmp.ZIP ULJM05877_0003.ppdmp.ZIP

These are transformed triangle strips which are actually rectangles. It draws the background with rectangles like this:

  • -45.5625 - 38.8125
  • 38.8125 - 123.25
  • 123.25 - 207.6875
  • 207.6875 - 292.125
  • 292.125 - 376.5625
  • 376.5625 - 461.0
  • 461.0 - 482.125

There's no gap, so there shouldn't be a gap in drawing. However, draw 4 (ending at x=123.25) seems to end up with a black line on the right side, at x=122. Texturing is clamped, and if I clear the background to white before hand it stays white - so it's simply not being drawn.

Forcing DetectRectangleFromStrip to false, it works, so this is definitely an issue in the rectangle path.

It's after the half-pixel and so it's drawing the wrong pixels.

-[Unknown]

@benderscruffy
Copy link

benderscruffy commented Nov 14, 2022

Bigs, The (USA) (v1.01) - lighting in the outfield keeps on flickering (#16470)

ULUS10284_0001.ppdmp.ZIP
ULUS10284_0002.ppdmp.ZIP
ULUS10284_0003.ppdmp.ZIP

@benderscruffy
Copy link

benderscruffy commented Nov 14, 2022

X-Men Legends II - Rise of Apocalypse (USA) (v1.01) - lots of black flashing shapes on the title screen (#16470)

ULUS10045_0001.ppdmp.ZIP
ULUS10045_0002.ppdmp.ZIP
ULUS10045_0003.ppdmp.ZIP

@benderscruffy
Copy link

Gran Turismo (USA) (En,Fr,Es)
the background is continually flickering on any race track
i dont know if this picked up anything in the dump (the grid lines kept on flickering )
UCUS98632_0002.zip

@benderscruffy
Copy link

benderscruffy commented Nov 16, 2022

Gripshift (USA) - brown flashing lines in the sky (#16470)

ULUS10040_0006.zip
ULUS10040_00003

@benderscruffy
Copy link

benderscruffy commented Nov 16, 2022

Frogger - Helmet Chaos (USA) - black line down middle of text box (between the word can and teach) (#16503)

ULUS10026_0001.zip
ULUS10026_00000

@hrydgard
Copy link
Owner Author

Hey bender, thanks for all the testing! If you have time, could you attach screenshots with the dumps too?

@benderscruffy
Copy link

ok

@benderscruffy
Copy link

Buzz! Quiz World (Europe) (En,Pl)
green text is supposed to scroll around the outside
UCES01289_00000
UCES01289_00001
UCES01289_0002.ppdmp.ZIP
UCES01289_0003.ppdmp.ZIP

@benderscruffy
Copy link

benderscruffy commented Dec 7, 2022

Rain Wonder Trip (Japan) (En,Ja,Ko) (v1.03)
line down the middle of the scoreboard (in-between your score)
grey lines down bottom of the screen
think it i supposed to be the subtitles as they are turned on
ULJS00072_00000
ULJS00072_00001
ULJS00072_0001.ppdmp.ZIP
ULJS00072_0002.ppdmp.ZIP

@benderscruffy
Copy link

Tony Hawk's Underground 2 Remix (USA) (v1.01)
faces are glitched during the intro
ULUS10014_00000
ULUS10014_00001
ULUS10014_00002
ULUS10014_0001.ppdmp.ZIP
ULUS10014_0002.ppdmp.ZIP
ULUS10014_0003.ppdmp.ZIP

@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Dec 7, 2022

Shadow of Destiny blur double line drawing (#16503)

Shadow of Destiny ULUS10459
during the intro black lines on the screen during the blur effect
ULUS10459_0001.ppdmp.ZIP
ULUS10459_0002.ppdmp.ZIP

Things look fine up through 5393/5396:
image

At this point, it textures from what I assume is some copy it made. If I clear the initial copy so it recreates it, everything looks fine:
image

So I guess something is going wrong initially creating this copy, because it starts with lines in it and keeps blending them back in.

I have this game... I have never really played it much, though. I tried selecting the z-pad and leaving rooms, which causes blur transitions, but didn't notice any issues. Maybe this was fixed by #16503?


Hot Wheels Ultimate Racing (USA) (En,Fr,De,Es,It) (v1.02)
rocks on side of the road are incorrect
1 pic
no details on rocks
2 pic
first rock has details and 2nd doesnt
3and 4 pic
first rock has detail and 2nd rock has half detail and the other half doesnt (the jagged line down the middle of it
only problem was all the GE dumps are only 2k
they didnt record anything

Hm, I may need to figure out what's causing these empty framedumps. It must be some problem where it thinks a frame happened but it's actually no drawing.

To me this looks like a mipmapping issue. It's not impossible it's correct, but it could also be an accuracy issue as I think we still aren't accurate with mipmap level selection.


Kingdom Hearts drawing that should've been w culled (#16509)

Kingdom Hearts - Birth by Sleep (USA) (En,Fr,Es)
bright lights seen on the ground (or through the ground)

ULUS10505_0001.ppdmp.ZIP ULUS10505_0002.ppdmp.ZIP


Driver 76 (Europe) (v1.01)
white lines keep flashing on the road
in the 3rd pic the line on the right hand side of the car going through the footpath keeps flashing
ULES00740_0001.ppdmp.ZIP
ULES00740_0002.ppdmp.ZIP
ULES00740_0003.ppdmp.ZIP

Interesting. This game draws to a 8888 buffer and then blits it to 5551 every frame (why not 565?) Had to edit the dump to fiddle with which framebuffer is displayed so I can get the correct PSP output.

It should indeed not have that line:
#16131_ULES00740_driver76_flashing_lines1_edit

At 3249/7167, it has this beige ground:
image

But then it draws this shape at that draw:
image

The verts that match the top of that shape are all (298.4375, 213.5) and (387.3125, 213.25). So it ends up not drawing some of the top left pixels, which might be incorrect.

After that 3325/7167 draws the upper part of that shape, but it uses (298.375, 213.4375) and (387.125,213.1875). So it doesn't cover those pixels either. And you get the line:
image

This is probably one of a rounding error, float inaccuracy, or triangle half-pixel issue. I think it's most likely the third one.

-[Unknown]

@benderscruffy
Copy link

Shadow of Destiny ULUS10459
Maybe this was fixed by #16503?
yes it looks it is fixed now
just tried it again and the lines were gone

@benderscruffy
Copy link

Split-Second (USA) (En,Fr,Es)
track and shadows and background start to glitch
ge dumps dont pick it up
Capture
ULUS10513_00000
ULUS10513_00001
ULUS10513_00002
ULUS10513_0001.ppdmp.ZIP
ULUS10513_0002.ppdmp.ZIP
ULUS10513_0003.ppdmp.ZIP
ULUS10513_0004.ppdmp.ZIP

@unknownbrackets
Copy link
Collaborator

Buzz! Quiz World (Europe) (En,Pl)
green text is supposed to scroll around the outside
UCES01289_0002.ppdmp.ZIP
UCES01289_0003.ppdmp.ZIP

When I run this on a PSP, there's no green text. But, something weird is captured in this frame dump.

At two points in the frame, it switches to a framebuffer at 0x04198000 (at 3/78 and 76/78) and draws some text. Some of the vertex positions sorta look like hot garbage, but there are good ones in there and the colors and etc. seem sensible.

Both times it draws this green text there:
image

At 78/78 it sets the font texture (not 0x04198000, but the same texture it used to draw that) again and draws... 0 triangles. It never seems to even try to draw the "QUIZ CHALLENGE" text. And the PSP execution doesn't either. Does this work in hardware renderers? I suspect it's not softgpu specific, whatever the bug is...


Rain Wonder Trip (Japan) (En,Ja,Ko) (v1.03)
line down the middle of the scoreboard (in-between your score)
grey lines down bottom of the screen
think it i supposed to be the subtitles as they are turned on
ULJS00072_0001.ppdmp.ZIP
ULJS00072_0002.ppdmp.ZIP

Indeed should have no line:
#16131_ULJS00072_rainwondertrip_line

This is using more 0.5 positions and UVs, although interestingly it's doing i.e. X1=138, X2=238.5 and U1=0, U2=100.5. It uses triangles in a bit of and odd way (probably trying to restart the strip) that we don't detect as rectangles, so this is probably like the Driver 76 case, and might work already under the rectangle path.


Unfortunately, whatever is screwed up in the Rain Wonder Trip second example (subtitle problem) is hardcoded within the frame dump. It's taking an image (possibly previously rendered) that's already got that gray corruption and rendering it to the screen, so it's already wrong.

Does it work right in the hardware renderers?


Tony Hawk's Underground 2 Remix (USA) (v1.01)
faces are glitched during the intro
ULUS10014_0001.ppdmp.ZIP
ULUS10014_0002.ppdmp.ZIP
ULUS10014_0003.ppdmp.ZIP

Wow, it looks like a modern game on release day. But hmm, it does look as bad to me:
image

Which more or less matches the PSP rendering:
#16131_ULUS10014_tonyhawk_thug2_distorted_faces1

Maybe a setting? I don't see anything suspicious, though... does it happen when you play back the framedumps?

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Split-Second (USA) (En,Fr,Es)
track and shadows and background start to glitch
ge dumps dont pick it up

Hm... indeed, not seeing in the frame dump. I wonder if something is going wrong with some cache. I think there might've been a demo for this game, maybe I can dig it up. Any tips on reproducing it?

This sorta looks like that Need for Speed issue to me. Somehow some state seems to be going out of sync...

-[Unknown]

@benderscruffy
Copy link

Tony Hawk's Underground 2 Remix (USA) (v1.01)
no the framedumps played back as normal
i havent changed any settings

@benderscruffy
Copy link

benderscruffy commented Dec 7, 2022

Unfortunately, whatever is screwed up in the Rain Wonder Trip second example (subtitle problem) is hardcoded within the frame dump. It's taking an image (possibly previously rendered) that's already got that gray corruption and rendering it to the screen, so it's already wrong.

Does it work right in the hardware renderers?

no it doesn't work in the hardware renderers aswell

just checked it on my psp
it is the subtitles which are supposed to appear in the grey box
you can check it out here
https://www.youtube.com/watch?v=t1oEwG5HsZI&ab_channel=KatyDubu
go to about 4:40 to see it

@benderscruffy
Copy link

At 78/78 it sets the font texture (not 0x04198000, but the same texture it used to draw that) again and draws... 0 triangles. It never seems to even try to draw the "QUIZ CHALLENGE" text. And the PSP execution doesn't either. Does this work in hardware renderers? I suspect it's not softgpu specific, whatever the bug is...
nope not right in hardware renderer aswell
#8594

@benderscruffy
Copy link

split second demo
it is NPUH-90093
it wouldn't corrupt in the airport junk yard
it happens at the airport in the full version
here is the demo version in my folder
https://mega.nz/file/8jwgHKzD#1nDO1645kpt5H_KKfH4AeXkWRENa_iXE2nXsjIf-7Y0

@benderscruffy
Copy link

Race Driver 2006 (USA) (v1.01)
numbers are wrong
ULUS10096_00000
ULUS10096_0001.zip

@benderscruffy
Copy link

benderscruffy commented Dec 8, 2022

@unknownbrackets
here is the demo for Syphon Filter - Logan's Shadow where the fire is wrong aswell
you will see it at the start of the demo
https://mega.nz/file/d2pQHSST#NWTzNETRzHOm2avLCstVmLHSgdn9ZLWIuRKutNtfXls

and here is the Syphon Filter - Dark Mirror (USA) demo aswell
https://mega.nz/file/h3RWAYQY#BOzwsy1zkQEk5ccdT8AP6bsi_XOmJ4Mc5BxcTrVdKU0

@benderscruffy
Copy link

benderscruffy commented Dec 9, 2022

Super Stardust Portable (USA) (En,Fr,De,Es,It,Nl,Pt,Ru) (PSP) (PSN)
The Letters R, S, T and the ™ Symbol Starts flickering on the title screen
NPUG80221_00000
NPUG80221_00001
NPUG80221_0001.ppdmp.ZIP
NPUG80221_0002.ppdmp.ZIP
just tested on my psp and it doesn't happen

#6371

@benderscruffy
Copy link

Cars - Race-O-Rama (USA) (En,Fr,De,Es,It)
sky and background is messed up
GE dumps dont capture anything only 2k big
ULUS10428_00000
ULUS10428_00001

@benderscruffy
Copy link

Cars (USA) (v1.02)
start any race the quit and when it comes back to the menu it is messed up
ge dump doesn't get it
ULUS10073_00001
ULUS10073_00002

@benderscruffy
Copy link

benderscruffy commented Dec 9, 2022

-MX vs. ATV Reflex (USA) (En,Fr) (v1.02) and MX vs. ATV Untamed (USA)
background is corrupt like Cars - Race-O-Rama
and the ge dumps dont pick up nothing only 2k files
ULUS10429_00000

ULUS10330_00000

@benderscruffy
Copy link

benderscruffy commented Dec 10, 2022

Kratos demo by Immersion (#16706)

http://www.pouet.net/prod.php?which=50114
everything looks so dark.
kratos.zip

@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Jan 1, 2023

just checked it on my psp it is the subtitles which are supposed to appear in the grey box you can check it out here https://www.youtube.com/watch?v=t1oEwG5HsZI&ab_channel=KatyDubu go to about 4:40 to see it

There's most likely something going wrong when it actually creates this texture, or loads it, or something. Could even be PGF.


Race Driver 2006 (USA) (v1.01)
numbers are wrong
ULUS10096_0001.zip

Interesting, that seems to come from this texture:
image

I'm not sure why the 22 is broken that way. This other image has a better one, but I think it's the front or something:
image

0x041d0000 (the texture with the broken 22) is not rendered within the frame, and is CLUT8 so seems unlikely to be rendered at all. The PSP rendering matches the software rendering pretty well too. It's either that way in the game, or a bug somewhere not caught in the framedump.


here is the demo for Syphon Filter - Logan's Shadow where the fire is wrong aswell
you will see it at the start of the demo

Thanks. The fire looks pretty good in one area until it does the ugly smoke:
image

Then the smoke at 4810:
image

The next glow at 4915 does improve it:
image

It then seems to blur/bloom that a bit. So returning to the original smoke... it's at 0x040eb180 (outside depth buffer), and looks reasonable (low alpha):
image

No texgen, CLUT4, swizzled so not rendered. Is using color doubling as noted before. Interestingly, it is using RECTANGLES in transform mode. All but the first rectangle have partial alpha. Even without color doubling it looks awful. If I only draw the first of 25 rectangles (with full alpha), it doesn't even show because that one's offscreen. It's weird that all of the others are in the exact same spot.

If I only draw 2 rectanlges of 25, it looks better (end result):
image

What I think is happening is that it's building a map of where to show smoke, and somehow all the remaining slots get duplicated for this one. Will need more debugging, might be a CPU bug or something else... demo helps.


Super Stardust Portable (USA) (En,Fr,De,Es,It,Nl,Pt,Ru) (PSP) (PSN) The Letters R, S, T and the ™ Symbol Starts flickering on the title screen
NPUG80221_0001.ppdmp.ZIP NPUG80221_0002.ppdmp.ZIP
just tested on my psp and it doesn't happen

#6371

Thanks, I read this after digging up some other framedumps of this and editing them. Something funny is happening here for sure, but it's related to morphweights or morph variants, so not a softgpu issue. Definitely an interesting issue.


Cars - Race-O-Rama (USA) (En,Fr,De,Es,It)
sky and background is messed up
GE dumps dont capture anything only 2k big

This looks like some sort of culling issue, with some depth getting written early or not getting cleared properly. It looks fine in hardware, right? Frame dump doesn't work there either?


Cars (USA) (v1.02)
start any race the quit and when it comes back to the menu it is messed up
ge dump doesn't get it

What if you save state and then come back - is it not messed up again? If yes, that sounds like a very interesting state bug. How easy to reproduce? Maybe I can find a cheap used copy.


Kratos demo - 0 exp spot lighting was broken (#16706)

Kratos demo by Immersion
http://www.pouet.net/prod.php?which=50114
everything looks so dark.
kratos.zip

Interesting, this is definitely a lighting issue of some kind. If I force lighting off, here's one scene:
image

It should correctly look like this:
#16131_Kratos_bad_lighting

Which looks like reasonable lighting. Seems like a good example of lighting problems. Let's see... .the light direction is zero,. so we end up adding nothing to the color. Will have to look into this one more.

-[Unknown]

@ghost
Copy link

ghost commented Mar 1, 2023

God Eater Burst lack of bloom effects #17033

@ghost
Copy link

ghost commented Mar 11, 2023

ATV Offroad Fury Blazin
White flickering
ULES00155.ppdmp.zip

Screenrecording_20230312_074901_org.ppsspp.ppsspp.mp4

@IrfanH495
Copy link

IrfanH495 commented Mar 28, 2023

Fuuun Shinsengumi Bakumatsuden Portable
ULJM05561.zip

Screenshot_20230328-204520_PPSSPP

I think the image behind the character is missing.
opengl,vukan,Software renderer
samsung m20 Mali-G71
Sharp sh04H adreno 530
sorry can you check it
this is the video on youtube i think it's the psp version
Screenshot_20230328-232358_YouTube

https://youtu.be/Qbn3RegtWXE

@IrfanH495
Copy link

Fuuun Shinsengumi Bakumatsuden Portable ULJM05561.zip

Screenshot_20230328-204520_PPSSPP

I think the image behind the character is missing. opengl,vukan,Software renderer samsung m20 Mali-G71 Sharp sh04H adreno 530 sorry can you check it this is the video on youtube i think it's the psp version Screenshot_20230328-232358_YouTube

https://youtu.be/Qbn3RegtWXE

texture that doesn't appear in the image above
08fdf5c038d98b851765ee0b
08fe351016834a4493fbdf43
091caf00c457fb75777d98ea
0919d640928e8cbfd9f45be8
091770c0643277f656e77f89
09190850721f9a6813fde6dc

@unknownbrackets
Copy link
Collaborator

God Eater Burst lack of bloom effects #17033

Turns out this is actually close to (but not exactly) right. Should still be looked into (I wonder which part we're getting inaccurately), but hardware is the one that is blooming more than it should.

ATV Offroad Fury Blazin
White flickering
ULES00155.ppdmp.zip

Unfortunately, it looks like this frame dump didn't capture the problem - it looks pretty close between PPSSPP and a PSP. I don't see any floor panel flickering here. That said, I think this game uses mip map levels for the floor and it seems possible it's related to that.

Fuuun Shinsengumi Bakumatsuden Portable
ULJM05561.zip

It does look like the background is missing - both in software and hardware. I can get software to render correct if I disable the minz/maxz settings at 601/654. It then looks like this:

Software rendering showing background

Which seems pretty close to the PSP rendering:
#16131_ULJM05561_shinsengumi_missing_bg

The verts use Z=1000 (float, transform) from a viewport 30000 -20000 scale, turns into 9999 (270F). However, minz is 2710. Thsi seems likely to be a matrix/vertex accuracy issue. The specific formula for Z is:

proj_z = 1000 * -1 * -0.0020020008087158203125 - 1.001983642578125 = ~1.00001716614
screen_z = 1.00001716614 * -20000 + 30000 = ~9999.6566772

Probably this should just barely round up, which would draw. Most likely PPSSPP is calculating a slightly lower value or else not rounding properly.

-[Unknown]

@fp64
Copy link
Contributor

fp64 commented Jun 30, 2023

Text is not rendering in save/load dialog in SoftGPU on Linux. Screenshot:
Screenshot from 2023-06-30 04-53-18
The above is not actually a save/load dialog, but is affected as well (as are things like entering player name). Happens in other games.
Does work in win32 from buildbot (under wine):
Screenshot from 2023-06-30 05-20-04

When I compile master on my 32-bit Linux, it does not work in SW, but works normally in OpenGL.

Logging shows that

g_draw != nullptr
textDrawerInited == true
textDrawer == nullptr

in Core/Util/PPGeDraw.cpp:HasTextDrawer.

Might investigate myself, but you can probably figure it faster.

Edit: sorry for the lack of GE dump.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants