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: Compute bringup and other improvements #6744

Merged
merged 7 commits into from
Oct 13, 2019
Merged

gl: Compute bringup and other improvements #6744

merged 7 commits into from
Oct 13, 2019

Conversation

kd-11
Copy link
Contributor

@kd-11 kd-11 commented Oct 11, 2019

  • Adds optional compute shaders to openGL for hardware that supports it.
  • Reimplements imaging operations to make use of the compute framework. It may not seem obvious, but most drivers lack basic functionality when performing pack/unpack operations, making it so that copying memory from one image to another with a different pixel layout causes a flush-to-cpu to occur, where the driver does the transform using the cpu and then does another reupload. This destroys performance.

Makes OpenGL usable again on more mainstream hardware whereas before single digit framerates were the norm. See #6341

@RainbowCookie32
Copy link
Contributor

RainbowCookie32 commented Oct 11, 2019

GTA V's performance in OpenGL is now basically the same as Vulkan for me. The image seems to have noise with this PR though, but lighting seems to be better-ish

Comparison

-OpenGL Master
gtav_opengl_master

-OpenGL PR
gtav_opengl_pr

-Vulkan Master
gta_vulkan_master

RPCS3.log.gz

@MarioSonic2987
Copy link
Contributor

I can confirm the noise glitch, but it allows shadows to render correctly (no more dark shadows):

Saints Row: The Third is also affected by this PR. Now, lighting is now "correct":

Saints Row IV is also affected:
image

@jjsat
Copy link
Contributor

jjsat commented Oct 12, 2019

With this PR the graphical isse from #5569 is fixed for me. It is still much slower on OpenGL (drops to 10s in busy scenes) than on Vulkan (usually solid 30).

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

Successfully merging this pull request may close these issues.

None yet

4 participants