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

Side by Side Diff: media/tools/shader_bench/gpu_painter.h

Issue 7021014: GLContext no longer holds a pointer to a GLSurface. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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 #ifndef MEDIA_TOOLS_SHADER_BENCH_GPU_PAINTER_H_ 5 #ifndef MEDIA_TOOLS_SHADER_BENCH_GPU_PAINTER_H_
6 #define MEDIA_TOOLS_SHADER_BENCH_GPU_PAINTER_H_ 6 #define MEDIA_TOOLS_SHADER_BENCH_GPU_PAINTER_H_
7 7
8 #include "media/tools/shader_bench/painter.h" 8 #include "media/tools/shader_bench/painter.h"
9 #include "ui/gfx/gl/gl_bindings.h" 9 #include "ui/gfx/gl/gl_bindings.h"
10 #include "ui/gfx/gl/gl_context.h" 10 #include "ui/gfx/gl/gl_context.h"
11 #include "ui/gfx/gl/gl_implementation.h" 11 #include "ui/gfx/gl/gl_implementation.h"
12 #include "ui/gfx/gl/gl_surface.h"
12 13
13 // Class that renders video frames to a window via GPU. 14 // Class that renders video frames to a window via GPU.
14 class GPUPainter : public Painter { 15 class GPUPainter : public Painter {
15 public: 16 public:
16 GPUPainter(); 17 GPUPainter();
17 virtual ~GPUPainter(); 18 virtual ~GPUPainter();
18 19
19 // Returns a reference to the GL context. 20 // Returns a reference to the GL context.
21 gfx::GLSurface* surface() const { return surface_; }
20 gfx::GLContext* context() const { return context_; } 22 gfx::GLContext* context() const { return context_; }
21 23
22 // Sets context for subsequent gl calls in this painter. 24 // Sets context for subsequent gl calls in this painter.
23 virtual void SetGLContext(gfx::GLContext* context); 25 virtual void SetGLContext(gfx::GLSurface* surface, gfx::GLContext* context);
24 26
25 // Creates shader program into given context, from the vertex and fragment 27 // Creates shader program into given context, from the vertex and fragment
26 // shader source code. Returns the id of the shader program. 28 // shader source code. Returns the id of the shader program.
27 virtual GLuint CreateShaderProgram(const char* vertex_shader_source, 29 virtual GLuint CreateShaderProgram(const char* vertex_shader_source,
28 const char* fragment_shader_source); 30 const char* fragment_shader_source);
29 31
30 private: 32 private:
31 // Loads shader into given context, from the source code of the 33 // Loads shader into given context, from the source code of the
32 // shader. type refers to the shader type, either GL_VERTEX_SHADER or 34 // shader. type refers to the shader type, either GL_VERTEX_SHADER or
33 // GL_FRAGMENT_SHADER. Returns id of shader. 35 // GL_FRAGMENT_SHADER. Returns id of shader.
34 GLuint LoadShader(unsigned type, const char* shader_source); 36 GLuint LoadShader(unsigned type, const char* shader_source);
35 37
36 // Reference to the gl context. 38 // Reference to the gl context.
39 gfx::GLSurface* surface_;
37 gfx::GLContext* context_; 40 gfx::GLContext* context_;
38 41
39 DISALLOW_COPY_AND_ASSIGN(GPUPainter); 42 DISALLOW_COPY_AND_ASSIGN(GPUPainter);
40 }; 43 };
41 44
42 #endif // MEDIA_TOOLS_SHADER_BENCH_GPU_PAINTER_H_ 45 #endif // MEDIA_TOOLS_SHADER_BENCH_GPU_PAINTER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698