ShaderMake
ShaderMake copied to clipboard
[RFE] Blobs should include permutations for all containers, participated into compilation
Currently a blob contains all permutations per container (DXBC, DXIL, SPIRV). It would be good to store all containers in one blob to simplify this use case:
bool shaderMakeResult = false;
#if ENABLE_D3D11_SUPPORT
if (graphicsAPI == D3D11)
shaderMakeResult = ShaderMake::FindPermutationInBlob(dxbcBlob, dxbcBlobSize, defines, defineNum, &bytecode, &size);
#endif
#if ENABLE_D3D12_SUPPORT
if (graphicsAPI == D3D12)
shaderMakeResult = ShaderMake::FindPermutationInBlob(dxilBlob, dxilBlobSize, defines, defineNum, &bytecode, &size);
#endif
#if ENABLE_VK_SUPPORT
if (graphicsAPI == VK)
shaderMakeResult = ShaderMake::FindPermutationInBlob(spirvBlob, spirvBlobSize, defines, defineNum, &bytecode, &size);
#endif
To something like:
bool shaderMakeResult = ShaderMake::FindPermutationInBlob(graphicsAPI, blob, blobSize, defines, defineNum, &bytecode, &size);