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

gsdx ogl: bypass the texture cache when the frame buffer will be sampled #2921

Merged
merged 2 commits into from Apr 17, 2019

Conversation

Projects
None yet
4 participants
@gregory38
Copy link
Contributor

commented Apr 10, 2019

Proof of concept. It should provide a huge speedup when accurate
blending is enabled for tri-ace / Jak / R&C series (shadow rendering)

See #2894
Need PR #2892

@lightningterror

This comment has been minimized.

Copy link
Member

commented Apr 10, 2019

Master barely reaching 20 fps on native.
PR reaching 94 fps on native.
Star Ocean 3.

Well this is a drastic change xD

@gregory38

This comment has been minimized.

Copy link
Contributor Author

commented Apr 10, 2019

I did say huge speedup. Good. It is a bit hackish. I will let kojin improve it ;)

Note: maybe a dynamic cast would be better.

@lightningterror

This comment has been minimized.

Copy link
Member

commented Apr 10, 2019

We could also move the crc hacks to dx only now.

@gregory38

This comment has been minimized.

Copy link
Contributor Author

commented Apr 10, 2019

Need to test multiple shadow rendering to be sure. And others game too. And it is only a proof of concept. Not sure it is the best way to implement it.

@MrCK1

This comment has been minimized.

Copy link
Member

commented Apr 14, 2019

I got a 40FPS improvement in Hitman Contracts (3x Native w/ Basic Blending) in one section I tested

I also went from ~25FPS to a solid 60 with Full blending and 4x Native. Definitely a huge improvement in certain areas. :)

@gregory38

This comment has been minimized.

Copy link
Contributor Author

commented Apr 14, 2019

Interesting to know. I should add a comment in the code. Does the area contains complex shadows.

@gregory38 gregory38 force-pushed the greg/gsdx-bypass-cache branch from d9e4c50 to d1910fc Apr 16, 2019

@gregory38

This comment has been minimized.

Copy link
Contributor Author

commented Apr 16, 2019

I added a const and put some comments. @lightningterror feel free to add CRC change. And decide to merge it or not ;)

@gregory38

This comment has been minimized.

Copy link
Contributor Author

commented Apr 16, 2019

It is far from idea. But I think the gains are big enough to have it for 1.6. Until someone does a better job.

@MrCK1

This comment has been minimized.

Copy link
Member

commented Apr 16, 2019

I'll run some more tests ;)

@lightningterror

This comment has been minimized.

Copy link
Member

commented Apr 16, 2019

Until someone does a better job.

Greg from the future :P
Btw what about #2843 (comment) when no blending is used?

@gregory38

This comment has been minimized.

Copy link
Contributor Author

commented Apr 16, 2019

Can't do everything. It is a part of not an ideal solution.

gregory38 and others added some commits Apr 10, 2019

gsdx ogl: Bypass the texture cache when the frame buffer will be samp…
…led.

Proof of concept. It should provide a huge speedup when accurate
blending is enabled for tri-ace / Jak / R&C (shadow rendering).

See #2894
Need PR#2892

v2: Add const + comment to explain that code isn't ideal.
gsdx-hw: Move GSC_RadiataStories, GSC_StarOcean3, GSC_ValkyrieProfile…
…2 crc hacks to D3D level.

Follow up from the previous commit which is bypassing the texture cache
when the frame buffer is sampled.
Crc hacks are no longer needed on opengl.

Note: it requires at least Basic blending support.

@lightningterror lightningterror force-pushed the greg/gsdx-bypass-cache branch from 78a7a6f to 6034232 Apr 16, 2019

@lightningterror lightningterror added this to the Release 1.6 milestone Apr 16, 2019

@lightningterror lightningterror merged commit ac1bc9d into master Apr 17, 2019

4 checks passed

continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@lightningterror lightningterror deleted the greg/gsdx-bypass-cache branch Apr 17, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.