Integrating github/staging through commit ab87ed9
This commit is contained in:
@@ -501,6 +501,7 @@ namespace AWSClientAuthUnitTest
|
||||
m_settingsRegistry->SetContext(m_registrationContext.get());
|
||||
|
||||
AZ::ComponentApplicationBus::Handler::BusConnect();
|
||||
AZ::Interface<AZ::ComponentApplicationRequests>::Register(this);
|
||||
|
||||
if (m_connectClientAuthBus)
|
||||
{
|
||||
@@ -551,10 +552,11 @@ namespace AWSClientAuthUnitTest
|
||||
AZ::JsonSystemComponent::Reflect(m_registrationContext.get());
|
||||
m_registrationContext->DisableRemoveReflection();
|
||||
|
||||
AZ::Interface<AZ::ComponentApplicationRequests>::Unregister(this);
|
||||
AZ::ComponentApplicationBus::Handler::BusDisconnect();
|
||||
if (m_connectClientAuthBus)
|
||||
{
|
||||
AZ::Interface<IAWSClientAuthRequests>::Unregister(this);
|
||||
AZ::Interface<IAWSClientAuthRequests>::Unregister(this);
|
||||
AWSClientAuth::AWSClientAuthRequestBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
@@ -573,6 +575,8 @@ namespace AWSClientAuthUnitTest
|
||||
AZ::ComponentApplication* GetApplication() override { return nullptr; }
|
||||
void RegisterComponentDescriptor(const AZ::ComponentDescriptor*) override { }
|
||||
void UnregisterComponentDescriptor(const AZ::ComponentDescriptor*) override { }
|
||||
void RegisterEntityAddedEventHandler(AZ::EntityAddedEvent::Handler&) override { }
|
||||
void RegisterEntityRemovedEventHandler(AZ::EntityRemovedEvent::Handler&) override { }
|
||||
bool AddEntity(AZ::Entity*) override { return true; }
|
||||
bool RemoveEntity(AZ::Entity*) override { return true; }
|
||||
bool DeleteEntity(const AZ::EntityId&) override { return true; }
|
||||
|
||||
@@ -122,7 +122,6 @@ TEST_F(AuthenticationProviderManagerTest, PasswordGrantSingleFactorSignInAsync_S
|
||||
{
|
||||
m_mockController->Initialize(m_enabledProviderNames, m_settingspath);
|
||||
testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *cognitoProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::AWSCognitoIDP].get();
|
||||
testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock> *lwaProviderMock = (testing::NiceMock<AWSClientAuthUnitTest::AuthenticationProviderMock>*)m_mockController->m_authenticationProvidersMap[AWSClientAuth::ProviderNameEnum::LoginWithAmazon].get();
|
||||
|
||||
EXPECT_CALL(*cognitoProviderMock, PasswordGrantSingleFactorSignInAsync(testing::_, testing::_)).Times(1);
|
||||
m_mockController->PasswordGrantSingleFactorSignInAsync(AWSClientAuth::ProviderNameEnum::AWSCognitoIDP, AWSClientAuthUnitTest::TEST_USERNAME, AWSClientAuthUnitTest::TEST_PASSWORD);
|
||||
|
||||
@@ -372,6 +372,7 @@ namespace AWSCore
|
||||
|
||||
}
|
||||
|
||||
#if defined(AZ_ENABLE_TRACING)
|
||||
AZStd::string message = AZStd::string::format("An %s error occurred when performing %s %s on service %s using %s: %s\n\nRequest Content:\n%s\n\nResponse Content:\n%s\n\n",
|
||||
RequestType::error.type.c_str(),
|
||||
ServiceRequestJobType::HttpMethodToString(RequestType::Method()),
|
||||
@@ -404,6 +405,7 @@ namespace AWSCore
|
||||
{
|
||||
AZ_Warning(ServiceClientJobType::COMPONENT_DISPLAY_NAME, false, message.c_str());
|
||||
}
|
||||
#endif
|
||||
|
||||
OnFailure();
|
||||
|
||||
|
||||
@@ -69,7 +69,6 @@ namespace Achievements
|
||||
|
||||
behaviorContext->Class<AchievementDetails>()
|
||||
->Constructor<AchievementDetails&>()
|
||||
->Attribute(AZ::Script::Attributes::ExcludeFrom, AZ::Script::Attributes::ExcludeFlags::Preview)
|
||||
->Attribute(AZ::Script::Attributes::Storage, AZ::Script::Attributes::StorageType::Value)
|
||||
->Property("id", BehaviorValueProperty(&AchievementDetails::id))
|
||||
->Property("name", BehaviorValueProperty(&AchievementDetails::name))
|
||||
|
||||
@@ -123,7 +123,6 @@ namespace AssetValidation::AssetSeed
|
||||
|
||||
// Add the current project default seed list file
|
||||
AZStd::string projectName;
|
||||
bool checkPlatform = false;
|
||||
|
||||
AZ::IO::FixedMaxPathString projectPath = AZ::Utils::GetProjectPath();
|
||||
if (!projectPath.empty())
|
||||
|
||||
@@ -225,6 +225,7 @@ void TestCreateContainers([[maybe_unused]] const AZ::ConsoleCommandContainer& so
|
||||
AZ_TracePrintf("TestCreateContainers", "%d / %d ready after %ld ms\n", readyContainers.size(), totalContainers, runMS);
|
||||
AZStd::this_thread::sleep_for(AZStd::chrono::milliseconds(100));
|
||||
}
|
||||
#if defined(AZ_ENABLE_TRACING)
|
||||
if (loadingContainers.size())
|
||||
{
|
||||
AZ_TracePrintf("TestCreateContainers", "Failed to load %d / %d containers\n", loadingContainers.size(), totalContainers);
|
||||
@@ -233,6 +234,7 @@ void TestCreateContainers([[maybe_unused]] const AZ::ConsoleCommandContainer& so
|
||||
AZ_TracePrintf("TestCreateContainers", "Couldn't load container for %s\n", thisContainer.ToString<AZStd::string>().c_str());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}, true);
|
||||
runJob->Start();
|
||||
}
|
||||
|
||||
@@ -148,7 +148,6 @@ namespace ImageProcessingAtom
|
||||
|
||||
size_t nSlicePitch = (pitch / ePS_Blue);
|
||||
AZ::u32 src = 0;
|
||||
AZ::u32 dst = 0;
|
||||
for (int b = 0; b < ePS_Blue; ++b)
|
||||
{
|
||||
for (int g = 0; g < ePS_Green; ++g)
|
||||
@@ -311,4 +310,4 @@ namespace ImageProcessingAtom
|
||||
//save color chart data to an image and save as current
|
||||
m_img = colorChart.GenerateChartImage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -638,7 +638,6 @@ namespace ImageProcessingAtom
|
||||
DDS_FILE_DESC desc;
|
||||
DDS_HEADER_DXT10 exthead;
|
||||
|
||||
AZ::IO::SizeType startPos = fileLoadStream.GetCurPos();
|
||||
fileLoadStream.Read(sizeof(desc), &desc);
|
||||
|
||||
if (desc.dwMagic != FOURCC_DDS || !desc.IsValid())
|
||||
|
||||
@@ -119,8 +119,6 @@ namespace ImageProcessingAtom
|
||||
ImfMath::Box2i dw = header.dataWindow();
|
||||
width = dw.max.x - dw.min.x + 1;
|
||||
height = dw.max.y - dw.min.y + 1;
|
||||
int dx = dw.min.x;
|
||||
int dy = dw.min.y;
|
||||
|
||||
// Create IImageObject
|
||||
IImageObject* newImage = IImageObject::CreateImage(width, height, 1, format);
|
||||
|
||||
@@ -36,7 +36,6 @@ namespace ImageProcessingAtom
|
||||
}
|
||||
|
||||
//convert to format which compatiable our pixel format
|
||||
QImage::Format format = qimage.format();
|
||||
if (qimage.format() != QImage::Format_RGBA8888)
|
||||
{
|
||||
qimage = qimage.convertToFormat(QImage::Format_RGBA8888);
|
||||
|
||||
@@ -193,7 +193,7 @@ namespace ImageProcessingAtom
|
||||
|
||||
AZ::Uuid sourceId = source->GetSourceUuid();
|
||||
|
||||
QAction* editImportSettingsAction = menu->addAction("Edit Texture Settings...", [sourceId, this]()
|
||||
menu->addAction("Edit Texture Settings...", [sourceId, this]()
|
||||
{
|
||||
OpenSourceTextureFile(sourceId);
|
||||
});
|
||||
@@ -205,7 +205,7 @@ namespace ImageProcessingAtom
|
||||
if (product->GetAssetType() == azrtti_typeid<AZ::RPI::StreamingImageAsset>())
|
||||
{
|
||||
AZ::Data::AssetId assetId = product->GetAssetId();
|
||||
QAction* editImportSettingsAction = menu->addAction("Save as DDS...", [assetId, this]()
|
||||
menu->addAction("Save as DDS...", [assetId, this]()
|
||||
{
|
||||
QString filePath = QFileDialog::getSaveFileName(nullptr, QString("Save to file"), m_lastSavedPath, QString("DDS file (*.dds)"));
|
||||
if (filePath.isEmpty())
|
||||
|
||||
@@ -118,7 +118,6 @@ namespace ImageProcessingAtom
|
||||
|
||||
// Build mip chain assets.
|
||||
// Start from smallest mips so the mip chain asset for the lowest resolutions may contain more high level mips
|
||||
bool ready = false;
|
||||
uint32_t lastMip = imageDesc.m_mipLevels;
|
||||
uint32_t totalSize = 0;
|
||||
AZStd::vector<Data::Asset<RPI::ImageMipChainAsset>> mipChains;
|
||||
|
||||
@@ -1090,7 +1090,6 @@ namespace ImageProcessingAtom
|
||||
uint32 pitch1, pitch2;
|
||||
|
||||
float sumDeltaSqLinear = 0;
|
||||
AZ::u32 sumPixelCount = 0;
|
||||
|
||||
//only process the highest mip
|
||||
image1->GetImagePointer(0, mem1, pitch1);
|
||||
|
||||
@@ -504,8 +504,6 @@ namespace ImageProcessingAtom
|
||||
|
||||
const PixelFormatInfo* const pPixelFormatInfo = CPixelFormats::GetInstance().GetPixelFormatInfo(format);
|
||||
|
||||
DXGI_FORMAT d3dformat = pPixelFormatInfo->d3d10Format;
|
||||
|
||||
memset(&header, 0, sizeof(DDS_HEADER_LEGACY));
|
||||
|
||||
header.dwSize = sizeof(DDS_HEADER_LEGACY);
|
||||
@@ -702,7 +700,6 @@ namespace ImageProcessingAtom
|
||||
{
|
||||
const MipLevel& level = *m_mips[mip];
|
||||
AZ::u32 faceBufSize = level.m_pitch * level.m_rowCount / faces;
|
||||
AZ::u32 start = faceBufSize * face;
|
||||
saveFileStream.Write(faceBufSize, level.m_pData + faceBufSize * face);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -342,9 +342,6 @@ namespace ImageProcessingAtom
|
||||
|
||||
AZ::Data::Asset<AZ::RPI::StreamingImageAsset> LoadImageAsset(const AZ::Data::AssetId& imageAssetId)
|
||||
{
|
||||
RPI::StreamingImageAssetHandler* imageAssetHandler = static_cast<RPI::StreamingImageAssetHandler*>(
|
||||
Data::AssetManager::Instance().GetHandler(RPI::StreamingImageAsset::RTTI_Type()));
|
||||
|
||||
// Blocking loading streaming image asset with its mipchain assets
|
||||
AZ::Data::Asset<AZ::RPI::StreamingImageAsset> imageAsset = AZ::Data::AssetManager::Instance().GetAsset<AZ::RPI::StreamingImageAsset>(imageAssetId, AZ::Data::AssetLoadBehavior::PreLoad);
|
||||
|
||||
|
||||
@@ -103,6 +103,8 @@ namespace UnitTest
|
||||
ComponentApplication* GetApplication() override { return nullptr; }
|
||||
void RegisterComponentDescriptor(const ComponentDescriptor*) override { }
|
||||
void UnregisterComponentDescriptor(const ComponentDescriptor*) override { }
|
||||
void RegisterEntityAddedEventHandler(EntityAddedEvent::Handler&) override { }
|
||||
void RegisterEntityRemovedEventHandler(EntityRemovedEvent::Handler&) override { }
|
||||
bool AddEntity(Entity*) override { return false; }
|
||||
bool RemoveEntity(Entity*) override { return false; }
|
||||
bool DeleteEntity(const EntityId&) override { return false; }
|
||||
|
||||
@@ -101,12 +101,12 @@ namespace AZ
|
||||
// To avoid the warning:
|
||||
// "No job was found to match the job dependency criteria declared by file "..."
|
||||
// We will schedule the job, but will do nothing
|
||||
bool shouldSkipFile = false;
|
||||
//bool shouldSkipFile = false;
|
||||
|
||||
// We treat some issues as warnings and return "Success" from CreateJobs allows us to report the dependency.
|
||||
// If/when a valid dependency file appears, that will trigger the ShaderVariantAssetBuilder to run again.
|
||||
// Since CreateJobs will pass, we forward this message to ProcessJob which will report it as an error.
|
||||
bool gotPreprocessingError = false;
|
||||
//bool gotPreprocessingError = false;
|
||||
|
||||
|
||||
// The following if-block will be removed once [GFX TODO][ATOM-5302] is addressed, and
|
||||
|
||||
@@ -176,7 +176,6 @@ namespace AZ
|
||||
for (rapidjson::Value::ConstMemberIterator itr2 = attributeMember.MemberBegin(); itr2 != attributeMember.MemberEnd(); ++itr2)
|
||||
{
|
||||
|
||||
bool isSystemSemanticDefined = false;
|
||||
AZStd::string name = itr2->name.GetString();
|
||||
const rapidjson::Value& value = itr2->value;
|
||||
rapidjson::Type type = value.GetType();
|
||||
@@ -570,7 +569,6 @@ namespace AZ
|
||||
for (rapidjson::Value::ConstMemberIterator itr4 = attributeArray.MemberBegin(); itr4 != attributeArray.MemberEnd(); ++itr4)
|
||||
{
|
||||
AZStd::string attributeArrayMemberName = itr4->name.GetString();
|
||||
const rapidjson::Value& attributeArrayMemberValue = itr4->value;
|
||||
|
||||
if (attributeArrayMemberName == "count")
|
||||
{
|
||||
@@ -621,7 +619,6 @@ namespace AZ
|
||||
for (rapidjson::Value::ConstMemberIterator itr4 = attributeArray.MemberBegin(); itr4 != attributeArray.MemberEnd(); ++itr4)
|
||||
{
|
||||
const char* attributeArrayMemberName = itr4->name.GetString();
|
||||
const rapidjson::Value& attributeArrayMemberValue = itr4->value;
|
||||
|
||||
if (AzFramework::StringFunc::Equal(attributeArrayMemberName, "addressU"))
|
||||
{
|
||||
@@ -722,7 +719,6 @@ namespace AZ
|
||||
for (rapidjson::Value::ConstMemberIterator itr4 = attributeArray.MemberBegin(); itr4 != attributeArray.MemberEnd(); ++itr4)
|
||||
{
|
||||
AZStd::string attributeArrayMemberName = itr4->name.GetString();
|
||||
const rapidjson::Value& attributeArrayMemberValue = itr4->value;
|
||||
|
||||
if (attributeArrayMemberName == "count")
|
||||
{
|
||||
@@ -751,7 +747,6 @@ namespace AZ
|
||||
for (rapidjson::Value::ConstMemberIterator itr4 = attributeArray.MemberBegin(); itr4 != attributeArray.MemberEnd(); ++itr4)
|
||||
{
|
||||
AZStd::string attributeArrayMemberName = itr4->name.GetString();
|
||||
const rapidjson::Value& attributeArrayMemberValue = itr4->value;
|
||||
|
||||
if (attributeArrayMemberName == "count")
|
||||
{
|
||||
@@ -909,7 +904,6 @@ namespace AZ
|
||||
|
||||
uint32_t explicitlyOrdered = 0;
|
||||
uint32_t implicitlyOrdered = 0;
|
||||
auto shaderOptionsCount = shaderOptions.Size();
|
||||
for (rapidjson::Value::ConstValueIterator optItr = shaderOptions.Begin(); optItr != shaderOptions.End(); ++optItr)
|
||||
{
|
||||
const rapidjson::Value& optionEntry = *optItr;
|
||||
|
||||
@@ -102,7 +102,7 @@ namespace AZ
|
||||
// Register Shader Resource Group Layout Builder
|
||||
AssetBuilderSDK::AssetBuilderDesc srgLayoutBuilderDescriptor;
|
||||
srgLayoutBuilderDescriptor.m_name = "Shader Resource Group Layout Builder";
|
||||
srgLayoutBuilderDescriptor.m_version = 51; // SPEC-6065
|
||||
srgLayoutBuilderDescriptor.m_version = 52; // ATOM-14780
|
||||
srgLayoutBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.azsl", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard));
|
||||
srgLayoutBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.azsli", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard));
|
||||
srgLayoutBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", SrgLayoutBuilder::MergedPartialSrgsExtension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard));
|
||||
@@ -144,7 +144,7 @@ namespace AZ
|
||||
// Register Precompiled Shader Builder
|
||||
AssetBuilderSDK::AssetBuilderDesc precompiledShaderBuilderDescriptor;
|
||||
precompiledShaderBuilderDescriptor.m_name = "Precompiled Shader Builder";
|
||||
precompiledShaderBuilderDescriptor.m_version = 6; // ATOM-14918
|
||||
precompiledShaderBuilderDescriptor.m_version = 7; // ATOM-14780
|
||||
precompiledShaderBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern(AZStd::string::format("*.%s", AZ::PrecompiledShaderBuilder::Extension), AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard));
|
||||
precompiledShaderBuilderDescriptor.m_busId = azrtti_typeid<PrecompiledShaderBuilder>();
|
||||
precompiledShaderBuilderDescriptor.m_createJobFunction = AZStd::bind(&PrecompiledShaderBuilder::CreateJobs, &m_precompiledShaderBuilder, AZStd::placeholders::_1, AZStd::placeholders::_2);
|
||||
|
||||
@@ -255,7 +255,7 @@ namespace AZ
|
||||
auto secondQuote = sourceCode.find('"', firstQuote + 1);
|
||||
auto originalFile = sourceCode.substr(firstQuote + 1, secondQuote - firstQuote - 1); // start +1, count -1 because we don't want the quotes included.
|
||||
VerifySameFolder(originalFile, newFileOrigin);
|
||||
bool didReplace = AzFramework::StringFunc::Replace(sourceCode, originalFile.c_str(), newFileOrigin.c_str(), true /*case sensitive*/);
|
||||
[[maybe_unused]] bool didReplace = AzFramework::StringFunc::Replace(sourceCode, originalFile.c_str(), newFileOrigin.c_str(), true /*case sensitive*/);
|
||||
AZ_Assert(didReplace, "Failed to replace %s for %s in preprocessed source.", originalFile.c_str(), newFileOrigin.c_str());
|
||||
}
|
||||
else
|
||||
|
||||
@@ -61,32 +61,58 @@ namespace AZ
|
||||
return;
|
||||
}
|
||||
|
||||
// setup dependencies on the azsrg asset file names
|
||||
for (const auto& srgFileName : precompiledShaderAsset.m_srgAssetFileNames)
|
||||
{
|
||||
AZStd::string srgAssetPath = RPI::AssetUtils::ResolvePathReference(request.m_sourceFile.c_str(), srgFileName);
|
||||
AssetBuilderSDK::SourceFileDependency dependency;
|
||||
dependency.m_sourceFileDependencyPath = srgAssetPath;
|
||||
response.m_sourceFileDependencyList.push_back(dependency);
|
||||
}
|
||||
|
||||
// setup dependencies on the root azshadervariant asset file names
|
||||
for (const auto& rootShaderVariantAsset : precompiledShaderAsset.m_rootShaderVariantAssets)
|
||||
{
|
||||
AZStd::string rootShaderVariantAssetPath = RPI::AssetUtils::ResolvePathReference(request.m_sourceFile.c_str(), rootShaderVariantAsset->m_rootShaderVariantAssetFileName);
|
||||
AssetBuilderSDK::SourceFileDependency dependency;
|
||||
dependency.m_sourceFileDependencyPath = rootShaderVariantAssetPath;
|
||||
response.m_sourceFileDependencyList.push_back(dependency);
|
||||
}
|
||||
|
||||
for (const AssetBuilderSDK::PlatformInfo& platformInfo : request.m_enabledPlatforms)
|
||||
{
|
||||
AssetBuilderSDK::JobDescriptor job;
|
||||
job.m_jobKey = PrecompiledShaderBuilderJobKey;
|
||||
job.SetPlatformIdentifier(platformInfo.m_identifier.c_str());
|
||||
job.m_critical = true;
|
||||
AZStd::vector<AZStd::string>::iterator itPlatformIdentifier = AZStd::find(
|
||||
precompiledShaderAsset.m_platformIdentifiers.begin(),
|
||||
precompiledShaderAsset.m_platformIdentifiers.end(),
|
||||
platformInfo.m_identifier);
|
||||
|
||||
response.m_createJobOutputs.push_back(job);
|
||||
if (itPlatformIdentifier != precompiledShaderAsset.m_platformIdentifiers.end())
|
||||
{
|
||||
AZStd::vector<AssetBuilderSDK::JobDependency> jobDependencyList;
|
||||
|
||||
// setup dependencies on the azsrg asset file names
|
||||
for (const auto& srgFileName : precompiledShaderAsset.m_srgAssetFileNames)
|
||||
{
|
||||
AZStd::string srgAssetPath = RPI::AssetUtils::ResolvePathReference(request.m_sourceFile.c_str(), srgFileName);
|
||||
|
||||
AssetBuilderSDK::SourceFileDependency sourceDependency;
|
||||
sourceDependency.m_sourceFileDependencyPath = srgAssetPath;
|
||||
response.m_sourceFileDependencyList.push_back(sourceDependency);
|
||||
|
||||
AssetBuilderSDK::JobDependency jobDependency;
|
||||
jobDependency.m_jobKey = "azsrg";
|
||||
jobDependency.m_platformIdentifier = platformInfo.m_identifier;
|
||||
jobDependency.m_type = AssetBuilderSDK::JobDependencyType::Order;
|
||||
jobDependency.m_sourceFile = sourceDependency;
|
||||
jobDependencyList.push_back(jobDependency);
|
||||
}
|
||||
|
||||
// setup dependencies on the root azshadervariant asset file names
|
||||
for (const auto& rootShaderVariantAsset : precompiledShaderAsset.m_rootShaderVariantAssets)
|
||||
{
|
||||
AZStd::string rootShaderVariantAssetPath = RPI::AssetUtils::ResolvePathReference(request.m_sourceFile.c_str(), rootShaderVariantAsset->m_rootShaderVariantAssetFileName);
|
||||
AssetBuilderSDK::SourceFileDependency sourceDependency;
|
||||
sourceDependency.m_sourceFileDependencyPath = rootShaderVariantAssetPath;
|
||||
response.m_sourceFileDependencyList.push_back(sourceDependency);
|
||||
|
||||
AssetBuilderSDK::JobDependency jobDependency;
|
||||
jobDependency.m_jobKey = "azshadervariant";
|
||||
jobDependency.m_platformIdentifier = platformInfo.m_identifier;
|
||||
jobDependency.m_type = AssetBuilderSDK::JobDependencyType::Order;
|
||||
jobDependency.m_sourceFile = sourceDependency;
|
||||
jobDependencyList.push_back(jobDependency);
|
||||
}
|
||||
|
||||
AssetBuilderSDK::JobDescriptor job;
|
||||
job.m_jobKey = PrecompiledShaderBuilderJobKey;
|
||||
job.SetPlatformIdentifier(platformInfo.m_identifier.c_str());
|
||||
job.m_jobDependencyList = jobDependencyList;
|
||||
job.m_critical = true;
|
||||
|
||||
response.m_createJobOutputs.push_back(job);
|
||||
}
|
||||
}
|
||||
|
||||
response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success;
|
||||
@@ -151,35 +177,11 @@ namespace AZ
|
||||
jobProduct.m_dependencies.push_back(productDependency);
|
||||
}
|
||||
|
||||
// retrieve the list of shader platform interfaces for the target platform
|
||||
AZStd::vector<RHI::ShaderPlatformInterface*> platformInterfaces;
|
||||
ShaderBuilder::ShaderPlatformInterfaceRequestBus::BroadcastResult(platformInterfaces, &ShaderBuilder::ShaderPlatformInterfaceRequest::GetShaderPlatformInterface, request.m_platformInfo);
|
||||
|
||||
// load the variant product assets
|
||||
// these are the dependency root variant asset products that were processed prior to running this job
|
||||
RPI::ShaderAssetCreator::ShaderRootVariantAssets rootVariantProductAssets;
|
||||
for (AZStd::unique_ptr<RPI::RootShaderVariantAssetSourceData>& rootShaderVariantAsset : precompiledShaderAsset.m_rootShaderVariantAssets)
|
||||
{
|
||||
// find the ShaderPlatformInterface for this root shader variant
|
||||
// we need this to map the variant asset to the APIType
|
||||
RHI::ShaderPlatformInterface* foundShaderPlatformInterface = nullptr;
|
||||
for (auto shaderPlatformInterface : platformInterfaces)
|
||||
{
|
||||
if (shaderPlatformInterface->GetAPIName() == rootShaderVariantAsset->m_apiName)
|
||||
{
|
||||
foundShaderPlatformInterface = shaderPlatformInterface;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundShaderPlatformInterface)
|
||||
{
|
||||
// skip this shader API since it's not available on the current platform
|
||||
continue;
|
||||
}
|
||||
|
||||
RHI::APIType apiType = foundShaderPlatformInterface->GetAPIType();
|
||||
|
||||
// retrieve the variant asset
|
||||
auto assetOutcome = RPI::AssetUtils::LoadAsset<RPI::ShaderVariantAsset>(request.m_fullPath, rootShaderVariantAsset->m_rootShaderVariantAssetFileName, 0);
|
||||
if (!assetOutcome)
|
||||
@@ -188,7 +190,7 @@ namespace AZ
|
||||
return;
|
||||
}
|
||||
|
||||
rootVariantProductAssets.push_back(AZStd::make_pair(apiType, assetOutcome.GetValue()));
|
||||
rootVariantProductAssets.push_back(AZStd::make_pair(RHI::APIType{ rootShaderVariantAsset->m_apiName.GetCStr() }, assetOutcome.GetValue()));
|
||||
|
||||
AssetBuilderSDK::ProductDependency productDependency;
|
||||
productDependency.m_dependencyId = assetOutcome.GetValue().GetId();
|
||||
@@ -196,14 +198,6 @@ namespace AZ
|
||||
jobProduct.m_dependencies.push_back(productDependency);
|
||||
}
|
||||
|
||||
if (rootVariantProductAssets.empty())
|
||||
{
|
||||
// no shader variants for this platform
|
||||
AZ_Warning(PrecompiledShaderBuilderName, false, "No shader platforms detected for root variants");
|
||||
response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success;
|
||||
return;
|
||||
}
|
||||
|
||||
// use the ShaderAssetCreator to clone the shader asset, which will update the embedded Srg and Variant asset UUIDs
|
||||
// Note that the Srg and Variant assets do not have embedded asset references and are processed with the RC Copy functionality
|
||||
RPI::ShaderAssetCreator shaderAssetCreator;
|
||||
@@ -262,7 +256,7 @@ namespace AZ
|
||||
fileStream.Read(length, buffer.data());
|
||||
buffer.back() = 0;
|
||||
|
||||
AZ::ObjectStream::FilterDescriptor loadFilter(nullptr, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES);
|
||||
AZ::ObjectStream::FilterDescriptor loadFilter(&AZ::Data::AssetFilterNoAssetLoading, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES);
|
||||
return AZ::Utils::LoadObjectFromBuffer<T>(buffer.data(), length, context, loadFilter);
|
||||
}
|
||||
} // namespace AZ
|
||||
|
||||
@@ -101,8 +101,7 @@ namespace AZ
|
||||
return;
|
||||
}
|
||||
ShaderBuilderUtility::GetAbsolutePathToAzslFile(fullPath, descriptorParseOutput.GetValue().m_source, azslFullPath);
|
||||
bool azslExists = IO::FileIOBase::GetInstance()->Exists(azslFullPath.c_str());
|
||||
AZ_Warning(ShaderAssetBuilderName, azslExists, "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str());
|
||||
AZ_Warning(ShaderAssetBuilderName, IO::FileIOBase::GetInstance()->Exists(azslFullPath.c_str()), "Shader program listed as the source entry does not exist: %s.", azslFullPath.c_str());
|
||||
GlobalBuildOptions buildOptions = ReadBuildOptions(ShaderAssetBuilderName);
|
||||
// *** end block (remove when [Atom-4225])
|
||||
|
||||
@@ -145,7 +144,7 @@ namespace AZ
|
||||
ShaderAssetBuilderName, prependedAzslSourceCode, originalLocation, ShaderBuilderUtility::ExtractStemName(fullPath.c_str()), shaderPlatformInterface->GetAPIName().GetStringView());
|
||||
PreprocessorData output;
|
||||
buildOptions.m_compilerArguments.Merge(descriptorParseOutput.GetValue().m_compiler);
|
||||
bool result = PreprocessFile(azslFullPath, output, buildOptions.m_preprocessorSettings, true, true);
|
||||
PreprocessFile(azslFullPath, output, buildOptions.m_preprocessorSettings, true, true);
|
||||
// srg layout builder job dependency on the azsl file itself.
|
||||
// If there's a ShaderResourceGroup defined in this azsl file
|
||||
// then its azsrg asset must be ready before We compile it. The azsrg requirement
|
||||
|
||||
@@ -550,11 +550,13 @@ namespace AZ
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(AZ_ENABLE_TRACING)
|
||||
for (const auto& profiling : profilingPerCompiler)
|
||||
{
|
||||
AZ_TracePrintf(builderName, "Compiler: %s\n>\tCalls: %d\n>\tTime: %.2f seconds\n",
|
||||
profiling.first.c_str(), profiling.second.m_calls, profiling.second.m_totalElapsedTime);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
uint32_t MakeAzslBuildProductSubId(RPI::ShaderAssetSubId subId, RHI::APIType apiType)
|
||||
|
||||
@@ -409,13 +409,11 @@ namespace AZ
|
||||
{
|
||||
if (jobParameters.find(ShouldExitEarlyFromProcessJobParam) != jobParameters.end())
|
||||
{
|
||||
const AZStd::string& shaderVariantListPath = jobParameters.at(ShaderVariantLoadErrorParam);
|
||||
AZ_TracePrintf(ShaderVariantAssetBuilderName, "Doing nothing on behalf of [%s] because it's been overriden by game project.", shaderVariantListPath.c_str());
|
||||
AZ_TracePrintf(ShaderVariantAssetBuilderName, "Doing nothing on behalf of [%s] because it's been overriden by game project.", jobParameters.at(ShaderVariantLoadErrorParam).c_str());
|
||||
response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Success;
|
||||
return;
|
||||
}
|
||||
const AZStd::string& errorMessage = jobParameters.at(ShaderVariantLoadErrorParam);
|
||||
AZ_Error(ShaderVariantAssetBuilderName, false, "Error during CreateJobs: %s", errorMessage.c_str());
|
||||
AZ_Error(ShaderVariantAssetBuilderName, false, "Error during CreateJobs: %s", jobParameters.at(ShaderVariantLoadErrorParam).c_str());
|
||||
response.m_resultCode = AssetBuilderSDK::ProcessJobResult_Failed;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -387,12 +387,24 @@ namespace AZ
|
||||
|
||||
if (imageType != RHI::ShaderInputImageType::Unknown)
|
||||
{
|
||||
srgAssetCreator.AddShaderInput({
|
||||
textureData.m_nameId,
|
||||
imageAccess,
|
||||
imageType,
|
||||
textureData.m_count,
|
||||
useRegisterId ? textureData.m_registerId : RHI::UndefinedRegisterSlot });
|
||||
if (textureData.m_count != aznumeric_cast<uint32_t>(-1))
|
||||
{
|
||||
srgAssetCreator.AddShaderInput({
|
||||
textureData.m_nameId,
|
||||
imageAccess,
|
||||
imageType,
|
||||
textureData.m_count,
|
||||
useRegisterId ? textureData.m_registerId : RHI::UndefinedRegisterSlot });
|
||||
}
|
||||
else
|
||||
{
|
||||
// unbounded array
|
||||
srgAssetCreator.AddShaderInput({
|
||||
textureData.m_nameId,
|
||||
imageAccess,
|
||||
imageType,
|
||||
useRegisterId ? textureData.m_registerId : RHI::UndefinedRegisterSlot });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -425,13 +437,26 @@ namespace AZ
|
||||
|
||||
if (bufferType != RHI::ShaderInputBufferType::Unknown)
|
||||
{
|
||||
srgAssetCreator.AddShaderInput({
|
||||
bufferData.m_nameId,
|
||||
bufferAccess,
|
||||
bufferType,
|
||||
bufferData.m_count,
|
||||
bufferData.m_strideSize,
|
||||
useRegisterId ? bufferData.m_registerId : RHI::UndefinedRegisterSlot });
|
||||
if (bufferData.m_count != aznumeric_cast<uint32_t>(-1))
|
||||
{
|
||||
srgAssetCreator.AddShaderInput({
|
||||
bufferData.m_nameId,
|
||||
bufferAccess,
|
||||
bufferType,
|
||||
bufferData.m_count,
|
||||
bufferData.m_strideSize,
|
||||
useRegisterId ? bufferData.m_registerId : RHI::UndefinedRegisterSlot });
|
||||
}
|
||||
else
|
||||
{
|
||||
// unbounded array
|
||||
srgAssetCreator.AddShaderInput({
|
||||
bufferData.m_nameId,
|
||||
bufferAccess,
|
||||
bufferType,
|
||||
bufferData.m_strideSize,
|
||||
useRegisterId ? bufferData.m_registerId : RHI::UndefinedRegisterSlot });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"$type": "DX12::PlatformLimitsDescriptor",
|
||||
|
||||
"m_descriptorHeapLimits": {
|
||||
"DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV": [16384, 131072],
|
||||
"DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV": [16384, 262144],
|
||||
"DESCRIPTOR_HEAP_TYPE_SAMPLER": [2048, 2048],
|
||||
"DESCRIPTOR_HEAP_TYPE_RTV": [2048, 0],
|
||||
"DESCRIPTOR_HEAP_TYPE_DSV": [2048, 0]
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"Type": "JsonSerialization",
|
||||
"Version": 1,
|
||||
"ClassName": "AZ::Render::LightingPreset",
|
||||
"ClassData": {
|
||||
"displayName": "Thumbnail",
|
||||
"iblDiffuseImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{A5767C6B-5DB4-5999-A717-4587BEDF5CDE}",
|
||||
"subId": 3000
|
||||
},
|
||||
"assetHint": "lightingpresets/default_iblskyboxcm_ibldiffuse.exr.streamingimage"
|
||||
},
|
||||
"iblSpecularImageAsset": {
|
||||
"assetId": {
|
||||
"guid": "{A5767C6B-5DB4-5999-A717-4587BEDF5CDE}",
|
||||
"subId": 2000
|
||||
},
|
||||
"assetHint": "lightingpresets/default_iblskyboxcm_iblspecular.exr.streamingimage"
|
||||
},
|
||||
"shadowCatcherOpacity": 0.10000000149011612,
|
||||
"lights": [
|
||||
{
|
||||
"direction": [
|
||||
0.5,
|
||||
1.0,
|
||||
-0.20000000298023225
|
||||
],
|
||||
"shadowCascadeCount": 4,
|
||||
"shadowRatioLogarithmUniform": 1.0,
|
||||
"shadowmapSize": "Size2048"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -60,37 +60,7 @@ ShaderResourceGroupSemantic SRG_RayTracingGlobal
|
||||
FrequencyId = 0;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_1
|
||||
ShaderResourceGroupSemantic SRG_RayTracingScene
|
||||
{
|
||||
FrequencyId = 1;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_2
|
||||
{
|
||||
FrequencyId = 2;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_3
|
||||
{
|
||||
FrequencyId = 3;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_4
|
||||
{
|
||||
FrequencyId = 4;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_5
|
||||
{
|
||||
FrequencyId = 5;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_6
|
||||
{
|
||||
FrequencyId = 6;
|
||||
};
|
||||
|
||||
ShaderResourceGroupSemantic SRG_RayTracingLocal_7
|
||||
{
|
||||
FrequencyId = 7;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,143 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AZ_COLLECTING_PARTIAL_SRGS
|
||||
#error Do not include this file directly. Include the main .srgi file instead.
|
||||
#endif
|
||||
|
||||
partial ShaderResourceGroup RayTracingSceneSrg
|
||||
{
|
||||
RaytracingAccelerationStructure m_scene;
|
||||
|
||||
// directional Lights
|
||||
struct DirectionalLight
|
||||
{
|
||||
float3 m_direction;
|
||||
float m_angularRadius;
|
||||
float3 m_rgbIntensity;
|
||||
float m_padding2;
|
||||
};
|
||||
|
||||
StructuredBuffer<DirectionalLight> m_directionalLights;
|
||||
uint m_directionalLightCount;
|
||||
|
||||
// point Lights
|
||||
struct PointLight
|
||||
{
|
||||
float3 m_position;
|
||||
float m_invAttenuationRadiusSquared;
|
||||
float3 m_rgbIntensity;
|
||||
float m_bulbRadius;
|
||||
};
|
||||
|
||||
StructuredBuffer<PointLight> m_pointLights;
|
||||
uint m_pointLightCount;
|
||||
|
||||
// spot Lights
|
||||
// [GFX TODO][ATOM-4049] separate SRG for lights and shadows.
|
||||
struct SpotLight
|
||||
{
|
||||
float3 m_position;
|
||||
float m_invAttenuationRadiusSquared; // radius at which this light no longer has an effect, 1 / radius^2.
|
||||
float3 m_rgbIntensityCandelas;
|
||||
float m_innerConeAngle; // cosine of the angle from the direction axis at which this light starts to fall off.
|
||||
float3 m_direction; // the direction of the spot light
|
||||
float m_outerConeAngle; // cosine of the angle from the direction axis at which this light no longer has an effect.
|
||||
float m_penumbraBias; // bias of the falloff curve between inner and outer cone angles.
|
||||
int m_shadowIndex; // index for SpotLightShadow.
|
||||
float2 m_padding;
|
||||
};
|
||||
|
||||
StructuredBuffer<SpotLight> m_spotLights;
|
||||
uint m_spotLightCount;
|
||||
|
||||
// disk Lights
|
||||
struct DiskLight
|
||||
{
|
||||
float3 m_position;
|
||||
float m_invAttenuationRadiusSquared; // radius at which this light no longer has an effect, 1 / radius^2.
|
||||
float3 m_direction;
|
||||
float m_bothDirectionsFactor; // 0.0f for one direction, -1.0f for both.
|
||||
float3 m_rgbIntensityCandelas;
|
||||
float m_diskRadius;
|
||||
};
|
||||
|
||||
StructuredBuffer<DiskLight> m_diskLights;
|
||||
uint m_diskLightCount;
|
||||
|
||||
// capsule Lights
|
||||
struct CapsuleLight
|
||||
{
|
||||
float3 m_startPoint; // one of the end points of the capsule
|
||||
float m_radius; // radius of the capsule, ie distance from line segment to surface.
|
||||
float3 m_direction; // normalized vector from m_startPoint towards the other end point.
|
||||
float m_length; // length of the line segment making up the inside of the capsule. Doesn't include caps (0 length capsule == sphere)
|
||||
float3 m_rgbIntensityCandelas; // total rgb luminous intensity of the capsule in candelas
|
||||
float m_invAttenuationRadiusSquared; // inverse of the distance at which this light no longer has an effect, squared. Also used for falloff calculations.
|
||||
};
|
||||
|
||||
StructuredBuffer<CapsuleLight> m_capsuleLights;
|
||||
uint m_capsuleLightCount;
|
||||
|
||||
// quad Lights
|
||||
struct QuadLight
|
||||
{
|
||||
float3 m_position;
|
||||
float m_invAttenuationRadiusSquared; // radius at which this light no longer has an effect, 1 / radius^2.
|
||||
float3 m_leftDir; // direction from center of quad to the left edge
|
||||
float m_halfWidth; // half-width of the quad. m_leftDir * m_halfWidth is a vector from the center to the left edge.
|
||||
float3 m_upDir; // cirection from center of quad to the top edge
|
||||
float m_halfHeight; // half-height of the quad. m_upDir * m_halfHeight is a vector from the center to the top edge.
|
||||
float3 m_rgbIntensityNits;
|
||||
uint m_flags; // see QuadLightFlag enum
|
||||
};
|
||||
|
||||
StructuredBuffer<QuadLight> m_quadLights;
|
||||
uint m_quadLightCount;
|
||||
|
||||
// diffuse IBL
|
||||
Sampler m_diffuseEnvMapSampler
|
||||
{
|
||||
AddressU = Wrap;
|
||||
AddressV = Wrap;
|
||||
MinFilter = Linear;
|
||||
MagFilter = Linear;
|
||||
MipFilter = Linear;
|
||||
};
|
||||
|
||||
TextureCube m_diffuseEnvMap;
|
||||
float4 m_iblOrientation;
|
||||
float m_iblExposure;
|
||||
|
||||
// mesh info structured buffer containing offsets into the mesh buffers, irradiance color, and transform for each mesh
|
||||
struct MeshInfo
|
||||
{
|
||||
uint m_indexOffset;
|
||||
uint m_positionOffset;
|
||||
uint m_normalOffset;
|
||||
float4 m_irradianceColor;
|
||||
float3x3 m_worldInvTranspose;
|
||||
};
|
||||
|
||||
StructuredBuffer<MeshInfo> m_meshInfo;
|
||||
|
||||
// unbounded array of Index, VertexPosition, and VertexNormal buffers
|
||||
// each mesh has three entries in this array starting at its InstanceIndex() * BUFFER_COUNT_PER_MESH
|
||||
#define BUFFER_COUNT_PER_MESH 3
|
||||
#define MESH_INDEX_BUFFER_OFFSET 0
|
||||
#define MESH_POSITION_BUFFER_OFFSET 1
|
||||
#define MESH_NORMAL_BUFFER_OFFSET 2
|
||||
|
||||
ByteAddressBuffer m_meshBuffers[];
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -12,6 +12,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
}
|
||||
// Please review README.md to understand how this file is used in RayTracingSceneSrg.azsrg generation
|
||||
|
||||
#ifdef AZ_COLLECTING_PARTIAL_SRGS
|
||||
#include <Atom/Feature/Common/Assets/ShaderResourceGroups/RayTracingSceneSrg.azsli>
|
||||
#endif
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridblenddistance.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridblenddistance_passsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridblenddistance_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridblenddistance_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridblendirradiance.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridblendirradiance_passsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridblendirradiance_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridblendirradiance_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridborderupdatecolumn.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridborderupdate_passsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridborderupdatecolumn_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridborderupdatecolumn_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridborderupdaterow.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridborderupdate_passsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridborderupdaterow_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridborderupdaterow_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridraytracing.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridraytracing_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridraytracing_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridraytracingclosesthit.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridraytracingclosesthit_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridraytracingclosesthit_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridraytracingmiss.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridraytracingcommon_raytracingglobalsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridraytracingmiss_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridraytracingmiss_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,10 @@
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridrelocation.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridrelocation_passsrg.azsrg"
|
||||
@@ -18,6 +22,10 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridrelocation_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridrelocation_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+15
-7
@@ -4,14 +4,18 @@
|
||||
"ClassName": "PrecompiledShaderAssetSourceData",
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridrender.azshader",
|
||||
"ShaderAssetFileName": "diffuseprobegridrender.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridrender_passsrg.azsrg",
|
||||
"diffuseprobegridrender_objectsrg.azsrg"
|
||||
],
|
||||
"RootShaderVariantAssets":
|
||||
[
|
||||
"diffuseprobegridrender_passsrg.azsrg",
|
||||
"diffuseprobegridrender_objectsrg.azsrg"
|
||||
],
|
||||
"RootShaderVariantAssets":
|
||||
[
|
||||
{
|
||||
"APIName": "dx12",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridrender_dx12_0.azshadervariant"
|
||||
@@ -19,7 +23,11 @@
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridrender_vulkan_0.azshadervariant"
|
||||
}
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridrender_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2776
-2
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2776
-2
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
+530
-2
@@ -44,7 +44,7 @@
|
||||
"field": "element",
|
||||
"typeName": "ShaderResourceGroupLayout",
|
||||
"typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}",
|
||||
"version": 4,
|
||||
"version": 6,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_staticSamplers",
|
||||
@@ -101,6 +101,16 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBufferUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImageUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
@@ -155,6 +165,18 @@
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImageUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForSamplers",
|
||||
"typeName": "unsigned int",
|
||||
@@ -215,6 +237,466 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBufferUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferUnboundedArrayDescriptor>>",
|
||||
"typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImageUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageUnboundedArrayDescriptor>>",
|
||||
"typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForSamplers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputSamplerDescriptor>>",
|
||||
"typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_constantsDataLayout",
|
||||
"typeName": "AZStd::intrusive_ptr",
|
||||
"typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ConstantsLayout",
|
||||
"typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_inputs",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputConstantDescriptor",
|
||||
"typeId": "{C8DC7D2D-CCA0-45AD-9430-52C06B69325C}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_numTexels"
|
||||
},
|
||||
{
|
||||
"field": "m_constantByteOffset",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_constantByteCount",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflection",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputConstantDescriptor>>",
|
||||
"typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputConstantDescriptor>>",
|
||||
"typeId": "{285A5B8D-8218-5E10-B8AE-138374D8D113}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_numTexels"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputConstantDescriptor>",
|
||||
"typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_intervals",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_sizeInBytes",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "2545742961576412904"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_bindingSlot",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, DefaultNamespaceType>",
|
||||
"typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_shaderVariantKeyFallbackSize",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_shaderVariantKeyFallbackConstantIndex",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputConstantDescriptor>",
|
||||
"typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4294967295"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "8492100380431804737"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZStd::pair",
|
||||
"typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "value1",
|
||||
"typeName": "Crc32",
|
||||
"typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Value",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "634125391"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "value2",
|
||||
"typeName": "AZStd::intrusive_ptr",
|
||||
"typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderResourceGroupLayout",
|
||||
"typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}",
|
||||
"version": 6,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_staticSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBuffers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImages",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeTexture"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBufferUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImageUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}"
|
||||
},
|
||||
{
|
||||
"field": "m_intervalsForBuffers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}"
|
||||
},
|
||||
{
|
||||
"field": "m_intervalsForImages",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_intervalsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBuffers",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImageUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForSamplers",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBuffers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferDescriptor>>",
|
||||
"typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImages",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeTexture"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBufferUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferUnboundedArrayDescriptor>>",
|
||||
"typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImageUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageUnboundedArrayDescriptor>>",
|
||||
"typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForSamplers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputSamplerDescriptor>>",
|
||||
@@ -434,7 +916,7 @@
|
||||
"field": "element",
|
||||
"typeName": "ShaderResourceGroupLayout",
|
||||
"typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}",
|
||||
"version": 4,
|
||||
"version": 6,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_staticSamplers",
|
||||
@@ -491,6 +973,16 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBufferUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImageUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
@@ -545,6 +1037,18 @@
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImageUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForSamplers",
|
||||
"typeName": "unsigned int",
|
||||
@@ -605,6 +1109,30 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBufferUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferUnboundedArrayDescriptor>>",
|
||||
"typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImageUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageUnboundedArrayDescriptor>>",
|
||||
"typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForSamplers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputSamplerDescriptor>>",
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+3358
-495266
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+2936
-2
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+3262
-2
File diff suppressed because it is too large
Load Diff
+644
-2
@@ -44,7 +44,7 @@
|
||||
"field": "element",
|
||||
"typeName": "ShaderResourceGroupLayout",
|
||||
"typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}",
|
||||
"version": 4,
|
||||
"version": 6,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_staticSamplers",
|
||||
@@ -253,6 +253,16 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBufferUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImageUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
@@ -327,6 +337,18 @@
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImageUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForSamplers",
|
||||
"typeName": "unsigned int",
|
||||
@@ -415,6 +437,580 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBufferUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferUnboundedArrayDescriptor>>",
|
||||
"typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImageUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageUnboundedArrayDescriptor>>",
|
||||
"typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForSamplers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputSamplerDescriptor>>",
|
||||
"typeId": "{2665EED7-CFB4-582B-B265-107348B1DFAC}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{1545A615-BFD7-515C-A1E9-710570135F08}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_constantsDataLayout",
|
||||
"typeName": "AZStd::intrusive_ptr",
|
||||
"typeId": "{CEB3049A-A620-56C8-AFBA-D0A98304333D}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ConstantsLayout",
|
||||
"typeId": "{66EDAC32-7730-4F05-AF9D-B3CB0F5D90E0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_inputs",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{5FC25C85-DF2F-5219-918C-EBC47D7D6451}"
|
||||
},
|
||||
{
|
||||
"field": "m_idReflection",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputConstantDescriptor>>",
|
||||
"typeId": "{7DE7E4B8-5C98-5F7A-985F-DDEEA5BB5366}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{4B54CC87-1340-5B29-8040-2003033F9B93}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_intervals",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}"
|
||||
},
|
||||
{
|
||||
"field": "m_sizeInBytes",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_bindingSlot",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, DefaultNamespaceType>",
|
||||
"typeId": "{1811456D-0C3D-58C8-ACE8-FD47F4E80E25}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_shaderVariantKeyFallbackSize",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_shaderVariantKeyFallbackConstantIndex",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputConstantDescriptor>",
|
||||
"typeId": "{3F860893-1F57-5615-92CA-389B49687A9C}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4294967295"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "2338845612922673940"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZStd::pair",
|
||||
"typeId": "{5C6406C8-77C9-597F-A3E9-249628D94902}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "value1",
|
||||
"typeName": "Crc32",
|
||||
"typeId": "{9F4E062E-06A0-46D4-85DF-E0DA96467D3A}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Value",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "634125391"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "value2",
|
||||
"typeName": "AZStd::intrusive_ptr",
|
||||
"typeId": "{FF05CAD3-238F-5E19-8FF2-083353BBEC47}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderResourceGroupLayout",
|
||||
"typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}",
|
||||
"version": 6,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_staticSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{D3BC4729-3DE0-57A1-96E0-DCFF98D4D975}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputStaticSamplerDescriptor",
|
||||
"typeId": "{A4D3C5AC-1624-4F78-9543-0E37DC93F491}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "LinearSampler"
|
||||
},
|
||||
{
|
||||
"field": "m_samplerState",
|
||||
"typeName": "SamplerState",
|
||||
"typeId": "{03CF3A01-8C2B-4A65-8781-6C25CFF0475F}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_anisotropyMax",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_anisotropyEnable",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_filterMin",
|
||||
"typeName": "RHI::FilterMode",
|
||||
"typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_filterMag",
|
||||
"typeName": "RHI::FilterMode",
|
||||
"typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_filterMip",
|
||||
"typeName": "RHI::FilterMode",
|
||||
"typeId": "{CFAE2156-0293-4D71-87D5-68F5C9F98884}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_reductionType",
|
||||
"typeName": "RHI::ReductionType",
|
||||
"typeId": "{4230D40D-9984-4254-B062-2DD1CE4E7042}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_comparisonFunc",
|
||||
"typeName": "RHI::ComparisonFunc",
|
||||
"typeId": "{BF11B672-B9C4-4CFF-8228-EA09C4A36C36}",
|
||||
"value": "7"
|
||||
},
|
||||
{
|
||||
"field": "m_addressU",
|
||||
"typeName": "RHI::AddressMode",
|
||||
"typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_addressV",
|
||||
"typeName": "RHI::AddressMode",
|
||||
"typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_addressW",
|
||||
"typeName": "RHI::AddressMode",
|
||||
"typeId": "{977F0D2E-4623-4B9F-B35C-328EEA309F73}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_mipLodMin",
|
||||
"typeName": "float",
|
||||
"typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}",
|
||||
"value": "0.0000000"
|
||||
},
|
||||
{
|
||||
"field": "m_mipLodMax",
|
||||
"typeName": "float",
|
||||
"typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}",
|
||||
"value": "15.0000000"
|
||||
},
|
||||
{
|
||||
"field": "m_mipLodBias",
|
||||
"typeName": "float",
|
||||
"typeId": "{EA2C3E90-AFBE-44D4-A90D-FAAF79BAF93D}",
|
||||
"value": "0.0000000"
|
||||
},
|
||||
{
|
||||
"field": "m_borderColor",
|
||||
"typeName": "RHI::BorderColor",
|
||||
"typeId": "{8A6739E8-538D-47FC-9068-45BCA5B7E5C4}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBuffers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{A4650430-04B9-589A-991F-4B443DCD20EA}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImages",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{909BE4D8-5A22-59A4-A135-4E73662E2D83}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_depth"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_normal"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBufferUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImageUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{4CF286E1-5297-581D-93E9-891166EDAD9A}"
|
||||
},
|
||||
{
|
||||
"field": "m_intervalsForBuffers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}"
|
||||
},
|
||||
{
|
||||
"field": "m_intervalsForImages",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_intervalsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{908FF0AE-802D-5311-A2E0-A6D595FBC480}"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBuffers",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImageUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForSamplers",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBuffers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferDescriptor>>",
|
||||
"typeId": "{A85E274A-4C1D-546F-B18C-452C5700BAE4}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{F4529C0B-A2C0-5A32-A348-59D45FB1776B}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImages",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{BB6D1ABE-9A2F-5F51-93CB-B1B866EFD5B4}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{BBD5D625-992D-5296-A631-9B84B00CE2F1}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_normal"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_depth"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBufferUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferUnboundedArrayDescriptor>>",
|
||||
"typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImageUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageUnboundedArrayDescriptor>>",
|
||||
"typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForSamplers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputSamplerDescriptor>>",
|
||||
@@ -548,7 +1144,7 @@
|
||||
"field": "element",
|
||||
"typeName": "ShaderResourceGroupLayout",
|
||||
"typeId": "{1F92C651-9B83-4379-AB5C-5201F1B2C278}",
|
||||
"version": 4,
|
||||
"version": 6,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_staticSamplers",
|
||||
@@ -757,6 +1353,16 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForBufferUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{DD5102EE-72A9-55F7-AB54-14F228FAE38F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForImageUnboundedArrays",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{8042FF1E-9115-53F7-BE33-3DCDE9C0AB7F}"
|
||||
},
|
||||
{
|
||||
"field": "m_inputsForSamplers",
|
||||
"typeName": "AZStd::vector",
|
||||
@@ -831,6 +1437,18 @@
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForImageUnboundedArrays",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForSamplers",
|
||||
"typeName": "unsigned int",
|
||||
@@ -919,6 +1537,30 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForBufferUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputBufferUnboundedArrayDescriptor>>",
|
||||
"typeId": "{46520159-BC56-5E90-89AD-3CB0A5D295B0}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{CD6D3195-A87A-5E0C-AD4D-23457B3B8DCF}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForImageUnboundedArrays",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputImageUnboundedArrayDescriptor>>",
|
||||
"typeId": "{A33C41AC-ABA0-5A34-9A6B-89BABDC151D7}",
|
||||
"Objects": [
|
||||
{
|
||||
"field": "ReflectionMap",
|
||||
"typeName": "AZStd::vector",
|
||||
"typeId": "{14C5FF00-B370-575F-866B-B19B97F76D82}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "m_idReflectionForSamplers",
|
||||
"typeName": "AZ::RHI::NameIdReflectionMap<AZ::RHI::Handle<unsigned int, ShaderInputSamplerDescriptor>>",
|
||||
|
||||
BIN
Binary file not shown.
@@ -61,8 +61,8 @@ namespace AZ
|
||||
//! Gets the context at the top of the active context stack. Returns nullptr if the stack is emtpy.
|
||||
virtual ImGuiContext* GetActiveContext() = 0;
|
||||
|
||||
//! Allows draw data from a different context to be passed in and rendered to the default context. ImDrawData must be from the ImGui version.
|
||||
virtual bool RenderImGuiBuffersToDefaultPass(const ImDrawData& drawData) = 0;
|
||||
//! Allows draw data from a different context to be passed in and rendered to the current viewport. ImDrawData must be from the ImGui version.
|
||||
virtual bool RenderImGuiBuffersToCurrentViewport(const ImDrawData& drawData) = 0;
|
||||
};
|
||||
|
||||
using ImGuiSystemRequestBus = AZ::EBus<ImGuiSystemRequests>;
|
||||
|
||||
-1
@@ -720,7 +720,6 @@ namespace AZ
|
||||
{
|
||||
using namespace std;
|
||||
|
||||
uint32_t dimRot = (maxBand + 1) * (maxBand + 1);
|
||||
vector<vector<vector<double>>> Rot;
|
||||
for (uint32_t l = 0; l < maxBand + 1; ++l)
|
||||
{
|
||||
|
||||
@@ -432,8 +432,6 @@ namespace AZ
|
||||
return;
|
||||
}
|
||||
|
||||
const RHI::ShaderResourceGroupLayout* shaderResourceGroupLayout = m_shaderData.m_perDrawSrgAsset->GetLayout();
|
||||
|
||||
m_shaderData.m_viewProjectionOverrideIndex.Reset();
|
||||
m_shaderData.m_pointSizeIndex.Reset();
|
||||
|
||||
|
||||
@@ -911,10 +911,10 @@ namespace AZ
|
||||
normals.push_back(normal);
|
||||
}
|
||||
|
||||
uint16_t indexOfBottomCenter = 0;
|
||||
uint16_t indexOfBottomStart = 1;
|
||||
uint16_t indexOfTopCenter = numSections + 1;
|
||||
uint16_t indexOfTopStart = numSections + 2;
|
||||
//uint16_t indexOfBottomCenter = 0;
|
||||
//uint16_t indexOfBottomStart = 1;
|
||||
//uint16_t indexOfTopCenter = numSections + 1;
|
||||
//uint16_t indexOfTopStart = numSections + 2;
|
||||
uint16_t indexOfSidesStart = 2 * numSections + 2;
|
||||
|
||||
// build point indices
|
||||
|
||||
@@ -111,7 +111,7 @@ namespace AZ
|
||||
|
||||
if (m_deviceBufferNeedsUpdate)
|
||||
{
|
||||
bool success = m_lightBufferHandler.UpdateBuffer(m_capsuleLightData.GetDataVector());
|
||||
[[maybe_unused]] bool success = m_lightBufferHandler.UpdateBuffer(m_capsuleLightData.GetDataVector());
|
||||
AZ_Error(FeatureProcessorName, success, "Unable to update buffer during Simulate().");
|
||||
m_deviceBufferNeedsUpdate = false;
|
||||
}
|
||||
|
||||
@@ -146,7 +146,6 @@ namespace AZ
|
||||
void DirectionalLightFeatureProcessor::Activate()
|
||||
{
|
||||
const RHI::ShaderResourceGroupLayout* sceneSrgLayout = RPI::RPISystemInterface::Get()->GetSceneSrgAsset()->GetLayout();
|
||||
const RHI::ShaderResourceGroupLayout* viewSrgLayout = RPI::RPISystemInterface::Get()->GetViewSrgAsset()->GetLayout();
|
||||
|
||||
GpuBufferHandler::Descriptor desc;
|
||||
|
||||
@@ -1111,7 +1110,6 @@ namespace AZ
|
||||
return;
|
||||
}
|
||||
|
||||
ShadowProperty& property = m_shadowProperties.GetData(handle.GetIndex());
|
||||
for (const auto& passIt : m_esmShadowmapsPasses)
|
||||
{
|
||||
const RPI::View* cameraView = passIt.second.front()->GetRenderPipeline()->GetDefaultView().get();
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace AZ
|
||||
void LightCullingPass::SetLightListToSRG()
|
||||
{
|
||||
auto inputIndex = m_shaderResourceGroup->FindShaderInputBufferIndex(AZ::Name("m_lightList"));
|
||||
bool succeeded = m_shaderResourceGroup->SetBuffer(inputIndex, m_lightList);
|
||||
[[maybe_unused]] bool succeeded = m_shaderResourceGroup->SetBuffer(inputIndex, m_lightList);
|
||||
AZ_Assert(succeeded, "SetImage failed for light list");
|
||||
}
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ namespace AZ
|
||||
constantData.depthBufferWidth = resolution.m_width;
|
||||
constantData.depthBufferHeight = resolution.m_height;
|
||||
|
||||
bool setOk = m_shaderResourceGroup->SetConstant(m_constantDataIndex, constantData);
|
||||
[[maybe_unused]] bool setOk = m_shaderResourceGroup->SetConstant(m_constantDataIndex, constantData);
|
||||
AZ_Assert(setOk, "LightCullingTilePreparePass::SetConstantData() - could not set constant data");
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace AZ
|
||||
|
||||
if (m_deviceBufferNeedsUpdate)
|
||||
{
|
||||
bool success = m_decalBufferHandler.UpdateBuffer(m_decalData.GetDataVector<0>());
|
||||
[[maybe_unused]] bool success = m_decalBufferHandler.UpdateBuffer(m_decalData.GetDataVector<0>());
|
||||
AZ_Error(FeatureProcessorName, success, "Unable to update buffer during Simulate().");
|
||||
m_deviceBufferNeedsUpdate = false;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ namespace AZ
|
||||
|
||||
if (m_deviceBufferNeedsUpdate)
|
||||
{
|
||||
bool success = m_decalBufferHandler.UpdateBuffer(m_decalData.GetDataVector());
|
||||
[[maybe_unused]] bool success = m_decalBufferHandler.UpdateBuffer(m_decalData.GetDataVector());
|
||||
AZ_Error(FeatureProcessorName, success, "Unable to update buffer during Simulate().");
|
||||
m_deviceBufferNeedsUpdate = false;
|
||||
}
|
||||
|
||||
@@ -16,14 +16,7 @@
|
||||
#include <Atom/RPI.Public/View.h>
|
||||
#include <Atom/RHI/RHISystemInterface.h>
|
||||
#include <Atom/RHI/Factory.h>
|
||||
#include <Atom/Feature/ImageBasedLights/ImageBasedLightFeatureProcessor.h>
|
||||
#include <AzCore/Math/MathUtils.h>
|
||||
#include <CoreLights/DirectionalLightFeatureProcessor.h>
|
||||
#include <CoreLights/SpotLightFeatureProcessor.h>
|
||||
#include <CoreLights/PointLightFeatureProcessor.h>
|
||||
#include <CoreLights/DiskLightFeatureProcessor.h>
|
||||
#include <CoreLights/CapsuleLightFeatureProcessor.h>
|
||||
#include <CoreLights/QuadLightFeatureProcessor.h>
|
||||
#include <RayTracing/RayTracingFeatureProcessor.h>
|
||||
|
||||
namespace AZ
|
||||
@@ -207,7 +200,7 @@ namespace AZ
|
||||
RHI::ImageInitRequest request;
|
||||
request.m_image = m_rayTraceImage[m_currentImageIndex].get();
|
||||
request.m_descriptor = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::ShaderReadWrite, width, height, DiffuseProbeGridRenderData::RayTraceImageFormat);
|
||||
RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
[[maybe_unused]] RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeRayTraceImage image");
|
||||
}
|
||||
|
||||
@@ -227,7 +220,7 @@ namespace AZ
|
||||
request.m_descriptor = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::ShaderReadWrite, width, height, DiffuseProbeGridRenderData::IrradianceImageFormat);
|
||||
RHI::ClearValue clearValue = RHI::ClearValue::CreateVector4Float(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
request.m_optimizedClearValue = &clearValue;
|
||||
RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
[[maybe_unused]] RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeIrradianceImage image");
|
||||
}
|
||||
|
||||
@@ -241,7 +234,7 @@ namespace AZ
|
||||
RHI::ImageInitRequest request;
|
||||
request.m_image = m_distanceImage[m_currentImageIndex].get();
|
||||
request.m_descriptor = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::ShaderReadWrite, width, height, DiffuseProbeGridRenderData::DistanceImageFormat);
|
||||
RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
[[maybe_unused]] RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeDistanceImage image");
|
||||
}
|
||||
|
||||
@@ -255,7 +248,7 @@ namespace AZ
|
||||
RHI::ImageInitRequest request;
|
||||
request.m_image = m_relocationImage[m_currentImageIndex].get();
|
||||
request.m_descriptor = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::ShaderReadWrite, width, height, DiffuseProbeGridRenderData::RelocationImageFormat);
|
||||
RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
[[maybe_unused]] RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeRelocationImage image");
|
||||
}
|
||||
|
||||
@@ -389,17 +382,8 @@ namespace AZ
|
||||
}
|
||||
|
||||
const RHI::ShaderResourceGroupLayout* srgLayout = m_rayTraceSrg->GetLayout();
|
||||
RHI::ShaderInputImageIndex imageIndex;
|
||||
RHI::ShaderInputBufferIndex bufferIndex;
|
||||
RHI::ShaderInputConstantIndex constantIndex;
|
||||
|
||||
// TLAS
|
||||
RayTracingFeatureProcessor* rayTracingFeatureProcessor = m_scene->GetFeatureProcessor<RayTracingFeatureProcessor>();
|
||||
uint32_t tlasBufferByteCount = aznumeric_cast<uint32_t>(rayTracingFeatureProcessor->GetTlas()->GetTlasBuffer()->GetDescriptor().m_byteCount);
|
||||
RHI::BufferViewDescriptor bufferViewDescriptor = RHI::BufferViewDescriptor::CreateRayTracingTLAS(tlasBufferByteCount);
|
||||
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_scene"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, rayTracingFeatureProcessor->GetTlas()->GetTlasBuffer()->GetBufferView(bufferViewDescriptor).get());
|
||||
RHI::ShaderInputImageIndex imageIndex;
|
||||
|
||||
// probe raytrace
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeRayTrace"));
|
||||
@@ -417,68 +401,6 @@ namespace AZ
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeOffsets"));
|
||||
m_rayTraceSrg->SetImageView(imageIndex, m_relocationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRelocationImageViewDescriptor).get());
|
||||
|
||||
// directional lights
|
||||
const auto directionalLightFP = m_scene->GetFeatureProcessor<DirectionalLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_directionalLights"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, directionalLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_directionalLightCount"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, directionalLightFP->GetLightCount());
|
||||
|
||||
// spot lights
|
||||
const auto spotLightFP = m_scene->GetFeatureProcessor<SpotLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_spotLights"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, spotLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_spotLightCount"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, spotLightFP->GetLightCount());
|
||||
|
||||
// point lights
|
||||
const auto pointLightFP = m_scene->GetFeatureProcessor<PointLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_pointLights"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, pointLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_pointLightCount"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, pointLightFP->GetLightCount());
|
||||
|
||||
// disk lights
|
||||
const auto diskLightFP = m_scene->GetFeatureProcessor<DiskLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_diskLights"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, diskLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_diskLightCount"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, diskLightFP->GetLightCount());
|
||||
|
||||
// capsule lights
|
||||
const auto capsuleLightFP = m_scene->GetFeatureProcessor<CapsuleLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_capsuleLights"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, capsuleLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_capsuleLightCount"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, capsuleLightFP->GetLightCount());
|
||||
|
||||
// quad lights
|
||||
const auto quadLightFP = m_scene->GetFeatureProcessor<QuadLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_quadLights"));
|
||||
m_rayTraceSrg->SetBufferView(bufferIndex, quadLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_quadLightCount"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, quadLightFP->GetLightCount());
|
||||
|
||||
// diffuse environment map for sky hits
|
||||
ImageBasedLightFeatureProcessor* imageBasedLightFeatureProcessor = m_scene->GetFeatureProcessor<ImageBasedLightFeatureProcessor>();
|
||||
if (imageBasedLightFeatureProcessor)
|
||||
{
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_diffuseEnvMap"));
|
||||
m_rayTraceSrg->SetImage(imageIndex, imageBasedLightFeatureProcessor->GetDiffuseImage());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_iblOrientation"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, imageBasedLightFeatureProcessor->GetOrientation());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_iblExposure"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, imageBasedLightFeatureProcessor->GetExposure());
|
||||
}
|
||||
|
||||
// grid settings
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(Name("m_ambientMultiplier"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, m_ambientMultiplier);
|
||||
|
||||
+2
-3
@@ -42,7 +42,6 @@ namespace AZ
|
||||
|
||||
void DiffuseProbeGridFeatureProcessor::Activate()
|
||||
{
|
||||
AZ::RPI::Scene* scene = GetParentScene();
|
||||
RHI::RHISystemInterface* rhiSystem = RHI::RHISystemInterface::Get();
|
||||
|
||||
m_diffuseProbeGrids.reserve(InitialProbeGridAllocationSize);
|
||||
@@ -53,7 +52,7 @@ namespace AZ
|
||||
|
||||
m_bufferPool = RHI::Factory::Get().CreateBufferPool();
|
||||
m_bufferPool->SetName(Name("DiffuseProbeGridBoxBufferPool"));
|
||||
RHI::ResultCode resultCode = m_bufferPool->Init(*rhiSystem->GetDevice(), desc);
|
||||
[[maybe_unused]] RHI::ResultCode resultCode = m_bufferPool->Init(*rhiSystem->GetDevice(), desc);
|
||||
AZ_Error("DiffuseProbeGridFeatureProcessor", resultCode == RHI::ResultCode::Success, "Failed to initialize buffer pool");
|
||||
|
||||
// create box mesh vertices and indices
|
||||
@@ -65,7 +64,7 @@ namespace AZ
|
||||
imagePoolDesc.m_bindFlags = RHI::ImageBindFlags::ShaderReadWrite;
|
||||
|
||||
m_probeGridRenderData.m_imagePool = RHI::Factory::Get().CreateImagePool();
|
||||
RHI::ResultCode result = m_probeGridRenderData.m_imagePool->Init(*rhiSystem->GetDevice(), imagePoolDesc);
|
||||
[[maybe_unused]] RHI::ResultCode result = m_probeGridRenderData.m_imagePool->Init(*rhiSystem->GetDevice(), imagePoolDesc);
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize output image pool");
|
||||
}
|
||||
|
||||
|
||||
+35
-99
@@ -157,56 +157,7 @@ namespace AZ
|
||||
struct ScopeData { };
|
||||
const auto prepareFunction = [this]([[maybe_unused]] RHI::FrameGraphInterface& scopeBuilder, [[maybe_unused]] ScopeData& scopeData) {};
|
||||
|
||||
const auto compileFunction = [this]([[maybe_unused]] const RHI::FrameGraphCompileContext& context, [[maybe_unused]] const ScopeData& scopeData)
|
||||
{
|
||||
// create a SRG array entry for every ray tracing mesh in the scene
|
||||
RPI::Scene* scene = m_pipeline->GetScene();
|
||||
TransformServiceFeatureProcessor* transformFeatureProcessor = scene->GetFeatureProcessor<TransformServiceFeatureProcessor>();
|
||||
RayTracingFeatureProcessor* rayTracingFeatureProcessor = scene->GetFeatureProcessor<RayTracingFeatureProcessor>();
|
||||
|
||||
m_meshVertexPositionBuffer.clear();
|
||||
m_meshVertexNormalBuffer.clear();
|
||||
m_meshIndexBuffer.clear();
|
||||
|
||||
const RayTracingFeatureProcessor::MeshMap& rayTracingMeshes = rayTracingFeatureProcessor->GetMeshes();
|
||||
m_meshCount = 0;
|
||||
for (const auto& mesh : rayTracingMeshes)
|
||||
{
|
||||
const RayTracingFeatureProcessor::SubMeshVector& subMeshes = mesh.second.m_subMeshes;
|
||||
for (const auto& subMesh : subMeshes)
|
||||
{
|
||||
// [GFX TODO][ATOM-14780] SRG support for unbounded arrays
|
||||
// we are limited to 512 meshes until unbounded array support is implemented
|
||||
if (m_meshCount == 512)
|
||||
{
|
||||
AZ_Warning("DiffuseProbeGridRayTracingPass", false, "Maximum number of meshes reached");
|
||||
break;
|
||||
}
|
||||
|
||||
// set irradiance color and worldInverseTranspose constants
|
||||
Vector4 color(subMesh.m_irradianceColor.GetR(), subMesh.m_irradianceColor.GetG(), subMesh.m_irradianceColor.GetB(), 1.0f);
|
||||
|
||||
AZ::Transform meshTransform = transformFeatureProcessor->GetTransformForId(TransformServiceFeatureProcessorInterface::ObjectId(mesh.first));
|
||||
AZ::Transform noScaleTransform = meshTransform;
|
||||
noScaleTransform.ExtractScale();
|
||||
AZ::Matrix3x3 rotationMatrix = Matrix3x3::CreateFromTransform(noScaleTransform);
|
||||
rotationMatrix = rotationMatrix.GetInverseFull().GetTranspose();
|
||||
|
||||
m_closestHitData[m_meshCount].m_materialColor = color;
|
||||
m_closestHitData[m_meshCount].m_worldInvTranspose = rotationMatrix;
|
||||
m_closestHitData[m_meshCount].m_positionOffset = subMesh.m_positionVertexBufferView.GetByteOffset();
|
||||
m_closestHitData[m_meshCount].m_normalOffset = subMesh.m_normalVertexBufferView.GetByteOffset();
|
||||
m_closestHitData[m_meshCount].m_indexOffset = subMesh.m_indexBufferView.GetByteOffset();
|
||||
|
||||
// set vertex and index streams
|
||||
m_meshVertexPositionBuffer.push_back(subMesh.m_positionShaderBufferView.get());
|
||||
m_meshVertexNormalBuffer.push_back(subMesh.m_normalShaderBufferView.get());
|
||||
m_meshIndexBuffer.push_back(subMesh.m_indexShaderBufferView.get());
|
||||
|
||||
m_meshCount++;
|
||||
}
|
||||
}
|
||||
};
|
||||
const auto compileFunction = [this]([[maybe_unused]] const RHI::FrameGraphCompileContext& context, [[maybe_unused]] const ScopeData& scopeData) {};
|
||||
|
||||
const auto executeFunction = [this]([[maybe_unused]] const RHI::FrameGraphExecuteContext& context, [[maybe_unused]] const ScopeData& scopeData)
|
||||
{
|
||||
@@ -214,7 +165,7 @@ namespace AZ
|
||||
RayTracingFeatureProcessor* rayTracingFeatureProcessor = m_pipeline->GetScene()->GetFeatureProcessor<RayTracingFeatureProcessor>();
|
||||
RHI::RayTracingBufferPools& rayTracingBufferPools = rayTracingFeatureProcessor->GetBufferPools();
|
||||
|
||||
if (m_meshCount == 0)
|
||||
if (!rayTracingFeatureProcessor->GetSubMeshCount())
|
||||
{
|
||||
m_rayTracingShaderTable = nullptr;
|
||||
return;
|
||||
@@ -227,7 +178,7 @@ namespace AZ
|
||||
->MissRecord(AZ::Name("Miss"));
|
||||
|
||||
// add a hit group for each mesh to the shader table
|
||||
for (uint32_t i = 0; i < m_meshCount; ++i)
|
||||
for (uint32_t i = 0; i < rayTracingFeatureProcessor->GetSubMeshCount(); ++i)
|
||||
{
|
||||
descriptorBuild->HitGroupRecord(AZ::Name("HitGroup"));
|
||||
}
|
||||
@@ -283,7 +234,7 @@ namespace AZ
|
||||
|
||||
// probe raytrace
|
||||
{
|
||||
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetRayTraceImageAttachmentId(), diffuseProbeGrid->GetRayTraceImage());
|
||||
[[maybe_unused]] RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetRayTraceImageAttachmentId(), diffuseProbeGrid->GetRayTraceImage());
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to import probeRayTraceImage");
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
@@ -296,7 +247,7 @@ namespace AZ
|
||||
|
||||
// probe irradiance
|
||||
{
|
||||
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetIrradianceImageAttachmentId(), diffuseProbeGrid->GetIrradianceImage());
|
||||
[[maybe_unused]] RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetIrradianceImageAttachmentId(), diffuseProbeGrid->GetIrradianceImage());
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to import probeIrradianceImage");
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
@@ -317,7 +268,7 @@ namespace AZ
|
||||
|
||||
// probe distance
|
||||
{
|
||||
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetDistanceImageAttachmentId(), diffuseProbeGrid->GetDistanceImage());
|
||||
[[maybe_unused]] RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetDistanceImageAttachmentId(), diffuseProbeGrid->GetDistanceImage());
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to import probeDistanceImage");
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
@@ -330,7 +281,7 @@ namespace AZ
|
||||
|
||||
// probe relocation
|
||||
{
|
||||
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetRelocationImageAttachmentId(), diffuseProbeGrid->GetRelocationImage());
|
||||
[[maybe_unused]] RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetRelocationImageAttachmentId(), diffuseProbeGrid->GetRelocationImage());
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to import probeRelocationImage");
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
@@ -348,30 +299,18 @@ namespace AZ
|
||||
RPI::Scene* scene = m_pipeline->GetScene();
|
||||
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
|
||||
RayTracingFeatureProcessor* rayTracingFeatureProcessor = scene->GetFeatureProcessor<RayTracingFeatureProcessor>();
|
||||
const Data::Instance<RPI::Buffer> meshInfoBuffer = rayTracingFeatureProcessor->GetMeshInfoBuffer();
|
||||
|
||||
if (rayTracingFeatureProcessor->GetTlas()->GetTlasBuffer() && m_meshCount > 0)
|
||||
if (rayTracingFeatureProcessor->GetTlas()->GetTlasBuffer() &&
|
||||
rayTracingFeatureProcessor->GetMeshInfoBuffer() &&
|
||||
rayTracingFeatureProcessor->GetSubMeshCount())
|
||||
{
|
||||
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
|
||||
{
|
||||
// the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader
|
||||
// inputs (see line ValidateSetImageView() in ShaderResourceGroupData.cpp)
|
||||
diffuseProbeGrid->UpdateRayTraceSrg(m_globalSrgAsset);
|
||||
|
||||
const Data::Instance<RPI::ShaderResourceGroup>& globalSrg = diffuseProbeGrid->GetRayTraceSrg();
|
||||
|
||||
RHI::ShaderInputConstantIndex constantIndex = globalSrg->GetLayout()->FindShaderInputConstantIndex(AZ::Name("m_closestHitData"));
|
||||
globalSrg->SetConstantArray(constantIndex, m_closestHitData);
|
||||
|
||||
RHI::ShaderInputBufferIndex bufferIndex = globalSrg->GetLayout()->FindShaderInputBufferIndex(AZ::Name("m_meshVertexPositions"));
|
||||
globalSrg->SetBufferViewArray(bufferIndex, m_meshVertexPositionBuffer);
|
||||
|
||||
bufferIndex = globalSrg->GetLayout()->FindShaderInputBufferIndex(AZ::Name("m_meshVertexNormals"));
|
||||
globalSrg->SetBufferViewArray(bufferIndex, m_meshVertexNormalBuffer);
|
||||
|
||||
bufferIndex = globalSrg->GetLayout()->FindShaderInputBufferIndex(AZ::Name("m_meshIndices"));
|
||||
globalSrg->SetBufferViewArray(bufferIndex, m_meshIndexBuffer);
|
||||
|
||||
globalSrg->Compile();
|
||||
diffuseProbeGrid->GetRayTraceSrg()->Compile();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -383,35 +322,32 @@ namespace AZ
|
||||
RayTracingFeatureProcessor* rayTracingFeatureProcessor = scene->GetFeatureProcessor<RayTracingFeatureProcessor>();
|
||||
AZ_Assert(rayTracingFeatureProcessor, "DiffuseProbeGridRayTracingPass requires the RayTracingFeatureProcessor");
|
||||
|
||||
if (!rayTracingFeatureProcessor->GetSubMeshCount())
|
||||
if (rayTracingFeatureProcessor &&
|
||||
rayTracingFeatureProcessor->GetTlas()->GetTlasBuffer() &&
|
||||
rayTracingFeatureProcessor->GetSubMeshCount() &&
|
||||
m_rayTracingShaderTable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
// submit the DispatchRaysItem for each DiffuseProbeGrid
|
||||
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
|
||||
{
|
||||
const RHI::ShaderResourceGroup* shaderResourceGroups[] = {
|
||||
diffuseProbeGrid->GetRayTraceSrg()->GetRHIShaderResourceGroup(),
|
||||
rayTracingFeatureProcessor->GetRayTracingSceneSrg()->GetRHIShaderResourceGroup()
|
||||
};
|
||||
|
||||
if (!m_rayTracingShaderTable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
RHI::DispatchRaysItem dispatchRaysItem;
|
||||
dispatchRaysItem.m_width = diffuseProbeGrid->GetNumRaysPerProbe();
|
||||
dispatchRaysItem.m_height = diffuseProbeGrid->GetTotalProbeCount();
|
||||
dispatchRaysItem.m_depth = 1;
|
||||
dispatchRaysItem.m_rayTracingPipelineState = m_rayTracingPipelineState.get();
|
||||
dispatchRaysItem.m_rayTracingShaderTable = m_rayTracingShaderTable.get();
|
||||
dispatchRaysItem.m_shaderResourceGroupCount = RHI::ArraySize(shaderResourceGroups);
|
||||
dispatchRaysItem.m_shaderResourceGroups = shaderResourceGroups;
|
||||
dispatchRaysItem.m_globalPipelineState = m_globalPipelineState.get();
|
||||
|
||||
if (m_meshCount == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// submit the DispatchRaysItem for each DiffuseProbeGrid
|
||||
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
|
||||
{
|
||||
RHI::DispatchRaysItem dispatchRaysItem;
|
||||
dispatchRaysItem.m_width = diffuseProbeGrid->GetNumRaysPerProbe();
|
||||
dispatchRaysItem.m_height = diffuseProbeGrid->GetTotalProbeCount();
|
||||
dispatchRaysItem.m_depth = 1;
|
||||
dispatchRaysItem.m_rayTracingPipelineState = m_rayTracingPipelineState.get();
|
||||
dispatchRaysItem.m_rayTracingShaderTable = m_rayTracingShaderTable.get();
|
||||
dispatchRaysItem.m_globalSrg = diffuseProbeGrid->GetRayTraceSrg()->GetRHIShaderResourceGroup();
|
||||
dispatchRaysItem.m_globalPipelineState = m_globalPipelineState.get();
|
||||
|
||||
// submit the DispatchRays item
|
||||
context.GetCommandList()->Submit(dispatchRaysItem);
|
||||
// submit the DispatchRays item
|
||||
context.GetCommandList()->Submit(dispatchRaysItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
} // namespace RPI
|
||||
|
||||
-19
@@ -71,25 +71,6 @@ namespace AZ
|
||||
Data::Asset<RPI::ShaderResourceGroupAsset> m_globalSrgAsset;
|
||||
RHI::ConstPtr<RHI::PipelineState> m_globalPipelineState;
|
||||
|
||||
struct ClosestHitData
|
||||
{
|
||||
uint32_t m_indexOffset = 0;
|
||||
uint32_t m_positionOffset = 0;
|
||||
uint32_t m_normalOffset = 0;
|
||||
uint32_t m_padding = 0;
|
||||
|
||||
AZ::Vector4 m_materialColor = AZ::Vector4(0.0f);
|
||||
AZ::Matrix3x3 m_worldInvTranspose = AZ::Matrix3x3::CreateIdentity();
|
||||
};
|
||||
|
||||
// [GFX TODO][ATOM-14780] SRG support for unbounded arrays
|
||||
// we are limited to 512 meshes until unbounded array support is implemented
|
||||
AZStd::array<ClosestHitData, 512> m_closestHitData;
|
||||
AZStd::vector<const RHI::BufferView*> m_meshVertexPositionBuffer;
|
||||
AZStd::vector<const RHI::BufferView*> m_meshVertexNormalBuffer;
|
||||
AZStd::vector<const RHI::BufferView*> m_meshIndexBuffer;
|
||||
uint32_t m_meshCount = 0;
|
||||
|
||||
bool m_initialized = false;
|
||||
};
|
||||
} // namespace RPI
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace AZ
|
||||
|
||||
AZ::RHI::AttachmentId imageAttachmentId = AZ::RHI::AttachmentId("DisplayMapperLutImageAttachmentId");
|
||||
// Check and assert that the image attachment id exists (it should've been imported by the write lut pass)
|
||||
auto attachment = frameGraph.GetAttachmentDatabase().IsAttachmentValid(imageAttachmentId);
|
||||
[[maybe_unused]] auto attachment = frameGraph.GetAttachmentDatabase().IsAttachmentValid(imageAttachmentId);
|
||||
AZ_Assert(attachment, "AcesOutputTransformLutPass invalid attachment \"DisplayMapperLutImageAttachmentId\"");
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ namespace AZ
|
||||
AZ_Assert(m_displayMapperLut.m_lutImage != nullptr, "BakeAcesOutputTransformLutPass unable to acquire LUT image");
|
||||
|
||||
AZ::RHI::AttachmentId imageAttachmentId = AZ::RHI::AttachmentId("DisplayMapperLutImageAttachmentId");
|
||||
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(imageAttachmentId, m_displayMapperLut.m_lutImage);
|
||||
[[maybe_unused]] RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(imageAttachmentId, m_displayMapperLut.m_lutImage);
|
||||
AZ_Error("BakeAcesOutputTransformLutPass", result == RHI::ResultCode::Success, "Failed to import compute buffer with error %d", result);
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
|
||||
@@ -158,7 +158,7 @@ namespace AZ
|
||||
auto imguiContextScope = ImguiContextScope(m_imguiContext);
|
||||
auto& io = ImGui::GetIO();
|
||||
io.AddInputCharactersUTF8(textUTF8.c_str());
|
||||
return io.WantCaptureKeyboard;
|
||||
return io.WantTextInput;
|
||||
}
|
||||
|
||||
AZ::s32 ImGuiPass::GetPriority() const
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <Atom/RPI.Public/Pass/PassSystemInterface.h>
|
||||
#include <Atom/RPI.Public/Pass/PassFilter.h>
|
||||
#include <Atom/RPI.Public/ViewportContext.h>
|
||||
#include <Atom/RPI.Public/ViewportContextBus.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
@@ -225,12 +227,29 @@ namespace AZ
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool ImGuiSystemComponent::RenderImGuiBuffersToDefaultPass(const ImDrawData& drawData)
|
||||
bool ImGuiSystemComponent::RenderImGuiBuffersToCurrentViewport(const ImDrawData& drawData)
|
||||
{
|
||||
if (m_defaultImguiPassStack.size() > 0)
|
||||
auto atomViewportRequests = AZ::Interface<AZ::RPI::ViewportContextRequestsInterface>::Get();
|
||||
|
||||
RPI::ViewportContextPtr viewportContext = atomViewportRequests->GetDefaultViewportContext();
|
||||
if (viewportContext == nullptr)
|
||||
{
|
||||
m_defaultImguiPassStack.back()->RenderImguiDrawData(drawData);
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
auto renderPipeline = viewportContext->GetCurrentPipeline();
|
||||
if (renderPipeline == nullptr)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
for (auto imGuiPass : m_defaultImguiPassStack)
|
||||
{
|
||||
if (imGuiPass->GetRenderPipeline() == renderPipeline.get())
|
||||
{
|
||||
imGuiPass->RenderImguiDrawData(drawData);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user