Rpcs3: Activision games have serious flickering problems

Created on 5 Jun 2020  路  11Comments  路  Source: RPCS3/rpcs3

Activision games show many similar vertex problems:
Goldeneye 007 reloaded:

Goldeneye 007

Log:

RPCS3.log.gz

RSX Capture:

https://drive.google.com/file/d/1WbJJ5Aq5gk-O7xaJxgBEGUF8QSLOedsx/view?usp=sharing

007 Legends
007 Legends

log:
RPCS3.log.gz

RSX Capture:
https://drive.google.com/file/d/1pn5DrJtJJ82F11RewPDb8yK25SMAW_e4/view?usp=sharing

Call of duty Black ops 3

BO 3

Log:
RPCS3.log.gz

RSX Capture:
https://drive.google.com/file/d/1F2nPE3tGTDh0RP24ytWjX90Wz3-IQv_7/view?usp=sharing

It seems to be something more prominent in weapons. This problem is old and came for years with these games

PC specs:
i7 9700K
32Gb of DDR4 memory
1070 GTX

Any other info required I am here to help.

Bug RSX

Most helpful comment

At least its doable. Running on AMD GPU in this screen:
image

Unfortunately there are multiple driver/hw requirements to get this working means multiple code paths must be implemented for this to work. Requires more effort than I anticipated, but should be ready in a few more days.

All 11 comments

the problem still exists on 0.0.11-10661

Known issue with Z values outside 0-1 range rendered with a clip volume that holds values outside the 0-1 range. Seen in games using a floating type Z buffer, I'll run some hardware tests to figure out the correct solution. Currently rpcs3 is still using a hack I added many years ago, but the Z data compression introduced forces the excess data to be crammed inside something less than 10 bits of Z precision which is not enough when used by an engine to render everything.

I forgot I had already researched this at depth a few years back. On PS3 depth buffer can store values outside the 0-1 range without issue if the format is floating point. This is an nvidia-specific extension to OpenGL so I chose to use the range compression to try and mitigate the problem in a universal manner. I'll just add support for extended range wherever possible in hardware, not much I can do about hardware that does not support this.
EDIT: After looking into it a bit more, looks like NV_depth_buffer_float was incorporated by ARB and we actually use the extension for it so most of the groundwork seems to have already been done. I was right the first time. It is indeed NVIDIA-only on OpenGL. The good news is that AMD supports the correct extension to allow this to work in Vulkan.

At least its doable. Running on AMD GPU in this screen:
image

Unfortunately there are multiple driver/hw requirements to get this working means multiple code paths must be implemented for this to work. Requires more effort than I anticipated, but should be ready in a few more days.

Is highly probable that Goldeneye 007 reloaded and 007 Legends will become fully playable with this fix

Is highly probable that Goldeneye 007 reloaded and 007 Legends will become fully playable with this fix

Yes, at least graphics-wise there doesn't seem to be much that is broken.

Implemented support for required features partially in https://github.com/RPCS3/rpcs3/pull/8741. Its a very large job, but its my fault for ignoring this rare set of features for so long as they were not used in many games.

just tried to play Golden eye 007 reloaded and was getting graphical glitches, glad to see people are working on a fix!

Sorry for my mistake on the last post about COD BO3 in the last PR @kd-11
007 Legends have the flickering solved but screens become black or gray depending on the situation (it may or may not be related)
007 legends
Log:
RPCS3.log.gz
RSX Capture:
BLUS30983_20200827162325_capture.zip

Goldeneye 007 reloaded seems to be pretty good and just waiting for ##8766 to be fully playable!
007 reloaded

Call of duty black ops 3 is good too:
COD BO3

Call of duty black ops is near to perfect graphically now:
The weapon is not semi-transparent anymore
While targeting weapon is not excessively blurred anymore
Seems a little more stable now
COD BO

@Josivan88 how do you fix it, is it just a patch

@X4CD this is not the right place to ask for help, please contact me on RPCS3 discord server, moderator, please, clear these comments

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AniLeo picture AniLeo  路  3Comments

Birch-san picture Birch-san  路  3Comments

xddxd picture xddxd  路  3Comments

LokiGrants picture LokiGrants  路  3Comments

elad335 picture elad335  路  3Comments