Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(377)

Unified Diff: gpu/command_buffer/service/in_process_command_buffer.cc

Issue 1417853006: gpu: introduce glSetStreamTextureSizeCHROMIUM(GLuint texture, GLint stream_id, GLsizei width, GLsiz… Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android_webview.test failure Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gpu/command_buffer/service/in_process_command_buffer.cc
diff --git a/gpu/command_buffer/service/in_process_command_buffer.cc b/gpu/command_buffer/service/in_process_command_buffer.cc
index b3b1b12efdc3650d0ccd1b88f4d25d5157cfb7d4..2f387b9c2ee3b0567fa9a1315e50becab28c2891 100644
--- a/gpu/command_buffer/service/in_process_command_buffer.cc
+++ b/gpu/command_buffer/service/in_process_command_buffer.cc
@@ -907,19 +907,27 @@ void InProcessCommandBuffer::SignalQueryOnGpuThread(
void InProcessCommandBuffer::SetSurfaceVisible(bool visible) {}
-uint32 InProcessCommandBuffer::CreateStreamTexture(uint32 texture_id) {
+int32 InProcessCommandBuffer::CreateStreamTexture(uint32 texture_id) {
base::WaitableEvent completion(true, false);
- uint32 stream_id = 0;
- base::Callback<uint32(void)> task =
+ int32 stream_id = 0;
+ base::Callback<int32(void)> task =
base::Bind(&InProcessCommandBuffer::CreateStreamTextureOnGpuThread,
- base::Unretained(this),
- texture_id);
+ base::Unretained(this), texture_id);
QueueTask(
- base::Bind(&RunTaskWithResult<uint32>, task, &stream_id, &completion));
+ base::Bind(&RunTaskWithResult<int32>, task, &stream_id, &completion));
completion.Wait();
return stream_id;
}
+void InProcessCommandBuffer::SetStreamTextureSize(uint32 texture_id,
+ int32 stream_id,
+ size_t width,
+ size_t height) {
+ QueueTask(base::Bind(&InProcessCommandBuffer::SetStreamTextureSizeOnGpuThread,
+ base::Unretained(this), texture_id, stream_id, width,
+ height));
+}
+
void InProcessCommandBuffer::SetLock(base::Lock*) {
}
@@ -976,7 +984,7 @@ bool InProcessCommandBuffer::CanWaitUnverifiedSyncToken(
return false;
}
-uint32 InProcessCommandBuffer::CreateStreamTextureOnGpuThread(
+int32 InProcessCommandBuffer::CreateStreamTextureOnGpuThread(
uint32 client_texture_id) {
#if defined(OS_ANDROID)
return stream_texture_manager_->CreateStreamTexture(
@@ -986,6 +994,18 @@ uint32 InProcessCommandBuffer::CreateStreamTextureOnGpuThread(
#endif
}
+void InProcessCommandBuffer::SetStreamTextureSizeOnGpuThread(
+ uint32 client_texture_id,
+ int32 stream_id,
+ size_t width,
+ size_t height) {
+#if defined(OS_ANDROID)
+ stream_texture_manager_->SetStreamTextureSize(
+ client_texture_id, stream_id, width, height,
+ decoder_->GetContextGroup()->texture_manager());
+#endif
+}
+
gpu::error::Error InProcessCommandBuffer::GetLastError() {
CheckSequencedThread();
return last_state_.error;
@@ -1033,8 +1053,8 @@ base::Closure InProcessCommandBuffer::WrapCallback(
}
#if defined(OS_ANDROID)
-scoped_refptr<gfx::SurfaceTexture>
-InProcessCommandBuffer::GetSurfaceTexture(uint32 stream_id) {
+scoped_refptr<gfx::SurfaceTexture> InProcessCommandBuffer::GetSurfaceTexture(
+ int32 stream_id) {
DCHECK(stream_texture_manager_);
return stream_texture_manager_->GetSurfaceTexture(stream_id);
}

Powered by Google App Engine
This is Rietveld 408576698