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

Tessellation #1528

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

Tessellation #1528

wants to merge 10 commits into from

Conversation

baggins183
Copy link
Contributor

@baggins183 baggins183 commented Nov 13, 2024

Opening PR for testing, not close to merge

Only post results from this fork
https://github.com/baggins183/shadPS4/tree/tess

I know about the "Failed to create graphics pipeline" error on AMD, so dont post about that unless youve debugged the vkCreateGraphicsPipelines call and found something or can spot problems in the code.

Needs testing in other games that have tessellation shaders.

Also for BB, if someone can narrow down the hs_* and vs_* (domain) shaders responsible for blood splatter on clothes, or snow at cainhurst, that would help. Ive done some Cainhurst debugging with no luck so far. I can't confirm if its a tess problem or not.

@baggins183
Copy link
Contributor Author

for amd bros who are crashing it would be interesting to know if some pipelines using tessellation shaders do compile successfully or if all of them cause the vkCreateGraphicsPipelines error

@baggins183
Copy link
Contributor Author

baggins183 commented Nov 15, 2024

I think if you can get a shad_log that has 2 or more "compiling hs shader"s that would be good.
If you are also crashing with failed to create graphics pipelines

@Brave-Valiant
Copy link

Thank you for your efforts, mr. Baggins. Here is my log:
shad_log.txt

@Mast3rwaf1z
Copy link

Linux AMD GPU:
This pr works perfectly on the RADV driver (ignoring the unrelated issues RADV has with the emulator already), but with the AMDGPU_PRO driver (which is the only way to play on the emulator on AMD on linux atm afaik) , the emulator will not load the game at all on the appimages, and when i compile it myself it gets to the title screen but doesn't load into the game.

I think if you can get a shad_log that has 2 or more "compiling hs shader"s that would be good.

0 lines in all 3 log files, my guess is it might be platform specific?

Logs:

the ones where i get ingame are too large to upload here. I have attached when i'm running BB using AMDGPU_PRO, using https://github.com/ngoquang2708/shadPS4/tree/linux-hack-tess, which is based on your branch
appimage.log

@baggins183
Copy link
Contributor Author

baggins183 commented Nov 16, 2024

0 lines in all 3 log files, my guess is it might be platform specific?

No, if you hit tessellation shaders you would see this in the log. Check your log filter and that u have sync logging.

You dont have to use and shouldnt report problems with forks. It looks like that fork is out of date

@Foul-Tarnished
Copy link

Does this have #1538 ?
A rebase would help with testing BB I guess?

@baggins183
Copy link
Contributor Author

rebased

@baggins183
Copy link
Contributor Author

rebased

for AMD crashes on failed to create graphics pipelines id actually recommend skipping the last "hs shader" hash you see your log (adding the hash to shouldSkipShader) to see if there are other tess pipelines that compile successfully.
If like i said you see >=2 "Compiling hs shader"s in your log then let me know, because that would mean some compile successfully and theres an isolated issue with certain shaders.

example:
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:461: Compiling hs shader 0xbc234799

@GHU7924
Copy link

GHU7924 commented Nov 17, 2024

Build 664e61f
I have a save in Forsaken Cainhurst Castle.
I did a little run there.

you see >=2 "Compiling hs shader"s in your log then let me know

Unfortunately, I did not see this in my log.

I had two lines of shaders or more:

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x9951d199
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x44072322

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xa400228b
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x6dfebc16

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x4f23790e
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x89e9d10c

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x354a5593
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x1403cd3e

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xcda960c8
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xa48adba4
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x4519e09d

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x228a5307
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x7e259f22
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x2b2ea138
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x4aaa195a
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xa6a38f2c
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x6f4d9f1a

[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0x3deaa573 (permutation)
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xb10c4f55 (permutation)
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xc77a0097
[Render.Vulkan] vk_pipeline_cache.cpp:CompileModule:462: Compiling vs shader 0xc77a0097 (permutation)

And so forth.
P.S. If I didn't tell you something new and useful, then I apologize.

@baggins183
Copy link
Contributor Author

if you were crashing before and this did or didnt fix it let me know your gpu, driver, and OS. Also whether your on proprietary or radv drivers or whatever.

@baggins183
Copy link
Contributor Author

also make sure your game is unmodded. I dont know anything about sfx mods

@artixomag
Copy link

Amd Gpu 6700 XT with driver 24.20.19 on Windows, the new tess build works and displays all the effects.

@baggins183
Copy link
Contributor Author

just a rebase

@ArbestRi02
Copy link

i think we should rebase again considering the recent progress on main

@rafael-57
Copy link

If you're going to rebase, since more-kernel has been merged, this hack shouldn't be needed anymore
image

@Foul-Tarnished
Copy link

Is there a way to skip shaders with this PR ?
For #1547 workaround

@rafael-57
Copy link

rafael-57 commented Nov 25, 2024

It seems people merged this on top of current main and found that tess works in Dark Souls 3 too:
https://discord.com/channels/1080089157554155590/1275172743146639494/1310291883339288577
https://discord.com/channels/1080089157554155590/1275172743146639494/1310308828407005287

Without tess. lots of effects don't work.

So yeah it's a very similar game to BB, but at least we've found another game that uses tess. :D

@MajorP93
Copy link

@baggins183 Due to the recent changes to main I think it would make sense to rebase again. Thanks a lot in advance!

raphaelthegreat and others added 8 commits November 28, 2024 21:19
DONT MERGE set log file to /dev/null

DONT MERGE linux pthread bb fix

save work

DONT MERGE dump ir

save more work

fix mistake with ES shader

skip list

add input patch control points dynamic state

random stuff
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.

10 participants