| 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 5620 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   5631                                           feature_info_); |   5631                                           feature_info_); | 
|   5632   } |   5632   } | 
|   5633 } |   5633 } | 
|   5634  |   5634  | 
|   5635 bool GLES2DecoderImpl::SetBlackTextureForNonRenderableTextures() { |   5635 bool GLES2DecoderImpl::SetBlackTextureForNonRenderableTextures() { | 
|   5636   DCHECK(state_.current_program); |   5636   DCHECK(state_.current_program); | 
|   5637   // Only check if there are some unrenderable textures. |   5637   // Only check if there are some unrenderable textures. | 
|   5638   if (!texture_manager()->HaveUnrenderableTextures()) { |   5638   if (!texture_manager()->HaveUnrenderableTextures()) { | 
|   5639     return false; |   5639     return false; | 
|   5640   } |   5640   } | 
 |   5641   LOCAL_PERFORMANCE_WARNING("Some textures are unrenderable."); | 
|   5641   bool textures_set = false; |   5642   bool textures_set = false; | 
|   5642   const Program::SamplerIndices& sampler_indices = |   5643   const Program::SamplerIndices& sampler_indices = | 
|   5643      state_.current_program->sampler_indices(); |   5644      state_.current_program->sampler_indices(); | 
|   5644   for (size_t ii = 0; ii < sampler_indices.size(); ++ii) { |   5645   for (size_t ii = 0; ii < sampler_indices.size(); ++ii) { | 
|   5645     const Program::UniformInfo* uniform_info = |   5646     const Program::UniformInfo* uniform_info = | 
|   5646         state_.current_program->GetUniformInfo(sampler_indices[ii]); |   5647         state_.current_program->GetUniformInfo(sampler_indices[ii]); | 
|   5647     DCHECK(uniform_info); |   5648     DCHECK(uniform_info); | 
|   5648     for (size_t jj = 0; jj < uniform_info->texture_units.size(); ++jj) { |   5649     for (size_t jj = 0; jj < uniform_info->texture_units.size(); ++jj) { | 
|   5649       GLuint texture_unit_index = uniform_info->texture_units[jj]; |   5650       GLuint texture_unit_index = uniform_info->texture_units[jj]; | 
|   5650       if (texture_unit_index < state_.texture_units.size()) { |   5651       if (texture_unit_index < state_.texture_units.size()) { | 
| (...skipping 3710 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   9361     return error::kNoError; |   9362     return error::kNoError; | 
|   9362   } |   9363   } | 
|   9363  |   9364  | 
|   9364   if (!stream_texture_manager_) |   9365   if (!stream_texture_manager_) | 
|   9365     return error::kInvalidArguments; |   9366     return error::kInvalidArguments; | 
|   9366  |   9367  | 
|   9367   GLuint object_id = stream_texture_manager_->CreateStreamTexture( |   9368   GLuint object_id = stream_texture_manager_->CreateStreamTexture( | 
|   9368       texture->service_id(), client_id); |   9369       texture->service_id(), client_id); | 
|   9369  |   9370  | 
|   9370   if (object_id) { |   9371   if (object_id) { | 
|   9371     texture->SetStreamTexture(true); |   9372     texture_manager()->SetStreamTexture(texture, true); | 
|   9372   } else { |   9373   } else { | 
|   9373     LOCAL_SET_GL_ERROR( |   9374     LOCAL_SET_GL_ERROR( | 
|   9374         GL_OUT_OF_MEMORY, |   9375         GL_OUT_OF_MEMORY, | 
|   9375         "glCreateStreamTextureCHROMIUM", "failed to create platform texture."); |   9376         "glCreateStreamTextureCHROMIUM", "failed to create platform texture."); | 
|   9376   } |   9377   } | 
|   9377  |   9378  | 
|   9378   *result = object_id; |   9379   *result = object_id; | 
|   9379   return error::kNoError; |   9380   return error::kNoError; | 
|   9380 } |   9381 } | 
|   9381  |   9382  | 
|   9382 error::Error GLES2DecoderImpl::HandleDestroyStreamTextureCHROMIUM( |   9383 error::Error GLES2DecoderImpl::HandleDestroyStreamTextureCHROMIUM( | 
|   9383     uint32 immediate_data_size, |   9384     uint32 immediate_data_size, | 
|   9384     const cmds::DestroyStreamTextureCHROMIUM& c) { |   9385     const cmds::DestroyStreamTextureCHROMIUM& c) { | 
|   9385   GLuint client_id = c.texture; |   9386   GLuint client_id = c.texture; | 
|   9386   Texture* texture = texture_manager()->GetTexture(client_id); |   9387   Texture* texture = texture_manager()->GetTexture(client_id); | 
|   9387   if (texture && texture->IsStreamTexture()) { |   9388   if (texture && texture->IsStreamTexture()) { | 
|   9388     if (!stream_texture_manager_) |   9389     if (!stream_texture_manager_) | 
|   9389       return error::kInvalidArguments; |   9390       return error::kInvalidArguments; | 
|   9390  |   9391  | 
|   9391     stream_texture_manager_->DestroyStreamTexture(texture->service_id()); |   9392     stream_texture_manager_->DestroyStreamTexture(texture->service_id()); | 
|   9392     texture->SetStreamTexture(false); |   9393     texture_manager()->SetStreamTexture(texture, false); | 
|   9393   } else { |   9394   } else { | 
|   9394     LOCAL_SET_GL_ERROR( |   9395     LOCAL_SET_GL_ERROR( | 
|   9395         GL_INVALID_VALUE, |   9396         GL_INVALID_VALUE, | 
|   9396         "glDestroyStreamTextureCHROMIUM", "bad texture id."); |   9397         "glDestroyStreamTextureCHROMIUM", "bad texture id."); | 
|   9397   } |   9398   } | 
|   9398  |   9399  | 
|   9399   return error::kNoError; |   9400   return error::kNoError; | 
|   9400 } |   9401 } | 
|   9401  |   9402  | 
|   9402 #if defined(OS_MACOSX) |   9403 #if defined(OS_MACOSX) | 
| (...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  10340   return error::kNoError; |  10341   return error::kNoError; | 
|  10341 } |  10342 } | 
|  10342  |  10343  | 
|  10343 // Include the auto-generated part of this file. We split this because it means |  10344 // Include the auto-generated part of this file. We split this because it means | 
|  10344 // we can easily edit the non-auto generated parts right here in this file |  10345 // we can easily edit the non-auto generated parts right here in this file | 
|  10345 // instead of having to edit some template or the code generator. |  10346 // instead of having to edit some template or the code generator. | 
|  10346 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" |  10347 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" | 
|  10347  |  10348  | 
|  10348 }  // namespace gles2 |  10349 }  // namespace gles2 | 
|  10349 }  // namespace gpu |  10350 }  // namespace gpu | 
| OLD | NEW |