Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

42 lignes
1.5 KiB

  1. unit uvkuPhysicalDeviceFactory;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils,
  6. Vulkan, uvkuInstance, uvkuPhysicalDevice;
  7. type
  8. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  9. TvkuPhysicalDeviceFactory = class(TObject)
  10. private
  11. fInstance: TvkuInstance;
  12. public
  13. function CreatePhysicalDevice(
  14. const aHandle: VkPhysicalDevice): TvkuPhysicalDevice;
  15. constructor Create(const aInstance: TvkuInstance);
  16. end;
  17. implementation
  18. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  19. //TvkuPhysicalDeviceFactory//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  20. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  21. function TvkuPhysicalDeviceFactory.CreatePhysicalDevice(const aHandle: VkPhysicalDevice): TvkuPhysicalDevice;
  22. begin
  23. result := TvkuPhysicalDevice.Create(aHandle, fInstance.InstanceCommands);
  24. end;
  25. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  26. constructor TvkuPhysicalDeviceFactory.Create(const aInstance: TvkuInstance);
  27. begin
  28. inherited Create;
  29. fInstance := aInstance;
  30. end;
  31. end.