Skip to content

Commit

Permalink
Packager: updated the use of the archiver (ContentVersion parameter w…
Browse files Browse the repository at this point in the history
…as added)
  • Loading branch information
TheMostDiligent committed Jun 12, 2023
1 parent 7a820e0 commit 9c2412f
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
3 changes: 2 additions & 1 deletion RenderStatePackager/include/ParsingEnvironment.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ struct ParsingEnvironmentCreateInfo
{
ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags = {};
PSO_ARCHIVE_FLAGS PSOArchiveFlags = {};
Uint32 ThreadCount = {};
Uint32 ThreadCount = 0;
Uint32 ContentVersion = 0;
bool PrintArchiveContents = false;
std::vector<std::string> ShaderDirs = {};
std::vector<std::string> RenderStateDirs = {};
Expand Down
4 changes: 3 additions & 1 deletion RenderStatePackager/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ ParseStatus ParseCommandLine(int argc, char* argv[], ParsingEnvironmentCreateInf
args::ValueFlag<std::string> ArgumentOutput{Parser, "path", "Output binary archive", {'o', "output"}, "Archive.bin"};
args::ValueFlag<std::string> ArgumentDumpBytecode{Parser, "dir", "Dump bytecode directory", {'d', "dump_dir"}, ""};
args::ValueFlag<Uint32> ArgumentThreadCount{Parser, "count", "Count of threads", {'t', "thread"}, 0};
args::ValueFlag<Uint32> ArgumentContentVersion{Parser, "version", "User-defined content version", {'v', "content_version"}, 0};

args::Group GroupDeviceFlags{Parser, "Device Flags:", args::Group::Validators::AtLeastOne};
args::Flag ArgumentDeviceFlagDx11{GroupDeviceFlags, "dx11", "D3D11", {"dx11"}};
Expand Down Expand Up @@ -118,6 +119,7 @@ ParseStatus ParseCommandLine(int argc, char* argv[], ParsingEnvironmentCreateInf
CreateInfo.InputFilePaths = args::get(ArgumentInputs);
CreateInfo.DumpBytecodeDir = args::get(ArgumentDumpBytecode);
CreateInfo.ThreadCount = args::get(ArgumentThreadCount);
CreateInfo.ContentVersion = args::get(ArgumentContentVersion);

return ParseStatus::Success;
}
Expand Down Expand Up @@ -170,7 +172,7 @@ int main(int argc, char* argv[])
}

RefCntAutoPtr<IDataBlob> pData;
if (!pArchiver->SerializeToBlob(&pData))
if (!pArchiver->SerializeToBlob(EnvironmentCI.ContentVersion, &pData))
{
LOG_FATAL_ERROR("Failed to serialize to Data Blob");
return EXIT_FAILURE;
Expand Down
10 changes: 6 additions & 4 deletions Tests/DiligentToolsGPUTest/src/RenderStatePackagerGPUTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ using namespace Diligent::Testing;
namespace
{

static constexpr Uint32 ContentVersion = 246;

static constexpr ARCHIVE_DEVICE_DATA_FLAGS GetDeviceFlags()
{
ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags = ARCHIVE_DEVICE_DATA_FLAG_NONE;
Expand Down Expand Up @@ -83,7 +85,7 @@ TEST(Tools_RenderStatePackager, Pipeline)
ASSERT_TRUE(Packager.Execute(pArchiver));

RefCntAutoPtr<IDataBlob> pArchive;
pArchiver->SerializeToBlob(&pArchive);
pArchiver->SerializeToBlob(ContentVersion, &pArchive);
ASSERT_NE(pArchive, nullptr);

RefCntAutoPtr<IDearchiver> pDearchiver;
Expand Down Expand Up @@ -127,20 +129,20 @@ void TestSignaturePacking(bool UseSplitArchive)
{
ASSERT_TRUE(Packager.ParseFiles({"Signature.json"}));
ASSERT_TRUE(Packager.Execute(pArchiver));
pArchiver->SerializeToBlob(&pSignArchive);
pArchiver->SerializeToBlob(ContentVersion, &pSignArchive);
ASSERT_NE(pSignArchive, nullptr);

ASSERT_TRUE(Packager.ParseFiles({"PSO_Sign.json", "IgnoreSignature.json"}));
pArchiver->Reset();
ASSERT_TRUE(Packager.Execute(pArchiver));
pArchiver->SerializeToBlob(&pPSOArchive);
pArchiver->SerializeToBlob(ContentVersion, &pPSOArchive);
ASSERT_NE(pPSOArchive, nullptr);
}
else
{
ASSERT_TRUE(Packager.ParseFiles({"PSO_Sign.json", "Signature.json"}));
ASSERT_TRUE(Packager.Execute(pArchiver));
pArchiver->SerializeToBlob(&pPSOArchive);
pArchiver->SerializeToBlob(ContentVersion, &pPSOArchive);
ASSERT_NE(pPSOArchive, nullptr);
pSignArchive = pPSOArchive;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ using namespace Diligent::Testing;
namespace
{

static constexpr Uint32 ContentVersion = 135;

static constexpr ARCHIVE_DEVICE_DATA_FLAGS GetDeviceFlags()
{
ARCHIVE_DEVICE_DATA_FLAGS DeviceFlags = ARCHIVE_DEVICE_DATA_FLAG_NONE;
Expand Down Expand Up @@ -90,7 +92,7 @@ TEST(Tools_RenderStatePackager, BasicTest)
ASSERT_TRUE(Packager.Execute(pArchiver));

RefCntAutoPtr<IDataBlob> pData;
ASSERT_TRUE(pArchiver->SerializeToBlob(&pData));
ASSERT_TRUE(pArchiver->SerializeToBlob(ContentVersion, &pData));
}

TEST(Tools_RenderStatePackager, ResourceSignatureTest)
Expand All @@ -114,7 +116,7 @@ TEST(Tools_RenderStatePackager, ResourceSignatureTest)
ASSERT_TRUE(Packager.Execute(pArchiver));

RefCntAutoPtr<IDataBlob> pData;
ASSERT_TRUE(pArchiver->SerializeToBlob(&pData));
ASSERT_TRUE(pArchiver->SerializeToBlob(ContentVersion, &pData));
}

TEST(Tools_RenderStatePackager, ImportTest)
Expand All @@ -138,7 +140,7 @@ TEST(Tools_RenderStatePackager, ImportTest)
ASSERT_TRUE(Packager.Execute(pArchiver));

RefCntAutoPtr<IDataBlob> pData;
ASSERT_TRUE(pArchiver->SerializeToBlob(&pData));
ASSERT_TRUE(pArchiver->SerializeToBlob(ContentVersion, &pData));
}

TEST(Tools_RenderStatePackager, IncorrectShaderPathTest)
Expand Down Expand Up @@ -382,7 +384,7 @@ TEST(Tools_RenderStatePackager, IgnoredSignatures)
ASSERT_TRUE(Packager.Execute(pArchiver));

RefCntAutoPtr<IDataBlob> pData;
ASSERT_TRUE(pArchiver->SerializeToBlob(&pData));
ASSERT_TRUE(pArchiver->SerializeToBlob(ContentVersion, &pData));
}

} // namespace

0 comments on commit 9c2412f

Please sign in to comment.