You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're trying to add support for raster order groups while translating from HLSL to MSL, which is currently missing in SPIRV-Cross apparently.
We compilie HLSL -> SPIRV, then use SPIRV-Cross to generate SPIRV -> MSL, so ideally, we think it would be convenient to annotate HLSL in a way similar to this:
so an OpMemberDecorate with the user semantic is embedded into the SPIRV. Having this, we could introduce some changes into SPIRV-Cross to finally produce some MSL like this:
I am not sure this is the better approach to achieve this. Is it possible there's a better approach rather than introducing this kind of hacky annotation in the SPIRV code?
Cheers!
The text was updated successfully, but these errors were encountered:
I think for this to make sense, you'd need DecorationUserSemantic and add some kind of special prefix that SPIRV-Cross can sniff out, ala "spirv-cross.msl.raster_order_group(0)" or something like that and those special decorations get plumbed through.
However, spirv-cross already supports fragment_shader_interlock in MSL, which is what raster order groups do. What do you need raster order group on fragment shader outputs for? That doesn't make much sense to me, but it's years since I looked at raster order group code, so I might be misunderstanding something here.
Without a strong reason to do backdoors like this, I'd be reluctant to support this as-is.
Hi there!
We're trying to add support for raster order groups while translating from HLSL to MSL, which is currently missing in SPIRV-Cross apparently.
We compilie HLSL -> SPIRV, then use SPIRV-Cross to generate SPIRV -> MSL, so ideally, we think it would be convenient to annotate HLSL in a way similar to this:
so an
OpMemberDecorate
with the user semantic is embedded into the SPIRV. Having this, we could introduce some changes into SPIRV-Cross to finally produce some MSL like this:I am not sure this is the better approach to achieve this. Is it possible there's a better approach rather than introducing this kind of hacky annotation in the SPIRV code?
Cheers!
The text was updated successfully, but these errors were encountered: