Kaynağa Gözat

Added RHI feature flag for unbounded arrays

dmcdiar 4 yıl önce
ebeveyn
işleme
fcbdd9e418

+ 3 - 0
Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/DeviceFeatures.h

@@ -76,6 +76,9 @@ namespace AZ
             //! Whether Ray Tracing support is available.
             bool m_rayTracing = false;
 
+            //! Whether Unbounded Array support is available.
+            bool m_unboundedArrays = false;
+
             /// Additional features here.
         };
     }

+ 2 - 0
Gems/Atom/RHI/DX12/Code/Source/RHI/Device.cpp

@@ -166,6 +166,8 @@ namespace AZ
             m_features.m_rayTracing = false;
 #endif
 
+            m_features.m_unboundedArrays = true;
+
             m_limits.m_maxImageDimension1D = D3D12_REQ_TEXTURE1D_U_DIMENSION;
             m_limits.m_maxImageDimension2D = D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION;
             m_limits.m_maxImageDimension3D = D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION;

+ 1 - 0
Gems/Atom/RHI/Vulkan/Code/Source/RHI/Device.cpp

@@ -720,6 +720,7 @@ namespace AZ
             StringList deviceExtensions = physicalDevice.GetDeviceExtensionNames();
             StringList::iterator itRayTracingExtension = AZStd::find(deviceExtensions.begin(), deviceExtensions.end(), VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME);
             m_features.m_rayTracing = (itRayTracingExtension != deviceExtensions.end());
+            m_features.m_unboundedArrays = true;
 
             const auto& deviceLimits = physicalDevice.GetDeviceLimits();
             m_limits.m_maxImageDimension1D = deviceLimits.maxImageDimension1D;