-
Notifications
You must be signed in to change notification settings - Fork 531
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
instrument: Use Import linkage for instrumentation functions #5355
instrument: Use Import linkage for instrumentation functions #5355
Conversation
25e945a
to
7ae0c4a
Compare
98be43d
to
5389112
Compare
3841a79
to
b07c092
Compare
9aa263a
to
55a19a8
Compare
These functions are getting far too complicated to code in SPIRV-Tools C++. Replace them with import stubs so that the real implementations can live in Vulkan-ValidationLayers where they belong. VVL will need to define these functions in spirv and link them to the instrumented version of the user's shader. From here on out, VVL can redefine the functions and any data they use without updating SPIRV-Tools. Changing the function declarations will still require both VVL and SPIRV-Tools to be updated in lock step.
55a19a8
to
b89dda7
Compare
This change will break Vulkan-ValidationLayers until KhronosGroup/Vulkan-ValidationLayers#6238 merges. I'm trying to get everything all ready to go, so that the break window is minimal. And we should have far less breaking changes from here on out. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is an API breaking change.
But you own both parts and want to do this, so I won't stand your way. :-)
Let us know when you want this merged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks
These functions are getting far too complicated to code in SPIRV-Tools C++. Replace them with import stubs so that the real implementations can live in Vulkan-ValidationLayers where they belong.
VVL will need to define these functions in spirv and link them to the instrumented version of the user's shader.
From here on out, VVL can redefine the functions and any data they use without updating SPIRV-Tools. Changing the function declarations will still require both VVL and SPIRV-Tools to be updated in lock step