ShaderMake icon indicating copy to clipboard operation
ShaderMake copied to clipboard

[RFE] Blobs should include permutations for all containers, participated into compilation

Open dzhdanNV opened this issue 10 months ago • 0 comments

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);

dzhdanNV avatar Apr 23 '25 13:04 dzhdanNV