-
Notifications
You must be signed in to change notification settings - Fork 152
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
Add support for callable shaders in gfx #3460
Add support for callable shaders in gfx #3460
Conversation
Falcor tests are failing because this change breaks binary compatibility. @csyonghe what is the best way to deal with this? Ignore the failing test and update Falcor ASAP? |
Yeah, looks like we have to ignore this and update Falcor on the CO servers later. The alternative is to add a Desc2 and createSjaderTable2 function. |
yeah, I don't think that change is worth splitting the struct/function |
One thing that might be worth considering is adding a struct Desc2
{
// List of entry point and hit group names referenced in the program.
GfxCount nameCount;
const char** names;
GfxCount rayGenShaderCount;
const GfxIndex* rayGenShaderEntryPointNames;
const ShaderRecordOverwrite* rayGenShaderRecordOverwrites;
GfxCount missShaderCount;
const GfxIndex* missShaderEntryPointNames;
const ShaderRecordOverwrite* missShaderRecordOverwrites;
GfxCount hitGroupCount;
const GfxIndex* hitGroupsNames;
const ShaderRecordOverwrite* hitGroupRecordOverwrites;
GfxCount callableShaderCount;
const GfxIndex* callableShaderEntryPointNames;
const ShaderRecordOverwrite* callableShaderRecordOverwrites;
IShaderProgram* program;
}; This would allow to lookup the names once, and then just use indices, making construction of large tables more performant. |
That sounds like a good idea. Would you implement this in this PR so we keep binary compabitity and also provide a more efficient interface? |
I think I would add the changes to |
If we can just do that in Desc2 and keep Desc unchanged for now, that will avoid breaking Falcor test, and once Desc2 is there we can update Falcor on our CI servers. There are a lot of work going on here that require a functional Falcor test, and I am little worried that things will slip through if we are not having Falcor test for a while. |
82ab07e
to
ef37ad8
Compare
@csyonghe can we merge this now that falcor tests are decoupled from gfx changes? |
Yes, let's do it. |
Breaking change:
The ABI around gfx shader table creation is changed. Users of gfx will need to rebuild from source after upgrading.
There are no breaking changes in Slang.