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

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

Issue 7205012: RendererGLContext supports reparenting a GL context. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <vector> 10 #include <vector>
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // Initializes the graphics context. Can create an offscreen 58 // Initializes the graphics context. Can create an offscreen
59 // decoder with a frame buffer that can be referenced from the parent. 59 // decoder with a frame buffer that can be referenced from the parent.
60 // Takes ownership of GLContext. 60 // Takes ownership of GLContext.
61 // Parameters: 61 // Parameters:
62 // surface: the GL surface to render to. 62 // surface: the GL surface to render to.
63 // context: the GL context to render to. 63 // context: the GL context to render to.
64 // size: the size if the GL context is offscreen. 64 // size: the size if the GL context is offscreen.
65 // allowed_extensions: A string in the same format as 65 // allowed_extensions: A string in the same format as
66 // glGetString(GL_EXTENSIONS) that lists the extensions this context 66 // glGetString(GL_EXTENSIONS) that lists the extensions this context
67 // should allow. Passing NULL or "*" means allow all extensions. 67 // should allow. Passing NULL or "*" means allow all extensions.
68 // parent: the GLES2 decoder that can access this decoder's front buffer
69 // through a texture ID in its namespace.
70 // parent_client_texture_id: the texture ID of the front buffer in the
71 // parent's namespace.
72 // Returns: 68 // Returns:
73 // true if successful. 69 // true if successful.
74 virtual bool Initialize(const scoped_refptr<gfx::GLSurface>& surface, 70 virtual bool Initialize(const scoped_refptr<gfx::GLSurface>& surface,
75 const scoped_refptr<gfx::GLContext>& context, 71 const scoped_refptr<gfx::GLContext>& context,
76 const gfx::Size& size, 72 const gfx::Size& size,
77 const DisallowedExtensions& disallowed_extensions, 73 const DisallowedExtensions& disallowed_extensions,
78 const char* allowed_extensions, 74 const char* allowed_extensions,
79 const std::vector<int32>& attribs, 75 const std::vector<int32>& attribs) = 0;
80 GLES2Decoder* parent,
81 uint32 parent_client_texture_id) = 0;
82 76
83 // Destroys the graphics context. 77 // Destroys the graphics context.
84 virtual void Destroy() = 0; 78 virtual void Destroy() = 0;
85 79
80 virtual bool SetParent(GLES2Decoder* parent_decoder,
81 uint32 parent_texture_id) = 0;
82
86 // Resize an offscreen frame buffer. 83 // Resize an offscreen frame buffer.
87 virtual void ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0; 84 virtual void ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0;
88 85
89 // Force the offscreen frame buffer's size to be updated. This 86 // Force the offscreen frame buffer's size to be updated. This
90 // usually occurs lazily, during SwapBuffers, but on some platforms 87 // usually occurs lazily, during SwapBuffers, but on some platforms
91 // (Mac OS X in particular) it must be done immediately. 88 // (Mac OS X in particular) it must be done immediately.
92 virtual bool UpdateOffscreenFrameBufferSize() = 0; 89 virtual bool UpdateOffscreenFrameBufferSize() = 0;
93 90
94 // Make this decoder's GL context current. 91 // Make this decoder's GL context current.
95 virtual bool MakeCurrent() = 0; 92 virtual bool MakeCurrent() = 0;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 private: 126 private:
130 bool debug_; 127 bool debug_;
131 128
132 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); 129 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder);
133 }; 130 };
134 131
135 } // namespace gles2 132 } // namespace gles2
136 } // namespace gpu 133 } // namespace gpu
137 134
138 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ 135 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698