Device.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <Atom/RHI/Factory.h>
  9. #include <Tests/Device.h>
  10. namespace UnitTest
  11. {
  12. using namespace AZ;
  13. PhysicalDevice::PhysicalDevice()
  14. {
  15. m_descriptor.m_description = "UnitTest Fake Device";
  16. }
  17. Device::Device()
  18. {
  19. m_descriptor.m_platformLimitsDescriptor = aznew RHI::PlatformLimitsDescriptor;
  20. }
  21. RHI::PhysicalDeviceList PhysicalDevice::Enumerate()
  22. {
  23. RHI::PhysicalDeviceList devices;
  24. for(auto deviceIndex{0}; deviceIndex < DeviceCount; ++deviceIndex)
  25. {
  26. devices.emplace_back(aznew PhysicalDevice);
  27. }
  28. return devices;
  29. }
  30. RHI::Ptr<RHI::Device> MakeTestDevice()
  31. {
  32. RHI::PhysicalDeviceList physicalDevices = RHI::Factory::Get().EnumeratePhysicalDevices();
  33. EXPECT_EQ(physicalDevices.size(), DeviceCount);
  34. RHI::Ptr<RHI::Device> device = RHI::Factory::Get().CreateDevice();
  35. device->Init(RHI::MultiDevice::DefaultDeviceIndex, *physicalDevices[0]);
  36. return device;
  37. }
  38. }