Add a Vulkan layer for injecting SPIR-V -> SPIR-T -> SPIR-V into any Vulkan users.#41
Draft
eddyb wants to merge 2 commits intoeddyb/entry-ret-as-abortfrom
Draft
Add a Vulkan layer for injecting SPIR-V -> SPIR-T -> SPIR-V into any Vulkan users.#41eddyb wants to merge 2 commits intoeddyb/entry-ret-as-abortfrom
eddyb wants to merge 2 commits intoeddyb/entry-ret-as-abortfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: this PR is a draft to avoid accidental merging onto its "base" branch (used as a form of ad-hoc PR stacking), and will remain as such, until its "base" branch can be set to
main, i.e. all prerequisite PRs will have landed, up to and including this PR (whose branch is the "base" of this one):OpReturnin entry-points toExitInvocation. #40Originally submitted as (description mostly copied from there):
(since then, Vulkan CTS attempts have been hit-and-miss due to interactions with validation layers - running e.g.
spirv-valfromspirt-vk-layermight work, or maybe even using the layer just to collect SPIR-V samples that can be processed outside of the CTS - and tools for that should exist already)Behavior is kind of arbitrary right now (mostly a demo), and ergonomics are lacking.
The main goal will be to run the full Vulkan CTS ("Conformance Test Suite") with it enabled.
Both of these should work (where
vkappis e.g.vkcube) on Linux:VK_LAYER_PATH=$PWD/vk-layer/manifests/target_debug_lib.so VK_LOADER_LAYERS_ENABLE=VK_LAYER_SPIRT_shaders vkappcargo build -p spirt-vk-layer --target=i686-unknown-linux-gnu VK_LAYER_PATH=$PWD/vk-layer/manifests/target_i686-unknown-linux-gnu_debug_lib.so VK_LOADER_LAYERS_ENABLE=VK_LAYER_SPIRT_shaders vkapp32On Linux/Mesa, by setting

MESA_LOADER_DRIVER_OVERRIDE=zinkas well, it ends up affecting OpenGL too: