|
Allow textures to be moved from one GL context group to another.
The function glProduceTexture(target, mailbox) removes a texture from a context group and puts it in a "mailbox" that is accessible to all context groups on the same channel.
Then glConsumeTexture(target, mailbox) adds the texture to a context group, possibly a different one, if the caller knows the name of the mailbox.
From the point of view of the caller, the texture objects themselves do not move, just the texels. In terms of the underlying GL, the TextureInfo service IDs are reassigned as necessary.
A texture in a mailbox is destroyed when the context group that put it there is destroyed.
Expected usage is:
// Context 1
glBindTexture(GL_TEXTURE_2D, foo);
glProduceTexture(GL_TEXTURE_2D, secret_name);
glFlush();
// Context 2
glBindTexture(GL_TEXTURE_2D, bar);
glConsumeTexture(GL_TEXTURE_2D, secret_name);
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=134791
Total comments: 3
Total comments: 10
Total comments: 10
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1662 lines, -44 lines) |
Patch |
|
M |
content/common/gpu/gpu_channel.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/common/gpu/gpu_channel.cc
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/common/gpu/gpu_command_buffer_stub.h
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/common/gpu/gpu_command_buffer_stub.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
gpu/DEPS
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/build_gles2_cmd_buffer.py
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+27 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/client/gles2_c_lib_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/client/gles2_cmd_helper_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+45 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/client/gles2_implementation.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/client/gles2_implementation_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+30 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/cmd_buffer_functions.txt
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
gpu/command_buffer/common/gles2_cmd_format_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+214 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+219 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/common/gles2_cmd_ids_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/context_group.h
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/context_group.cc
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+7 lines, -2 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/context_group_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/feature_info.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
1
2
3
4
5
6
7
8
|
7 chunks |
+93 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/gles2_cmd_decoder_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+92 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+127 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
A |
gpu/command_buffer/service/mailbox_manager.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+99 lines, -0 lines |
0 comments
|
Download
|
|
A |
gpu/command_buffer/service/mailbox_manager.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+125 lines, -0 lines |
0 comments
|
Download
|
|
A |
gpu/command_buffer/service/texture_definition.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+75 lines, -0 lines |
0 comments
|
Download
|
|
A |
gpu/command_buffer/service/texture_definition.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+49 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/texture_manager.h
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+24 lines, -26 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/service/texture_manager.cc
|
View
|
1
2
3
4
5
6
7
8
|
4 chunks |
+130 lines, -1 line |
0 comments
|
Download
|
|
M |
gpu/command_buffer/tests/gl_manager.h
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
gpu/command_buffer/tests/gl_manager.cc
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
|
A |
gpu/command_buffer/tests/gl_texture_mailbox_unittests.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+172 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer/tests/gl_unittests.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/command_buffer_service.gypi
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
gpu/gles2_conform_support/egl/display.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
gpu/gpu_common.gypi
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
third_party/khronos/GLES2/gl2ext.h
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
|
M |
webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 17 (0 generated)
|