| OLD | NEW |
| 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 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
| 6 | 6 |
| 7 #include <stdio.h> | 7 #include <stdio.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <cmath> | 10 #include <cmath> |
| (...skipping 1085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1096 void DoReleaseTexImage2DCHROMIUM( | 1096 void DoReleaseTexImage2DCHROMIUM( |
| 1097 GLenum target, | 1097 GLenum target, |
| 1098 GLint image_id); | 1098 GLint image_id); |
| 1099 | 1099 |
| 1100 void DoTraceEndCHROMIUM(void); | 1100 void DoTraceEndCHROMIUM(void); |
| 1101 | 1101 |
| 1102 void DoDrawBuffersEXT(GLsizei count, const GLenum* bufs); | 1102 void DoDrawBuffersEXT(GLsizei count, const GLenum* bufs); |
| 1103 | 1103 |
| 1104 void DoLoseContextCHROMIUM(GLenum current, GLenum other); | 1104 void DoLoseContextCHROMIUM(GLenum current, GLenum other); |
| 1105 | 1105 |
| 1106 void DoFlushDriverCachesCHROMIUM(void); |
| 1107 |
| 1106 void DoMatrixLoadfCHROMIUM(GLenum matrix_mode, const GLfloat* matrix); | 1108 void DoMatrixLoadfCHROMIUM(GLenum matrix_mode, const GLfloat* matrix); |
| 1107 void DoMatrixLoadIdentityCHROMIUM(GLenum matrix_mode); | 1109 void DoMatrixLoadIdentityCHROMIUM(GLenum matrix_mode); |
| 1108 | 1110 |
| 1109 // Creates a Program for the given program. | 1111 // Creates a Program for the given program. |
| 1110 Program* CreateProgram( | 1112 Program* CreateProgram( |
| 1111 GLuint client_id, GLuint service_id) { | 1113 GLuint client_id, GLuint service_id) { |
| 1112 return program_manager()->CreateProgram(client_id, service_id); | 1114 return program_manager()->CreateProgram(client_id, service_id); |
| 1113 } | 1115 } |
| 1114 | 1116 |
| 1115 // Gets the program info for the given program. Returns NULL if none exists. | 1117 // Gets the program info for the given program. Returns NULL if none exists. |
| (...skipping 12152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13268 group_->set_draw_buffer(bufs[0]); | 13270 group_->set_draw_buffer(bufs[0]); |
| 13269 } | 13271 } |
| 13270 } | 13272 } |
| 13271 | 13273 |
| 13272 void GLES2DecoderImpl::DoLoseContextCHROMIUM(GLenum current, GLenum other) { | 13274 void GLES2DecoderImpl::DoLoseContextCHROMIUM(GLenum current, GLenum other) { |
| 13273 MarkContextLost(GetContextLostReasonFromResetStatus(current)); | 13275 MarkContextLost(GetContextLostReasonFromResetStatus(current)); |
| 13274 group_->LoseContexts(GetContextLostReasonFromResetStatus(other)); | 13276 group_->LoseContexts(GetContextLostReasonFromResetStatus(other)); |
| 13275 reset_by_robustness_extension_ = true; | 13277 reset_by_robustness_extension_ = true; |
| 13276 } | 13278 } |
| 13277 | 13279 |
| 13280 void GLES2DecoderImpl::DoFlushDriverCachesCHROMIUM(void) { |
| 13281 // On Adreno Android devices we need to use a workaround to force caches to |
| 13282 // clear. |
| 13283 if (feature_info_->workarounds().unbind_egl_context_to_flush_driver_caches) { |
| 13284 context_->ReleaseCurrent(nullptr); |
| 13285 context_->MakeCurrent(surface_.get()); |
| 13286 } |
| 13287 } |
| 13288 |
| 13278 void GLES2DecoderImpl::DoMatrixLoadfCHROMIUM(GLenum matrix_mode, | 13289 void GLES2DecoderImpl::DoMatrixLoadfCHROMIUM(GLenum matrix_mode, |
| 13279 const GLfloat* matrix) { | 13290 const GLfloat* matrix) { |
| 13280 DCHECK(matrix_mode == GL_PATH_PROJECTION_CHROMIUM || | 13291 DCHECK(matrix_mode == GL_PATH_PROJECTION_CHROMIUM || |
| 13281 matrix_mode == GL_PATH_MODELVIEW_CHROMIUM); | 13292 matrix_mode == GL_PATH_MODELVIEW_CHROMIUM); |
| 13282 if (!features().chromium_path_rendering) { | 13293 if (!features().chromium_path_rendering) { |
| 13283 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, | 13294 LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION, |
| 13284 "glMatrixLoadfCHROMIUM", | 13295 "glMatrixLoadfCHROMIUM", |
| 13285 "function not available"); | 13296 "function not available"); |
| 13286 return; | 13297 return; |
| 13287 } | 13298 } |
| (...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14330 return error::kNoError; | 14341 return error::kNoError; |
| 14331 } | 14342 } |
| 14332 | 14343 |
| 14333 // Include the auto-generated part of this file. We split this because it means | 14344 // Include the auto-generated part of this file. We split this because it means |
| 14334 // we can easily edit the non-auto generated parts right here in this file | 14345 // we can easily edit the non-auto generated parts right here in this file |
| 14335 // instead of having to edit some template or the code generator. | 14346 // instead of having to edit some template or the code generator. |
| 14336 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 14347 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
| 14337 | 14348 |
| 14338 } // namespace gles2 | 14349 } // namespace gles2 |
| 14339 } // namespace gpu | 14350 } // namespace gpu |
| OLD | NEW |