|
@@ -394,8 +394,8 @@ namespace AtomSampleViewer
|
|
|
|
|
|
// Set up the SRGs
|
|
|
{
|
|
|
- const char* floatBufferSrgPath = "shaderlib/atom/rpi/shaderresourcegroups/bindlessprototypesrg_floatbuffersrg.azsrg";
|
|
|
- const char* imageSrgPath = "shaderlib/atom/rpi/shaderresourcegroups/bindlessprototypesrg_imagesrg.azsrg";
|
|
|
+ const char* floatBufferSrgPath = "shaders/rhi/bindlessprototypesrg_floatbuffersrg.azsrg";
|
|
|
+ const char* imageSrgPath = "shaders/rhi/bindlessprototypesrg_imagesrg.azsrg";
|
|
|
|
|
|
// Set the FloatBufferSrg
|
|
|
m_bindlessSrg = std::make_unique<BindlessSrg>(BindlessSrg({
|
|
@@ -468,15 +468,19 @@ namespace AtomSampleViewer
|
|
|
// Set the images
|
|
|
{
|
|
|
Data::Instance<AZ::RPI::ShaderResourceGroup> imageSrg = m_bindlessSrg->GetSrg(m_imageSrgName);
|
|
|
- AZ::RHI::ShaderInputImageIndex imageIndex = imageSrg->FindShaderInputImageIndex(AZ::Name(textureArrayId));
|
|
|
+ AZ::RHI::ShaderInputImageUnboundedArrayIndex imageIndex = imageSrg->FindShaderInputImageUnboundedArrayIndex(AZ::Name(textureArrayId));
|
|
|
|
|
|
- for (uint32_t textuerIdx = 0u; textuerIdx < InternalBP::ImageCount; textuerIdx++)
|
|
|
+ AZStd::vector<const RHI::ImageView*> imageViews;
|
|
|
+ for (uint32_t textureIdx = 0u; textureIdx < InternalBP::ImageCount; textureIdx++)
|
|
|
{
|
|
|
- AZ::Data::Instance<AZ::RPI::StreamingImage> image = LoadStreamingImage(InternalBP::Images[textuerIdx], InternalBP::SampleName);
|
|
|
- [[maybe_unused]] bool result = imageSrg->SetImage(imageIndex, image, textuerIdx);
|
|
|
- AZ_Assert(result, "Failed to set image into shader resource group.");
|
|
|
+ AZ::Data::Instance<AZ::RPI::StreamingImage> image = LoadStreamingImage(InternalBP::Images[textureIdx], InternalBP::SampleName);
|
|
|
+ m_images.push_back(image);
|
|
|
+ imageViews.push_back(image->GetImageView());
|
|
|
}
|
|
|
|
|
|
+ [[maybe_unused]] bool result = imageSrg->SetImageViewUnboundedArray(imageIndex, imageViews);
|
|
|
+ AZ_Assert(result, "Failed to set image view unbounded array into shader resource group.");
|
|
|
+
|
|
|
// Compile the image SRG
|
|
|
imageSrg->Compile();
|
|
|
}
|