ppsspp icon indicating copy to clipboard operation
ppsspp copied to clipboard

Broken rendering in Need for Speed: Pro Street

Open hrydgard opened this issue 1 year ago • 15 comments

Reported by Lubos on Discord.

Huawei P20:

OpenGL:

image

Vulkan:

image

hrydgard avatar Oct 07 '22 17:10 hrydgard

It needs a GE dump.

Panderner avatar Oct 07 '22 18:10 Panderner

It needs a GE dump.

Here it is (at least I hope it is what you asked for):

2022-10-08 16:35:27.373 12951-20592/? I/PPSSPP: [G3D] !!! DUMPING THIS FRAME
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 9c044000: Framebuf ptr: 0x04044000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 9d040200: Framebuf stride: 0x200 (extra 040000)
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! d2000000: Framebuf PixelFormat: 565
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 00044000: NOP: data= 044000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 00040000: NOP: data= 040000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 00088000: NOP: data= 088000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 00040000: NOP: data= 040000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 9e088000: Zbuf ptr: 088000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 9f040200: Zbuf stride: 0x200 (extra 040000)
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 1f000001: Fog enable: 1
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! cf8ca5a5: FogColor 8ca5a5
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! cd447a00: Fog end 1000.000000
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! ce3a89f8: Fog slope 0.001053
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 24000000: Stencil test enable: 0
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! dd000000: Stencil op: fail=KEEP, pass/depthfail=KEEP, pass=KEEP
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! dcffff01: Stencil test: ff ALWAYS (dst.a & ff)
2022-10-08 16:35:27.378 12951-20592/? I/PPSSPP: [G3D] !!! 28000000: Logic op enable: 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e6000003: LogicOp: copy
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 20000000: Dither enable: 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e2001d0c: DitherMatrix 0 = 001d0c
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e300f3e2: DitherMatrix 1 = 00f3e2
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e4000c1d: DitherMatrix 2 = 000c1d
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e500e2f3: DitherMatrix 3 = 00e2f3
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 1c000001: Depth clamp enable: 1
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 25000000: Antialias enable: 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e7000000: ZMask: allow write
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 9b000001: Cull: back (CCW)
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e8000000: MaskRGB: 000000 (bits not to write)
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! e9000000: MaskAlpha: 00 (bits not to write)
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 0e020001: SIGNAL 020001
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 0c000000: Signal without wait. signal/end: 0001 0000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 1f000000: Fog enable: 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 42437000: Viewport X scale: 240.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 43c30800: Viewport Y scale: -136.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 45450000: Viewport X center: 2048.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 46450000: Viewport Y center: 2048.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 4c007100: Offset X: 7100 / 1808 with sub 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 4d007780: Offset Y: 7780 / 1912 with sub 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! d4000000: Scissor TL: 0, 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! d5043ddf: Scissor BR: 479, 271
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 4446fffe: Viewport Z scale: 32767.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 4746fffe: Viewport Z center: 32767.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! d6000000: MinZ: 0x0000 / 0.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! d700ffff: MaxZ: 0xffff / 1.000000
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 3c000000: VIEW # 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 3e000000: PROJECTION # 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 3c000000: VIEW # 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 3e000000: PROJECTION # 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 40000000: TGEN # 0
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 14000000: ORIGIN offset=0901b9d8
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 08000028: JUMP: 0901b9e0 to 0901ba00 (000028)
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 13000000: OffsetAddr: 000000 (offset=00000000)
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! d3000701: Clear mode: on, color, alpha/stencil, depth
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 1280011c: SetVertexType: through, ABGR 8888 colors, s16 positions
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 0101b9e4: VADDR: 01b9e4 => 0901b9e4
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.379 12951-20592/? I/PPSSPP: [G3D] !!! 04060002: DRAW PRIM RECTANGLES: count= 2 vaddr= 0901b9e4
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d3000000: Clear mode: off
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 1f000001: Fog enable: 1
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! cf8ca5a5: FogColor 8ca5a5
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! cd447a00: Fog end 1000.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! ce3a89f8: Fog slope 0.001053
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! cf8ca5a5: FogColor 8ca5a5
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! cd447a00: Fog end 1000.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! ce3a89f8: Fog slope 0.001053
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 20000001: Dither enable: 1
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 42437000: Viewport X scale: 240.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 43c30800: Viewport Y scale: -136.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 45450000: Viewport X center: 2048.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 46450000: Viewport Y center: 2048.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4c007100: Offset X: 7100 / 1808 with sub 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4d007780: Offset Y: 7780 / 1912 with sub 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d4000000: Scissor TL: 0, 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d5043ddf: Scissor BR: 479, 271
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4446fffe: Viewport Z scale: 32767.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4746fffe: Viewport Z center: 32767.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d6000000: MinZ: 0x0000 / 0.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d700ffff: MaxZ: 0xffff / 1.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 3c000000: VIEW # 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 3e000000: PROJECTION # 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 42437000: Viewport X scale: 240.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 43c30800: Viewport Y scale: -136.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 45450000: Viewport X center: 2048.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 46450000: Viewport Y center: 2048.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4c007100: Offset X: 7100 / 1808 with sub 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4d007780: Offset Y: 7780 / 1912 with sub 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d4000000: Scissor TL: 0, 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d5043ddf: Scissor BR: 479, 271
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4446fffe: Viewport Z scale: 32767.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 4746fffe: Viewport Z center: 32767.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d6000000: MinZ: 0x0000 / 0.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! d700ffff: MaxZ: 0xffff / 1.000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 3c000000: VIEW # 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 3e000000: PROJECTION # 0
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 53000003: Material update: ambient, diffuse
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 54000000: Material emissive color: 000000
2022-10-08 16:35:27.380 12951-20592/? I/PPSSPP: [G3D] !!! 55ffffff: Material ambient color: ffffff
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 580000ff: Material alpha: ff
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 56ffffff: Material diffuse color: ffffff
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 57ffffff: Material specular color: ffffff
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 62000000: Light 3 type: directional, comp: diffuse
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 6c000000: Light 3 X pos: 0.000000
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 6d000000: Light 3 Y pos: 0.000000
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 6e000000: Light 3 Z pos: 0.000000
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 1b000000: Light 3 enable: 0
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 5f000000: Light 0 type: directional, comp: diffuse
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 633dcccc: Light 0 X pos: 0.099998
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 64be4ccc: Light 0 Y pos: -0.199997
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 653e8000: Light 0 Z pos: 0.250000
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 90d8e5e5: Light 0 diffuse color: 0.898039 0.898039 0.847059
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 18000001: Light 0 enable: 1
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 60000000: Light 1 type: directional, comp: diffuse
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 66be4ccc: Light 1 X pos: -0.199997
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 673e9999: Light 1 Y pos: 0.299995
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 683d4ccc: Light 1 Z pos: 0.049999
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 93997266: Light 1 diffuse color: 0.400000 0.447059 0.600000
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 19000001: Light 1 enable: 1
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 61000000: Light 2 type: directional, comp: diffuse
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 693e1999: Light 2 X pos: 0.149998
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 6a3d4ccc: Light 2 Y pos: 0.049999
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 6bbe8000: Light 2 Z pos: -0.250000
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 96727f7f: Light 2 diffuse color: 0.498039 0.498039 0.447059
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 1a000001: Light 2 enable: 1
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 5c332626: Ambient color: 332626
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! 5d0000ff: Ambient alpha: ff
2022-10-08 16:35:27.381 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 17000001: Lighting enable: 1
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 1f000000: Fog enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 2a000000: BONE #0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 17000000: Lighting enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 5cffffff: Ambient color: ffffff
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 5d0000ff: Ambient alpha: ff
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 22000001: Alpha test enable: 1
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 21000000: Alpha blend enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 0a2d9440: CALL: 0901bc64 to 092d9440 (2d9440), ret=0901bc68
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! b8000707: Texture size 0: 128x128
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! de000005: Z test mode: <=
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 1c000001: Depth clamp enable: 1
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c7000000: TexWrap wrap s, wrap t
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c1000000: Tex shade light sources: 0, 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 18000000: Light 0 enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! d03ba3d7: TexLodSlope 0.005000
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 19000000: Light 1 enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! e7000000: ZMask: allow write
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 1a000000: Light 2 enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c3000005: TexFormat CLUT8
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 1d000000: CullFace enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c9010100: TexFunc 0 RGBA modulate, color double
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 1e000001: Texture map enable: 1
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! d9000000: ColorRef: 000000
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! e1000000: Blend fix B: 000000
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 23000001: Z test enable: 1
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c0000101: Tex map mode: uvgen=texgen matrix, uvproj=uv
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 27000000: Color test enable: 0
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c2000001: TexMode swizzle, 0 levels, shared clut
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 4446fffe: Viewport Z scale: 32767.000000
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! c6000105: TexFilter min: linear, mipmap nearest, mag: linear
2022-10-08 16:35:27.382 12951-20592/? I/PPSSPP: [G3D] !!! 4746fffe: Viewport Z center: 32767.000000
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! c8000002: TexLevel mode: slope + bias Offset: 0.000000 / 0
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 483f8000: Texture U scale: 1.000000
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! caffffff: TexEnvColor ffffff
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 493f8000: Texture V scale: 1.000000
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! d8000001: ColorTest: (src.rgb & cmask) ALWAYS (dst.rgb & cmask)
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 4a000000: Texture U offset: 0.000000
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! da000000: ColorTestMask: 000000
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 4b000000: Texture V offset: 0.000000
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! e0ffffff: Blend fix A: ffffff
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 50000001: Shade: 1 (gouraud)
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 51000000: Reverse normal: standard
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 5cffffff: Ambient color: ffffff
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 3a000000: World # 0
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 21000001: Alpha blend enable: 1
2022-10-08 16:35:27.383 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! df000032: Blend mode: add src.a, 1.0 - src.a
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! dbff1006: Alpha test: (src.a & ff) > 10
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! dbff8006: Alpha test: (src.a & ff) > 80
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 12000380: SetVertexType: float positions, u8 weights (1)
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 012d8da0: VADDR: 2d8da0 => 092d8da0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 07000008: BBOX_TEST: 000008
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 14000000: ORIGIN offset=092d9534
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 0900011c: BBOX_JUMP: target= 0000011c
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 13000000: OffsetAddr: 000000 (offset=00000000)
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 3a000000: World # 0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! cb000000: TexFlush
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! a8040080: Texture stride 0: 0x0080, address high=04
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! a01505b0: Texture address 0: low=1505b0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! b1040000: CLUT addr: high=04
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! b01545c0: CLUT addr: low=1545c0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! c500ff03: Clut format: 00ff03 (ABGR 8888)
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! c4000020: Clut load: 041545c0, 1024 bytes
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 0a2d5e10: CALL: 092d9594 to 092d5e10 (2d5e10), ret=092d9598
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 00000004: NOP: data= 000004
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 18000000: Light 0 enable: 0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 19000000: Light 1 enable: 0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 1a000000: Light 2 enable: 0
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 12000312: SetVertexType: u16 texcoords, BGR 565 colors, s16 positions, u8 weights (1)
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 14000000: ORIGIN offset=092d5e2c
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 0100004c: VADDR: 00004c => 092d5e78
2022-10-08 16:35:27.385 12951-20592/? I/PPSSPP: [G3D] !!! 0404000e: DRAW PRIM TRIANGLE_STRIP: count= 14 vaddr= 092d5e78
2022-10-08 16:35:27.386 12951-20592/? I/PPSSPP: [G3D] !!! 0b000000: RET
2022-10-08 16:35:27.386 12951-20592/? I/PPSSPP: [G3D] !!! cb000000: TexFlush
2022-10-08 16:35:27.386 12951-20592/? I/PPSSPP: [G3D] !!! a8040080: Texture stride 0: 0x0080, address high=04
2022-10-08 16:35:27.386 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! a0154a70: Texture address 0: low=154a70
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! b1040000: CLUT addr: high=04
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! ================ FLUSH ================
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! b0158a80: CLUT addr: low=158a80
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! c4000020: Clut load: 04158a80, 1024 bytes
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 0a2d66a4: CALL: 092d95b4 to 092d66a4 (2d66a4), ret=092d95b8
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 00000004: NOP: data= 000004
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 00000000: NOP
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 18000000: Light 0 enable: 0
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 19000000: Light 1 enable: 0
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 1a000000: Light 2 enable: 0
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 12000312: SetVertexType: u16 texcoords, BGR 565 colors, s16 positions, u8 weights (1)
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 14000000: ORIGIN offset=092d66c0
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 0100004c: VADDR: 00004c => 092d670c
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 0404000e: DRAW PRIM TRIANGLE_STRIP: count= 14 vaddr= 092d670c
2022-10-08 16:35:27.387 12951-20592/? I/PPSSPP: [G3D] !!! 0b000000: RET
2022-10-08 16:35:27.390 12951-20592/? I/PPSSPP: [G3D] !!! 01456350: VADDR: 456350 => 09456350
2022-10-08 16:35:27.391 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.391 12951-20592/? I/PPSSPP: [G3D] !!! 14000000: ORIGIN offset=09457bc8
2022-10-08 16:35:27.391 12951-20592/? I/PPSSPP: [G3D] !!! 080000b8: JUMP: 09457bcc to 09457c80 (0000b8)
2022-10-08 16:35:27.391 12951-20592/? I/PPSSPP: [G3D] !!! 13000000: OffsetAddr: 000000 (offset=00000000)
2022-10-08 16:35:27.393 12951-20592/? I/PPSSPP: [G3D] !!! c4000020: Clut load: 04167130, 1024 bytes
2022-10-08 16:35:27.393 12951-20592/? I/PPSSPP: [G3D] !!! a8040020: Texture stride 0: 0x0020, address high=04
2022-10-08 16:35:27.394 12951-20592/? I/PPSSPP: [G3D] !!! 0b000000: RET
2022-10-08 16:35:27.394 12951-20592/? I/PPSSPP: [G3D] !!! a8040040: Texture stride 0: 0x0040, address high=04
2022-10-08 16:35:27.394 12951-20592/? I/PPSSPP: [G3D] !!! a0165120: Texture address 0: low=165120
2022-10-08 16:35:27.394 12951-20592/? I/PPSSPP: [G3D] !!! b0167130: CLUT addr: low=167130
2022-10-08 16:35:27.394 12951-20592/? I/PPSSPP: [G3D] !!! 0a451ce0: CALL: 09458150 to 09451ce0 (451ce0), ret=09458154
2022-10-08 16:35:27.394 12951-20592/? I/PPSSPP: [G3D] !!! 19000000: Light 1 enable: 0
2022-10-08 16:35:27.404 12951-20592/? I/PPSSPP: [G3D] !!! 04040003: DRAW PRIM TRIANGLE_STRIP: count= 3 vaddr= 095d28b4
2022-10-08 16:35:27.410 12951-20592/? I/PPSSPP: [G3D] !!! 12000312: SetVertexType: u16 texcoords, BGR 565 colors, s16 positions, u8 weights (1)
2022-10-08 16:35:27.411 12951-20592/? I/PPSSPP: [G3D] !!! a017b1b0: Texture address 0: low=17b1b0
2022-10-08 16:35:27.418 12951-20592/? I/PPSSPP: [G3D] !!! 13000000: OffsetAddr: 000000 (offset=00000000)
2022-10-08 16:35:27.418 12951-20592/? I/PPSSPP: [G3D] !!! 0101bee0: VADDR: 01bee0 => 0901bee0
2022-10-08 16:35:27.418 12951-20592/? I/PPSSPP: [G3D] !!! 0a4a1834: CALL: 0901bf24 to 094a1834 (4a1834), ret=0901bf28
2022-10-08 16:35:27.422 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.422 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.422 12951-20592/? I/PPSSPP: [G3D] !!! 13000000: OffsetAddr: 000000 (offset=00000000)
2022-10-08 16:35:27.427 12951-20592/? I/PPSSPP: [G3D] !!! 0a5d5a90: CALL: 095dd728 to 095d5a90 (5d5a90), ret=095dd72c
2022-10-08 16:35:27.429 12951-20592/? I/PPSSPP: [G3D] !!! 2a000000: BONE #0
2022-10-08 16:35:27.429 12951-20592/? I/PPSSPP: [G3D] !!! 10090000: BASE: high=09
2022-10-08 16:35:27.429 12951-20592/? I/PPSSPP: [G3D] !!! 015d9a60: VADDR: 5d9a60 => 095d9a60
2022-10-08 16:35:27.429 12951-20592/? I/PPSSPP: [G3D] !!! 07000008: BBOX_TEST: 000008
2022-10-08 16:35:27.429 12951-20592/? I/PPSSPP: [G3D] !!! 10000000: BASE: high=00
2022-10-08 16:35:27.438 12951-20592/? I/PPSSPP: [G3D] !!! 13000000: OffsetAddr: 000000 (offset=00000000)
2022-10-08 16:35:27.444 12951-20592/? I/PPSSPP: [G3D] !!! c500ff02: Clut format: 00ff02 (ABGR 4444)
2022-10-08 16:35:27.447 12951-20592/? I/PPSSPP: [G3D] !!! c3000004: TexFormat CLUT4
2022-10-08 16:35:27.452 12951-20592/? I/PPSSPP: [G3D] !!! 10040000: BASE: high=04
2022-10-08 16:35:27.465 12951-20592/? I/PPSSPP: [G3D] !!! b8000707: Texture size 0: 128x128
2022-10-08 16:35:27.466 12951-20592/? I/PPSSPP: [G3D] !!! 12000142: SetVertexType: u16 texcoords, s16 normals, s16 positions
2022-10-08 16:35:27.468 12951-20592/? I/PPSSPP: [G3D] !!! 483f8000: Texture U scale: 1.000000
2022-10-08 16:35:27.469 12951-20592/? I/PPSSPP: [G3D] !!! 17000001: Lighting enable: 1
2022-10-08 16:35:27.483 12951-20592/? I/PPSSPP: [G3D] !!! dbff8006: Alpha test: (src.a & ff) > 80
2022-10-08 16:35:27.490 12951-20592/? I/PPSSPP: [G3D] !!! 12000142: SetVertexType: u16 texcoords, s16 normals, s16 positions
2022-10-08 16:35:27.490 12951-20592/? I/PPSSPP: [G3D] !!! 14000000: ORIGIN offset=093ab1dc
2022-10-08 16:35:27.502 12951-20592/? I/PPSSPP: [G3D] !!! c7000000: TexWrap wrap s, wrap t
2022-10-08 16:35:27.502 12951-20592/? I/PPSSPP: [G3D] !!! c6000105: TexFilter min: linear, mipmap nearest, mag: linear
2022-10-08 16:35:27.519 12951-20592/? I/PPSSPP: [G3D] !!! c4000020: Clut load: 040f3120, 1024 bytes
2022-10-08 16:35:27.522 12951-20592/? I/PPSSPP: [G3D] !!! d03f8000: TexLodSlope 1.000000
2022-10-08 16:35:27.524 12951-20592/? I/PPSSPP: [G3D] !!! e1000000: Blend fix B: 000000
2022-10-08 16:35:27.529 12951-20592/? I/PPSSPP: [G3D] !!! 51000000: Reverse normal: standard
2022-10-08 16:35:27.534 12951-20592/? I/PPSSPP: [G3D] !!! 0f000000: FINISH 000000
2022-10-08 16:35:27.534 12951-20592/? I/PPSSPP: [G3D] !!! 0c000000: END

Note that it was Huawei P30 Pro, not Huawei P20

lvonasek avatar Oct 08 '22 14:10 lvonasek

Ideally this kind (which can be played back afterward on various difference devices): https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump

It sounds like the Vulkan issue is Mali only with geometry shaders, but I'd like to try it on NVIDIA PC with geometry.

-[Unknown]

unknownbrackets avatar Oct 08 '22 14:10 unknownbrackets

Doesn't look too bad on PC for the little I tested, there are just some weird shadows sometimes:

image

ULUS10331.zip

bslenul avatar Oct 08 '22 15:10 bslenul

I tried to use remote debugger but I didn't manage to connect the device remotely. Connect automatically doesn't find the device and for manual connect I do not know the port.

lvonasek avatar Oct 08 '22 15:10 lvonasek

Bisected to 362391b9d88ad819fc862f96ff6640087acf7765, removing that | 0x04000000 part fixes it:

image

Only tested on PC tho, idk how to compile PPSSPP for Android.

bslenul avatar Oct 08 '22 16:10 bslenul

Bisected to 362391b, removing that | 0x04000000 part fixes it:

Only tested on PC tho, idk how to compile PPSSPP for Android.

Confiriming this fixes the colors also on Android. To compile the project on Android:

  1. Open the repository in Android Studio
  2. Connect Android phone with USB debugging enabled
  3. Hit run button (play icon)

lvonasek avatar Oct 08 '22 16:10 lvonasek

Well, that probably means some depth buffer is being matched when it shouldn't, but it's not really a fix exactly. It's just making it ignore ALL depth buffers in that part of the code.

-[Unknown]

unknownbrackets avatar Oct 08 '22 18:10 unknownbrackets

Yeah, what Unknown says. I'll investigate this soon-ish.

hrydgard avatar Oct 08 '22 18:10 hrydgard

#16183 fixes the depth usage and probably any other bugs that would also be fixed by reverting 362391b. The color issues don't reproduce here.

-[Unknown]

unknownbrackets avatar Oct 09 '22 00:10 unknownbrackets

#16183 fixes the depth usage and probably any other bugs that would also be fixed by reverting 362391b. The color issues don't reproduce here.

-[Unknown]

I confirm that your PR fixes colors on NFS Pro Street on Huawei P30 Pro on both GLES and Vulkan. Great job. As expected geometry issues on Vulkan stays.

lvonasek avatar Oct 09 '22 07:10 lvonasek

Okay, I guess I'll disable the geometry too, I was hoping maybe it was actually a shared cause.

-[Unknown]

unknownbrackets avatar Oct 09 '22 07:10 unknownbrackets

On the phone NFS works perfectly now. In VR on Oculus Quest 2 there is following issue: https://user-images.githubusercontent.com/6472545/195156494-1294c68d-38f4-4a0c-a10e-34327bee8c2c.mp4

On another VR headset (Pico Neo 3 Link) it works great.

What can I provide to you to help resolving this issue?

lvonasek avatar Oct 11 '22 17:10 lvonasek

The geometry shader was disabled in #16183 for older Mali. What GPU is this with?

I suppose the flickering could be geometry in front of the camera (incorrectly) not being culled since vertex range culling is disabled on VR. Not sure what else would be causing flickering like that only in VR. Even the red looks different.

-[Unknown]

unknownbrackets avatar Oct 12 '22 00:10 unknownbrackets

The geometry shader was disabled in #16183 for older Mali. What GPU is this with?

I suppose the flickering could be geometry in front of the camera (incorrectly) not being culled since vertex range culling is disabled on VR. Not sure what else would be causing flickering like that only in VR. Even the red looks different.

-[Unknown]

I tested with vertex range culling enabled and it made no difference. Here are the device details: photo_2022-10-12_12-21-50

lvonasek avatar Oct 12 '22 10:10 lvonasek

@unknownbrackets blinking started with this PR: https://github.com/hrydgard/ppsspp/pull/16150

I tested all commits of the PR on Oculus Quest 2: 0be891c7ff830f1bdc68af5b99e9baa916f27c5a - blinking 58a43769988b8b02fee49716a8584039be708176 - blinking 73040ebb8fb97f441a8a81f70e4c318071716ba5 - bad colors 4a17ab8070d948b5639a55dfcf0f2321d68d0027 - bad colors b9b59f7806d1b90b19f3d2b8192077ea97808cb2 - bad colors

I found out that this fixes the blinking and keep correct colors:

GPU/Common/FramebufferManagerCommon.h
@@ -355,9 +355,7 @@ class FramebufferManagerCommon {
 
        bool MayIntersectFramebuffer(u32 start) const {
                // Clear the cache/kernel bits.
                start &= 0x3FFFFFFF;
-               if (Memory::IsVRAMAddress(start))
-                       start &= 0x041FFFFF;

Shall I create a PR for it or do you see something wrong with that?

lvonasek avatar Oct 14 '22 19:10 lvonasek

I think it's important to understand why it's only happening on this particular device, or perhaps its particular settings.

The PSP has a region of address space dedicated to video memory - 0x04000000 - 0x047FFFFF. It only has 2 MB of video memory, and the same data is simply represented 4 times over. However, two of the mirrors (starting at 0x04200000 and 0x04600000) have a swizzled representation of memory. Basically, some of the bits of the address are rotated or xored compared to the other two mirrors (0x04000000 and 0x04400000.) This siwzzling matches how depth bytes are actually written to VRAM.

Anyway, previously we were creating framebuffers with whatever VRAM address the game specified. Then we'd try to match access to these framebuffers using those original addresses. Basically, we didn't take into account mirrors.

Then we started trying to take into account mirrors to better handle things like depth texturing. However, it was inconsistent: in some places we did, and in most places we didn't. It kinda worked, but it was buggy.

After that, we found that on actual hardware, you can't even render to a particular VRAM mirror anyway (which makes sense.) It always renders directly to VRAM, so what mirror you specify when drawing doesn't matter. So we cleaned up all the mess and made it so we ignore the mirror entirely when accounting for framebuffer addresses.

This exposed a bug - a bug that already existed actually - where we were counting some memory as depth buffers when no depth was written there. Before, by luck, this game had specified a mirror so it "worked out" because of our inconsistent checks. But now that we checked properly, we tried to access that depth instead of the actual color data that should be there.

#16183 fixed that bug, making is so we aren't counting those bytes as depth data when they don't contain any depth data. Even without the VRAM mirror cleanup, this is a good fix and may have fixed other games as well.

In your video, it seems like #16183 is not applied, maybe. Except, it does look a bit different. And if changing those lines helps, again it seems like it must be matching the depth buffer data incorrectly.

If that fix even were correct, why doesn't it help on other devices? It doesn't make sense. This isn't a device-specific operation.

So the question should be: what's happening differently on this device? Unfortunately it's hard for me to tell just from a video.

-[Unknown]

unknownbrackets avatar Oct 15 '22 19:10 unknownbrackets

Thank you for very detailed answer @unknownbrackets. I fully understand that it is impossible to fix the issue without exactly knowing what's happening there.

I will check if there are any OpenGL errors and write it here if I find any.

lvonasek avatar Oct 15 '22 20:10 lvonasek

Just to update you, there are no GL errors when the screen blinks.

lvonasek avatar Oct 18 '22 15:10 lvonasek