- Extracted platform specific code from GLES2 command decoder to platform specific GLContext classes.
- GLContext encapsulates management of GL contexts on each platform.
- ReadPixels uses actual current window size to validate source rectangle.
TEST=trybots, running Pepper 3D and WebGL demos on all platforms
BUG=none
Review URL: http://codereview.chromium.org/1605014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44129 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gpu/gpu.gyp b/gpu/gpu.gyp
index fac0dee2..da7172b 100644
--- a/gpu/gpu.gyp
+++ b/gpu/gpu.gyp
@@ -22,7 +22,12 @@
'command_buffer/service/gles2_cmd_validation.cc',
'command_buffer/service/gles2_cmd_validation_autogen.h',
'command_buffer/service/gles2_cmd_validation_implementation_autogen.h',
+ 'command_buffer/service/gl_context.cc',
+ 'command_buffer/service/gl_context.h',
'command_buffer/service/gl_utils.h',
+ 'command_buffer/service/gpu_processor.h',
+ 'command_buffer/service/gpu_processor.cc',
+ 'command_buffer/service/gpu_processor_mock.h',
'command_buffer/service/id_manager.h',
'command_buffer/service/id_manager.cc',
'command_buffer/service/program_manager.h',
@@ -34,6 +39,32 @@
'command_buffer/service/texture_manager.h',
'command_buffer/service/texture_manager.cc',
],
+ 'conditions': [
+ ['OS == "linux"',
+ {
+ 'gpu_service_source_files': [
+ 'command_buffer/service/gl_context_linux.cc',
+ 'command_buffer/service/gpu_processor_linux.cc',
+ ],
+ },
+ ],
+ ['OS == "win"',
+ {
+ 'gpu_service_source_files': [
+ 'command_buffer/service/gl_context_win.cc',
+ 'command_buffer/service/gpu_processor_win.cc',
+ ],
+ },
+ ],
+ ['OS == "mac"',
+ {
+ 'gpu_service_source_files': [
+ 'command_buffer/service/gl_context_mac.cc',
+ 'command_buffer/service/gpu_processor_mac.cc',
+ ],
+ },
+ ],
+ ],
},
'targets': [
{
@@ -233,40 +264,7 @@
'command_buffer/service/command_buffer_service.h',
'command_buffer/service/cmd_parser.cc',
'command_buffer/service/cmd_parser.h',
- 'command_buffer/service/gpu_processor.h',
- 'command_buffer/service/gpu_processor.cc',
- 'command_buffer/service/gpu_processor_mock.h',
'command_buffer/service/mocks.h',
- 'command_buffer/service/precompile.cc',
- 'command_buffer/service/precompile.h',
- ],
- 'conditions': [
- ['OS == "linux"',
- {
- 'sources': [
- 'command_buffer/service/gpu_processor_linux.cc',
- 'command_buffer/service/x_utils.cc',
- 'command_buffer/service/x_utils.h',
- ],
- 'dependencies': [
- '../build/linux/system.gyp:gtk',
- ]
- },
- ],
- ['OS == "win"',
- {
- 'sources': [
- 'command_buffer/service/gpu_processor_win.cc',
- ],
- },
- ],
- ['OS == "mac"',
- {
- 'sources': [
- 'command_buffer/service/gpu_processor_mac.cc',
- ],
- },
- ],
],
},
{
@@ -287,6 +285,15 @@
'sources': [
'<@(gpu_service_source_files)',
],
+ 'conditions': [
+ ['OS == "linux"',
+ {
+ 'dependencies': [
+ '../build/linux/system.gyp:gtk',
+ ]
+ },
+ ],
+ ],
},
{
'target_name': 'gpu_plugin',