CmD3D9TimerQuery.h 797 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "CmD3D9Prerequisites.h"
  3. #include "CmTimerQuery.h"
  4. namespace CamelotFramework
  5. {
  6. /**
  7. * @copydoc TimerQuery
  8. */
  9. class CM_D3D9_EXPORT D3D9TimerQuery : public TimerQuery
  10. {
  11. public:
  12. D3D9TimerQuery();
  13. ~D3D9TimerQuery();
  14. /**
  15. * @copydoc TimerQuery::begin
  16. */
  17. virtual void begin();
  18. /**
  19. * @copydoc TimerQuery::end
  20. */
  21. virtual void end();
  22. /**
  23. * @copydoc TimerQuery::isReady
  24. */
  25. virtual bool isReady() const;
  26. /**
  27. * @copydoc TimerQuery::getTimeMs
  28. */
  29. virtual float getTimeMs();
  30. private:
  31. bool mFinalized;
  32. float mTimeDelta;
  33. IDirect3DQuery9* mBeginQuery;
  34. IDirect3DQuery9* mEndQuery;
  35. IDirect3DQuery9* mDisjointQuery;
  36. IDirect3DQuery9* mFreqQuery;
  37. virtual void finalize();
  38. };
  39. }