浏览代码

Fixes based on comments

Signed-off-by: Akio Gaule <[email protected]>
Akio Gaule 2 年之前
父节点
当前提交
80f419f747
共有 2 个文件被更改,包括 5 次插入6 次删除
  1. 5 5
      Gem/Code/Source/RHI/VariableRateShadingExampleComponent.cpp
  2. 0 1
      Shaders/RHI/VariableRateShading.azsl

+ 5 - 5
Gem/Code/Source/RHI/VariableRateShadingExampleComponent.cpp

@@ -112,7 +112,6 @@ namespace AtomSampleViewer
         AZ::RHI::RHISystemNotificationBus::Handler::BusConnect();
         AZ::RHI::RHISystemNotificationBus::Handler::BusConnect();
         AzFramework::InputChannelEventListener::Connect();
         AzFramework::InputChannelEventListener::Connect();
 
 
-
         RHI::Ptr<RHI::Device> device = Utils::GetRHIDevice();
         RHI::Ptr<RHI::Device> device = Utils::GetRHIDevice();
         const auto& deviceFeatures = device->GetFeatures();
         const auto& deviceFeatures = device->GetFeatures();
         if (!RHI::CheckBitsAll(deviceFeatures.m_shadingRateTypeMask, RHI::ShadingRateTypeFlags::PerImage))
         if (!RHI::CheckBitsAll(deviceFeatures.m_shadingRateTypeMask, RHI::ShadingRateTypeFlags::PerImage))
@@ -125,7 +124,7 @@ namespace AtomSampleViewer
             m_useDrawShadingRate = false;
             m_useDrawShadingRate = false;
         }
         }
 
 
-        if (RHI::CheckBitsAll(deviceFeatures.m_shadingRateTypeMask, RHI::ShadingRateTypeFlags::PerImage))
+        if (m_useImageShadingRate)
         {
         {
             for (uint32_t i = 0; i < static_cast<uint32_t>(RHI::Format::Count); ++i)
             for (uint32_t i = 0; i < static_cast<uint32_t>(RHI::Format::Count); ++i)
             {
             {
@@ -179,7 +178,7 @@ namespace AtomSampleViewer
         uint32_t formatSize = GetFormatSize(m_rateShadingImageFormat);
         uint32_t formatSize = GetFormatSize(m_rateShadingImageFormat);
         uint32_t bufferSize = width * height * formatSize;
         uint32_t bufferSize = width * height * formatSize;
         AZStd::vector<uint8_t> shadingRatePatternData(bufferSize);
         AZStd::vector<uint8_t> shadingRatePatternData(bufferSize);
-        if (RHI::CheckBitsAll(device->GetFeatures().m_shadingRateTypeMask, RHI::ShadingRateTypeFlags::PerImage))
+        if (m_useImageShadingRate)
         {
         {
             // Use the lowest shading rate as the default value.
             // Use the lowest shading rate as the default value.
             RHI::ShadingRateImageValue defaultValue = device->ConvertShadingRate(m_supportedModes[m_supportedModes.size() - 1]);
             RHI::ShadingRateImageValue defaultValue = device->ConvertShadingRate(m_supportedModes[m_supportedModes.size() - 1]);
@@ -283,10 +282,11 @@ namespace AtomSampleViewer
 
 
         RHI::Ptr<RHI::Device> device = Utils::GetRHIDevice();
         RHI::Ptr<RHI::Device> device = Utils::GetRHIDevice();
 
 
+        constexpr uint32_t elementsCount = 4;
         struct Pattern
         struct Pattern
         {
         {
-            float m_distance[4];
-            uint32_t m_rate[4];
+            float m_distance[elementsCount];
+            uint32_t m_rate[elementsCount];
         };
         };
 
 
         struct Color
         struct Color

+ 0 - 1
Shaders/RHI/VariableRateShading.azsl

@@ -39,7 +39,6 @@ VSOutput MainVS(VSInput vsInput)
     return OUT;
     return OUT;
 }
 }
 
 
-
 struct PSOutput
 struct PSOutput
 {
 {
     float4 m_color : SV_Target0;
     float4 m_color : SV_Target0;