BsD3D11DriverList.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsD3D11Prerequisites.h"
  5. namespace BansheeEngine
  6. {
  7. /**
  8. * @brief Contains a list of all available drivers.
  9. */
  10. class BS_D3D11_EXPORT D3D11DriverList
  11. {
  12. public:
  13. /**
  14. * @brief Constructs a new driver list from an existing DXGI factory object.
  15. */
  16. D3D11DriverList(IDXGIFactory* dxgiFactory);
  17. ~D3D11DriverList();
  18. /**
  19. * @brief Returns the number of available drivers.
  20. */
  21. UINT32 count() const;
  22. /**
  23. * @brief Returns a driver at the specified index.
  24. */
  25. D3D11Driver* item(UINT32 idx) const;
  26. /**
  27. * @brief Returns a driver with the specified name, or null if it cannot be found.
  28. */
  29. D3D11Driver* item(const String &name) const;
  30. private:
  31. /**
  32. * @brief Enumerates the DXGI factory object and constructs a list of available drivers.
  33. */
  34. void enumerate(IDXGIFactory* dxgiFactory);
  35. Vector<D3D11Driver*> mDriverList;
  36. };
  37. }