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

PSX HW: Severe pixelation across rendered graphics #900

Open
davidhedlund opened this issue Jun 12, 2024 · 9 comments
Open

PSX HW: Severe pixelation across rendered graphics #900

davidhedlund opened this issue Jun 12, 2024 · 9 comments

Comments

@davidhedlund
Copy link

davidhedlund commented Jun 12, 2024

I did a quick search but couldn't locate an existing report using specific graphics terminology. If a similar report exists, please feel free to link it here and close this issue.

  • My GNU/Linux distro is using OpenGL 4.6. "Requirements: OpenGL 3.3 for the opengl renderer" - https://docs.libretro.com/library/beetle_psx_hw/
  • In RetroArch both cores are set to "Internal GPU Resolution: 1x (Native)".
  • This issue occurs in all games, I'm using the first stage in Wipeout, and Final Fantasy IX, for demonstration.

Beetle PSX HW

Core Version: r24l 9aefd42

I'm experiencing visual artifacts across the entire display. The sky, in particular, exhibits a noticeable pixelation effect in Wipeout, and Final Fantasy IX (just more difficult to observe the pixels). See my screenshot below:

Screenshot at 2024-06-12 23-41-53

Screenshot at 2024-06-12 23-29-31

Beetle PSX

No pixelation issues like with Beetle PSX HW. See my screenshot below:

Screenshot at 2024-06-12 23-44-59

Screenshot at 2024-06-12 23-28-09

@hizzlekizzle
Copy link
Contributor

Yeah, the OpenGL renderer has a lot of bugs, unfortunately. The Vulkan renderer is much closer to software rendering in reliability.

@davidhedlund
Copy link
Author

"Beetle PSX is built without hardware rendering support and lacks enhancements such as texture filtering, PGXP perspective correct texturing, and more. To take advantage of hardware rendering and the various enhancements that come with it, use Beetle PSX HW instead." - https://docs.libretro.com/library/beetle_psx/

Yeah, the OpenGL renderer has a lot of bugs, unfortunately. The Vulkan renderer is much closer to software rendering in reliability.

Thank you! I think that should be added to https://github.com/libretro/docs/blob/master/docs/library/beetle_psx.md -- What do you think about it?

@hizzlekizzle
Copy link
Contributor

Sure, fine by me.

@davidhedlund
Copy link
Author

Sure, fine by me.

Thanks:

@mudl0rd
Copy link

mudl0rd commented Oct 7, 2024

Yeah, the OpenGL renderer has a lot of bugs, unfortunately. The Vulkan renderer is much closer to software rendering in reliability.

Wonder how much effort it would take to rewrite it.

@hizzlekizzle
Copy link
Contributor

@mudl0rd I would think that would depend on whether you wanted to fix the OpenGL renderer, backport the Vulkan renderer to OGL or introduce an abstraction so they share the same backend (ala Duck/Swanstation).

@mudl0rd
Copy link

mudl0rd commented Oct 9, 2024

Well I saw one major thing missing was any semblance of RTT, which is at least needed for FF battleswirl, MGS, etc.

Currently I am rewriting major config code of WTFweg to now use JSON so its at least more future-proof than INI. But it for me has made massive steps with core compatibility to the point it now runs fine on ARM Linux with GLES2/GLES3. (got it working fine now on Raspberry Pis 4/5) Even with the dear-imgui UI.

So diving back into core development is now 100% feasible for me at least, due to the drastically reduced overhead of using RetroArch for debugging them.

@mudl0rd
Copy link

mudl0rd commented Oct 13, 2024

Managed to reproduce the issue at least with one of my fave games: THPS2. Although I'll try some others where its more noticable.

I noticed a VRAM read command was missing from the GL renderer which the VK renderer has - prob related to RTT? glReadPixels with PBOs in the meantime could be used there although that can be slow as heck on older GPUs like AGP. The renderer itself would need to be completely reworked to render to framebuffers instead of the current libretro FB.

Screenshot 2024-10-14 075723

@davidhedlund
Copy link
Author

davidhedlund commented Oct 14, 2024

Managed to reproduce the issue at least with one of my fave games: THPS2. Although I'll try some others where its more noticable.

I noticed a VRAM read command was missing from the GL renderer which the VK renderer has - prob related to RTT? glReadPixels with PBOs in the meantime could be used there although that can be slow as heck on older GPUs like AGP. The renderer itself would need to be completely reworked to render to framebuffers instead of the current libretro FB.

Screenshot 2024-10-14 075723

Thank you so much for taking the time to look into this and for all your hard work! I truly appreciate your efforts. I completely understand that this might be quite a challenge for your team, but I have every confidence in your abilities to tackle it. If there's anything I can do to help along the way, like conducting some simple testing, please don't hesitate to reach out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants