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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.h

Issue 1136006: Calling OpenGL from the renderer process. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 months 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 // This file contains the GLES2Decoder class. 5 // This file contains the GLES2Decoder class.
6 6
7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ 7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_
8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ 8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_
9 9
10 #include <build/build_config.h> 10 #include <build/build_config.h>
11 #if defined(OS_WIN) 11 #if defined(OS_WIN)
12 #include <windows.h> 12 #include <windows.h>
13 #endif 13 #endif
14 #include "base/callback.h" 14 #include "base/callback.h"
15 #if defined(OS_MACOSX) 15 #if defined(OS_MACOSX)
16 #include "app/surface/transport_dib.h" 16 #include "app/surface/transport_dib.h"
17 #endif 17 #endif
18
19 #include "gfx/size.h"
18 #include "gpu/command_buffer/service/common_decoder.h" 20 #include "gpu/command_buffer/service/common_decoder.h"
19 21
20 22
21 namespace gpu { 23 namespace gpu {
22 // Forward-declared instead of including x_utils.h, because including glx.h 24 // Forward-declared instead of including x_utils.h, because including glx.h
23 // causes havok. 25 // causes havok.
24 class XWindowWrapper; 26 class XWindowWrapper;
25 27
26 namespace gles2 { 28 namespace gles2 {
27 29
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 } 66 }
65 #elif defined(OS_MACOSX) 67 #elif defined(OS_MACOSX)
66 virtual uint64 SetWindowSizeForIOSurface(int32 width, int32 height) = 0; 68 virtual uint64 SetWindowSizeForIOSurface(int32 width, int32 height) = 0;
67 virtual TransportDIB::Handle SetWindowSizeForTransportDIB(int32 width, 69 virtual TransportDIB::Handle SetWindowSizeForTransportDIB(int32 width,
68 int32 height) = 0; 70 int32 height) = 0;
69 virtual void SetTransportDIBAllocAndFree( 71 virtual void SetTransportDIBAllocAndFree(
70 Callback2<size_t, TransportDIB::Handle*>::Type* allocator, 72 Callback2<size_t, TransportDIB::Handle*>::Type* allocator,
71 Callback1<TransportDIB::Id>::Type* deallocator) = 0; 73 Callback1<TransportDIB::Id>::Type* deallocator) = 0;
72 #endif 74 #endif
73 75
74 // Initializes the graphics context. 76 // Initializes the graphics context. Can create an offscreen
77 // decoder with a frame buffer that can be referenced from the parent.
75 // Returns: 78 // Returns:
76 // true if successful. 79 // true if successful.
77 virtual bool Initialize() = 0; 80 virtual bool Initialize(GLES2Decoder* parent,
81 const gfx::Size& size,
82 uint32 parent_texture_id) = 0;
78 83
79 // Destroys the graphics context. 84 // Destroys the graphics context.
80 virtual void Destroy() = 0; 85 virtual void Destroy() = 0;
81 86
87 // Resize an offscreen frame buffer.
88 virtual void ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0;
89
82 // Make this decoder's GL context current. 90 // Make this decoder's GL context current.
83 virtual bool MakeCurrent() = 0; 91 virtual bool MakeCurrent() = 0;
84 92
85 // Gets a service id by client id. 93 // Gets a service id by client id.
86 virtual uint32 GetServiceIdForTesting(uint32 client_id) = 0; 94 virtual uint32 GetServiceIdForTesting(uint32 client_id) = 0;
87 95
88 // Gets the GLES2 Util which holds info. 96 // Gets the GLES2 Util which holds info.
89 virtual GLES2Util* GetGLES2Util() = 0; 97 virtual GLES2Util* GetGLES2Util() = 0;
90 98
91 // Sets a callback which is called when a SwapBuffers command is processed. 99 // Sets a callback which is called when a SwapBuffers command is processed.
(...skipping 14 matching lines...) Expand all
106 HWND hwnd_; 114 HWND hwnd_;
107 #endif 115 #endif
108 116
109 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); 117 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder);
110 }; 118 };
111 119
112 } // namespace gles2 120 } // namespace gles2
113 } // namespace gpu 121 } // namespace gpu
114 122
115 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ 123 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/client/gles2_implementation.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698