rpcs3 icon indicating copy to clipboard operation
rpcs3 copied to clipboard

Gran Turismo 6 Graphical Bugs.

Open Satan86 opened this issue 2 years ago • 8 comments

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.

Satan86 avatar Aug 27 '22 23:08 Satan86

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.

kd-11 avatar Aug 28 '22 11:08 kd-11

imageimageimageimage

Try this setting with game version 1.05 Work very great crash one time at first startup but never happen again Play like 36 hours

Kwangnofx avatar Apr 11 '23 20:04 Kwangnofx

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

coffeecodeconverter avatar Jan 16 '24 00:01 coffeecodeconverter

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 ?

casioforever avatar Jan 17 '24 03:01 casioforever

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

kryst4line avatar Feb 12 '24 16:02 kryst4line

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

Hello, fellow person here that has been following GT6 development on & off here for half a decade at this point for it to reach a state where it's readily usable & available on my hardware. Can confirm that these settings work better than the current settings listed on the Wiki.

Specs: Windows 10 Pro 64-bit on Desktop Computer Intel Core i7-7700 @ 3.60GHz, 4 core, 8 logical processors 16gb RAM DDR4 Nvidia GeForce GTX 1070 Both GT6 Data & Emulator on HDD hardware (Seagate 2tb)

Tested on BCUS98296 (NA Physical Release) manually patched to 1.05.

Current settings on wiki will see an average of 15-20fps, constant flickering in specific tracks or certain sections of track (London City is a big offender, nearly unplayable, same with Trial Mountain), and frame dips below 10fps during some car reward screens. As well as a slew of incorrect car model mappings and shading.

Tested these settings provided here, and saw an average of 30-35fps, no more screen flickering, and car model mappings and shading fixed. Very refreshing to see this game above 30fps on older hardware. If you have the above stated issues with reaching the intro screen, run the game using the settings stated in the wiki first and create a game save, and then run using the settings here after the save is made.

Now, these settings does corrupt/break some of the images in the game for the car icons, portraits for races, and icons for track brandings, stuff like that comparative to the Wiki-suggested settings, but does not have a negative impact on the performance and is well worth the trade-off.

goldstinger avatar May 19 '24 22:05 goldstinger