Pcsx2: Metal Gear Solid 3 GPU glitches

Created on 8 Jun 2015  路  40Comments  路  Source: PCSX2/pcsx2

These are already known, but it's worth posting anyway IMO as I didn't find any other issue posted here.
D3D9/11 suffers the most. OGL is partially fixed. See below.

Missing effects in regular gameplay
Hardware
mgs3hw
Software
mgs3sw

Missing overlay effect in codec conversations.
Hardware
mgs3hw_codec
Software
mgs3sw_codec

Fixed in OpenGL Hardware Texture Cache GS

Most helpful comment

Codec still looks wrong.

It also explains the huge memory requirement. I think it is the same effect but my first implementation don't detect it properly. I have some on-going/pending code that could improve the situation.

All 40 comments

try checking the accurate blend option in GSdx plugin settings at the latest development build and check the status of the first issue. remember, the option could only be used on Opengl renderer.

Oh right I forgot about it. I already compiled it myself just didn't try it yet with MGS3 :)

The first issue is partly fixed. It's still missing something. Can't put my finger on it. The sun effects maybe?
OpenGL Hardware with the Accuracy tweaks
mgs3ogl

Codec overlay is still borked,

the sun effect might comeback by disabling autodepth skip hack but, that might cause more problems.

try setting accurate_blend to 2 in the gsdx.ini. The sun is stronger in software mode. Although tbh i prefer the opengl mode :P

But as ssakash says, the game uses depth which is disabled by default (or using the auto depth skip hw hack), this is something gregory is working on currently, but it may make things look different.

Will give it a try. I'm honestly excited about the OGL's acurracy fixes. It's what PCSX2 was missing for so long. Updates to Gsdx-HW :)

EDIT:
accurate_blend set to 2 behaves same.

Likewise :) I'm quite looking forward to the idea of making OpenGL mode the default, which is slightly ironic in a plugin named gs"DX"

(or) change the plugin name to GSOGL

Or some generic name like SPU2ghz was changed to SPU2-X.
_derailed_ :D

by the way, does disabling autodepth skip hack bring back the sun effect ? GTA:SA also needed that to be disabled for a specific sun effect.

any game that uses any sort of depth for any post processing will have their effects returned by turning that off, however GSDX doesn't properly support depth yet, which is what gregory is trying to achieve :P

I am actually going to try that now. It takes some time since I avoid using savestates to be 100% sure.

Savestates will have no effect on skipping depth, you can also use GSDump's to check it as well.

I enabled that hack in Gsdx Hacks section and it still looks same sadly.

Nothing fixes the codec overlay yet so that might be separate issue.

try checking whether ZeroGS has the codec overlay effect. actually, I meant to disable the Auto depth skip hack. if it still caused the lack of sun effect even while disabled then, the source of problem might be elsewhere.

Yeah I never had it enabled in the first place unless some CRC hack is overriding it.
Will check ZeroGS.
EDIT: Haha it crashes on FMVs

generally games uses tons of not emulated correctly effects. I suggest to wait my implementation of depth + the correction framebuffer mask.

Literally can't wait! Thank you for those fixes.
I'm playing MGS3:HD on PS3 and it's great I'll be able to mess with it on PC too without any of the old glitches :)

Likewise :) I'm quite looking forward to the idea of making OpenGL mode the default, which is slightly ironic in a plugin named gs"DX"

(or) change the plugin name to GSOGL

Or some generic name like SPU2ghz was changed to SPU2-X.
derailed :D

I don't think GSOGL is a good name, specially since the plugin is still using both D3D and OGL, not OGL exclusively. I do think changing the name might be a good idea though, specially if the idea of splitting it into two plugins (one for PS1 and one for PS2) comes into play.

Maybe GS-X? I don't think that's a bad name. Looks close enough to GSdx and looks also like SPU2-X. The 'X' could be looked at as a variable: It could mean D3D or it could mean OGL. :D

Stop polluting the issue with chatter, kthx.

It's not even a 'sun effect' really on the codec. It's basically an entire missing layer in the graphics.

If you look closely you're supposed to have the Foxhound logo as well in there, but even that is missing.

I didn't call it sun effect. I mean the sun effect on gameplay. It looks weaker. Codec is some overlay missing yeah.

The game has CRC hacks that disable some rendering effects. I give a quick look and it is outside of my current scope.
On the color level, I saw also a small differences on God of War. Either a blending equation is bad or all of them have a small accuracy issue. Anyway I need to debug it but it is a lower priority.

Latest dev branch improve the rendering (support of 8 bits textures) but due to texture cache issue only the top-left corner is correct.

I've been following the Gsdx 2.0 thread and you're doing some amazing work! Hopefully MGS3 will be fully fixed one day :)

Sub RT support is possible?

MGS3 gameplay seems fixed to me. Only Native is perfect for obvious reasons. Looks same as SW screenshot I posted in OP.
Native
image
3x Native
image

Codec still looks wrong.

Codec still looks wrong.

It also explains the huge memory requirement. I think it is the same effect but my first implementation don't detect it properly. I have some on-going/pending code that could improve the situation.

I assume you read my comments on @cb19451 right? It seems to have happened earlier.

@Blackbird88 could you try the new PR #1322 . It must be good now.

Here's my results with the new PR

Native
mgs3native

3x Native
mgs33xnative

I already reported that. It's fixed in the PR above.

Actually those screenshots are from the new PR. No worries

Gameplay effects fixed in cb19451
Codec fixed in 9cacfee
Both in OpenGL backend.

Codec is fixed for me only with CRC Hack Level set to partial and use of OpenGL. There would be nothing wrong with that, but when I do so, the game looks like this:

OpenGL (hardware) with CRC HL on partial
OpenGL (hardware) with CRC HL on partial

OpenGL (software)
OpenGL (software)

OpenGL and Direct3d11 (hardware) with CRC HL on Full (the default one)
20160523175236_1

AMD GPU?
Also are you upscaling? If so use the line hack in HW hacks.

@Blackbird88
1) No. GTX 660 TI with i7 3770
2) I'll try that.
3) I made a mistake. The third screenhot should be a different one. [FIXED]

It's called Half-Pixel Offset
I forgot.

Oh, thank you very much! Now, the emulation is nearly perfect. But there's a new glitch now :smiley:

Look at the borders of the screen. There are small dots all around
20160523182455_1

Are you using some AA? IDK otherwise.

Unfortunately I don't :-/ but this state is still better than the previous ones -> thank you very much :)

Was this page helpful?
0 / 5 - 0 ratings