Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h

Issue 11293121: Add latency measurement system (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: minor input event changes Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_COMMON_GPU_CLIENT_WEBGRAPHICSCONTEXT3D_COMMAND_BUFFER_IMPL_H_ 5 #ifndef CONTENT_COMMON_GPU_CLIENT_WEBGRAPHICSCONTEXT3D_COMMAND_BUFFER_IMPL_H_
6 #define CONTENT_COMMON_GPU_CLIENT_WEBGRAPHICSCONTEXT3D_COMMAND_BUFFER_IMPL_H_ 6 #define CONTENT_COMMON_GPU_CLIENT_WEBGRAPHICSCONTEXT3D_COMMAND_BUFFER_IMPL_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 WGC3Denum target, 622 WGC3Denum target,
623 WGC3Dint level, 623 WGC3Dint level,
624 WGC3Dint xoffset, 624 WGC3Dint xoffset,
625 WGC3Dint yoffset, 625 WGC3Dint yoffset,
626 WGC3Dsizei width, 626 WGC3Dsizei width,
627 WGC3Dsizei height, 627 WGC3Dsizei height,
628 WGC3Denum format, 628 WGC3Denum format,
629 WGC3Denum type, 629 WGC3Denum type,
630 const void* pixels); 630 const void* pixels);
631 631
632 virtual void setLatencyInfoCHROMIUM(
633 const WebKit::WebLatencyInfo& latencyInfo);
634 virtual void setLatencyInfoCallbackCHROMIUM(
635 WebGraphicsLatencyInfoCallbackCHROMIUM* callback);
632 protected: 636 protected:
633 virtual GrGLInterface* onCreateGrGLInterface(); 637 virtual GrGLInterface* onCreateGrGLInterface();
634 638
635 private: 639 private:
636 // These are the same error codes as used by EGL. 640 // These are the same error codes as used by EGL.
637 enum Error { 641 enum Error {
638 SUCCESS = 0x3000, 642 SUCCESS = 0x3000,
639 BAD_ATTRIBUTE = 0x3004, 643 BAD_ATTRIBUTE = 0x3004,
640 CONTEXT_LOST = 0x300E 644 CONTEXT_LOST = 0x300E
641 }; 645 };
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 701
698 // Check if we should call into the swap client. We can only do that on the 702 // Check if we should call into the swap client. We can only do that on the
699 // main thread. 703 // main thread.
700 bool ShouldUseSwapClient(); 704 bool ShouldUseSwapClient();
701 705
702 // MemoryAllocationChanged callback. 706 // MemoryAllocationChanged callback.
703 void OnMemoryAllocationChanged( 707 void OnMemoryAllocationChanged(
704 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM* callback, 708 WebGraphicsMemoryAllocationChangedCallbackCHROMIUM* callback,
705 const GpuMemoryAllocationForRenderer& allocation); 709 const GpuMemoryAllocationForRenderer& allocation);
706 710
711 void OnSetLatencyInfo(const WebKit::WebLatencyInfoImpl& latency_info);
712
707 // Convert the gpu cutoff enum to the WebKit enum. 713 // Convert the gpu cutoff enum to the WebKit enum.
708 static WebGraphicsMemoryAllocation::PriorityCutoff WebkitPriorityCutoff( 714 static WebGraphicsMemoryAllocation::PriorityCutoff WebkitPriorityCutoff(
709 GpuMemoryAllocationForRenderer::PriorityCutoff priorityCutoff); 715 GpuMemoryAllocationForRenderer::PriorityCutoff priorityCutoff);
710 716
711 bool initialize_failed_; 717 bool initialize_failed_;
712 718
713 // The channel factory to talk to the GPU process 719 // The channel factory to talk to the GPU process
714 GpuChannelHostFactory* factory_; 720 GpuChannelHostFactory* factory_;
715 721
716 bool visible_; 722 bool visible_;
717 bool free_command_buffer_when_invisible_; 723 bool free_command_buffer_when_invisible_;
718 724
719 // State needed by MaybeInitializeGL. 725 // State needed by MaybeInitializeGL.
720 scoped_refptr<GpuChannelHost> host_; 726 scoped_refptr<GpuChannelHost> host_;
721 int32 surface_id_; 727 int32 surface_id_;
722 GURL active_url_; 728 GURL active_url_;
723 base::WeakPtr<WebGraphicsContext3DSwapBuffersClient> swap_client_; 729 base::WeakPtr<WebGraphicsContext3DSwapBuffersClient> swap_client_;
724 730
725 WebGraphicsContext3D::WebGraphicsContextLostCallback* context_lost_callback_; 731 WebGraphicsContext3D::WebGraphicsContextLostCallback* context_lost_callback_;
726 WGC3Denum context_lost_reason_; 732 WGC3Denum context_lost_reason_;
727 733
728 WebGraphicsContext3D::WebGraphicsErrorMessageCallback* 734 WebGraphicsContext3D::WebGraphicsErrorMessageCallback*
729 error_message_callback_; 735 error_message_callback_;
730 scoped_ptr<WebGraphicsContext3DErrorMessageCallback> 736 scoped_ptr<WebGraphicsContext3DErrorMessageCallback>
731 client_error_message_callback_; 737 client_error_message_callback_;
732 738
733 WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM* 739 WebGraphicsContext3D::WebGraphicsSwapBuffersCompleteCallbackCHROMIUM*
734 swapbuffers_complete_callback_; 740 swapbuffers_complete_callback_;
735 741
742 WebGraphicsContext3D::WebGraphicsLatencyInfoCallbackCHROMIUM*
743 latency_info_callback_;
744
736 WebKit::WebGraphicsContext3D::Attributes attributes_; 745 WebKit::WebGraphicsContext3D::Attributes attributes_;
737 gfx::GpuPreference gpu_preference_; 746 gfx::GpuPreference gpu_preference_;
738 int cached_width_, cached_height_; 747 int cached_width_, cached_height_;
739 748
740 // For tracking which FBO is bound. 749 // For tracking which FBO is bound.
741 WebGLId bound_fbo_; 750 WebGLId bound_fbo_;
742 751
743 // Errors raised by synthesizeGLError(). 752 // Errors raised by synthesizeGLError().
744 std::vector<WGC3Denum> synthetic_errors_; 753 std::vector<WGC3Denum> synthetic_errors_;
745 754
(...skipping 15 matching lines...) Expand all
761 gpu::gles2::GLES2Implementation* gl_; 770 gpu::gles2::GLES2Implementation* gl_;
762 Error last_error_; 771 Error last_error_;
763 int frame_number_; 772 int frame_number_;
764 bool bind_generates_resources_; 773 bool bind_generates_resources_;
765 bool use_echo_for_swap_ack_; 774 bool use_echo_for_swap_ack_;
766 }; 775 };
767 776
768 } // namespace content 777 } // namespace content
769 778
770 #endif // CONTENT_COMMON_GPU_CLIENT_WEBGRAPHICSCONTEXT3D_COMMAND_BUFFER_IMPL_H_ 779 #endif // CONTENT_COMMON_GPU_CLIENT_WEBGRAPHICSCONTEXT3D_COMMAND_BUFFER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698