Chromium Code Reviews| Index: gpu/command_buffer/service/texture_manager.cc |
| diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc |
| index ba79b2a3890fe5bdce0c3f75fc42ecdc21000f8e..52a00db5c3a3ca7c206ec99dde96c6740212f7c5 100644 |
| --- a/gpu/command_buffer/service/texture_manager.cc |
| +++ b/gpu/command_buffer/service/texture_manager.cc |
| @@ -1500,13 +1500,16 @@ void Texture::SetLevelImage(GLenum target, |
| GLint level, |
| gl::GLImage* image, |
| ImageState state) { |
| + SetStreamTextureServiceId(0); |
|
liberato (no reviews please)
2016/06/01 14:10:44
maybe just clear it if image != whatever is bound
watk
2016/06/01 20:54:44
Sounds good. Done. The API is fairly consistent no
|
| SetLevelImageInternal(target, level, image, nullptr, state); |
| } |
| void Texture::SetLevelStreamTextureImage(GLenum target, |
| GLint level, |
| GLStreamTextureImage* image, |
| - ImageState state) { |
| + ImageState state, |
| + GLuint service_id) { |
| + SetStreamTextureServiceId(service_id); |
| SetLevelImageInternal(target, level, image, image, state); |
| } |
| @@ -1619,7 +1622,7 @@ bool Texture::CanRenderTo(const FeatureInfo* feature_info, GLint level) const { |
| return (color_renderable || depth_renderable || stencil_renderable); |
| } |
| -void Texture::SetUnownedServiceId(GLuint service_id) { |
| +void Texture::SetStreamTextureServiceId(GLuint service_id) { |
| GLuint new_service_id = service_id; |
| // Take no action if this isn't an OES_EXTERNAL texture. |
| @@ -2100,9 +2103,11 @@ void TextureManager::SetLevelStreamTextureImage(TextureRef* ref, |
| GLenum target, |
| GLint level, |
| GLStreamTextureImage* image, |
| - Texture::ImageState state) { |
| + Texture::ImageState state, |
| + GLuint service_id) { |
| DCHECK(ref); |
| - ref->texture()->SetLevelStreamTextureImage(target, level, image, state); |
| + ref->texture()->SetLevelStreamTextureImage(target, level, image, state, |
| + service_id); |
| } |
| size_t TextureManager::GetSignatureSize() const { |