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

Allow printf in shaders #407

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

koubaa
Copy link
Contributor

@koubaa koubaa commented Dec 11, 2024

This change gets closer to letting shader printf work in the idiomatic way for vulkan. If an env var is set, the appropriate layer is included. Together with #406, where device extensions can be selected, this almost works from the python side. There is still one problem which I don't fully understand yet whereby shader printf do not appear in the log (even if I set the information bit in on the debug logger), but it does appear if I set the (now considered obsolete) vulkan env var DEBUG_PRINTF_TO_STDOUT=1.

Note - the python logging objects were used without acquiring the GIL - which is invalid use of pybind11 that leads to race conditions. I encountered many of those while I was working on this branch. This PR fixes those issues by explicitly acquiring the GIL during the log methods.

One thing I didn't yet look into is this note:

When using Validation Layers, the fragmentStoresAndAtomics, vertexPipelineStoresAndAtomics, and timelineSemaphore features are required

koubaa added 4 commits December 11, 2024 11:15
Signed-off-by: koubaa <koubaa@github.com>
Signed-off-by: koubaa <koubaa@github.com>
Signed-off-by: koubaa <koubaa@github.com>
Signed-off-by: koubaa <koubaa@github.com>
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.

1 participant