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

Gran Turismo 6 Graphical Bugs. #12567

Open
Satan86 opened this issue Aug 27, 2022 · 5 comments
Open

Gran Turismo 6 Graphical Bugs. #12567

Satan86 opened this issue Aug 27, 2022 · 5 comments

Comments

@Satan86
Copy link

Satan86 commented Aug 27, 2022

Quick summary

Gran Turismo 6 has plenty of graphical inaccuracies on RPCS3. There are a lot of different ways to trigger them and many different settings affect the game.

Details

  • Screen flickering issue.

Screen flickers when Write Colour Buffers is enabled. If WCB is disabled, Force CPU Blit can be used to fix that issue. A video will show the issue below.

  • Car reflections issue.

Car reflections Work incorrectly.

Car Reflections images with different settings.

No Extra Settings. No extra settings

Read Colour Buffers enabled. Note the black stuff on the Car. Read Colour Buffers enabled.

PS3. Car Reflection PS3

  • Missing MLAA

Gran Turismo 6 uses MLAA, but it does NOT render correctly under normal circumstances. There are ways to make it render, however. This is the most complicated issue with the game.
With default settings, it will not have any anti-aliasing. With Write Colour Buffers enabled, MLAA only works if there are no 2D elements on screen. With Write Colour Buffers and Read Colour Buffers, it renders even with 2D elements on screen, at the cost of further broken reflections as show cased in the previous bug. The video below shows the behaviour with only WCB enabled, where 2D elements disable MLAA. The video also shows the flickering issue mentioned earlier. Epilepsy warning.
https://www.youtube.com/watch?v=5dnze1i_jU4

Attach a log file

RPCS3.log.gz

Attach capture files for visual issues

https://drive.google.com/file/d/1lu-o8nywQs8xJVNkYlzmx88L-tGvR22z/view?usp=sharing This RSX capture is for the Car Reflections issue. If you want any other captures, let me know and I shall provide them.

System configuration

Ryzen 5 5600x, GTX 1050 Ti driver 516.59, Windows 11.

Other details

The car reflection issue has already been mentioned in #9133, while the MLAA issue has already been reported in #11290, albeit without some information. Let me know if I should make separate issues with each bug or add information to other, already reported issues.

@kd-11
Copy link
Contributor

kd-11 commented Aug 28, 2022

1.RCB causes problems because of how it detects clobbered memory using tags. This is not good enough.
We could just be pessimistic about it and assume everything unlocked needs a reupload, but this is tricky and will eat up performance on some games. I'll have to think about it.
2. The reason force CPU blit works is because of 1. Since it never reads any input it always copies over an output of all black. No pixels are detected to change, so no reload.
3. The reason reload causes flicker is because SPU is writing stuff (postfx output)_ while RSX is reading it (RCB reload). There are no good solutions here that don't introduce slowdown.
I guess I can add the required synchronization and put it under strict mode to get rid of 1 and 3.

@Kwangnofx

This comment was marked as off-topic.

@coffeecodeconverter
Copy link

in case anyone comes across this - GT6 seems "fairly" stable so far (no crashing, no random freezes, and no flickering) with the following settings:

RPCS3 version - 0.0.30-15965-fa7ef870 Alpha

GT6 ROM version 1.0.0 (fyi, for me at least, every update from and including 1.02 to 1.22 - attempting to run the game in between each update - all prevented it from even reaching the intro screen)

RPCS3 Settings:

   CPU
      PPU Decoder: Recompiler (LLVM)
      SPU Decoder: Recompiler (LLVM)
      SPU XFloat Accuracy: Accurate XFloat
      Enable SPU Loop Detection = YES 
      SPU Block Size:  Safe
      preferred SPU Threads: Auto
   
   GPU
      Renderer: Vulkan 
      Aspect Ratio: 16:9
      Frame Limit: auto
      Anisotropic Filter: auto 
      anti-aliasing: auto 
      ZCULL Accuracy: approximate 
      shader quality: auto 
      3d: disabled 
      default resolution: 1280 x 720
      resolution scale (disable strict mode): 150% (1920 x 1080) - or whatever your monitor is / can handle. 
      resolution scale threshold: 16 x 16
      output scaling: bilinear 
      share mode: async (multi threaded) 
      additional Settings:
         Asynchronous Texture Streaming - ENABLED 
         Multi threaded RSX - DISABLED - <<< THIS IS THE SETTING THAT CAUSED MOST FLICKERING 
   
   AUDIO
      audio out: Cubeb
      buffering: enable Buffering
   
   ADVANCED
      accurate RSX reservation access - ENABLED 
      PPU non-java mode fixup - ENABLED
      PPU/SPU LLVM Pecompilation - ENABLED
      firmware libraries:
         Liblv2.sprx
      RSX FIFO Accuracy: Fast 

hardware spec:
Laptop
Ryzen 7840 Hs - with 780m iGPU
16 GB 5600 MTS DDR5 RAM
Nvidia 4060 mobile GPU 8GB GDDR6
Crucial P3 Pro M.2 SSD - 5000 read 3500 write

@casioforever
Copy link

in case anyone comes across this - GT6 seems "fairly" stable so far (no crashing, no random freezes, and no flickering) with the following settings:

RPCS3 version - 0.0.30-15965-fa7ef870 Alpha

GT6 ROM version 1.0.0 (fyi, for me at least, every update from and including 1.02 to 1.22 - attempting to run the game in between each update - all prevented it from even reaching the intro screen)

RPCS3 Settings:

   CPU
      PPU Decoder: Recompiler (LLVM)
      SPU Decoder: Recompiler (LLVM)
      SPU XFloat Accuracy: Accurate XFloat
      Enable SPU Loop Detection = YES 
      SPU Block Size:  Safe
      preferred SPU Threads: Auto
   
   GPU
      Renderer: Vulkan 
      Aspect Ratio: 16:9
      Frame Limit: auto
      Anisotropic Filter: auto 
      anti-aliasing: auto 
      ZCULL Accuracy: approximate 
      shader quality: auto 
      3d: disabled 
      default resolution: 1280 x 720
      resolution scale (disable strict mode): 150% (1920 x 1080) - or whatever your monitor is / can handle. 
      resolution scale threshold: 16 x 16
      output scaling: bilinear 
      share mode: async (multi threaded) 
      additional Settings:
         Asynchronous Texture Streaming - ENABLED 
         Multi threaded RSX - DISABLED - <<< THIS IS THE SETTING THAT CAUSED MOST FLICKERING 
   
   AUDIO
      audio out: Cubeb
      buffering: enable Buffering
   
   ADVANCED
      accurate RSX reservation access - ENABLED 
      PPU non-java mode fixup - ENABLED
      PPU/SPU LLVM Pecompilation - ENABLED
      firmware libraries:
         Liblv2.sprx
      RSX FIFO Accuracy: Fast 

hardware spec: Laptop Ryzen 7840 Hs - with 780m iGPU 16 GB 5600 MTS DDR5 RAM Nvidia 4060 mobile GPU 8GB GDDR6 Crucial P3 Pro M.2 SSD - 5000 read 3500 write

Which Version ? Physical Or Digital ? Eur Or US ?
Which Update v1.02 or v1.05 ?

@kryst4line
Copy link

@coffeecodeconverter This worked for me on 7800x3D, thank you very much!!

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

6 participants