| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsVulkanPrerequisites.h"
- #include "BsVulkanResource.h"
- #include "BsQueryManager.h"
- namespace BansheeEngine
- {
- /** @addtogroup Vulkan
- * @{
- */
- /** Handles creation of Vulkan queries. */
- class VulkanQueryManager : public QueryManager
- {
- public:
- VulkanQueryManager(VulkanRenderAPI& rapi);
- ~VulkanQueryManager();
- /** @copydoc QueryManager::createEventQuery */
- SPtr<EventQuery> createEventQuery(UINT32 deviceIdx = 0) const override;
- /** @copydoc QueryManager::createTimerQuery */
- SPtr<TimerQuery> createTimerQuery(UINT32 deviceIdx = 0) const override;
- /** @copydoc QueryManager::createOcclusionQuery */
- SPtr<OcclusionQuery> createOcclusionQuery(bool binary, UINT32 deviceIdx = 0) const override;
- private:
- VulkanRenderAPI& mRenderAPI;
- };
- /** Wrapper around a single query in a Vulkan query pool object. */
- class VulkanQuery : public VulkanResource
- {
- public:
- VulkanQuery(VulkanResourceManager* owner);
- ~VulkanQuery();
- private:
- VkEvent mEvent;
- };
- /** @} */
- }
|