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

Side by Side Diff: media/tools/player_x11/gl_video_renderer.cc

Issue 5305005: Initialize destinations variables before calling GL functions... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "media/tools/player_x11/gl_video_renderer.h" 5 #include "media/tools/player_x11/gl_video_renderer.h"
6 6
7 #include <X11/Xutil.h> 7 #include <X11/Xutil.h>
8 8
9 #include "app/gfx/gl/gl_implementation.h" 9 #include "app/gfx/gl/gl_implementation.h"
10 #include "media/base/buffers.h" 10 #include "media/base/buffers.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // Create our YUV->RGB shader. 162 // Create our YUV->RGB shader.
163 GLuint vertex_shader = glCreateShader(GL_VERTEX_SHADER); 163 GLuint vertex_shader = glCreateShader(GL_VERTEX_SHADER);
164 const char* vs_source = kVertexShader; 164 const char* vs_source = kVertexShader;
165 int vs_size = sizeof(kVertexShader); 165 int vs_size = sizeof(kVertexShader);
166 glShaderSource(vertex_shader, 1, &vs_source, &vs_size); 166 glShaderSource(vertex_shader, 1, &vs_source, &vs_size);
167 glCompileShader(vertex_shader); 167 glCompileShader(vertex_shader);
168 int result = GL_FALSE; 168 int result = GL_FALSE;
169 glGetShaderiv(vertex_shader, GL_COMPILE_STATUS, &result); 169 glGetShaderiv(vertex_shader, GL_COMPILE_STATUS, &result);
170 if (!result) { 170 if (!result) {
171 char log[kErrorSize]; 171 char log[kErrorSize];
172 int len; 172 int len = 0;
173 glGetShaderInfoLog(vertex_shader, kErrorSize - 1, &len, log); 173 glGetShaderInfoLog(vertex_shader, kErrorSize - 1, &len, log);
174 log[kErrorSize - 1] = 0; 174 log[kErrorSize - 1] = 0;
175 LOG(FATAL) << log; 175 LOG(FATAL) << log;
176 } 176 }
177 glAttachShader(program, vertex_shader); 177 glAttachShader(program, vertex_shader);
178 glDeleteShader(vertex_shader); 178 glDeleteShader(vertex_shader);
179 179
180 GLuint fragment_shader = glCreateShader(GL_FRAGMENT_SHADER); 180 GLuint fragment_shader = glCreateShader(GL_FRAGMENT_SHADER);
181 const char* ps_source = kFragmentShader; 181 const char* ps_source = kFragmentShader;
182 int ps_size = sizeof(kFragmentShader); 182 int ps_size = sizeof(kFragmentShader);
183 glShaderSource(fragment_shader, 1, &ps_source, &ps_size); 183 glShaderSource(fragment_shader, 1, &ps_source, &ps_size);
184 glCompileShader(fragment_shader); 184 glCompileShader(fragment_shader);
185 result = GL_FALSE; 185 result = GL_FALSE;
186 glGetShaderiv(fragment_shader, GL_COMPILE_STATUS, &result); 186 glGetShaderiv(fragment_shader, GL_COMPILE_STATUS, &result);
187 if (!result) { 187 if (!result) {
188 char log[kErrorSize]; 188 char log[kErrorSize];
189 int len; 189 int len = 0;
190 glGetShaderInfoLog(fragment_shader, kErrorSize - 1, &len, log); 190 glGetShaderInfoLog(fragment_shader, kErrorSize - 1, &len, log);
191 log[kErrorSize - 1] = 0; 191 log[kErrorSize - 1] = 0;
192 LOG(FATAL) << log; 192 LOG(FATAL) << log;
193 } 193 }
194 glAttachShader(program, fragment_shader); 194 glAttachShader(program, fragment_shader);
195 glDeleteShader(fragment_shader); 195 glDeleteShader(fragment_shader);
196 196
197 glLinkProgram(program); 197 glLinkProgram(program);
198 result = GL_FALSE; 198 result = GL_FALSE;
199 glGetProgramiv(program, GL_LINK_STATUS, &result); 199 glGetProgramiv(program, GL_LINK_STATUS, &result);
200 if (!result) { 200 if (!result) {
201 char log[kErrorSize]; 201 char log[kErrorSize];
202 int len; 202 int len = 0;
203 glGetProgramInfoLog(program, kErrorSize - 1, &len, log); 203 glGetProgramInfoLog(program, kErrorSize - 1, &len, log);
204 log[kErrorSize - 1] = 0; 204 log[kErrorSize - 1] = 0;
205 LOG(FATAL) << log; 205 LOG(FATAL) << log;
206 } 206 }
207 glUseProgram(program); 207 glUseProgram(program);
208 glDeleteProgram(program); 208 glDeleteProgram(program);
209 209
210 // Bind parameters. 210 // Bind parameters.
211 glUniform1i(glGetUniformLocation(program, "y_tex"), 0); 211 glUniform1i(glGetUniformLocation(program, "y_tex"), 0);
212 glUniform1i(glGetUniformLocation(program, "u_tex"), 1); 212 glUniform1i(glGetUniformLocation(program, "u_tex"), 1);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 glActiveTexture(GL_TEXTURE0 + i); 270 glActiveTexture(GL_TEXTURE0 + i);
271 glPixelStorei(GL_UNPACK_ROW_LENGTH, video_frame->stride(i)); 271 glPixelStorei(GL_UNPACK_ROW_LENGTH, video_frame->stride(i));
272 glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, 272 glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0,
273 GL_LUMINANCE, GL_UNSIGNED_BYTE, video_frame->data(i)); 273 GL_LUMINANCE, GL_UNSIGNED_BYTE, video_frame->data(i));
274 } 274 }
275 PutCurrentFrame(video_frame); 275 PutCurrentFrame(video_frame);
276 276
277 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 277 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
278 glXSwapBuffers(display_, window_); 278 glXSwapBuffers(display_, window_);
279 } 279 }
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | media/tools/player_x11/gles_video_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698