| 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 <list> | 10 #include <list> |
| (...skipping 10131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10142 } | 10142 } |
| 10143 | 10143 |
| 10144 gfx::GLImage* gl_image = image_manager()->LookupImage(image_id); | 10144 gfx::GLImage* gl_image = image_manager()->LookupImage(image_id); |
| 10145 if (!gl_image) { | 10145 if (!gl_image) { |
| 10146 LOCAL_SET_GL_ERROR( | 10146 LOCAL_SET_GL_ERROR( |
| 10147 GL_INVALID_OPERATION, | 10147 GL_INVALID_OPERATION, |
| 10148 "glBindTexImage2DCHROMIUM", "no image found with the given ID"); | 10148 "glBindTexImage2DCHROMIUM", "no image found with the given ID"); |
| 10149 return; | 10149 return; |
| 10150 } | 10150 } |
| 10151 | 10151 |
| 10152 if (!gl_image->BindTexImage()) { | 10152 { |
| 10153 LOCAL_SET_GL_ERROR( | 10153 ScopedGLErrorSuppressor suppressor( |
| 10154 GL_INVALID_OPERATION, | 10154 "GLES2DecoderImpl::DoBindTexImage2DCHROMIUM", this); |
| 10155 "glBindTexImage2DCHROMIUM", "fail to bind image with the given ID"); | 10155 if (!gl_image->BindTexImage()) { |
| 10156 return; | 10156 LOCAL_SET_GL_ERROR( |
| 10157 GL_INVALID_OPERATION, |
| 10158 "glBindTexImage2DCHROMIUM", "fail to bind image with the given ID"); |
| 10159 return; |
| 10160 } |
| 10157 } | 10161 } |
| 10158 | 10162 |
| 10159 gfx::Size size = gl_image->GetSize(); | 10163 gfx::Size size = gl_image->GetSize(); |
| 10160 texture_manager()->SetLevelInfo( | 10164 texture_manager()->SetLevelInfo( |
| 10161 texture, target, 0, GL_RGBA, size.width(), size.height(), 1, 0, | 10165 texture, target, 0, GL_RGBA, size.width(), size.height(), 1, 0, |
| 10162 GL_RGBA, GL_UNSIGNED_BYTE, true); | 10166 GL_RGBA, GL_UNSIGNED_BYTE, true); |
| 10163 texture_manager()->SetLevelImage(texture, target, 0, gl_image); | 10167 texture_manager()->SetLevelImage(texture, target, 0, gl_image); |
| 10164 } | 10168 } |
| 10165 | 10169 |
| 10166 void GLES2DecoderImpl::DoReleaseTexImage2DCHROMIUM( | 10170 void GLES2DecoderImpl::DoReleaseTexImage2DCHROMIUM( |
| (...skipping 22 matching lines...) Expand all Loading... |
| 10189 LOCAL_SET_GL_ERROR( | 10193 LOCAL_SET_GL_ERROR( |
| 10190 GL_INVALID_OPERATION, | 10194 GL_INVALID_OPERATION, |
| 10191 "glReleaseTexImage2DCHROMIUM", "no image found with the given ID"); | 10195 "glReleaseTexImage2DCHROMIUM", "no image found with the given ID"); |
| 10192 return; | 10196 return; |
| 10193 } | 10197 } |
| 10194 | 10198 |
| 10195 // Do nothing when image is not currently bound. | 10199 // Do nothing when image is not currently bound. |
| 10196 if (texture->GetLevelImage(target, 0) != gl_image) | 10200 if (texture->GetLevelImage(target, 0) != gl_image) |
| 10197 return; | 10201 return; |
| 10198 | 10202 |
| 10199 gl_image->ReleaseTexImage(); | 10203 { |
| 10204 ScopedGLErrorSuppressor suppressor( |
| 10205 "GLES2DecoderImpl::DoReleaseTexImage2DCHROMIUM", this); |
| 10206 gl_image->ReleaseTexImage(); |
| 10207 } |
| 10200 | 10208 |
| 10201 texture_manager()->SetLevelInfo( | 10209 texture_manager()->SetLevelInfo( |
| 10202 texture, target, 0, GL_RGBA, 0, 0, 1, 0, | 10210 texture, target, 0, GL_RGBA, 0, 0, 1, 0, |
| 10203 GL_RGBA, GL_UNSIGNED_BYTE, false); | 10211 GL_RGBA, GL_UNSIGNED_BYTE, false); |
| 10204 } | 10212 } |
| 10205 | 10213 |
| 10206 error::Error GLES2DecoderImpl::HandleTraceBeginCHROMIUM( | 10214 error::Error GLES2DecoderImpl::HandleTraceBeginCHROMIUM( |
| 10207 uint32 immediate_data_size, const cmds::TraceBeginCHROMIUM& c) { | 10215 uint32 immediate_data_size, const cmds::TraceBeginCHROMIUM& c) { |
| 10208 Bucket* bucket = GetBucket(c.bucket_id); | 10216 Bucket* bucket = GetBucket(c.bucket_id); |
| 10209 if (!bucket || bucket->size() == 0) { | 10217 if (!bucket || bucket->size() == 0) { |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10525 return error::kNoError; | 10533 return error::kNoError; |
| 10526 } | 10534 } |
| 10527 | 10535 |
| 10528 // Include the auto-generated part of this file. We split this because it means | 10536 // Include the auto-generated part of this file. We split this because it means |
| 10529 // we can easily edit the non-auto generated parts right here in this file | 10537 // we can easily edit the non-auto generated parts right here in this file |
| 10530 // instead of having to edit some template or the code generator. | 10538 // instead of having to edit some template or the code generator. |
| 10531 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 10539 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |
| 10532 | 10540 |
| 10533 } // namespace gles2 | 10541 } // namespace gles2 |
| 10534 } // namespace gpu | 10542 } // namespace gpu |
| OLD | NEW |