OLD | NEW |
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2016 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_passthrough.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h" |
6 | 6 |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "ui/gl/gl_version_info.h" | 8 #include "ui/gl/gl_version_info.h" |
9 | 9 |
10 namespace gpu { | 10 namespace gpu { |
(...skipping 3467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3478 GLint location, | 3478 GLint location, |
3479 const char* name) { | 3479 const char* name) { |
3480 glBindUniformLocationCHROMIUM(GetProgramServiceID(program, resources_), | 3480 glBindUniformLocationCHROMIUM(GetProgramServiceID(program, resources_), |
3481 location, name); | 3481 location, name); |
3482 return error::kNoError; | 3482 return error::kNoError; |
3483 } | 3483 } |
3484 | 3484 |
3485 error::Error GLES2DecoderPassthroughImpl::DoBindTexImage2DCHROMIUM( | 3485 error::Error GLES2DecoderPassthroughImpl::DoBindTexImage2DCHROMIUM( |
3486 GLenum target, | 3486 GLenum target, |
3487 GLint imageId) { | 3487 GLint imageId) { |
3488 return BindTexImage2DCHROMIUMImpl(target, 0, imageId); | 3488 if (target != GL_TEXTURE_2D) { |
3489 } | 3489 InsertError(GL_INVALID_ENUM, "Invalid target"); |
| 3490 return error::kNoError; |
| 3491 } |
3490 | 3492 |
3491 error::Error | 3493 gl::GLImage* image = image_manager_->LookupImage(imageId); |
3492 GLES2DecoderPassthroughImpl::DoBindTexImage2DWithInternalformatCHROMIUM( | 3494 if (image == nullptr) { |
3493 GLenum target, | 3495 InsertError(GL_INVALID_OPERATION, "No image found with the given ID"); |
3494 GLenum internalformat, | 3496 return error::kNoError; |
3495 GLint imageId) { | 3497 } |
3496 return BindTexImage2DCHROMIUMImpl(target, internalformat, imageId); | 3498 |
| 3499 if (!image->BindTexImage(target)) { |
| 3500 image->CopyTexImage(target); |
| 3501 } |
| 3502 |
| 3503 return error::kNoError; |
3497 } | 3504 } |
3498 | 3505 |
3499 error::Error GLES2DecoderPassthroughImpl::DoReleaseTexImage2DCHROMIUM( | 3506 error::Error GLES2DecoderPassthroughImpl::DoReleaseTexImage2DCHROMIUM( |
3500 GLenum target, | 3507 GLenum target, |
3501 GLint imageId) { | 3508 GLint imageId) { |
3502 if (target != GL_TEXTURE_2D) { | 3509 if (target != GL_TEXTURE_2D) { |
3503 InsertError(GL_INVALID_ENUM, "Invalid target"); | 3510 InsertError(GL_INVALID_ENUM, "Invalid target"); |
3504 return error::kNoError; | 3511 return error::kNoError; |
3505 } | 3512 } |
3506 | 3513 |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3973 } | 3980 } |
3974 | 3981 |
3975 error::Error GLES2DecoderPassthroughImpl::DoSetEnableDCLayersCHROMIUM( | 3982 error::Error GLES2DecoderPassthroughImpl::DoSetEnableDCLayersCHROMIUM( |
3976 GLboolean enable) { | 3983 GLboolean enable) { |
3977 NOTIMPLEMENTED(); | 3984 NOTIMPLEMENTED(); |
3978 return error::kNoError; | 3985 return error::kNoError; |
3979 } | 3986 } |
3980 | 3987 |
3981 } // namespace gles2 | 3988 } // namespace gles2 |
3982 } // namespace gpu | 3989 } // namespace gpu |
OLD | NEW |