diff --git a/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h b/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h index dbbf443656..1c5db0a82b 100644 --- a/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h +++ b/Code/Framework/AzFramework/AzFramework/API/ApplicationAPI.h @@ -18,6 +18,7 @@ #include #include #include +#include #include diff --git a/Code/Framework/AzFramework/AzFramework/ProjectManager/ProjectManager.cpp b/Code/Framework/AzFramework/AzFramework/ProjectManager/ProjectManager.cpp index 33fafa2110..6bbb07ea74 100644 --- a/Code/Framework/AzFramework/AzFramework/ProjectManager/ProjectManager.cpp +++ b/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) diff --git a/Code/Legacy/CryCommon/WinBase.cpp b/Code/Legacy/CryCommon/WinBase.cpp index 71bec78f69..9f7cdfd609 100644 --- a/Code/Legacy/CryCommon/WinBase.cpp +++ b/Code/Legacy/CryCommon/WinBase.cpp @@ -6,9 +6,10 @@ * */ +#include // 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 diff --git a/Code/Legacy/CrySystem/System.cpp b/Code/Legacy/CrySystem/System.cpp index 71775dbb6c..4a9d9ece5f 100644 --- a/Code/Legacy/CrySystem/System.cpp +++ b/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 diff --git a/Code/Legacy/CrySystem/SystemWin32.cpp b/Code/Legacy/CrySystem/SystemWin32.cpp index 20f4d7ef65..4f0a154afe 100644 --- a/Code/Legacy/CrySystem/SystemWin32.cpp +++ b/Code/Legacy/CrySystem/SystemWin32.cpp @@ -273,11 +273,7 @@ static const char* GetLastSystemErrorMessage() return szBuffer; } -#else - return 0; - #endif //WIN32 - return 0; } diff --git a/Code/Tools/ProjectManager/Source/ProjectUtils.cpp b/Code/Tools/ProjectManager/Source/ProjectUtils.cpp index fb3f7e0270..84d731832e 100644 --- a/Code/Tools/ProjectManager/Source/ProjectUtils.cpp +++ b/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()) diff --git a/Code/Tools/ProjectManager/Source/ProjectUtils.h b/Code/Tools/ProjectManager/Source/ProjectUtils.h index d06b8c2c8b..f1050531d4 100644 --- a/Code/Tools/ProjectManager/Source/ProjectUtils.h +++ b/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 FindSupportedCompilerForPlatform(); diff --git a/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp b/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp index e1b6d740e2..08ad7f24d9 100644 --- a/Code/Tools/ProjectManager/Source/UpdateProjectCtrl.cpp +++ b/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.")); diff --git a/Code/Tools/ProjectManager/tests/UtilsTests.cpp b/Code/Tools/ProjectManager/tests/UtilsTests.cpp index bfe26ba760..760b599ad8 100644 --- a/Code/Tools/ProjectManager/tests/UtilsTests.cpp +++ b/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)); diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/Device_Windows.cpp b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/Device_Windows.cpp index 7cf83e28bc..51272f3488 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/Device_Windows.cpp +++ b/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::Limits::Device::FrameCountMax>& outSwapChainResources) + { + AZ_Assert(false, "Wrong Device::CreateSwapChain function called on Windows."); + return RHI::ResultCode::Fail; + } + AZStd::vector Device::GetValidSwapChainImageFormats(const RHI::WindowHandle& windowHandle) const { AZStd::vector formatsList; diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Platform.h b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Platform.h new file mode 100644 index 0000000000..f611027497 --- /dev/null +++ b/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 diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.cpp b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.cpp index 9a6d7e44d1..ab14f9b5d3 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.cpp +++ b/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 + +#include + #include #include +#include #include namespace AZ { namespace DX12 { + RHI::Ptr SwapChain::Create() + { + return aznew SwapChain(); + } + + Device& SwapChain::GetDevice() const + { + return static_cast(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 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(*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(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(); diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.h b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/RHI/SwapChain_Windows.h new file mode 100644 index 0000000000..2e45371c48 --- /dev/null +++ b/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 +#include + +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 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(InvalidColorSpace); + + RHI::Ptr 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? + }; + } +} diff --git a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/platform_private_windows_files.cmake b/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/platform_private_windows_files.cmake index e3a60c937c..5333b89336 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/Platform/Windows/platform_private_windows_files.cmake +++ b/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 diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/Device.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/Device.h index 4d1f2c4ac9..7004900ec5 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/Device.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/Device.h @@ -57,6 +57,10 @@ namespace AZ const DXGI_SWAP_CHAIN_DESCX& swapChainDesc, RHI::Ptr& swapChain); + RHI::ResultCode CreateSwapChain( + const DXGI_SWAP_CHAIN_DESCX& swapChainDesc, + AZStd::array, RHI::Limits::Device::FrameCountMax>& outSwapChainResources); + void GetImageAllocationInfo( const RHI::ImageDescriptor& descriptor, D3D12_RESOURCE_ALLOCATION_INFO& info); diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingPipelineState.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingPipelineState.cpp index be0c084d95..37f4e6b49a 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/RayTracingPipelineState.cpp +++ b/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(deviceBase); -#ifdef AZ_DX12_DXR_SUPPORT size_t dxilLibraryCount = descriptor->GetShaderLibraries().size(); size_t hitGroupCount = descriptor->GetHitGroups().size(); diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.cpp b/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.cpp deleted file mode 100644 index bb5acc878a..0000000000 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.cpp +++ /dev/null @@ -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 -#include -#include -#include -#include -#include -#include -#include - -namespace AZ -{ - namespace DX12 - { - RHI::Ptr SwapChain::Create() - { - return aznew SwapChain(); - } - - Device& SwapChain::GetDevice() const - { - return static_cast(Base::GetDevice()); - } - - RHI::ResultCode SwapChain::InitImageInternal(const InitImageRequest& request) - { - - Device& device = GetDevice(); - - Microsoft::WRL::ComPtr 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(*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(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 = {}; - } - } -} diff --git a/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.h b/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.h index 8035ae1e38..bd12b1f316 100644 --- a/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.h +++ b/Gems/Atom/RHI/DX12/Code/Source/RHI/SwapChain.h @@ -7,56 +7,4 @@ */ #pragma once -#include -#include - -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 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(InvalidColorSpace); - - RHI::Ptr 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 diff --git a/Gems/Atom/RHI/DX12/Code/atom_rhi_dx12_private_common_files.cmake b/Gems/Atom/RHI/DX12/Code/atom_rhi_dx12_private_common_files.cmake index 3ad79398b4..807a637b0f 100644 --- a/Gems/Atom/RHI/DX12/Code/atom_rhi_dx12_private_common_files.cmake +++ b/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 diff --git a/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt b/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt index f4148b435e..5c74852f57 100644 --- a/Gems/Atom/RHI/Vulkan/Code/CMakeLists.txt +++ b/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 diff --git a/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Common/Unimplemented/ModuleStub_Unimplemented.cpp b/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Common/Unimplemented/ModuleStub_Unimplemented.cpp index 8c06700404..44a8a26968 100644 --- a/Gems/Atom/RHI/Vulkan/Code/Source/Platform/Common/Unimplemented/ModuleStub_Unimplemented.cpp +++ b/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 #include 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 diff --git a/Gems/PhysX/Code/physx_unsupported_files.cmake b/Gems/PhysX/Code/physx_unsupported_files.cmake new file mode 100644 index 0000000000..c2c5a11c4c --- /dev/null +++ b/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 +)