BsD3D11QueryManager.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsD3D11QueryManager.h"
  4. #include "BsD3D11EventQuery.h"
  5. #include "BsD3D11TimerQuery.h"
  6. #include "BsD3D11OcclusionQuery.h"
  7. namespace bs { namespace ct
  8. {
  9. SPtr<EventQuery> D3D11QueryManager::createEventQuery(UINT32 deviceIdx) const
  10. {
  11. SPtr<EventQuery> query = SPtr<D3D11EventQuery>(bs_new<D3D11EventQuery>(deviceIdx), &QueryManager::deleteEventQuery, StdAlloc<D3D11EventQuery>());
  12. mEventQueries.push_back(query.get());
  13. return query;
  14. }
  15. SPtr<TimerQuery> D3D11QueryManager::createTimerQuery(UINT32 deviceIdx) const
  16. {
  17. SPtr<TimerQuery> query = SPtr<D3D11TimerQuery>(bs_new<D3D11TimerQuery>(deviceIdx), &QueryManager::deleteTimerQuery, StdAlloc<D3D11TimerQuery>());
  18. mTimerQueries.push_back(query.get());
  19. return query;
  20. }
  21. SPtr<OcclusionQuery> D3D11QueryManager::createOcclusionQuery(bool binary, UINT32 deviceIdx) const
  22. {
  23. SPtr<OcclusionQuery> query = SPtr<D3D11OcclusionQuery>(bs_new<D3D11OcclusionQuery>(binary, deviceIdx),
  24. &QueryManager::deleteOcclusionQuery, StdAlloc<D3D11OcclusionQuery>());
  25. mOcclusionQueries.push_back(query.get());
  26. return query;
  27. }
  28. }}