Browse Source

Miscellaneous fixes and PAL changes required for restricted platforms. (#4021)

* Miscellaneous fixes and PAL changes required for restricted platforms.

Signed-off-by: bosnichd <[email protected]>

* Rename O3DE::ProjectManager::ProjectUtils::ReplaceFile -> ReplaceProjectFile to prevent conflict with Windows ReplaceFile #define

Signed-off-by: bosnichd <[email protected]>
bosnichd 3 năm trước cách đây
mục cha
commit
9976ee2b8e
22 tập tin đã thay đổi với 172 bổ sung143 xóa
  1. 1 0
      Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h
  2. 1 1
      Code/Framework/AzFramework/AzFramework/ProjectManager/ProjectManager.cpp
  3. 3 2
      Code/Legacy/CryCommon/WinBase.cpp
  4. 0 1
      Code/Legacy/CrySystem/System.cpp
  5. 0 4
      Code/Legacy/CrySystem/SystemWin32.cpp
  6. 1 1
      Code/Tools/ProjectManager/Source/ProjectUtils.cpp
  7. 1 1
      Code/Tools/ProjectManager/Source/ProjectUtils.h
  8. 1 1
      Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp
  9. 1 1
      Code/Tools/ProjectManager/tests/UtilsTests.cpp
  10. 8 0
      Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/Device_Windows.cpp
  11. 10 0
      Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Platform.h
  12. 55 1
      Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.cpp
  13. 60 0
      Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.h
  14. 2 0
      Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/platform_private_windows_files.cmake
  15. 4 0
      Gems/Atom/RHI/DX12/Code/Source/RHI/Device.h
  16. 2 2
      Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingPipelineState.cpp
  17. 0 73
      Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.cpp
  18. 1 53
      Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.h
  19. 0 1
      Gems/Atom/RHI/DX12/Code/atom_rhi_dx12_private_common_files.cmake
  20. 3 0
      Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt
  21. 8 1
      Gems/Atom/RHI/Vulkan/Code/Source/Platform/Common/Unimplemented/ModuleStub_Unimplemented.cpp
  22. 10 0
      Gems/PhysX/Code/physx_unsupported_files.cmake

+ 1 - 0
Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h

@@ -18,6 +18,7 @@
 #include <AzCore/std/functional.h>
 #include <AzCore/std/parallel/thread.h>
 #include <AzCore/std/string/string.h>
+#include <AzCore/PlatformIncl.h>
 
 #include <AzFramework/CommandLine/CommandLine.h>
 

+ 1 - 1
Code/Framework/AzFramework/AzFramework/ProjectManager/ProjectManager.cpp

@@ -83,7 +83,7 @@ namespace AzFramework::ProjectManager
         return ProjectPathCheckResult::ProjectManagerLaunchFailed;
     }
 
-    bool LaunchProjectManager(const AZStd::string& commandLineArgs)
+    bool LaunchProjectManager([[maybe_unused]]const AZStd::string& commandLineArgs)
     {
         bool launchSuccess = false;
 #if (AZ_TRAIT_AZFRAMEWORK_USE_PROJECT_MANAGER)

+ 3 - 2
Code/Legacy/CryCommon/WinBase.cpp

@@ -6,9 +6,10 @@
  *
  */
 
+#include <AzCore/AzCore_Traits_Platform.h>
 
 // Description : Linux/Mac port support for Win32API calls
-#if !defined(WIN32)
+#if AZ_TRAIT_LEGACY_CRYCOMMON_USE_WINDOWS_STUBS
 
 #include "platform.h" // Note: This should be first to get consistent debugging definitions
 
@@ -1391,4 +1392,4 @@ __finddata64_t::~__finddata64_t()
 }
 #endif //defined(APPLE) || defined(LINUX)
 
-#endif // !defined(WIN32)
+#endif // AZ_TRAIT_LEGACY_CRYCOMMON_USE_WINDOWS_STUBS

+ 0 - 1
Code/Legacy/CrySystem/System.cpp

@@ -131,7 +131,6 @@ LRESULT WINAPI WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 #include "SystemEventDispatcher.h"
 #include "HMDBus.h"
 
-#include "zlib.h"
 #include "RemoteConsole/RemoteConsole.h"
 
 #include <PNoise3.h>

+ 0 - 4
Code/Legacy/CrySystem/SystemWin32.cpp

@@ -273,11 +273,7 @@ static const char* GetLastSystemErrorMessage()
 
         return szBuffer;
     }
-#else
-    return 0;
-
 #endif //WIN32
-
     return 0;
 }
 

+ 1 - 1
Code/Tools/ProjectManager/Source/ProjectUtils.cpp

@@ -441,7 +441,7 @@ namespace O3DE::ProjectManager
             return true;
         }
 
-        bool ReplaceFile(const QString& origFile, const QString& newFile, QWidget* parent, bool interactive)
+        bool ReplaceProjectFile(const QString& origFile, const QString& newFile, QWidget* parent, bool interactive)
         {
             QFileInfo original(origFile);
             if (original.exists())

+ 1 - 1
Code/Tools/ProjectManager/Source/ProjectUtils.h

@@ -25,7 +25,7 @@ namespace O3DE::ProjectManager
         bool DeleteProjectFiles(const QString& path, bool force = false);
         bool MoveProject(QString origPath, QString newPath, QWidget* parent, bool skipRegister = false);
 
-        bool ReplaceFile(const QString& origFile, const QString& newFile, QWidget* parent = nullptr, bool interactive = true);
+        bool ReplaceProjectFile(const QString& origFile, const QString& newFile, QWidget* parent = nullptr, bool interactive = true);
 
         bool FindSupportedCompiler(QWidget* parent = nullptr);
         AZ::Outcome<void, QString> FindSupportedCompilerForPlatform();

+ 1 - 1
Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp

@@ -242,7 +242,7 @@ namespace O3DE::ProjectManager
 
             if (!newProjectSettings.m_newPreviewImagePath.isEmpty())
             {
-                if (!ProjectUtils::ReplaceFile(
+                if (!ProjectUtils::ReplaceProjectFile(
                         QDir(newProjectSettings.m_path).filePath(newProjectSettings.m_iconPath), newProjectSettings.m_newPreviewImagePath))
                 {
                     QMessageBox::critical(this, tr("File replace failed"), tr("Failed to replace project preview image."));

+ 1 - 1
Code/Tools/ProjectManager/tests/UtilsTests.cpp

@@ -202,7 +202,7 @@ namespace O3DE::ProjectManager
         TEST_F(ProjectManagerUtilsTests, ReplaceFile_Succeeds)
 #endif // !AZ_TRAIT_DISABLE_FAILED_PROJECT_MANAGER_TESTS
         {
-            EXPECT_TRUE(ReplaceFile(m_projectAOrigFilePath, m_projectAReplaceFilePath, nullptr, false));
+            EXPECT_TRUE(ReplaceProjectFile(m_projectAOrigFilePath, m_projectAReplaceFilePath, nullptr, false));
 
             QFile origFile(m_projectAOrigFilePath);
             EXPECT_TRUE(origFile.open(QIODevice::ReadOnly));

+ 8 - 0
Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/Device_Windows.cpp

@@ -258,6 +258,14 @@ namespace AZ
             return RHI::ResultCode::Success;
         }
 
+        RHI::ResultCode Device::CreateSwapChain(
+            [[maybe_unused]] const DXGI_SWAP_CHAIN_DESCX& swapChainDesc,
+            [[maybe_unused]] AZStd::array<RHI::Ptr<ID3D12Resource>, RHI::Limits::Device::FrameCountMax>& outSwapChainResources)
+        {
+            AZ_Assert(false, "Wrong Device::CreateSwapChain function called on Windows.");
+            return RHI::ResultCode::Fail;
+        }
+
         AZStd::vector<RHI::Format> Device::GetValidSwapChainImageFormats(const RHI::WindowHandle& windowHandle) const
         {
             AZStd::vector<RHI::Format> formatsList;

+ 10 - 0
Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Platform.h

@@ -0,0 +1,10 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+#pragma once
+
+#include <RHI/SwapChain_Windows.h>

+ 55 - 1
Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.cpp

@@ -5,15 +5,28 @@
  * SPDX-License-Identifier: Apache-2.0 OR MIT
  *
  */
-#include <RHI/SwapChain.h>
+
+#include <RHI/SwapChain_Windows.h>
+
 #include <RHI/Device.h>
 #include <RHI/Conversions.h>
+#include <RHI/Image.h>
 #include <RHI/NsightAftermath.h>
 
 namespace AZ
 {
     namespace DX12
     {
+        RHI::Ptr<SwapChain> SwapChain::Create()
+        {
+            return aznew SwapChain();
+        }
+
+        Device& SwapChain::GetDevice() const
+        {
+            return static_cast<Device&>(RHI::SwapChain::GetDevice());
+        }
+
         RHI::ResultCode SwapChain::InitInternal(RHI::Device& deviceBase, const RHI::SwapChainDescriptor& descriptor, RHI::SwapChainDimensions* nativeDimensions)
         {
             // Check whether tearing support is available for full screen borderless windowed mode.
@@ -165,6 +178,47 @@ namespace AZ
             return GetCurrentImageIndex();
         }
 
+        RHI::ResultCode SwapChain::InitImageInternal(const InitImageRequest& request)
+        {
+            Device& device = GetDevice();
+
+            Microsoft::WRL::ComPtr<ID3D12Resource> resource;
+            DX12::AssertSuccess(m_swapChain->GetBuffer(request.m_imageIndex, IID_GRAPHICS_PPV_ARGS(resource.GetAddressOf())));
+
+            D3D12_RESOURCE_ALLOCATION_INFO allocationInfo;
+            device.GetImageAllocationInfo(request.m_descriptor, allocationInfo);
+
+            Name name(AZStd::string::format("SwapChainImage_%d", request.m_imageIndex));
+
+            Image& image = static_cast<Image&>(*request.m_image);
+            image.m_memoryView = MemoryView(resource.Get(), 0, allocationInfo.SizeInBytes, allocationInfo.Alignment, MemoryViewType::Image);
+            image.SetName(name);
+            image.GenerateSubresourceLayouts();
+            // Overwrite m_initialAttachmentState because Swapchain images are created with D3D12_RESOURCE_STATE_COMMON state
+            image.SetAttachmentState(D3D12_RESOURCE_STATE_COMMON);
+
+            RHI::HeapMemoryUsage& memoryUsage = m_memoryUsage.GetHeapMemoryUsage(RHI::HeapMemoryLevel::Device);
+            memoryUsage.m_reservedInBytes += allocationInfo.SizeInBytes;
+            memoryUsage.m_residentInBytes += allocationInfo.SizeInBytes;
+
+            return RHI::ResultCode::Success;
+        }
+
+        void SwapChain::ShutdownResourceInternal(RHI::Resource& resourceBase)
+        {
+            Image& image = static_cast<Image&>(resourceBase);
+
+            const size_t sizeInBytes = image.GetMemoryView().GetSize();
+
+            RHI::HeapMemoryUsage& memoryUsage = m_memoryUsage.GetHeapMemoryUsage(RHI::HeapMemoryLevel::Device);
+            memoryUsage.m_reservedInBytes -= sizeInBytes;
+            memoryUsage.m_residentInBytes -= sizeInBytes;
+
+            GetDevice().QueueForRelease(image.m_memoryView);
+
+            image.m_memoryView = {};
+        }
+
         RHI::ResultCode SwapChain::ResizeInternal(const RHI::SwapChainDimensions& dimensions, RHI::SwapChainDimensions* nativeDimensions)
         {
             GetDevice().WaitForIdle();

+ 60 - 0
Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+#pragma once
+
+#include <Atom/RHI/SwapChain.h>
+#include <RHI/DX12.h>
+
+namespace AZ
+{
+    namespace DX12
+    {
+        class Device;
+
+        class SwapChain
+            : public RHI::SwapChain
+        {
+        public:
+            AZ_RTTI(SwapChain, "{974AC6A9-5009-47BE-BD7E-61348BF623F0}", RHI::SwapChain);
+            AZ_CLASS_ALLOCATOR(SwapChain, AZ::SystemAllocator, 0);
+
+            static RHI::Ptr<SwapChain> Create();
+
+            Device& GetDevice() const;
+
+        private:
+            SwapChain() = default;
+            friend class SwapChainFactory;
+
+            //////////////////////////////////////////////////////////////////////////
+            // RHI::SwapChain
+            RHI::ResultCode InitInternal(RHI::Device& deviceBase, const RHI::SwapChainDescriptor& descriptor, RHI::SwapChainDimensions* nativeDimensions) override;
+            void ShutdownInternal() override;
+            uint32_t PresentInternal() override;
+            RHI::ResultCode InitImageInternal(const InitImageRequest& request) override;
+            void ShutdownResourceInternal(RHI::Resource& resourceBase) override;
+            RHI::ResultCode ResizeInternal(const RHI::SwapChainDimensions& dimensions, RHI::SwapChainDimensions* nativeDimensions) override;
+            bool IsExclusiveFullScreenPreferred() const override;
+            bool GetExclusiveFullScreenState() const override;
+            bool SetExclusiveFullScreenState(bool fullScreenState) override;
+            //////////////////////////////////////////////////////////////////////////
+
+            void ConfigureDisplayMode(const RHI::SwapChainDimensions& dimensions);
+            void EnsureColorSpace(const DXGI_COLOR_SPACE_TYPE& colorSpace);
+            void DisableHdr();
+            void SetHDRMetaData(float maxOutputNits, float minOutputNits, float maxContentLightLevel, float maxFrameAverageLightLevel);
+
+            static const uint32_t InvalidColorSpace = 0xFFFFFFFE;
+            DXGI_COLOR_SPACE_TYPE m_colorSpace = static_cast<DXGI_COLOR_SPACE_TYPE>(InvalidColorSpace);
+
+            RHI::Ptr<IDXGISwapChainX> m_swapChain;
+            bool m_isInFullScreenExclusiveState = false; //!< Was SetFullscreenState used to enter full screen exclusive state?
+            bool m_isTearingSupported = false; //!< Is tearing support available for full screen borderless windowed mode?
+        };
+    }
+}

+ 2 - 0
Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/platform_private_windows_files.cmake

@@ -22,7 +22,9 @@ set(FILES
     RHI/DX12_Windows.cpp
     RHI/DX12_Windows.h
     RHI/SystemComponent_Windows.cpp
+    RHI/SwapChain_Platform.h
     RHI/SwapChain_Windows.cpp
+    RHI/SwapChain_Windows.h
     RHI/NsightAftermathGpuCrashTracker_Windows.cpp
     RHI/NsightAftermathGpuCrashTracker_Windows.h
     RHI/NsightAftermath_Windows.cpp

+ 4 - 0
Gems/Atom/RHI/DX12/Code/Source/RHI/Device.h

@@ -57,6 +57,10 @@ namespace AZ
                 const DXGI_SWAP_CHAIN_DESCX& swapChainDesc,
                 RHI::Ptr<IDXGISwapChainX>& swapChain);
 
+            RHI::ResultCode CreateSwapChain(
+                const DXGI_SWAP_CHAIN_DESCX& swapChainDesc,
+                AZStd::array<RHI::Ptr<ID3D12Resource>, RHI::Limits::Device::FrameCountMax>& outSwapChainResources);
+
             void GetImageAllocationInfo(
                 const RHI::ImageDescriptor& descriptor,
                 D3D12_RESOURCE_ALLOCATION_INFO& info);

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

@@ -28,11 +28,11 @@ namespace AZ
         }
 #endif
 
-        RHI::ResultCode RayTracingPipelineState::InitInternal(RHI::Device& deviceBase, [[maybe_unused]]const RHI::RayTracingPipelineStateDescriptor* descriptor)
+        RHI::ResultCode RayTracingPipelineState::InitInternal([[maybe_unused]]RHI::Device& deviceBase, [[maybe_unused]]const RHI::RayTracingPipelineStateDescriptor* descriptor)
         {
+#ifdef AZ_DX12_DXR_SUPPORT
             Device& device = static_cast<Device&>(deviceBase);
 
-#ifdef AZ_DX12_DXR_SUPPORT
             size_t dxilLibraryCount = descriptor->GetShaderLibraries().size();
             size_t hitGroupCount = descriptor->GetHitGroups().size();
        

+ 0 - 73
Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.cpp

@@ -1,73 +0,0 @@
-/*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
-#include <RHI/SwapChain.h>
-#include <RHI/Device.h>
-#include <RHI/Conversions.h>
-#include <RHI/Image.h>
-#include <Atom/RHI/MemoryStatisticsBuilder.h>
-#include <Atom/RHI.Reflect/AttachmentEnums.h>
-#include <AzCore/std/string/string.h>
-#include <AzCore/std/string/conversions.h>
-
-namespace AZ
-{
-    namespace DX12
-    {
-        RHI::Ptr<SwapChain> SwapChain::Create()
-        {
-            return aznew SwapChain();
-        }
-
-        Device& SwapChain::GetDevice() const
-        {
-            return static_cast<Device&>(Base::GetDevice());
-        }
-
-        RHI::ResultCode SwapChain::InitImageInternal(const InitImageRequest& request)
-        {
-
-            Device& device = GetDevice();
-
-            Microsoft::WRL::ComPtr<ID3D12Resource> resource;
-            DX12::AssertSuccess(m_swapChain->GetBuffer(request.m_imageIndex, IID_GRAPHICS_PPV_ARGS(resource.GetAddressOf())));
-
-            D3D12_RESOURCE_ALLOCATION_INFO allocationInfo;
-            device.GetImageAllocationInfo(request.m_descriptor, allocationInfo);
-
-            Name name(AZStd::string::format("SwapChainImage_%d", request.m_imageIndex));
-
-            Image& image = static_cast<Image&>(*request.m_image);
-            image.m_memoryView = MemoryView(resource.Get(), 0, allocationInfo.SizeInBytes, allocationInfo.Alignment, MemoryViewType::Image);
-            image.SetName(name);
-            image.GenerateSubresourceLayouts();
-            // Overwrite m_initialAttachmentState because Swapchain images are created with D3D12_RESOURCE_STATE_COMMON state
-            image.SetAttachmentState(D3D12_RESOURCE_STATE_COMMON);
-
-            RHI::HeapMemoryUsage& memoryUsage = m_memoryUsage.GetHeapMemoryUsage(RHI::HeapMemoryLevel::Device);
-            memoryUsage.m_reservedInBytes += allocationInfo.SizeInBytes;
-            memoryUsage.m_residentInBytes += allocationInfo.SizeInBytes;
-
-            return RHI::ResultCode::Success;
-        }
-
-        void SwapChain::ShutdownResourceInternal(RHI::Resource& resourceBase)
-        {
-            Image& image = static_cast<Image&>(resourceBase);
-
-            const size_t sizeInBytes = image.GetMemoryView().GetSize();
-
-            RHI::HeapMemoryUsage& memoryUsage = m_memoryUsage.GetHeapMemoryUsage(RHI::HeapMemoryLevel::Device);
-            memoryUsage.m_reservedInBytes -= sizeInBytes;
-            memoryUsage.m_residentInBytes -= sizeInBytes;
-
-            GetDevice().QueueForRelease(image.m_memoryView);
-
-            image.m_memoryView = {};
-        }
-    }
-}

+ 1 - 53
Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.h

@@ -7,56 +7,4 @@
  */
 #pragma once
 
-#include <Atom/RHI/SwapChain.h>
-#include <RHI/DX12.h>
-
-namespace AZ
-{
-    namespace DX12
-    {
-        class Device;
-        class Image;
-        class CommandQueue;
-
-        class SwapChain
-            : public RHI::SwapChain
-        {
-            using Base = RHI::SwapChain;
-        public:
-            AZ_RTTI(SwapChain, "{974AC6A9-5009-47BE-BD7E-61348BF623F0}", Base);
-            AZ_CLASS_ALLOCATOR(SwapChain, AZ::SystemAllocator, 0);
-
-            static RHI::Ptr<SwapChain> Create();
-
-            Device& GetDevice() const;
-
-        private:
-            SwapChain() = default;
-
-            //////////////////////////////////////////////////////////////////////////
-            // RHI::SwapChain
-            RHI::ResultCode InitInternal(RHI::Device& deviceBase, const RHI::SwapChainDescriptor& descriptor, RHI::SwapChainDimensions* nativeDimensions) override;
-            void ShutdownInternal() override;
-            uint32_t PresentInternal() override;
-            RHI::ResultCode InitImageInternal(const InitImageRequest& request) override;
-            void ShutdownResourceInternal(RHI::Resource& resourceBase) override;
-            RHI::ResultCode ResizeInternal(const RHI::SwapChainDimensions& dimensions, RHI::SwapChainDimensions* nativeDimensions) override;
-            bool IsExclusiveFullScreenPreferred() const override;
-            bool GetExclusiveFullScreenState() const override;
-            bool SetExclusiveFullScreenState(bool fullScreenState) override;
-            //////////////////////////////////////////////////////////////////////////
-
-            void ConfigureDisplayMode(const RHI::SwapChainDimensions& dimensions);
-            void EnsureColorSpace(const DXGI_COLOR_SPACE_TYPE& colorSpace);
-            void DisableHdr();
-            void SetHDRMetaData(float maxOutputNits, float minOutputNits, float maxContentLightLevel, float maxFrameAverageLightLevel);
-
-            static const uint32_t InvalidColorSpace = 0xFFFFFFFE;
-            DXGI_COLOR_SPACE_TYPE m_colorSpace = static_cast<DXGI_COLOR_SPACE_TYPE>(InvalidColorSpace);
-
-            RHI::Ptr<IDXGISwapChainX> m_swapChain;
-            bool m_isInFullScreenExclusiveState = false; //!< Was SetFullscreenState used to enter full screen exclusive state?
-            bool m_isTearingSupported = false; //!< Is tearing support available for full screen borderless windowed mode?
-        };
-    }
-}
+#include <RHI/SwapChain_Platform.h>

+ 0 - 1
Gems/Atom/RHI/DX12/Code/atom_rhi_dx12_private_common_files.cmake

@@ -95,7 +95,6 @@ set(FILES
     Source/RHI/ShaderResourceGroup.h
     Source/RHI/ShaderResourceGroupPool.cpp
     Source/RHI/ShaderResourceGroupPool.h
-    Source/RHI/SwapChain.cpp
     Source/RHI/SwapChain.h
     Source/RHI/DX12.cpp
     Source/RHI/DX12.h

+ 3 - 0
Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt

@@ -19,9 +19,12 @@ if(NOT PAL_TRAIT_ATOM_RHI_VULKAN_SUPPORTED)
         NAMESPACE Gem
         FILES_CMAKE
             atom_rhi_vulkan_stub_module.cmake
+            atom_rhi_vulkan_reflect_common_files.cmake
         INCLUDE_DIRECTORIES
             PRIVATE
+                Include
                 Source
+                ${pal_include_dir}
                 Include/Atom/RHI.Loader/Glad
         BUILD_DEPENDENCIES
             PRIVATE

+ 8 - 1
Gems/Atom/RHI/Vulkan/Code/Source/Platform/Common/Unimplemented/ModuleStub_Unimplemented.cpp

@@ -5,6 +5,8 @@
  * SPDX-License-Identifier: Apache-2.0 OR MIT
  *
  */
+
+#include <Atom/RHI.Reflect/Vulkan/ReflectSystemComponent.h>
 #include <AzCore/Module/Module.h>
 
 namespace AZ
@@ -17,7 +19,12 @@ namespace AZ
         public:
             AZ_RTTI(PlatformModule, "{958CB096-796C-42C7-9B29-17C6FE792C30}", Module);
 
-            PlatformModule() = default;
+            PlatformModule()
+            {
+                m_descriptors.insert(m_descriptors.end(), {
+                    ReflectSystemComponent::CreateDescriptor()
+                });
+            }
             ~PlatformModule() override = default;
 
             AZ::ComponentTypeList GetRequiredSystemComponents() const override

+ 10 - 0
Gems/PhysX/Code/physx_unsupported_files.cmake

@@ -0,0 +1,10 @@
+#
+# Copyright (c) Contributors to the Open 3D Engine Project.
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
+#
+# SPDX-License-Identifier: Apache-2.0 OR MIT
+#
+#
+
+set(FILES
+)