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

GL/Vulkan: The Walking Dead: Michonne #2190

Closed
SakataGintokiYT opened this issue Oct 8, 2016 · 39 comments
Closed

GL/Vulkan: The Walking Dead: Michonne #2190

SakataGintokiYT opened this issue Oct 8, 2016 · 39 comments

Comments

@SakataGintokiYT
Copy link
Contributor

SakataGintokiYT commented Oct 8, 2016

@kd-11
@raven02

Fotoszok.pl

RenderDoc [OGL]

Title screen
Menu
In Game
Shaderlog-OGL
Shaderlog-VK

LLE:
Fotoszok.pl

DX12 / crash at the title screen

[video]: https://www.youtube.com/watch?v=P2njcB_L92k

@raven02 raven02 changed the title VK / GL : The Walking Dead: Michonne GL/Vulkan: The Walking Dead: Michonne Oct 8, 2016
@kd-11
Copy link
Contributor

kd-11 commented Oct 8, 2016

Texture swizzle problem with DXT5

@kd-11
Copy link
Contributor

kd-11 commented Oct 8, 2016

Or poorly supported vertex attribute format. The problem seems to be the passed texture coordinates to me. They're too closely clustered to make any sense. Even from the texture viewer its obvious something is very wrong: The texture coordinates for all vertices is the same. (Title screen)

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Oct 8, 2016

DX12
Fotoszok.pl

shaderlog-DX12

@kd-11
Copy link
Contributor

kd-11 commented Oct 8, 2016

another title that differs. Can you check if builds from say, 3 weeks ago worked? Before I touched the texture settings on vulkan. Might be a regression (on vulkan)

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Oct 8, 2016

@kd-11
I tested build before gl/vk: Vertex attribute uploading and texture swizzle fixes (#2174) and looks like the same.

Before gl/vk: Enable vertex texture fetch (#2127) the same.

@SakataGintokiYT
Copy link
Contributor Author

TTY: OpenGL/ Vulkan/DX12

PSGL console initialized

OpenGL_ES-CM_1.0-optrsx_SCE_DDD_MMM_dd_hh:mm:ss_TMZ_yyyy
Filtering mode GL_LINEAR not supported for FP32 textures, using GL_NEAREST instead
Filtering mode GL_LINEAR not supported for FP32 textures, using GL_NEAREST instead
Filtering mode GL_LINEAR not supported for FP32 textures, using GL_NEAREST instead
Filtering mode GL_LINEAR not supported for FP32 textures, using GL_NEAREST instead

@kd-11
Copy link
Contributor

kd-11 commented Oct 10, 2016

Thats not the problem with this one. Filtering FP32 textures was not supported back in the SM 3 days.

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

https://ci.appveyor.com/project/kd-11/rpcs3/build/1.0.340 Should fix most of these problems. From youtube videos however, it seems we still have a transform issue with this title, but atleast graphics should work now.

P.S Dont try to attach renderdoc to that build. It uses persistent mapped buffers which are very unfrendly to tracing. You'll get something like 1 frame every 10 seconds with it which is why I'm working on a debug option to disable buffer optimization.

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

Try https://ci.appveyor.com/project/kd-11/rpcs3/build/1.0.341 since the previous build has crashed appveyor

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Oct 15, 2016

@kd-11

E {rsx::thread} RSX: Unknown/illegal instruction: 0x3d (forced unit 2)
E {rsx::thread} RSX: Unknown/illegal instruction: 0x2f (forced unit 2)

[Vulkan] :O
Fotoszok.pl
[OpenGL] ;(
Fotoszok.pl

shaderlog-vulkan
shaderlog-OGL

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

My opengl actually resembles your vulkan, so I'm unsure if this is an nvidia driver bug.
Vertex format RG16_SNORM is part of GL 3.1 so why nvidia is buggy with it I have no Idea.

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

Enable debug output with opengl and check to see if we are violating an alignment check.

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

image
AMD

Did you build yourself or download the compiled binaries?

@SakataGintokiYT
Copy link
Contributor Author

OpenGL with enable debug output not show anything

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

Send me a trace of your opengl. If it looks fine on my system, the NV driver is doing something wrong.

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

Use this build: https://ci.appveyor.com/project/kd-11/rpcs3/build/1.0.343 It removes the persistent buffers for testing.

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Oct 15, 2016

@kd-11
[master with your fix]
OGL-RenderDoc

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

image

The trace plays back fine on my graphics card which means NV driver is broken. Will need confirmation from other Nvidia and AMD users. Working around lack of EXT_texture_snorm support would be a nightmare. Its possible Nvidia does not support access of type RG16_SNORM with texelFetch or it may just be a bug worth reporting.

@kd-11
Copy link
Contributor

kd-11 commented Oct 15, 2016

Looking at the 4.3 spec https://www.opengl.org/registry/doc/glspec43.core.20120806.pdf page 206, Nvidia does not have to implement signed normalized textures in order to claim compatibility. I guess they didnt (and likely wont) add this in. I could emulate signed normalized access however either in the shader or software side using float arrays.

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Oct 16, 2016

[Driver 372.90]
I have the same issue on GTX 960M / GTX 660 / GTX 650 Ti

@kd-11
Copy link
Contributor

kd-11 commented Oct 16, 2016

Nvidia does not support signed normalized textures in their buffers. It might be a hardware limitation. I've been working on a solution to emulate this in the vertex shader.

@kd-11
Copy link
Contributor

kd-11 commented Oct 16, 2016

https://ci.appveyor.com/project/kd-11/rpcs3/build/1.0.345 Adds support for vertex attribute emulation and enables any backend to do this without much hassle. Also adds an option in the graphics tab to disable persistent mapped buffers and use slower legacy buffers which allow debugging using tracing tools such as renderdoc

@kd-11
Copy link
Contributor

kd-11 commented Oct 16, 2016

That build has reduced buffer size to help with debug. Let me upload one with a larger heap size. That one is using a 10MB buffer which is way too small as I needed to test collision behaviour.

@SakataGintokiYT
Copy link
Contributor Author

[OpenGL]
Fotoszok.pl

@kd-11
Copy link
Contributor

kd-11 commented Oct 16, 2016

https://ci.appveyor.com/project/kd-11/rpcs3/build/1.0.346 has much better buffer sizes improving performance and eliminating flicker. There's a bug with the legacy buffers implementation that can cause crashing that I need to work out before I can submit that work.

@kd-11
Copy link
Contributor

kd-11 commented Oct 16, 2016

#2206 fixes this issue

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Oct 18, 2016

@kd-11
[Vulkan]
Fotoszok.pl

@kd-11
Copy link
Contributor

kd-11 commented Oct 18, 2016

could you add opengl images as well? It should be better and the differences with vulkan will give clues.

@SakataGintokiYT
Copy link
Contributor Author

[In game Vulkan / OpenGL looks like the same in this scene]
Fotoszok.pl

[OpenGL]
Fotoszok.pl
Fotoszok.pl

@SakataGintokiYT
Copy link
Contributor Author

@kd-11

OpenGL RenderDoc:
Menu
In game

@MarioSonic2987
Copy link
Contributor

Can you test with latest build?

@MarioSonic2987
Copy link
Contributor

With #2482, some glitches are "fixed". @SakataGintokiYT, reopen this issue, please.


@kd-11
Copy link
Contributor

kd-11 commented Mar 8, 2017

If this is a regression, please do some regression testing

@SakataGintokiYT
Copy link
Contributor Author

@kd-11
[dbb67659]
Fotoszok.pl

@kd-11
Copy link
Contributor

kd-11 commented Mar 8, 2017

I mean which commit introduces that bug? Is it with all backends?
I cannot get the game to boot with and without auto LLE.

@SakataGintokiYT
Copy link
Contributor Author

SakataGintokiYT commented Mar 8, 2017

@kd-11
With-Legacy OpenGL Buffers
Fotoszok.pl


*required modules:

    - libaudio.sprx
    - libfiber.sprx
    - libl10n.sprx
    - libresc.sprx
    - librtc.sprx
    - libspurs_jq.sprx
    - libsre.sprx

@kd-11
Copy link
Contributor

kd-11 commented Mar 8, 2017

ok. so its a sync bug
I keep getting the stop mbox is empty bug endlessly. I'll try again tomorrow

@kd-11
Copy link
Contributor

kd-11 commented Mar 13, 2017

I tried with the build from this PR #2482 and was unable to reproduce. Confirm it works for your driver setup as well.

@MarioSonic2987
Copy link
Contributor

@kd-11 Some glitches are fixed.

Tested in 73893b5.
image
image
image

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

4 participants