gl_fence_nv.h 821 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef UI_GL_GL_FENCE_NV_H_
  5. #define UI_GL_GL_FENCE_NV_H_
  6. #include "ui/gl/gl_bindings.h"
  7. #include "ui/gl/gl_export.h"
  8. #include "ui/gl/gl_fence.h"
  9. namespace gl {
  10. class GL_EXPORT GLFenceNV : public GLFence {
  11. public:
  12. GLFenceNV();
  13. GLFenceNV(const GLFenceNV&) = delete;
  14. GLFenceNV& operator=(const GLFenceNV&) = delete;
  15. ~GLFenceNV() override;
  16. // GLFence implementation:
  17. bool ResetSupported() override;
  18. void ResetState() override;
  19. bool HasCompleted() override;
  20. void ClientWait() override;
  21. void ServerWait() override;
  22. void Invalidate() override;
  23. private:
  24. GLuint fence_ = 0;
  25. };
  26. } // namespace gl
  27. #endif // UI_GL_GL_FENCE_NV_H_