ge_vulkan_features.hpp 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef HEADER_GE_VULKAN_FEATURES_HPP
  2. #define HEADER_GE_VULKAN_FEATURES_HPP
  3. #include "vulkan_wrapper.h"
  4. namespace GE
  5. {
  6. class GEVulkanDriver;
  7. namespace GEVulkanFeatures
  8. {
  9. // ----------------------------------------------------------------------------
  10. void init(GEVulkanDriver*);
  11. // ----------------------------------------------------------------------------
  12. void printStats();
  13. // ----------------------------------------------------------------------------
  14. bool supportsBindTexturesAtOnce();
  15. // ----------------------------------------------------------------------------
  16. bool supportsRGBA8Blit();
  17. // ----------------------------------------------------------------------------
  18. bool supportsR8Blit();
  19. // ----------------------------------------------------------------------------
  20. bool supportsDescriptorIndexing();
  21. // ----------------------------------------------------------------------------
  22. bool supportsNonUniformIndexing();
  23. // ----------------------------------------------------------------------------
  24. bool supportsDifferentTexturePerDraw();
  25. // ----------------------------------------------------------------------------
  26. bool supportsPartiallyBound();
  27. // ----------------------------------------------------------------------------
  28. bool supportsBindMeshTexturesAtOnce();
  29. // ----------------------------------------------------------------------------
  30. bool supportsMultiDrawIndirect();
  31. // ----------------------------------------------------------------------------
  32. bool supportsBaseVertexRendering();
  33. // ----------------------------------------------------------------------------
  34. bool supportsComputeInMainQueue();
  35. // ----------------------------------------------------------------------------
  36. bool supportsShaderDrawParameters();
  37. // ----------------------------------------------------------------------------
  38. bool supportsS3TCBC3();
  39. // ----------------------------------------------------------------------------
  40. bool supportsBPTCBC7();
  41. // ----------------------------------------------------------------------------
  42. bool supportsASTC4x4();
  43. // ----------------------------------------------------------------------------
  44. bool supportsShaderStorageImageExtendedFormats();
  45. }; // GEVulkanFeatures
  46. }
  47. #endif