summaryrefslogtreecommitdiff
path: root/gpu
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2014-04-10 11:22:14 +0100
committerBen Murdoch <benm@google.com>2014-04-10 11:22:14 +0100
commitc5cede9ae108bb15f6b7a8aea21c7e1fefa2834c (patch)
treee9edd581ad60ab80aa5ab423a2a80df652a75792 /gpu
parent54cd42278ccf1d52996034848086a09b23065a40 (diff)
downloadchromium_org-c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c.tar.gz
Merge from Chromium at DEPS revision 262940
This commit was generated by merge_to_master.py. Change-Id: I9a3fddbb29857fa8f68a18c6a0115862b65f84d1
Diffstat (limited to 'gpu')
-rw-r--r--gpu/GLES2/extensions/CHROMIUM/CHROMIUM_schedule_overlay_plane.txt75
-rw-r--r--gpu/GLES2/gl2chromium_autogen.h2
-rw-r--r--gpu/GLES2/gl2extchromium.h60
-rwxr-xr-xgpu/command_buffer/build_gles2_cmd_buffer.py108
-rw-r--r--gpu/command_buffer/client/context_support.h3
-rw-r--r--gpu/command_buffer/client/gles2_c_lib_autogen.h25
-rw-r--r--gpu/command_buffer/client/gles2_cmd_helper_autogen.h28
-rw-r--r--gpu/command_buffer/client/gles2_implementation.cc59
-rw-r--r--gpu/command_buffer/client/gles2_implementation.h3
-rw-r--r--gpu/command_buffer/client/gles2_implementation_autogen.h12
-rw-r--r--gpu/command_buffer/client/gles2_implementation_impl_autogen.h33
-rw-r--r--gpu/command_buffer/client/gles2_implementation_unittest.cc84
-rw-r--r--gpu/command_buffer/client/gles2_implementation_unittest_autogen.h9
-rw-r--r--gpu/command_buffer/client/gles2_interface_autogen.h11
-rw-r--r--gpu/command_buffer/client/gles2_interface_stub_autogen.h11
-rw-r--r--gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h12
-rw-r--r--gpu/command_buffer/client/gles2_trace_implementation_autogen.h11
-rw-r--r--gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h27
-rw-r--r--gpu/command_buffer/cmd_buffer_functions.txt1
-rw-r--r--gpu/command_buffer/common/gles2_cmd_format_autogen.h104
-rw-r--r--gpu/command_buffer/common/gles2_cmd_format_test_autogen.h32
-rw-r--r--gpu/command_buffer/common/gles2_cmd_ids_autogen.h3
-rw-r--r--gpu/command_buffer/common/gles2_cmd_utils.cc4
-rw-r--r--gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h3
-rw-r--r--gpu/command_buffer/gles2_utils.target.darwin-arm.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.darwin-mips.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.darwin-x86.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.darwin-x86_64.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.linux-arm.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.linux-mips.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.linux-x86.mk11
-rw-r--r--gpu/command_buffer/gles2_utils.target.linux-x86_64.mk11
-rw-r--r--gpu/command_buffer/service/context_group.cc5
-rw-r--r--gpu/command_buffer/service/context_group.h7
-rw-r--r--gpu/command_buffer/service/context_group_unittest.cc15
-rw-r--r--gpu/command_buffer/service/context_state.cc8
-rw-r--r--gpu/command_buffer/service/context_state.h6
-rw-r--r--gpu/command_buffer/service/context_state_impl_autogen.h242
-rw-r--r--gpu/command_buffer/service/framebuffer_manager_unittest.cc22
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder.cc80
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc367
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h1
-rw-r--r--gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc36
-rw-r--r--gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h1
-rw-r--r--gpu/command_buffer/service/in_process_command_buffer.cc24
-rw-r--r--gpu/command_buffer/service/in_process_command_buffer.h3
-rw-r--r--gpu/command_buffer/service/mailbox_manager_unittest.cc13
-rw-r--r--gpu/command_buffer/service/mailbox_synchronizer.cc2
-rw-r--r--gpu/command_buffer/service/memory_program_cache_unittest.cc1
-rw-r--r--gpu/command_buffer/service/shader_translator.cc30
-rw-r--r--gpu/command_buffer/service/shader_translator_cache.cc5
-rw-r--r--gpu/command_buffer/service/shader_translator_cache.h17
-rw-r--r--gpu/command_buffer/service/test_helper.cc54
-rw-r--r--gpu/command_buffer/service/test_helper.h22
-rw-r--r--gpu/command_buffer/service/texture_definition.cc8
-rw-r--r--gpu/command_buffer/service/texture_manager.cc97
-rw-r--r--gpu/command_buffer/service/texture_manager.h5
-rw-r--r--gpu/command_buffer/service/texture_manager_unittest.cc163
-rw-r--r--gpu/command_buffer/tests/gl_manager.cc12
-rw-r--r--gpu/command_buffer_client.target.darwin-arm.mk11
-rw-r--r--gpu/command_buffer_client.target.darwin-mips.mk11
-rw-r--r--gpu/command_buffer_client.target.darwin-x86.mk11
-rw-r--r--gpu/command_buffer_client.target.darwin-x86_64.mk11
-rw-r--r--gpu/command_buffer_client.target.linux-arm.mk11
-rw-r--r--gpu/command_buffer_client.target.linux-mips.mk11
-rw-r--r--gpu/command_buffer_client.target.linux-x86.mk11
-rw-r--r--gpu/command_buffer_client.target.linux-x86_64.mk11
-rw-r--r--gpu/command_buffer_common.target.darwin-arm.mk11
-rw-r--r--gpu/command_buffer_common.target.darwin-mips.mk11
-rw-r--r--gpu/command_buffer_common.target.darwin-x86.mk11
-rw-r--r--gpu/command_buffer_common.target.darwin-x86_64.mk11
-rw-r--r--gpu/command_buffer_common.target.linux-arm.mk11
-rw-r--r--gpu/command_buffer_common.target.linux-mips.mk11
-rw-r--r--gpu/command_buffer_common.target.linux-x86.mk11
-rw-r--r--gpu/command_buffer_common.target.linux-x86_64.mk11
-rw-r--r--gpu/command_buffer_service.target.darwin-arm.mk23
-rw-r--r--gpu/command_buffer_service.target.darwin-mips.mk23
-rw-r--r--gpu/command_buffer_service.target.darwin-x86.mk23
-rw-r--r--gpu/command_buffer_service.target.darwin-x86_64.mk23
-rw-r--r--gpu/command_buffer_service.target.linux-arm.mk23
-rw-r--r--gpu/command_buffer_service.target.linux-mips.mk23
-rw-r--r--gpu/command_buffer_service.target.linux-x86.mk23
-rw-r--r--gpu/command_buffer_service.target.linux-x86_64.mk23
-rw-r--r--gpu/disk_cache_proto.target.darwin-arm.mk15
-rw-r--r--gpu/disk_cache_proto.target.darwin-mips.mk15
-rw-r--r--gpu/disk_cache_proto.target.darwin-x86.mk15
-rw-r--r--gpu/disk_cache_proto.target.darwin-x86_64.mk15
-rw-r--r--gpu/disk_cache_proto.target.linux-arm.mk15
-rw-r--r--gpu/disk_cache_proto.target.linux-mips.mk15
-rw-r--r--gpu/disk_cache_proto.target.linux-x86.mk15
-rw-r--r--gpu/disk_cache_proto.target.linux-x86_64.mk15
-rw-r--r--gpu/gles2_c_lib.target.darwin-arm.mk9
-rw-r--r--gpu/gles2_c_lib.target.darwin-mips.mk9
-rw-r--r--gpu/gles2_c_lib.target.darwin-x86.mk9
-rw-r--r--gpu/gles2_c_lib.target.darwin-x86_64.mk9
-rw-r--r--gpu/gles2_c_lib.target.linux-arm.mk9
-rw-r--r--gpu/gles2_c_lib.target.linux-mips.mk9
-rw-r--r--gpu/gles2_c_lib.target.linux-x86.mk9
-rw-r--r--gpu/gles2_c_lib.target.linux-x86_64.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.darwin-arm.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.darwin-mips.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.darwin-x86.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.darwin-x86_64.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.linux-arm.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.linux-mips.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.linux-x86.mk9
-rw-r--r--gpu/gles2_cmd_helper.target.linux-x86_64.mk9
-rw-r--r--gpu/gles2_conform_support/egl/display.cc4
-rw-r--r--gpu/gles2_implementation.target.darwin-arm.mk21
-rw-r--r--gpu/gles2_implementation.target.darwin-mips.mk21
-rw-r--r--gpu/gles2_implementation.target.darwin-x86.mk21
-rw-r--r--gpu/gles2_implementation.target.darwin-x86_64.mk21
-rw-r--r--gpu/gles2_implementation.target.linux-arm.mk21
-rw-r--r--gpu/gles2_implementation.target.linux-mips.mk21
-rw-r--r--gpu/gles2_implementation.target.linux-x86.mk21
-rw-r--r--gpu/gles2_implementation.target.linux-x86_64.mk21
-rw-r--r--gpu/gpu.target.darwin-arm.mk20
-rw-r--r--gpu/gpu.target.darwin-mips.mk20
-rw-r--r--gpu/gpu.target.darwin-x86.mk20
-rw-r--r--gpu/gpu.target.darwin-x86_64.mk20
-rw-r--r--gpu/gpu.target.linux-arm.mk20
-rw-r--r--gpu/gpu.target.linux-mips.mk20
-rw-r--r--gpu/gpu.target.linux-x86.mk20
-rw-r--r--gpu/gpu.target.linux-x86_64.mk20
-rw-r--r--gpu/gpu_config.gypi2
-rw-r--r--gpu/gpu_config.target.darwin-arm.mk11
-rw-r--r--gpu/gpu_config.target.darwin-mips.mk11
-rw-r--r--gpu/gpu_config.target.darwin-x86.mk11
-rw-r--r--gpu/gpu_config.target.darwin-x86_64.mk11
-rw-r--r--gpu/gpu_config.target.linux-arm.mk11
-rw-r--r--gpu/gpu_config.target.linux-mips.mk11
-rw-r--r--gpu/gpu_config.target.linux-x86.mk11
-rw-r--r--gpu/gpu_config.target.linux-x86_64.mk11
-rw-r--r--gpu/gpu_ipc.target.darwin-arm.mk11
-rw-r--r--gpu/gpu_ipc.target.darwin-mips.mk11
-rw-r--r--gpu/gpu_ipc.target.darwin-x86.mk11
-rw-r--r--gpu/gpu_ipc.target.darwin-x86_64.mk11
-rw-r--r--gpu/gpu_ipc.target.linux-arm.mk11
-rw-r--r--gpu/gpu_ipc.target.linux-mips.mk11
-rw-r--r--gpu/gpu_ipc.target.linux-x86.mk11
-rw-r--r--gpu/gpu_ipc.target.linux-x86_64.mk11
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.darwin-arm.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.darwin-mips.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86_64.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.linux-arm.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.linux-mips.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.linux-x86.mk19
-rw-r--r--gpu/skia_bindings/gpu_skia_bindings.target.linux-x86_64.mk19
149 files changed, 2317 insertions, 1023 deletions
diff --git a/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_schedule_overlay_plane.txt b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_schedule_overlay_plane.txt
new file mode 100644
index 0000000000..7b02706888
--- /dev/null
+++ b/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_schedule_overlay_plane.txt
@@ -0,0 +1,75 @@
+Name
+
+ CHROMIUM_schedule_overlay_plane
+
+Name Strings
+
+ GL_CHROMIUM_schedule_overlay_plane
+
+Version
+
+ Last Modified Date: April 2, 2014
+
+Dependencies
+
+ OpenGL ES 2.0 is required.
+
+Overview
+
+ This extension allows a client to request a texture be presented as a
+ hardware overlay plane along with the framebuffer. The expectation is that
+ all the planes scheduled since the last call to glSwapBuffers or
+ glPostSubBufferCHROMIUM are displayed atomically with the framebuffer during
+ the next call to swap buffers. Scheduled planes are not stateful and need
+ to be rescheduled after the buffers were swapped.
+
+ This extension could be used in conjunction with OES_EGL_image_external
+ to render into buffers suitable for scanout and present them directly
+ via display hardware without further compositing in GLES.
+
+ An example use case would be displaying a video buffer which was decoded by
+ dedicated hardware as part of a GLES application.
+
+Issues
+
+ None
+
+New Tokens
+
+ None
+
+New Procedures and Functions
+
+ The command
+
+ glScheduleOverlayPlaneCHROMIUM (GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height);
+
+ Sets the overlay plane to be presented synchronously along with the primary
+ framebuffer during the call to swap buffers.
+ <plane_z_order> specifies the stacking order of the plane relative to the
+ main framebuffer located at index 0.
+ <plane_transform> specifies how the buffer is to be transformed during
+ composition.
+ <overlay_texture_id> is the buffer to be presented by the overlay.
+ <bounds_x>, <bounds_y>, <bounds_width>, <bounds_height> specify where it is
+ supposed to be on the screen.
+ <uv_x>, <uv_y>, <uv_width>, <uv_height> specify the region within the
+ buffer to be placed inside the bounds.
+
+Errors
+
+ None.
+
+New State
+
+ None.
diff --git a/gpu/GLES2/gl2chromium_autogen.h b/gpu/GLES2/gl2chromium_autogen.h
index bbef99f47f..db9c624902 100644
--- a/gpu/GLES2/gl2chromium_autogen.h
+++ b/gpu/GLES2/gl2chromium_autogen.h
@@ -233,5 +233,7 @@
#define glWaitSyncPointCHROMIUM GLES2_GET_FUN(WaitSyncPointCHROMIUM)
#define glDrawBuffersEXT GLES2_GET_FUN(DrawBuffersEXT)
#define glDiscardBackbufferCHROMIUM GLES2_GET_FUN(DiscardBackbufferCHROMIUM)
+#define glScheduleOverlayPlaneCHROMIUM \
+ GLES2_GET_FUN(ScheduleOverlayPlaneCHROMIUM)
#endif // GPU_GLES2_GL2CHROMIUM_AUTOGEN_H_
diff --git a/gpu/GLES2/gl2extchromium.h b/gpu/GLES2/gl2extchromium.h
index 50a6247ec9..db4f12ff90 100644
--- a/gpu/GLES2/gl2extchromium.h
+++ b/gpu/GLES2/gl2extchromium.h
@@ -351,6 +351,10 @@ typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERCHROMIUMPROC) (GLint srcX0, GLint
#endif
#endif /* GL_CHROMIUM_async_pixel_transfers */
+#ifndef GL_BIND_GENERATES_RESOURCE_CHROMIUM
+#define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
+#endif
+
/* GL_CHROMIUM_copy_texture */
#ifndef GL_CHROMIUM_copy_texture
#define GL_CHROMIUM_copy_texture 1
@@ -632,6 +636,62 @@ typedef void (GL_APIENTRYP PFNGLWAITSYNCPOINTCHROMIUMPROC) (GLuint sync_point);
#endif
#endif /* GL_CHROMIUM_color_buffer_float_rgb */
+/* GL_CHROMIUM_schedule_overlay_plane */
+#ifndef GL_CHROMIUM_schedule_overlay_plane
+#define GL_CHROMIUM_schedule_overlay_plane 1
+
+#ifndef GL_OVERLAY_TRANSFORM_NONE_CHROMIUM
+#define GL_OVERLAY_TRANSFORM_NONE_CHROMIUM 0x9245
+#endif
+
+#ifndef GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM
+#define GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM 0x9246
+#endif
+
+#ifndef GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM
+#define GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM 0x9247
+#endif
+
+#ifndef GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM
+#define GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM 0x9248
+#endif
+
+#ifndef GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM
+#define GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM 0x9249
+#endif
+
+#ifndef GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM
+#define GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM 0x924A
+#endif
+
+#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY
+ glScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height);
+#endif
+typedef void(GL_APIENTRYP PFNGLSCHEDULEOVERLAYPLANECHROMIUMPROC)(
+ GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height);
+#endif /* GL_CHROMIUM_schedule_overlay_plane */
+
#ifdef __cplusplus
}
#endif
diff --git a/gpu/command_buffer/build_gles2_cmd_buffer.py b/gpu/command_buffer/build_gles2_cmd_buffer.py
index e635ae5b20..84d70c0d41 100755
--- a/gpu/command_buffer/build_gles2_cmd_buffer.py
+++ b/gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -590,6 +590,7 @@ _ENUM_LISTS = {
'GL_UNPACK_FLIP_Y_CHROMIUM',
'GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM',
'GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM',
+ 'GL_BIND_GENERATES_RESOURCE_CHROMIUM',
# we can add this because we emulate it if the driver does not support it.
'GL_VERTEX_ARRAY_BINDING_OES',
'GL_VIEWPORT',
@@ -2537,6 +2538,14 @@ _FUNCTION_INFO = {
'extension': True,
'chromium': True,
},
+ 'ScheduleOverlayPlaneCHROMIUM': {
+ 'type': 'Custom',
+ 'impl_func': True,
+ 'unit_test': False,
+ 'client_test': False,
+ 'extension': True,
+ 'chromium': True,
+ },
}
@@ -5557,7 +5566,6 @@ TEST_F(GLES2ImplementationTest, %(name)s) {
cmds::%(name)s cmd;
};
- typedef cmds::%(name)s::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::%(name)s::Result));
@@ -7158,40 +7166,82 @@ bool %s::GetStateAs%s(
file.Write("}\n")
file.Write("""
-void ContextState::InitCapabilities() const {
+void ContextState::InitCapabilities(const ContextState* prev_state) const {
""")
- for capability in _CAPABILITY_FLAGS:
- file.Write(" EnableDisable(GL_%s, enable_flags.%s);\n" %
- (capability['name'].upper(), capability['name']))
+ def WriteCapabilities(test_prev):
+ for capability in _CAPABILITY_FLAGS:
+ capability_name = capability['name']
+ if test_prev:
+ file.Write(" if (prev_state->enable_flags.%s != enable_flags.%s)\n" %
+ (capability_name, capability_name))
+ file.Write(" EnableDisable(GL_%s, enable_flags.%s);\n" %
+ (capability_name.upper(), capability_name))
+
+ file.Write(" if (prev_state) {")
+ WriteCapabilities(True)
+ file.Write(" } else {")
+ WriteCapabilities(False)
+ file.Write(" }")
+
file.Write("""}
-void ContextState::InitState() const {
+void ContextState::InitState(const ContextState *prev_state) const {
""")
- # We need to sort the keys so the expectations match
- for state_name in sorted(_STATES.keys()):
- state = _STATES[state_name]
- if state['type'] == 'FrontBack':
- num_states = len(state['states'])
- for ndx, group in enumerate(Grouper(num_states / 2, state['states'])):
+ def WriteStates(test_prev):
+ # We need to sort the keys so the expectations match
+ for state_name in sorted(_STATES.keys()):
+ state = _STATES[state_name]
+ if state['type'] == 'FrontBack':
+ num_states = len(state['states'])
+ for ndx, group in enumerate(Grouper(num_states / 2, state['states'])):
+ if test_prev:
+ file.Write(" if (")
+ args = []
+ for place, item in enumerate(group):
+ item_name = item['name']
+ args.append('%s' % item_name)
+ if test_prev:
+ if place > 0:
+ file.Write(' ||\n')
+ file.Write("(%s != prev_state->%s)" % (item_name, item_name))
+ if test_prev:
+ file.Write(")\n")
+ file.Write(
+ " gl%s(%s, %s);\n" %
+ (state['func'], ('GL_FRONT', 'GL_BACK')[ndx], ", ".join(args)))
+ elif state['type'] == 'NamedParameter':
+ for item in state['states']:
+ if 'extension_flag' in item:
+ file.Write(" if (feature_info_->feature_flags().%s)\n " %
+ item['extension_flag'])
+ if test_prev:
+ file.Write(" if (prev_state->%s != %s)\n" %
+ (item['name'], item['name']))
+ file.Write(" gl%s(%s, %s);\n" %
+ (state['func'], item['enum'], item['name']))
+ else:
+ if test_prev:
+ file.Write(" if (")
args = []
- for item in group:
- args.append('%s' % item['name'])
- file.Write(
- " gl%s(%s, %s);\n" %
- (state['func'], ('GL_FRONT', 'GL_BACK')[ndx], ", ".join(args)))
- elif state['type'] == 'NamedParameter':
- for item in state['states']:
- if 'extension_flag' in item:
- file.Write(" if (feature_info_->feature_flags().%s)\n " %
- item['extension_flag'])
- file.Write(" gl%s(%s, %s);\n" %
- (state['func'], item['enum'], item['name']))
- else:
- args = []
- for item in state['states']:
- args.append('%s' % item['name'])
- file.Write(" gl%s(%s);\n" % (state['func'], ", ".join(args)))
+ for place, item in enumerate(state['states']):
+ item_name = item['name']
+ args.append('%s' % item_name)
+ if test_prev:
+ if place > 0:
+ file.Write(' ||\n')
+ file.Write("(%s != prev_state->%s)" %
+ (item_name, item_name))
+ if test_prev:
+ file.Write(" )\n")
+ file.Write(" gl%s(%s);\n" % (state['func'], ", ".join(args)))
+
+ file.Write(" if (prev_state) {")
+ WriteStates(True)
+ file.Write(" } else {")
+ WriteStates(False)
+ file.Write(" }")
+
file.Write("}\n")
file.Write("""bool ContextState::GetEnabled(GLenum cap) const {
diff --git a/gpu/command_buffer/client/context_support.h b/gpu/command_buffer/client/context_support.h
index 7344d1e604..9becfc8834 100644
--- a/gpu/command_buffer/client/context_support.h
+++ b/gpu/command_buffer/client/context_support.h
@@ -6,6 +6,7 @@
#define GPU_COMMAND_BUFFER_CLIENT_CONTEXT_SUPPORT_H_
#include "base/callback.h"
+#include "ui/gfx/overlay_transform.h"
#include "ui/gfx/rect.h"
namespace gpu {
@@ -37,7 +38,7 @@ class ContextSupport {
// primary surface during the next buffer swap.
// This method is not stateful and needs to be re-scheduled every frame.
virtual void ScheduleOverlayPlane(int plane_z_order,
- unsigned plane_transform,
+ gfx::OverlayTransform plane_transform,
unsigned overlay_texture_id,
const gfx::Rect& display_bounds,
const gfx::RectF& uv_rect) = 0;
diff --git a/gpu/command_buffer/client/gles2_c_lib_autogen.h b/gpu/command_buffer/client/gles2_c_lib_autogen.h
index 6aab61ecdf..25c7ab4bf3 100644
--- a/gpu/command_buffer/client/gles2_c_lib_autogen.h
+++ b/gpu/command_buffer/client/gles2_c_lib_autogen.h
@@ -904,6 +904,29 @@ void GLES2DrawBuffersEXT(GLsizei count, const GLenum* bufs) {
void GLES2DiscardBackbufferCHROMIUM() {
gles2::GetGLContext()->DiscardBackbufferCHROMIUM();
}
+void GLES2ScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) {
+ gles2::GetGLContext()->ScheduleOverlayPlaneCHROMIUM(plane_z_order,
+ plane_transform,
+ overlay_texture_id,
+ bounds_x,
+ bounds_y,
+ bounds_width,
+ bounds_height,
+ uv_x,
+ uv_y,
+ uv_width,
+ uv_height);
+}
namespace gles2 {
@@ -1277,6 +1300,8 @@ extern const NameToFunc g_gles2_function_table[] = {
reinterpret_cast<GLES2FunctionPointer>(glDrawBuffersEXT), },
{"glDiscardBackbufferCHROMIUM",
reinterpret_cast<GLES2FunctionPointer>(glDiscardBackbufferCHROMIUM), },
+ {"glScheduleOverlayPlaneCHROMIUM",
+ reinterpret_cast<GLES2FunctionPointer>(glScheduleOverlayPlaneCHROMIUM), },
{NULL, NULL, }, };
} // namespace gles2
diff --git a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
index 8150d642de..bcbeabf26e 100644
--- a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
+++ b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
@@ -2232,4 +2232,32 @@ void DiscardBackbufferCHROMIUM() {
}
}
+void ScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) {
+ gles2::cmds::ScheduleOverlayPlaneCHROMIUM* c =
+ GetCmdSpace<gles2::cmds::ScheduleOverlayPlaneCHROMIUM>();
+ if (c) {
+ c->Init(plane_z_order,
+ plane_transform,
+ overlay_texture_id,
+ bounds_x,
+ bounds_y,
+ bounds_width,
+ bounds_height,
+ uv_x,
+ uv_y,
+ uv_width,
+ uv_height);
+ }
+}
+
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_CMD_HELPER_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
index 194ccfe3f0..6b64d82eea 100644
--- a/gpu/command_buffer/client/gles2_implementation.cc
+++ b/gpu/command_buffer/client/gles2_implementation.cc
@@ -67,8 +67,8 @@ GLES2Implementation::GLStaticState::IntState::IntState()
max_vertex_texture_image_units(0),
max_vertex_uniform_vectors(0),
num_compressed_texture_formats(0),
- num_shader_binary_formats(0) {
-}
+ num_shader_binary_formats(0),
+ bind_generates_resource_chromium(0) {}
GLES2Implementation::SingleThreadChecker::SingleThreadChecker(
GLES2Implementation* gles2_implementation)
@@ -201,6 +201,16 @@ bool GLES2Implementation::Initialize(
reserved_ids_[0],
reserved_ids_[1]));
+ // GL_BIND_GENERATES_RESOURCE_CHROMIUM state must be the same
+ // on Client & Service.
+ if (static_state_.int_state.bind_generates_resource_chromium !=
+ (share_group_->bind_generates_resource() ? 1 : 0)) {
+ SetGLError(GL_INVALID_OPERATION,
+ "Initialize",
+ "Service bind_generates_resource mismatch.");
+ return false;
+ }
+
return true;
}
@@ -219,6 +229,7 @@ bool GLES2Implementation::QueryAndCacheStaticState() {
GL_MAX_VERTEX_UNIFORM_VECTORS,
GL_NUM_COMPRESSED_TEXTURE_FORMATS,
GL_NUM_SHADER_BINARY_FORMATS,
+ GL_BIND_GENERATES_RESOURCE_CHROMIUM,
};
GetMultipleIntegervState integerv_state(
@@ -2826,12 +2837,44 @@ void GLES2Implementation::SetSwapBuffersCompleteCallback(
swap_buffers_complete_callback_ = swap_buffers_complete_callback;
}
-void GLES2Implementation::ScheduleOverlayPlane(int plane_z_order,
- unsigned plane_transform,
- unsigned overlay_texture_id,
- const gfx::Rect& display_bounds,
- const gfx::RectF& uv_rect) {
- NOTREACHED() << "Overlay supported isn't finished.";
+static GLenum GetGLESOverlayTransform(gfx::OverlayTransform plane_transform) {
+ switch (plane_transform) {
+ case gfx::OVERLAY_TRANSFORM_INVALID:
+ break;
+ case gfx::OVERLAY_TRANSFORM_NONE:
+ return GL_OVERLAY_TRANSFORM_NONE_CHROMIUM;
+ case gfx::OVERLAY_TRANSFORM_FLIP_HORIZONTAL:
+ return GL_OVERLAY_TRANSFORM_FLIP_HORIZONTAL_CHROMIUM;
+ case gfx::OVERLAY_TRANSFORM_FLIP_VERTICAL:
+ return GL_OVERLAY_TRANSFORM_FLIP_VERTICAL_CHROMIUM;
+ case gfx::OVERLAY_TRANSFORM_ROTATE_90:
+ return GL_OVERLAY_TRANSFORM_ROTATE_90_CHROMIUM;
+ case gfx::OVERLAY_TRANSFORM_ROTATE_180:
+ return GL_OVERLAY_TRANSFORM_ROTATE_180_CHROMIUM;
+ case gfx::OVERLAY_TRANSFORM_ROTATE_270:
+ return GL_OVERLAY_TRANSFORM_ROTATE_270_CHROMIUM;
+ }
+ NOTREACHED();
+ return GL_OVERLAY_TRANSFORM_NONE_CHROMIUM;
+}
+
+void GLES2Implementation::ScheduleOverlayPlane(
+ int plane_z_order,
+ gfx::OverlayTransform plane_transform,
+ unsigned overlay_texture_id,
+ const gfx::Rect& display_bounds,
+ const gfx::RectF& uv_rect) {
+ ScheduleOverlayPlaneCHROMIUM(plane_z_order,
+ GetGLESOverlayTransform(plane_transform),
+ overlay_texture_id,
+ display_bounds.x(),
+ display_bounds.y(),
+ display_bounds.width(),
+ display_bounds.height(),
+ uv_rect.x(),
+ uv_rect.y(),
+ uv_rect.width(),
+ uv_rect.height());
}
void GLES2Implementation::OnSwapBuffersComplete() {
diff --git a/gpu/command_buffer/client/gles2_implementation.h b/gpu/command_buffer/client/gles2_implementation.h
index c8438027bd..70fe1970ad 100644
--- a/gpu/command_buffer/client/gles2_implementation.h
+++ b/gpu/command_buffer/client/gles2_implementation.h
@@ -148,6 +148,7 @@ class GLES2_IMPL_EXPORT GLES2Implementation
GLint max_vertex_uniform_vectors;
GLint num_compressed_texture_formats;
GLint num_shader_binary_formats;
+ GLint bind_generates_resource_chromium;
};
IntState int_state;
@@ -221,7 +222,7 @@ class GLES2_IMPL_EXPORT GLES2Implementation
const base::Closure& swap_buffers_complete_callback)
OVERRIDE;
virtual void ScheduleOverlayPlane(int plane_z_order,
- unsigned plane_transform,
+ gfx::OverlayTransform plane_transform,
unsigned overlay_texture_id,
const gfx::Rect& display_bounds,
const gfx::RectF& uv_rect) OVERRIDE;
diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h
index 03ed808eb7..302132eee6 100644
--- a/gpu/command_buffer/client/gles2_implementation_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_autogen.h
@@ -712,4 +712,16 @@ virtual void DrawBuffersEXT(GLsizei count, const GLenum* bufs) OVERRIDE;
virtual void DiscardBackbufferCHROMIUM() OVERRIDE;
+virtual void ScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) OVERRIDE;
+
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_implementation_impl_autogen.h b/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
index 6f9ffb6629..3ac35cd2db 100644
--- a/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_impl_autogen.h
@@ -2074,4 +2074,37 @@ void GLES2Implementation::DiscardBackbufferCHROMIUM() {
CheckGLError();
}
+void GLES2Implementation::ScheduleOverlayPlaneCHROMIUM(
+ GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) {
+ GPU_CLIENT_SINGLE_THREAD_CHECK();
+ GPU_CLIENT_LOG(
+ "[" << GetLogPrefix() << "] glScheduleOverlayPlaneCHROMIUM("
+ << plane_z_order << ", " << GLES2Util::GetStringEnum(plane_transform)
+ << ", " << overlay_texture_id << ", " << bounds_x << ", " << bounds_y
+ << ", " << bounds_width << ", " << bounds_height << ", " << uv_x
+ << ", " << uv_y << ", " << uv_width << ", " << uv_height << ")");
+ helper_->ScheduleOverlayPlaneCHROMIUM(plane_z_order,
+ plane_transform,
+ overlay_texture_id,
+ bounds_x,
+ bounds_y,
+ bounds_width,
+ bounds_height,
+ uv_x,
+ uv_y,
+ uv_width,
+ uv_height);
+ CheckGLError();
+}
+
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_implementation_unittest.cc b/gpu/command_buffer/client/gles2_implementation_unittest.cc
index f57d07a8de..a280e4f3ce 100644
--- a/gpu/command_buffer/client/gles2_implementation_unittest.cc
+++ b/gpu/command_buffer/client/gles2_implementation_unittest.cc
@@ -392,11 +392,12 @@ class GLES2ImplementationTest : public testing::Test {
public:
TestContext() : commands_(NULL), token_(0) {}
- void Initialize(ShareGroup* share_group,
+ bool Initialize(ShareGroup* share_group,
bool bind_generates_resource,
bool lose_context_when_out_of_memory) {
command_buffer_.reset(new StrictMock<MockClientCommandBuffer>());
- ASSERT_TRUE(command_buffer_->Initialize());
+ if (!command_buffer_->Initialize())
+ return false;
transfer_buffer_.reset(
new MockTransferBuffer(command_buffer_.get(),
@@ -426,6 +427,8 @@ class GLES2ImplementationTest : public testing::Test {
int_state.max_vertex_uniform_vectors = kMaxVertexUniformVectors;
int_state.num_compressed_texture_formats = kNumCompressedTextureFormats;
int_state.num_shader_binary_formats = kNumShaderBinaryFormats;
+ int_state.bind_generates_resource_chromium =
+ bind_generates_resource ? 1 : 0;
// This just happens to work for now because IntState has 1 GLint per
// state.
@@ -449,10 +452,12 @@ class GLES2ImplementationTest : public testing::Test {
bind_generates_resource,
lose_context_when_out_of_memory,
gpu_control_.get()));
- ASSERT_TRUE(gl_->Initialize(kTransferBufferSize,
- kTransferBufferSize,
- kTransferBufferSize,
- GLES2Implementation::kNoLimit));
+
+ if (!gl_->Initialize(kTransferBufferSize,
+ kTransferBufferSize,
+ kTransferBufferSize,
+ GLES2Implementation::kNoLimit))
+ return false;
}
EXPECT_CALL(*command_buffer_, OnFlush()).Times(1).RetiresOnSaturation();
@@ -466,6 +471,7 @@ class GLES2ImplementationTest : public testing::Test {
EXPECT_TRUE(transfer_buffer_->InSync());
::testing::Mock::VerifyAndClearExpectations(command_buffer());
+ return true;
}
void TearDown() {
@@ -518,14 +524,28 @@ class GLES2ImplementationTest : public testing::Test {
return gl_->query_tracker_->GetQuery(id);
}
- void Initialize(bool bind_generates_resource,
- bool lose_context_when_out_of_memory) {
- share_group_ = new ShareGroup(bind_generates_resource);
+ struct ContextInitOptions {
+ ContextInitOptions()
+ : bind_generates_resource_client(true),
+ bind_generates_resource_service(true),
+ lose_context_when_out_of_memory(false) {}
+
+ bool bind_generates_resource_client;
+ bool bind_generates_resource_service;
+ bool lose_context_when_out_of_memory;
+ };
+
+ bool Initialize(const ContextInitOptions& init_options) {
+ bool success = true;
+ share_group_ = new ShareGroup(init_options.bind_generates_resource_service);
- for (int i = 0; i < kNumTestContexts; i++)
- test_contexts_[i].Initialize(share_group_.get(),
- bind_generates_resource,
- lose_context_when_out_of_memory);
+ for (int i = 0; i < kNumTestContexts; i++) {
+ if (!test_contexts_[i].Initialize(
+ share_group_.get(),
+ init_options.bind_generates_resource_client,
+ init_options.lose_context_when_out_of_memory))
+ success = false;
+ }
// Default to test context 0.
gpu_control_ = test_contexts_[0].gpu_control_.get();
@@ -533,6 +553,7 @@ class GLES2ImplementationTest : public testing::Test {
transfer_buffer_ = test_contexts_[0].transfer_buffer_.get();
gl_ = test_contexts_[0].gl_.get();
commands_ = test_contexts_[0].commands_;
+ return success;
}
MockClientCommandBuffer* command_buffer() const {
@@ -592,9 +613,8 @@ class GLES2ImplementationTest : public testing::Test {
};
void GLES2ImplementationTest::SetUp() {
- bool bind_generates_resource = true;
- bool lose_context_when_out_of_memory = false;
- Initialize(bind_generates_resource, lose_context_when_out_of_memory);
+ ContextInitOptions init_options;
+ ASSERT_TRUE(Initialize(init_options));
}
void GLES2ImplementationTest::TearDown() {
@@ -697,9 +717,10 @@ class GLES2ImplementationStrictSharedTest : public GLES2ImplementationTest {
};
void GLES2ImplementationStrictSharedTest::SetUp() {
- bool bind_generates_resource = false;
- bool lose_context_when_out_of_memory = false;
- Initialize(bind_generates_resource, lose_context_when_out_of_memory);
+ ContextInitOptions init_options;
+ init_options.bind_generates_resource_client = false;
+ init_options.bind_generates_resource_service = false;
+ ASSERT_TRUE(Initialize(init_options));
}
// GCC requires these declarations, but MSVC requires they not be present
@@ -3117,9 +3138,9 @@ TEST_F(GLES2ImplementationTest, ProduceTextureCHROMIUM) {
}
TEST_F(GLES2ImplementationManualInitTest, LoseContextOnOOM) {
- bool bind_generates_resource = false;
- bool lose_context_when_out_of_memory = true;
- Initialize(bind_generates_resource, lose_context_when_out_of_memory);
+ ContextInitOptions init_options;
+ init_options.lose_context_when_out_of_memory = true;
+ ASSERT_TRUE(Initialize(init_options));
struct Cmds {
cmds::LoseContextCHROMIUM cmd;
@@ -3136,9 +3157,8 @@ TEST_F(GLES2ImplementationManualInitTest, LoseContextOnOOM) {
}
TEST_F(GLES2ImplementationManualInitTest, NoLoseContextOnOOM) {
- bool bind_generates_resource = false;
- bool lose_context_when_out_of_memory = false;
- Initialize(bind_generates_resource, lose_context_when_out_of_memory);
+ ContextInitOptions init_options;
+ ASSERT_TRUE(Initialize(init_options));
struct Cmds {
cmds::LoseContextCHROMIUM cmd;
@@ -3152,6 +3172,20 @@ TEST_F(GLES2ImplementationManualInitTest, NoLoseContextOnOOM) {
EXPECT_TRUE(NoCommandsWritten());
}
+TEST_F(GLES2ImplementationManualInitTest, FailInitOnBGRMismatch1) {
+ ContextInitOptions init_options;
+ init_options.bind_generates_resource_client = false;
+ init_options.bind_generates_resource_service = true;
+ EXPECT_FALSE(Initialize(init_options));
+}
+
+TEST_F(GLES2ImplementationManualInitTest, FailInitOnBGRMismatch2) {
+ ContextInitOptions init_options;
+ init_options.bind_generates_resource_client = true;
+ init_options.bind_generates_resource_service = false;
+ EXPECT_FALSE(Initialize(init_options));
+}
+
#include "gpu/command_buffer/client/gles2_implementation_unittest_autogen.h"
} // namespace gles2
diff --git a/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h b/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
index 68c28704a8..e9696c42cc 100644
--- a/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_unittest_autogen.h
@@ -127,7 +127,6 @@ TEST_F(GLES2ImplementationTest, CheckFramebufferStatus) {
cmds::CheckFramebufferStatus cmd;
};
- typedef cmds::CheckFramebufferStatus::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::CheckFramebufferStatus::Result));
@@ -759,7 +758,6 @@ TEST_F(GLES2ImplementationTest, IsBuffer) {
cmds::IsBuffer cmd;
};
- typedef cmds::IsBuffer::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsBuffer::Result));
@@ -779,7 +777,6 @@ TEST_F(GLES2ImplementationTest, IsEnabled) {
cmds::IsEnabled cmd;
};
- typedef cmds::IsEnabled::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsEnabled::Result));
@@ -799,7 +796,6 @@ TEST_F(GLES2ImplementationTest, IsFramebuffer) {
cmds::IsFramebuffer cmd;
};
- typedef cmds::IsFramebuffer::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsFramebuffer::Result));
@@ -819,7 +815,6 @@ TEST_F(GLES2ImplementationTest, IsProgram) {
cmds::IsProgram cmd;
};
- typedef cmds::IsProgram::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsProgram::Result));
@@ -839,7 +834,6 @@ TEST_F(GLES2ImplementationTest, IsRenderbuffer) {
cmds::IsRenderbuffer cmd;
};
- typedef cmds::IsRenderbuffer::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsRenderbuffer::Result));
@@ -859,7 +853,6 @@ TEST_F(GLES2ImplementationTest, IsShader) {
cmds::IsShader cmd;
};
- typedef cmds::IsShader::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsShader::Result));
@@ -879,7 +872,6 @@ TEST_F(GLES2ImplementationTest, IsTexture) {
cmds::IsTexture cmd;
};
- typedef cmds::IsTexture::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsTexture::Result));
@@ -1669,7 +1661,6 @@ TEST_F(GLES2ImplementationTest, IsVertexArrayOES) {
cmds::IsVertexArrayOES cmd;
};
- typedef cmds::IsVertexArrayOES::Result Result;
Cmds expected;
ExpectedMemoryInfo result1 =
GetExpectedResultMemory(sizeof(cmds::IsVertexArrayOES::Result));
diff --git a/gpu/command_buffer/client/gles2_interface_autogen.h b/gpu/command_buffer/client/gles2_interface_autogen.h
index c3c3f9065b..0135c3e2ca 100644
--- a/gpu/command_buffer/client/gles2_interface_autogen.h
+++ b/gpu/command_buffer/client/gles2_interface_autogen.h
@@ -487,4 +487,15 @@ virtual GLuint InsertSyncPointCHROMIUM() = 0;
virtual void WaitSyncPointCHROMIUM(GLuint sync_point) = 0;
virtual void DrawBuffersEXT(GLsizei count, const GLenum* bufs) = 0;
virtual void DiscardBackbufferCHROMIUM() = 0;
+virtual void ScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) = 0;
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_INTERFACE_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_interface_stub_autogen.h b/gpu/command_buffer/client/gles2_interface_stub_autogen.h
index 4d7e1f9317..8861d69815 100644
--- a/gpu/command_buffer/client/gles2_interface_stub_autogen.h
+++ b/gpu/command_buffer/client/gles2_interface_stub_autogen.h
@@ -511,4 +511,15 @@ virtual GLuint InsertSyncPointCHROMIUM() OVERRIDE;
virtual void WaitSyncPointCHROMIUM(GLuint sync_point) OVERRIDE;
virtual void DrawBuffersEXT(GLsizei count, const GLenum* bufs) OVERRIDE;
virtual void DiscardBackbufferCHROMIUM() OVERRIDE;
+virtual void ScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) OVERRIDE;
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_INTERFACE_STUB_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h b/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
index 639caddc1b..9c79f5938e 100644
--- a/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
+++ b/gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
@@ -632,4 +632,16 @@ void GLES2InterfaceStub::WaitSyncPointCHROMIUM(GLuint /* sync_point */) {}
void GLES2InterfaceStub::DrawBuffersEXT(GLsizei /* count */,
const GLenum* /* bufs */) {}
void GLES2InterfaceStub::DiscardBackbufferCHROMIUM() {}
+void GLES2InterfaceStub::ScheduleOverlayPlaneCHROMIUM(
+ GLint /* plane_z_order */,
+ GLenum /* plane_transform */,
+ GLuint /* overlay_texture_id */,
+ GLint /* bounds_x */,
+ GLint /* bounds_y */,
+ GLint /* bounds_width */,
+ GLint /* bounds_height */,
+ GLfloat /* uv_x */,
+ GLfloat /* uv_y */,
+ GLfloat /* uv_width */,
+ GLfloat /* uv_height */) {}
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_INTERFACE_STUB_IMPL_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_trace_implementation_autogen.h b/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
index 89bb479931..1eb91850ba 100644
--- a/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
+++ b/gpu/command_buffer/client/gles2_trace_implementation_autogen.h
@@ -511,4 +511,15 @@ virtual GLuint InsertSyncPointCHROMIUM() OVERRIDE;
virtual void WaitSyncPointCHROMIUM(GLuint sync_point) OVERRIDE;
virtual void DrawBuffersEXT(GLsizei count, const GLenum* bufs) OVERRIDE;
virtual void DiscardBackbufferCHROMIUM() OVERRIDE;
+virtual void ScheduleOverlayPlaneCHROMIUM(GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) OVERRIDE;
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_AUTOGEN_H_
diff --git a/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h b/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
index 0734ab15db..9bb0b608ce 100644
--- a/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
+++ b/gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
@@ -1482,4 +1482,31 @@ void GLES2TraceImplementation::DiscardBackbufferCHROMIUM() {
gl_->DiscardBackbufferCHROMIUM();
}
+void GLES2TraceImplementation::ScheduleOverlayPlaneCHROMIUM(
+ GLint plane_z_order,
+ GLenum plane_transform,
+ GLuint overlay_texture_id,
+ GLint bounds_x,
+ GLint bounds_y,
+ GLint bounds_width,
+ GLint bounds_height,
+ GLfloat uv_x,
+ GLfloat uv_y,
+ GLfloat uv_width,
+ GLfloat uv_height) {
+ TRACE_EVENT_BINARY_EFFICIENT0("gpu",
+ "GLES2Trace::ScheduleOverlayPlaneCHROMIUM");
+ gl_->ScheduleOverlayPlaneCHROMIUM(plane_z_order,
+ plane_transform,
+ overlay_texture_id,
+ bounds_x,
+ bounds_y,
+ bounds_width,
+ bounds_height,
+ uv_x,
+ uv_y,
+ uv_width,
+ uv_height);
+}
+
#endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_TRACE_IMPLEMENTATION_IMPL_AUTOGEN_H_
diff --git a/gpu/command_buffer/cmd_buffer_functions.txt b/gpu/command_buffer/cmd_buffer_functions.txt
index 73026fabd2..f8d8bc5e75 100644
--- a/gpu/command_buffer/cmd_buffer_functions.txt
+++ b/gpu/command_buffer/cmd_buffer_functions.txt
@@ -220,5 +220,6 @@ GL_APICALL GLuint GL_APIENTRY glInsertSyncPointCHROMIUM (void);
GL_APICALL void GL_APIENTRY glWaitSyncPointCHROMIUM (GLuint sync_point);
GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei count, const GLenum* bufs);
GL_APICALL void GL_APIENTRY glDiscardBackbufferCHROMIUM (void);
+GL_APICALL void GL_APIENTRY glScheduleOverlayPlaneCHROMIUM (GLint plane_z_order, GLenum plane_transform, GLuint overlay_texture_id, GLint bounds_x, GLint bounds_y, GLint bounds_width, GLint bounds_height, GLfloat uv_x, GLfloat uv_y, GLfloat uv_width, GLfloat uv_height);
diff --git a/gpu/command_buffer/common/gles2_cmd_format_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
index 49888b3395..c63282f84b 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -10661,4 +10661,108 @@ COMPILE_ASSERT(sizeof(DiscardBackbufferCHROMIUM) == 4,
COMPILE_ASSERT(offsetof(DiscardBackbufferCHROMIUM, header) == 0,
OffsetOf_DiscardBackbufferCHROMIUM_header_not_0);
+struct ScheduleOverlayPlaneCHROMIUM {
+ typedef ScheduleOverlayPlaneCHROMIUM ValueType;
+ static const CommandId kCmdId = kScheduleOverlayPlaneCHROMIUM;
+ static const cmd::ArgFlags kArgFlags = cmd::kFixed;
+ static const uint8 cmd_flags = CMD_FLAG_SET_TRACE_LEVEL(3);
+
+ static uint32 ComputeSize() {
+ return static_cast<uint32>(sizeof(ValueType)); // NOLINT
+ }
+
+ void SetHeader() { header.SetCmd<ValueType>(); }
+
+ void Init(GLint _plane_z_order,
+ GLenum _plane_transform,
+ GLuint _overlay_texture_id,
+ GLint _bounds_x,
+ GLint _bounds_y,
+ GLint _bounds_width,
+ GLint _bounds_height,
+ GLfloat _uv_x,
+ GLfloat _uv_y,
+ GLfloat _uv_width,
+ GLfloat _uv_height) {
+ SetHeader();
+ plane_z_order = _plane_z_order;
+ plane_transform = _plane_transform;
+ overlay_texture_id = _overlay_texture_id;
+ bounds_x = _bounds_x;
+ bounds_y = _bounds_y;
+ bounds_width = _bounds_width;
+ bounds_height = _bounds_height;
+ uv_x = _uv_x;
+ uv_y = _uv_y;
+ uv_width = _uv_width;
+ uv_height = _uv_height;
+ }
+
+ void* Set(void* cmd,
+ GLint _plane_z_order,
+ GLenum _plane_transform,
+ GLuint _overlay_texture_id,
+ GLint _bounds_x,
+ GLint _bounds_y,
+ GLint _bounds_width,
+ GLint _bounds_height,
+ GLfloat _uv_x,
+ GLfloat _uv_y,
+ GLfloat _uv_width,
+ GLfloat _uv_height) {
+ static_cast<ValueType*>(cmd)->Init(_plane_z_order,
+ _plane_transform,
+ _overlay_texture_id,
+ _bounds_x,
+ _bounds_y,
+ _bounds_width,
+ _bounds_height,
+ _uv_x,
+ _uv_y,
+ _uv_width,
+ _uv_height);
+ return NextCmdAddress<ValueType>(cmd);
+ }
+
+ gpu::CommandHeader header;
+ int32 plane_z_order;
+ uint32 plane_transform;
+ uint32 overlay_texture_id;
+ int32 bounds_x;
+ int32 bounds_y;
+ int32 bounds_width;
+ int32 bounds_height;
+ float uv_x;
+ float uv_y;
+ float uv_width;
+ float uv_height;
+};
+
+COMPILE_ASSERT(sizeof(ScheduleOverlayPlaneCHROMIUM) == 48,
+ Sizeof_ScheduleOverlayPlaneCHROMIUM_is_not_48);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, header) == 0,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_header_not_0);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, plane_z_order) == 4,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_plane_z_order_not_4);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, plane_transform) == 8,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_plane_transform_not_8);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, overlay_texture_id) == 12,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_overlay_texture_id_not_12);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, bounds_x) == 16,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_bounds_x_not_16);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, bounds_y) == 20,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_bounds_y_not_20);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, bounds_width) == 24,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_bounds_width_not_24);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, bounds_height) == 28,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_bounds_height_not_28);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, uv_x) == 32,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_uv_x_not_32);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, uv_y) == 36,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_uv_y_not_36);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, uv_width) == 40,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_uv_width_not_40);
+COMPILE_ASSERT(offsetof(ScheduleOverlayPlaneCHROMIUM, uv_height) == 44,
+ OffsetOf_ScheduleOverlayPlaneCHROMIUM_uv_height_not_44);
+
#endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_AUTOGEN_H_
diff --git a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
index fe483279b8..98b91b51a0 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
@@ -3824,4 +3824,36 @@ TEST_F(GLES2FormatTest, DiscardBackbufferCHROMIUM) {
CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
}
+TEST_F(GLES2FormatTest, ScheduleOverlayPlaneCHROMIUM) {
+ cmds::ScheduleOverlayPlaneCHROMIUM& cmd =
+ *GetBufferAs<cmds::ScheduleOverlayPlaneCHROMIUM>();
+ void* next_cmd = cmd.Set(&cmd,
+ static_cast<GLint>(11),
+ static_cast<GLenum>(12),
+ static_cast<GLuint>(13),
+ static_cast<GLint>(14),
+ static_cast<GLint>(15),
+ static_cast<GLint>(16),
+ static_cast<GLint>(17),
+ static_cast<GLfloat>(18),
+ static_cast<GLfloat>(19),
+ static_cast<GLfloat>(20),
+ static_cast<GLfloat>(21));
+ EXPECT_EQ(static_cast<uint32>(cmds::ScheduleOverlayPlaneCHROMIUM::kCmdId),
+ cmd.header.command);
+ EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u);
+ EXPECT_EQ(static_cast<GLint>(11), cmd.plane_z_order);
+ EXPECT_EQ(static_cast<GLenum>(12), cmd.plane_transform);
+ EXPECT_EQ(static_cast<GLuint>(13), cmd.overlay_texture_id);
+ EXPECT_EQ(static_cast<GLint>(14), cmd.bounds_x);
+ EXPECT_EQ(static_cast<GLint>(15), cmd.bounds_y);
+ EXPECT_EQ(static_cast<GLint>(16), cmd.bounds_width);
+ EXPECT_EQ(static_cast<GLint>(17), cmd.bounds_height);
+ EXPECT_EQ(static_cast<GLfloat>(18), cmd.uv_x);
+ EXPECT_EQ(static_cast<GLfloat>(19), cmd.uv_y);
+ EXPECT_EQ(static_cast<GLfloat>(20), cmd.uv_width);
+ EXPECT_EQ(static_cast<GLfloat>(21), cmd.uv_height);
+ CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
+}
+
#endif // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_TEST_AUTOGEN_H_
diff --git a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h b/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
index f63df0ea46..7c359b9f59 100644
--- a/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_ids_autogen.h
@@ -245,7 +245,8 @@
OP(WaitSyncPointCHROMIUM) /* 486 */ \
OP(DrawBuffersEXT) /* 487 */ \
OP(DrawBuffersEXTImmediate) /* 488 */ \
- OP(DiscardBackbufferCHROMIUM) /* 489 */
+ OP(DiscardBackbufferCHROMIUM) /* 489 */ \
+ OP(ScheduleOverlayPlaneCHROMIUM) /* 490 */
enum CommandId {
kStartPoint = cmd::kLastCommonId, // All GLES2 commands start after this.
diff --git a/gpu/command_buffer/common/gles2_cmd_utils.cc b/gpu/command_buffer/common/gles2_cmd_utils.cc
index 97bc081a18..8381586482 100644
--- a/gpu/command_buffer/common/gles2_cmd_utils.cc
+++ b/gpu/command_buffer/common/gles2_cmd_utils.cc
@@ -326,6 +326,10 @@ int GLES2Util::GLGetNumValuesReturned(int id) const {
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES:
return 1;
+ // Chromium internal bind_generates_resource query
+ case GL_BIND_GENERATES_RESOURCE_CHROMIUM:
+ return 1;
+
// bad enum
default:
return 0;
diff --git a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
index 3bce267161..62f1c308c1 100644
--- a/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h
@@ -389,6 +389,7 @@ static const GLES2Util::EnumToString enum_to_string_table[] = {
{0x812D, "GL_CLAMP_TO_BORDER_NV", },
{0x812F, "GL_CLAMP_TO_EDGE", },
{0x86A3, "GL_COMPRESSED_TEXTURE_FORMATS", },
+ {0x9244, "GL_BIND_GENERATES_RESOURCE_CHROMIUM", },
{0x86A2, "GL_NUM_COMPRESSED_TEXTURE_FORMATS", },
{0x0CF3, "GL_UNPACK_SKIP_ROWS_EXT", },
{0x0CF2, "GL_UNPACK_ROW_LENGTH_EXT", },
@@ -1002,6 +1003,8 @@ std::string GLES2Util::GetStringGLState(uint32 value) {
"GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM"},
{GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
"GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM"},
+ {GL_BIND_GENERATES_RESOURCE_CHROMIUM,
+ "GL_BIND_GENERATES_RESOURCE_CHROMIUM"},
{GL_VERTEX_ARRAY_BINDING_OES, "GL_VERTEX_ARRAY_BINDING_OES"},
{GL_VIEWPORT, "GL_VIEWPORT"},
{GL_BLEND_COLOR, "GL_BLEND_COLOR"},
diff --git a/gpu/command_buffer/gles2_utils.target.darwin-arm.mk b/gpu/command_buffer/gles2_utils.target.darwin-arm.mk
index 568ec70f36..7ce59ea055 100644
--- a/gpu/command_buffer/gles2_utils.target.darwin-arm.mk
+++ b/gpu/command_buffer/gles2_utils.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer/gles2_utils.target.darwin-mips.mk b/gpu/command_buffer/gles2_utils.target.darwin-mips.mk
index 407b440186..92a020d042 100644
--- a/gpu/command_buffer/gles2_utils.target.darwin-mips.mk
+++ b/gpu/command_buffer/gles2_utils.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer/gles2_utils.target.darwin-x86.mk b/gpu/command_buffer/gles2_utils.target.darwin-x86.mk
index b012a90c85..f865de636e 100644
--- a/gpu/command_buffer/gles2_utils.target.darwin-x86.mk
+++ b/gpu/command_buffer/gles2_utils.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer/gles2_utils.target.darwin-x86_64.mk b/gpu/command_buffer/gles2_utils.target.darwin-x86_64.mk
index 5429e8b4f9..1f838d2a7b 100644
--- a/gpu/command_buffer/gles2_utils.target.darwin-x86_64.mk
+++ b/gpu/command_buffer/gles2_utils.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer/gles2_utils.target.linux-arm.mk b/gpu/command_buffer/gles2_utils.target.linux-arm.mk
index 568ec70f36..7ce59ea055 100644
--- a/gpu/command_buffer/gles2_utils.target.linux-arm.mk
+++ b/gpu/command_buffer/gles2_utils.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer/gles2_utils.target.linux-mips.mk b/gpu/command_buffer/gles2_utils.target.linux-mips.mk
index 407b440186..92a020d042 100644
--- a/gpu/command_buffer/gles2_utils.target.linux-mips.mk
+++ b/gpu/command_buffer/gles2_utils.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer/gles2_utils.target.linux-x86.mk b/gpu/command_buffer/gles2_utils.target.linux-x86.mk
index b012a90c85..f865de636e 100644
--- a/gpu/command_buffer/gles2_utils.target.linux-x86.mk
+++ b/gpu/command_buffer/gles2_utils.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer/gles2_utils.target.linux-x86_64.mk b/gpu/command_buffer/gles2_utils.target.linux-x86_64.mk
index 5429e8b4f9..1f838d2a7b 100644
--- a/gpu/command_buffer/gles2_utils.target.linux-x86_64.mk
+++ b/gpu/command_buffer/gles2_utils.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_gles2_utils_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer/service/context_group.cc b/gpu/command_buffer/service/context_group.cc
index a0c1d3910b..fb97dafa50 100644
--- a/gpu/command_buffer/service/context_group.cc
+++ b/gpu/command_buffer/service/context_group.cc
@@ -32,11 +32,13 @@ ContextGroup::ContextGroup(
MailboxManager* mailbox_manager,
ImageManager* image_manager,
MemoryTracker* memory_tracker,
+ ShaderTranslatorCache* shader_translator_cache,
FeatureInfo* feature_info,
bool bind_generates_resource)
: mailbox_manager_(mailbox_manager ? mailbox_manager : new MailboxManager),
image_manager_(image_manager ? image_manager : new ImageManager),
memory_tracker_(memory_tracker),
+ shader_translator_cache_(shader_translator_cache),
enforce_gl_minimums_(CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnforceGLMinimums)),
bind_generates_resource_(bind_generates_resource),
@@ -176,7 +178,8 @@ bool ContextGroup::Initialize(
texture_manager_.reset(new TextureManager(memory_tracker_.get(),
feature_info_.get(),
max_texture_size,
- max_cube_map_texture_size));
+ max_cube_map_texture_size,
+ bind_generates_resource_));
texture_manager_->set_framebuffer_manager(framebuffer_manager_.get());
const GLint kMinTextureImageUnits = 8;
diff --git a/gpu/command_buffer/service/context_group.h b/gpu/command_buffer/service/context_group.h
index bb1527082e..924527f87d 100644
--- a/gpu/command_buffer/service/context_group.h
+++ b/gpu/command_buffer/service/context_group.h
@@ -16,6 +16,7 @@
#include "gpu/command_buffer/common/gles2_cmd_format.h"
#include "gpu/command_buffer/service/feature_info.h"
#include "gpu/command_buffer/service/gles2_cmd_validation.h"
+#include "gpu/command_buffer/service/shader_translator_cache.h"
#include "gpu/gpu_export.h"
namespace gpu {
@@ -46,6 +47,7 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
MailboxManager* mailbox_manager,
ImageManager* image_manager,
MemoryTracker* memory_tracker,
+ ShaderTranslatorCache* shader_translator_cache,
FeatureInfo* feature_info,
bool bind_generates_resource);
@@ -71,6 +73,10 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
return memory_tracker_.get();
}
+ ShaderTranslatorCache* shader_translator_cache() const {
+ return shader_translator_cache_.get();
+ }
+
bool bind_generates_resource() {
return bind_generates_resource_;
}
@@ -179,6 +185,7 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
scoped_refptr<MailboxManager> mailbox_manager_;
scoped_refptr<ImageManager> image_manager_;
scoped_refptr<MemoryTracker> memory_tracker_;
+ scoped_refptr<ShaderTranslatorCache> shader_translator_cache_;
scoped_ptr<TransferBufferManagerInterface> transfer_buffer_manager_;
bool enforce_gl_minimums_;
diff --git a/gpu/command_buffer/service/context_group_unittest.cc b/gpu/command_buffer/service/context_group_unittest.cc
index 23919bf284..902d79ebe2 100644
--- a/gpu/command_buffer/service/context_group_unittest.cc
+++ b/gpu/command_buffer/service/context_group_unittest.cc
@@ -30,8 +30,9 @@ namespace gles2 {
class ContextGroupTest : public testing::Test {
public:
- ContextGroupTest() {
- }
+ static const bool kBindGeneratesResource = false;
+
+ ContextGroupTest() {}
protected:
virtual void SetUp() {
@@ -39,7 +40,7 @@ class ContextGroupTest : public testing::Test {
::gfx::MockGLInterface::SetGLInterface(gl_.get());
decoder_.reset(new MockGLES2Decoder());
group_ = scoped_refptr<ContextGroup>(
- new ContextGroup(NULL, NULL, NULL, NULL, true));
+ new ContextGroup(NULL, NULL, NULL, NULL, NULL, kBindGeneratesResource));
}
virtual void TearDown() {
@@ -70,8 +71,8 @@ TEST_F(ContextGroupTest, Basic) {
}
TEST_F(ContextGroupTest, InitializeNoExtensions) {
- TestHelper::SetupContextGroupInitExpectations(gl_.get(),
- DisallowedFeatures(), "", "");
+ TestHelper::SetupContextGroupInitExpectations(
+ gl_.get(), DisallowedFeatures(), "", "", kBindGeneratesResource);
group_->Initialize(decoder_.get(), DisallowedFeatures());
EXPECT_EQ(static_cast<uint32>(TestHelper::kNumVertexAttribs),
group_->max_vertex_attribs());
@@ -105,8 +106,8 @@ TEST_F(ContextGroupTest, InitializeNoExtensions) {
TEST_F(ContextGroupTest, MultipleContexts) {
scoped_ptr<MockGLES2Decoder> decoder2_(new MockGLES2Decoder());
- TestHelper::SetupContextGroupInitExpectations(gl_.get(),
- DisallowedFeatures(), "", "");
+ TestHelper::SetupContextGroupInitExpectations(
+ gl_.get(), DisallowedFeatures(), "", "", kBindGeneratesResource);
group_->Initialize(decoder_.get(), DisallowedFeatures());
group_->Initialize(decoder2_.get(), DisallowedFeatures());
diff --git a/gpu/command_buffer/service/context_state.cc b/gpu/command_buffer/service/context_state.cc
index 6c929de67f..6c8165575f 100644
--- a/gpu/command_buffer/service/context_state.cc
+++ b/gpu/command_buffer/service/context_state.cc
@@ -213,9 +213,9 @@ void ContextState::RestoreAttribute(GLuint attrib_index) const {
glVertexAttrib4fv(attrib_index, attrib_values[attrib_index].v);
}
-void ContextState::RestoreGlobalState() const {
- InitCapabilities();
- InitState();
+void ContextState::RestoreGlobalState(const ContextState* prev_state) const {
+ InitCapabilities(prev_state);
+ InitState(prev_state);
}
void ContextState::RestoreState(const ContextState* prev_state) const {
@@ -235,7 +235,7 @@ void ContextState::RestoreState(const ContextState* prev_state) const {
RestoreBufferBindings();
RestoreRenderbufferBindings();
RestoreProgramBindings();
- RestoreGlobalState();
+ RestoreGlobalState(prev_state);
}
ErrorState* ContextState::GetErrorState() {
diff --git a/gpu/command_buffer/service/context_state.h b/gpu/command_buffer/service/context_state.h
index 2c1f0e172c..d68700fab8 100644
--- a/gpu/command_buffer/service/context_state.h
+++ b/gpu/command_buffer/service/context_state.h
@@ -102,15 +102,15 @@ struct GPU_EXPORT ContextState {
void Initialize();
void RestoreState(const ContextState* prev_state) const;
- void InitCapabilities() const;
- void InitState() const;
+ void InitCapabilities(const ContextState* prev_state) const;
+ void InitState(const ContextState* prev_state) const;
void RestoreActiveTexture() const;
void RestoreAllTextureUnitBindings(const ContextState* prev_state) const;
void RestoreActiveTextureUnitBinding(unsigned int target) const;
void RestoreAttribute(GLuint index) const;
void RestoreBufferBindings() const;
- void RestoreGlobalState() const;
+ void RestoreGlobalState(const ContextState* prev_state) const;
void RestoreProgramBindings() const;
void RestoreRenderbufferBindings() const;
void RestoreTextureUnitBindings(
diff --git a/gpu/command_buffer/service/context_state_impl_autogen.h b/gpu/command_buffer/service/context_state_impl_autogen.h
index 9a42ae1d6c..2e4d28a2d5 100644
--- a/gpu/command_buffer/service/context_state_impl_autogen.h
+++ b/gpu/command_buffer/service/context_state_impl_autogen.h
@@ -83,61 +83,197 @@ void ContextState::Initialize() {
viewport_height = 1;
}
-void ContextState::InitCapabilities() const {
- EnableDisable(GL_BLEND, enable_flags.blend);
- EnableDisable(GL_CULL_FACE, enable_flags.cull_face);
- EnableDisable(GL_DEPTH_TEST, enable_flags.depth_test);
- EnableDisable(GL_DITHER, enable_flags.dither);
- EnableDisable(GL_POLYGON_OFFSET_FILL, enable_flags.polygon_offset_fill);
- EnableDisable(GL_SAMPLE_ALPHA_TO_COVERAGE,
- enable_flags.sample_alpha_to_coverage);
- EnableDisable(GL_SAMPLE_COVERAGE, enable_flags.sample_coverage);
- EnableDisable(GL_SCISSOR_TEST, enable_flags.scissor_test);
- EnableDisable(GL_STENCIL_TEST, enable_flags.stencil_test);
+void ContextState::InitCapabilities(const ContextState* prev_state) const {
+ if (prev_state) {
+ if (prev_state->enable_flags.blend != enable_flags.blend)
+ EnableDisable(GL_BLEND, enable_flags.blend);
+ if (prev_state->enable_flags.cull_face != enable_flags.cull_face)
+ EnableDisable(GL_CULL_FACE, enable_flags.cull_face);
+ if (prev_state->enable_flags.depth_test != enable_flags.depth_test)
+ EnableDisable(GL_DEPTH_TEST, enable_flags.depth_test);
+ if (prev_state->enable_flags.dither != enable_flags.dither)
+ EnableDisable(GL_DITHER, enable_flags.dither);
+ if (prev_state->enable_flags.polygon_offset_fill !=
+ enable_flags.polygon_offset_fill)
+ EnableDisable(GL_POLYGON_OFFSET_FILL, enable_flags.polygon_offset_fill);
+ if (prev_state->enable_flags.sample_alpha_to_coverage !=
+ enable_flags.sample_alpha_to_coverage)
+ EnableDisable(GL_SAMPLE_ALPHA_TO_COVERAGE,
+ enable_flags.sample_alpha_to_coverage);
+ if (prev_state->enable_flags.sample_coverage !=
+ enable_flags.sample_coverage)
+ EnableDisable(GL_SAMPLE_COVERAGE, enable_flags.sample_coverage);
+ if (prev_state->enable_flags.scissor_test != enable_flags.scissor_test)
+ EnableDisable(GL_SCISSOR_TEST, enable_flags.scissor_test);
+ if (prev_state->enable_flags.stencil_test != enable_flags.stencil_test)
+ EnableDisable(GL_STENCIL_TEST, enable_flags.stencil_test);
+ } else {
+ EnableDisable(GL_BLEND, enable_flags.blend);
+ EnableDisable(GL_CULL_FACE, enable_flags.cull_face);
+ EnableDisable(GL_DEPTH_TEST, enable_flags.depth_test);
+ EnableDisable(GL_DITHER, enable_flags.dither);
+ EnableDisable(GL_POLYGON_OFFSET_FILL, enable_flags.polygon_offset_fill);
+ EnableDisable(GL_SAMPLE_ALPHA_TO_COVERAGE,
+ enable_flags.sample_alpha_to_coverage);
+ EnableDisable(GL_SAMPLE_COVERAGE, enable_flags.sample_coverage);
+ EnableDisable(GL_SCISSOR_TEST, enable_flags.scissor_test);
+ EnableDisable(GL_STENCIL_TEST, enable_flags.stencil_test);
+ }
}
-void ContextState::InitState() const {
- glBlendColor(
- blend_color_red, blend_color_green, blend_color_blue, blend_color_alpha);
- glBlendEquationSeparate(blend_equation_rgb, blend_equation_alpha);
- glBlendFuncSeparate(
- blend_source_rgb, blend_dest_rgb, blend_source_alpha, blend_dest_alpha);
- glClearColor(
- color_clear_red, color_clear_green, color_clear_blue, color_clear_alpha);
- glClearDepth(depth_clear);
- glClearStencil(stencil_clear);
- glColorMask(
- color_mask_red, color_mask_green, color_mask_blue, color_mask_alpha);
- glCullFace(cull_mode);
- glDepthFunc(depth_func);
- glDepthMask(depth_mask);
- glDepthRange(z_near, z_far);
- glFrontFace(front_face);
- glHint(GL_GENERATE_MIPMAP_HINT, hint_generate_mipmap);
- if (feature_info_->feature_flags().oes_standard_derivatives)
- glHint(GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES,
- hint_fragment_shader_derivative);
- glLineWidth(line_width);
- glPixelStorei(GL_PACK_ALIGNMENT, pack_alignment);
- glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_alignment);
- glPolygonOffset(polygon_offset_factor, polygon_offset_units);
- glSampleCoverage(sample_coverage_value, sample_coverage_invert);
- glScissor(scissor_x, scissor_y, scissor_width, scissor_height);
- glStencilFuncSeparate(
- GL_FRONT, stencil_front_func, stencil_front_ref, stencil_front_mask);
- glStencilFuncSeparate(
- GL_BACK, stencil_back_func, stencil_back_ref, stencil_back_mask);
- glStencilMaskSeparate(GL_FRONT, stencil_front_writemask);
- glStencilMaskSeparate(GL_BACK, stencil_back_writemask);
- glStencilOpSeparate(GL_FRONT,
- stencil_front_fail_op,
- stencil_front_z_fail_op,
- stencil_front_z_pass_op);
- glStencilOpSeparate(GL_BACK,
- stencil_back_fail_op,
- stencil_back_z_fail_op,
- stencil_back_z_pass_op);
- glViewport(viewport_x, viewport_y, viewport_width, viewport_height);
+void ContextState::InitState(const ContextState* prev_state) const {
+ if (prev_state) {
+ if ((blend_color_red != prev_state->blend_color_red) ||
+ (blend_color_green != prev_state->blend_color_green) ||
+ (blend_color_blue != prev_state->blend_color_blue) ||
+ (blend_color_alpha != prev_state->blend_color_alpha))
+ glBlendColor(blend_color_red,
+ blend_color_green,
+ blend_color_blue,
+ blend_color_alpha);
+ if ((blend_equation_rgb != prev_state->blend_equation_rgb) ||
+ (blend_equation_alpha != prev_state->blend_equation_alpha))
+ glBlendEquationSeparate(blend_equation_rgb, blend_equation_alpha);
+ if ((blend_source_rgb != prev_state->blend_source_rgb) ||
+ (blend_dest_rgb != prev_state->blend_dest_rgb) ||
+ (blend_source_alpha != prev_state->blend_source_alpha) ||
+ (blend_dest_alpha != prev_state->blend_dest_alpha))
+ glBlendFuncSeparate(blend_source_rgb,
+ blend_dest_rgb,
+ blend_source_alpha,
+ blend_dest_alpha);
+ if ((color_clear_red != prev_state->color_clear_red) ||
+ (color_clear_green != prev_state->color_clear_green) ||
+ (color_clear_blue != prev_state->color_clear_blue) ||
+ (color_clear_alpha != prev_state->color_clear_alpha))
+ glClearColor(color_clear_red,
+ color_clear_green,
+ color_clear_blue,
+ color_clear_alpha);
+ if ((depth_clear != prev_state->depth_clear))
+ glClearDepth(depth_clear);
+ if ((stencil_clear != prev_state->stencil_clear))
+ glClearStencil(stencil_clear);
+ if ((color_mask_red != prev_state->color_mask_red) ||
+ (color_mask_green != prev_state->color_mask_green) ||
+ (color_mask_blue != prev_state->color_mask_blue) ||
+ (color_mask_alpha != prev_state->color_mask_alpha))
+ glColorMask(
+ color_mask_red, color_mask_green, color_mask_blue, color_mask_alpha);
+ if ((cull_mode != prev_state->cull_mode))
+ glCullFace(cull_mode);
+ if ((depth_func != prev_state->depth_func))
+ glDepthFunc(depth_func);
+ if ((depth_mask != prev_state->depth_mask))
+ glDepthMask(depth_mask);
+ if ((z_near != prev_state->z_near) || (z_far != prev_state->z_far))
+ glDepthRange(z_near, z_far);
+ if ((front_face != prev_state->front_face))
+ glFrontFace(front_face);
+ if (prev_state->hint_generate_mipmap != hint_generate_mipmap)
+ glHint(GL_GENERATE_MIPMAP_HINT, hint_generate_mipmap);
+ if (feature_info_->feature_flags().oes_standard_derivatives)
+ if (prev_state->hint_fragment_shader_derivative !=
+ hint_fragment_shader_derivative)
+ glHint(GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES,
+ hint_fragment_shader_derivative);
+ if ((line_width != prev_state->line_width))
+ glLineWidth(line_width);
+ if (prev_state->pack_alignment != pack_alignment)
+ glPixelStorei(GL_PACK_ALIGNMENT, pack_alignment);
+ if (prev_state->unpack_alignment != unpack_alignment)
+ glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_alignment);
+ if ((polygon_offset_factor != prev_state->polygon_offset_factor) ||
+ (polygon_offset_units != prev_state->polygon_offset_units))
+ glPolygonOffset(polygon_offset_factor, polygon_offset_units);
+ if ((sample_coverage_value != prev_state->sample_coverage_value) ||
+ (sample_coverage_invert != prev_state->sample_coverage_invert))
+ glSampleCoverage(sample_coverage_value, sample_coverage_invert);
+ if ((scissor_x != prev_state->scissor_x) ||
+ (scissor_y != prev_state->scissor_y) ||
+ (scissor_width != prev_state->scissor_width) ||
+ (scissor_height != prev_state->scissor_height))
+ glScissor(scissor_x, scissor_y, scissor_width, scissor_height);
+ if ((stencil_front_func != prev_state->stencil_front_func) ||
+ (stencil_front_ref != prev_state->stencil_front_ref) ||
+ (stencil_front_mask != prev_state->stencil_front_mask))
+ glStencilFuncSeparate(
+ GL_FRONT, stencil_front_func, stencil_front_ref, stencil_front_mask);
+ if ((stencil_back_func != prev_state->stencil_back_func) ||
+ (stencil_back_ref != prev_state->stencil_back_ref) ||
+ (stencil_back_mask != prev_state->stencil_back_mask))
+ glStencilFuncSeparate(
+ GL_BACK, stencil_back_func, stencil_back_ref, stencil_back_mask);
+ if ((stencil_front_writemask != prev_state->stencil_front_writemask))
+ glStencilMaskSeparate(GL_FRONT, stencil_front_writemask);
+ if ((stencil_back_writemask != prev_state->stencil_back_writemask))
+ glStencilMaskSeparate(GL_BACK, stencil_back_writemask);
+ if ((stencil_front_fail_op != prev_state->stencil_front_fail_op) ||
+ (stencil_front_z_fail_op != prev_state->stencil_front_z_fail_op) ||
+ (stencil_front_z_pass_op != prev_state->stencil_front_z_pass_op))
+ glStencilOpSeparate(GL_FRONT,
+ stencil_front_fail_op,
+ stencil_front_z_fail_op,
+ stencil_front_z_pass_op);
+ if ((stencil_back_fail_op != prev_state->stencil_back_fail_op) ||
+ (stencil_back_z_fail_op != prev_state->stencil_back_z_fail_op) ||
+ (stencil_back_z_pass_op != prev_state->stencil_back_z_pass_op))
+ glStencilOpSeparate(GL_BACK,
+ stencil_back_fail_op,
+ stencil_back_z_fail_op,
+ stencil_back_z_pass_op);
+ if ((viewport_x != prev_state->viewport_x) ||
+ (viewport_y != prev_state->viewport_y) ||
+ (viewport_width != prev_state->viewport_width) ||
+ (viewport_height != prev_state->viewport_height))
+ glViewport(viewport_x, viewport_y, viewport_width, viewport_height);
+ } else {
+ glBlendColor(blend_color_red,
+ blend_color_green,
+ blend_color_blue,
+ blend_color_alpha);
+ glBlendEquationSeparate(blend_equation_rgb, blend_equation_alpha);
+ glBlendFuncSeparate(
+ blend_source_rgb, blend_dest_rgb, blend_source_alpha, blend_dest_alpha);
+ glClearColor(color_clear_red,
+ color_clear_green,
+ color_clear_blue,
+ color_clear_alpha);
+ glClearDepth(depth_clear);
+ glClearStencil(stencil_clear);
+ glColorMask(
+ color_mask_red, color_mask_green, color_mask_blue, color_mask_alpha);
+ glCullFace(cull_mode);
+ glDepthFunc(depth_func);
+ glDepthMask(depth_mask);
+ glDepthRange(z_near, z_far);
+ glFrontFace(front_face);
+ glHint(GL_GENERATE_MIPMAP_HINT, hint_generate_mipmap);
+ if (feature_info_->feature_flags().oes_standard_derivatives)
+ glHint(GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES,
+ hint_fragment_shader_derivative);
+ glLineWidth(line_width);
+ glPixelStorei(GL_PACK_ALIGNMENT, pack_alignment);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, unpack_alignment);
+ glPolygonOffset(polygon_offset_factor, polygon_offset_units);
+ glSampleCoverage(sample_coverage_value, sample_coverage_invert);
+ glScissor(scissor_x, scissor_y, scissor_width, scissor_height);
+ glStencilFuncSeparate(
+ GL_FRONT, stencil_front_func, stencil_front_ref, stencil_front_mask);
+ glStencilFuncSeparate(
+ GL_BACK, stencil_back_func, stencil_back_ref, stencil_back_mask);
+ glStencilMaskSeparate(GL_FRONT, stencil_front_writemask);
+ glStencilMaskSeparate(GL_BACK, stencil_back_writemask);
+ glStencilOpSeparate(GL_FRONT,
+ stencil_front_fail_op,
+ stencil_front_z_fail_op,
+ stencil_front_z_pass_op);
+ glStencilOpSeparate(GL_BACK,
+ stencil_back_fail_op,
+ stencil_back_z_fail_op,
+ stencil_back_z_pass_op);
+ glViewport(viewport_x, viewport_y, viewport_width, viewport_height);
+ }
}
bool ContextState::GetEnabled(GLenum cap) const {
switch (cap) {
diff --git a/gpu/command_buffer/service/framebuffer_manager_unittest.cc b/gpu/command_buffer/service/framebuffer_manager_unittest.cc
index 5046e0b1e8..55efa2aab8 100644
--- a/gpu/command_buffer/service/framebuffer_manager_unittest.cc
+++ b/gpu/command_buffer/service/framebuffer_manager_unittest.cc
@@ -22,6 +22,7 @@ const GLint kMaxCubemapSize = 64;
const GLint kMaxRenderbufferSize = 64;
const GLint kMaxSamples = 4;
const bool kDepth24Supported = false;
+const bool kUseDefaultTextures = false;
} // namespace
@@ -29,11 +30,15 @@ class FramebufferManagerTest : public testing::Test {
public:
FramebufferManagerTest()
: manager_(1, 1),
- texture_manager_(
- NULL, new FeatureInfo(), kMaxTextureSize, kMaxCubemapSize),
- renderbuffer_manager_(NULL, kMaxRenderbufferSize, kMaxSamples,
- kDepth24Supported) {
- }
+ texture_manager_(NULL,
+ new FeatureInfo(),
+ kMaxTextureSize,
+ kMaxCubemapSize,
+ kUseDefaultTextures),
+ renderbuffer_manager_(NULL,
+ kMaxRenderbufferSize,
+ kMaxSamples,
+ kDepth24Supported) {}
virtual ~FramebufferManagerTest() {
manager_.Destroy(false);
texture_manager_.Destroy(false);
@@ -112,8 +117,11 @@ class FramebufferInfoTest : public testing::Test {
feature_info_(new FeatureInfo()),
renderbuffer_manager_(NULL, kMaxRenderbufferSize, kMaxSamples,
kDepth24Supported) {
- texture_manager_.reset(new TextureManager(NULL, feature_info_.get(),
- kMaxTextureSize, kMaxCubemapSize));
+ texture_manager_.reset(new TextureManager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubemapSize,
+ kUseDefaultTextures));
}
virtual ~FramebufferInfoTest() {
manager_.Destroy(false);
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index c0e0e3d798..73852af36c 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -618,7 +618,7 @@ class GLES2DecoderImpl : public GLES2Decoder,
state_.RestoreBufferBindings();
}
virtual void RestoreGlobalState() const OVERRIDE {
- state_.RestoreGlobalState();
+ state_.RestoreGlobalState(NULL);
}
virtual void RestoreProgramBindings() const OVERRIDE {
state_.RestoreProgramBindings();
@@ -774,6 +774,10 @@ class GLES2DecoderImpl : public GLES2Decoder,
return group_->shader_manager();
}
+ ShaderTranslatorCache* shader_translator_cache() {
+ return group_->shader_translator_cache();
+ }
+
const TextureManager* texture_manager() const {
return group_->texture_manager();
}
@@ -2390,20 +2394,20 @@ bool GLES2DecoderImpl::Initialize(
ref = texture_manager()->GetDefaultTextureInfo(
GL_TEXTURE_EXTERNAL_OES);
state_.texture_units[tt].bound_texture_external_oes = ref;
- glBindTexture(GL_TEXTURE_EXTERNAL_OES, ref->service_id());
+ glBindTexture(GL_TEXTURE_EXTERNAL_OES, ref ? ref->service_id() : 0);
}
if (features().arb_texture_rectangle) {
ref = texture_manager()->GetDefaultTextureInfo(
GL_TEXTURE_RECTANGLE_ARB);
state_.texture_units[tt].bound_texture_rectangle_arb = ref;
- glBindTexture(GL_TEXTURE_RECTANGLE_ARB, ref->service_id());
+ glBindTexture(GL_TEXTURE_RECTANGLE_ARB, ref ? ref->service_id() : 0);
}
ref = texture_manager()->GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP);
state_.texture_units[tt].bound_texture_cube_map = ref;
- glBindTexture(GL_TEXTURE_CUBE_MAP, ref->service_id());
+ glBindTexture(GL_TEXTURE_CUBE_MAP, ref ? ref->service_id() : 0);
ref = texture_manager()->GetDefaultTextureInfo(GL_TEXTURE_2D);
state_.texture_units[tt].bound_texture_2d = ref;
- glBindTexture(GL_TEXTURE_2D, ref->service_id());
+ glBindTexture(GL_TEXTURE_2D, ref ? ref->service_id() : 0);
}
glActiveTexture(GL_TEXTURE0);
CHECK_GL_ERROR();
@@ -2594,8 +2598,8 @@ bool GLES2DecoderImpl::Initialize(
state_.scissor_height = state_.viewport_height;
// Set all the default state because some GL drivers get it wrong.
- state_.InitCapabilities();
- state_.InitState();
+ state_.InitCapabilities(NULL);
+ state_.InitState(NULL);
glActiveTexture(GL_TEXTURE0 + state_.active_texture_unit);
DoBindBuffer(GL_ARRAY_BUFFER, 0);
@@ -2762,9 +2766,10 @@ bool GLES2DecoderImpl::InitializeShaderTranslator() {
if (workarounds().unroll_for_loop_with_sampler_array_index)
driver_bug_workarounds |= SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX;
- ShaderTranslatorCache* cache = ShaderTranslatorCache::GetInstance();
- vertex_translator_ = cache->GetTranslator(
- SH_VERTEX_SHADER, shader_spec, &resources,
+ vertex_translator_ = shader_translator_cache()->GetTranslator(
+ SH_VERTEX_SHADER,
+ shader_spec,
+ &resources,
implementation_type,
static_cast<ShCompileOptions>(driver_bug_workarounds));
if (!vertex_translator_.get()) {
@@ -2773,8 +2778,10 @@ bool GLES2DecoderImpl::InitializeShaderTranslator() {
return false;
}
- fragment_translator_ = cache->GetTranslator(
- SH_FRAGMENT_SHADER, shader_spec, &resources,
+ fragment_translator_ = shader_translator_cache()->GetTranslator(
+ SH_FRAGMENT_SHADER,
+ shader_spec,
+ &resources,
implementation_type,
static_cast<ShCompileOptions>(driver_bug_workarounds));
if (!fragment_translator_.get()) {
@@ -3409,6 +3416,11 @@ void GLES2DecoderImpl::Destroy(bool have_context) {
offscreen_resolved_frame_buffer_.reset();
offscreen_resolved_color_texture_.reset();
+ // Need to release these before releasing |group_| which may own the
+ // ShaderTranslatorCache.
+ fragment_translator_ = NULL;
+ vertex_translator_ = NULL;
+
// Should destroy the transfer manager before the texture manager held
// by the context group.
async_pixel_transfer_manager_.reset();
@@ -4029,21 +4041,25 @@ void GLES2DecoderImpl::DoBindTexture(GLenum target, GLuint client_id) {
} else {
texture_ref = texture_manager()->GetDefaultTextureInfo(target);
}
- Texture* texture = texture_ref->texture();
// Check the texture exists
- // Check that we are not trying to bind it to a different target.
- if (texture->target() != 0 && texture->target() != target) {
- LOCAL_SET_GL_ERROR(
- GL_INVALID_OPERATION,
- "glBindTexture", "texture bound to more than 1 target.");
- return;
- }
- LogClientServiceForInfo(texture, client_id, "glBindTexture");
- if (texture->target() == 0) {
- texture_manager()->SetTarget(texture_ref, target);
+ if (texture_ref) {
+ Texture* texture = texture_ref->texture();
+ // Check that we are not trying to bind it to a different target.
+ if (texture->target() != 0 && texture->target() != target) {
+ LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION,
+ "glBindTexture",
+ "texture bound to more than 1 target.");
+ return;
+ }
+ LogClientServiceForInfo(texture, client_id, "glBindTexture");
+ if (texture->target() == 0) {
+ texture_manager()->SetTarget(texture_ref, target);
+ }
+ glBindTexture(target, texture->service_id());
+ } else {
+ glBindTexture(target, 0);
}
- glBindTexture(target, texture->service_id());
TextureUnit& unit = state_.texture_units[state_.active_texture_unit];
unit.bind_target = target;
@@ -4543,6 +4559,12 @@ bool GLES2DecoderImpl::GetHelper(
params[0] = unpack_unpremultiply_alpha_;
}
return true;
+ case GL_BIND_GENERATES_RESOURCE_CHROMIUM:
+ *num_written = 1;
+ if (params) {
+ params[0] = group_->bind_generates_resource() ? 1 : 0;
+ }
+ return true;
default:
if (pname >= GL_DRAW_BUFFER0_ARB &&
pname < GL_DRAW_BUFFER0_ARB + group_->max_draw_buffers()) {
@@ -7538,6 +7560,16 @@ error::Error GLES2DecoderImpl::HandlePostSubBufferCHROMIUM(
}
}
+error::Error GLES2DecoderImpl::HandleScheduleOverlayPlaneCHROMIUM(
+ uint32 immediate_data_size,
+ const cmds::ScheduleOverlayPlaneCHROMIUM& c) {
+ NOTIMPLEMENTED() << "Overlay supported isn't finished.";
+ LOCAL_SET_GL_ERROR(GL_INVALID_OPERATION,
+ "glScheduleOverlayPlaneCHROMIUM",
+ "function not implemented");
+ return error::kNoError;
+}
+
error::Error GLES2DecoderImpl::GetAttribLocationHelper(
GLuint client_id, uint32 location_shm_id, uint32 location_shm_offset,
const std::string& name_str) {
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
index 882a1249c2..016bfab76b 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc
@@ -1611,7 +1611,6 @@ TEST_F(GLES2DecoderWithShaderTest, GetActiveUniformBadSharedMemoryFails) {
const GLuint kUniformIndex = 1;
const uint32 kBucketId = 123;
GetActiveUniform cmd;
- typedef GetActiveUniform::Result Result;
cmd.Init(client_program_id_, kUniformIndex, kBucketId,
kInvalidSharedMemoryId, shared_memory_offset_);
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
@@ -1691,7 +1690,6 @@ TEST_F(GLES2DecoderWithShaderTest, GetActiveAttribBadSharedMemoryFails) {
const GLuint kAttribIndex = 1;
const uint32 kBucketId = 123;
GetActiveAttrib cmd;
- typedef GetActiveAttrib::Result Result;
cmd.Init(client_program_id_, kAttribIndex, kBucketId,
kInvalidSharedMemoryId, shared_memory_offset_);
EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
@@ -5662,6 +5660,244 @@ TEST_F(GLES2DecoderManualInitTest, BindGeneratesResourceFalse) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
+TEST_F(GLES2DecoderManualInitTest, DefaultTextureZero) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ BindTexture cmd2;
+ cmd2.Init(GL_TEXTURE_CUBE_MAP, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_CUBE_MAP, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+}
+
+TEST_F(GLES2DecoderManualInitTest, DefaultTextureBGR) {
+ InitState init;
+ init.gl_version = "3.0";
+ init.bind_generates_resource = true;
+ InitDecoder(init);
+
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(
+ *gl_, BindTexture(GL_TEXTURE_2D, TestHelper::kServiceDefaultTexture2dId));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ BindTexture cmd2;
+ cmd2.Init(GL_TEXTURE_CUBE_MAP, 0);
+ EXPECT_CALL(*gl_,
+ BindTexture(GL_TEXTURE_CUBE_MAP,
+ TestHelper::kServiceDefaultTextureCubemapId));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+}
+
+// Test that default texture 0 is immutable.
+TEST_F(GLES2DecoderManualInitTest, NoDefaultTexParameterf) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameterf cmd2;
+ cmd2.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_CUBE_MAP, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_CUBE_MAP, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameterf cmd2;
+ cmd2.Init(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+}
+
+TEST_F(GLES2DecoderManualInitTest, NoDefaultTexParameteri) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameteri cmd2;
+ cmd2.Init(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_CUBE_MAP, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_CUBE_MAP, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameteri cmd2;
+ cmd2.Init(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+}
+
+TEST_F(GLES2DecoderManualInitTest, NoDefaultTexParameterfv) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameterfv cmd2;
+ cmd2.Init(GL_TEXTURE_2D,
+ GL_TEXTURE_MAG_FILTER,
+ shared_memory_id_,
+ shared_memory_offset_);
+ GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST;
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_CUBE_MAP, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_CUBE_MAP, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameterfv cmd2;
+ cmd2.Init(GL_TEXTURE_CUBE_MAP,
+ GL_TEXTURE_MAG_FILTER,
+ shared_memory_id_,
+ shared_memory_offset_);
+ GetSharedMemoryAs<GLfloat*>()[0] = GL_NEAREST;
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+}
+
+TEST_F(GLES2DecoderManualInitTest, NoDefaultTexParameteriv) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameteriv cmd2;
+ cmd2.Init(GL_TEXTURE_2D,
+ GL_TEXTURE_MAG_FILTER,
+ shared_memory_id_,
+ shared_memory_offset_);
+ GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST;
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+
+ {
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_CUBE_MAP, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_CUBE_MAP, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexParameteriv cmd2;
+ cmd2.Init(GL_TEXTURE_CUBE_MAP,
+ GL_TEXTURE_MAG_FILTER,
+ shared_memory_id_,
+ shared_memory_offset_);
+ GetSharedMemoryAs<GLint*>()[0] = GL_NEAREST;
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
+ }
+}
+
+TEST_F(GLES2DecoderManualInitTest, NoDefaultTexImage2D) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexImage2D cmd2;
+ cmd2.Init(GL_TEXTURE_2D,
+ 0,
+ GL_RGBA,
+ 2,
+ 2,
+ 0,
+ GL_RGBA,
+ GL_UNSIGNED_BYTE,
+ kSharedMemoryId,
+ kSharedMemoryOffset);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
+}
+
+TEST_F(GLES2DecoderManualInitTest, NoDefaultTexSubImage2D) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ BindTexture cmd1;
+ cmd1.Init(GL_TEXTURE_2D, 0);
+ EXPECT_CALL(*gl_, BindTexture(GL_TEXTURE_2D, 0));
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd1));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+
+ TexSubImage2D cmd2;
+ cmd2.Init(GL_TEXTURE_2D,
+ 0,
+ 1,
+ 1,
+ 1,
+ 1,
+ GL_RGBA,
+ GL_UNSIGNED_BYTE,
+ kSharedMemoryId,
+ kSharedMemoryOffset,
+ GL_FALSE);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd2));
+ EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
+}
+
TEST_F(GLES2DecoderManualInitTest, ARBTextureRectangleBindTexture) {
InitState init;
init.extensions = "GL_ARB_texture_rectangle";
@@ -8634,9 +8870,10 @@ TEST_F(GLES2DecoderTest, DiscardFramebufferEXTUnsupported) {
EXPECT_EQ(GL_INVALID_OPERATION, GetGLError());
}
-TEST_F(GLES2DecoderRestoreStateTest, NullPreviousState) {
+TEST_F(GLES2DecoderRestoreStateTest, NullPreviousStateBGR) {
InitState init;
init.gl_version = "3.0";
+ init.bind_generates_resource = true;
InitDecoder(init);
SetupTexture();
@@ -8662,6 +8899,56 @@ TEST_F(GLES2DecoderRestoreStateTest, NullPreviousState) {
GetDecoder()->RestoreAllTextureUnitBindings(NULL);
}
+TEST_F(GLES2DecoderRestoreStateTest, NullPreviousState) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+ SetupTexture();
+
+ InSequence sequence;
+ // Expect to restore texture bindings for unit GL_TEXTURE0.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, kServiceTextureId);
+ AddExpectationsForBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+
+ // Expect to restore texture bindings for remaining units.
+ for (uint32 i = 1; i < group().max_texture_units(); ++i) {
+ AddExpectationsForActiveTexture(GL_TEXTURE0 + i);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, 0);
+ AddExpectationsForBindTexture(GL_TEXTURE_CUBE_MAP, 0);
+ }
+
+ // Expect to restore the active texture unit to GL_TEXTURE0.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+
+ GetDecoder()->RestoreAllTextureUnitBindings(NULL);
+}
+
+TEST_F(GLES2DecoderRestoreStateTest, WithPreviousStateBGR) {
+ InitState init;
+ init.gl_version = "3.0";
+ init.bind_generates_resource = true;
+ InitDecoder(init);
+ SetupTexture();
+
+ // Construct a previous ContextState with all texture bindings
+ // set to default textures.
+ ContextState prev_state(NULL, NULL, NULL);
+ InitializeContextState(&prev_state, std::numeric_limits<uint32>::max(), 0);
+
+ InSequence sequence;
+ // Expect to restore only GL_TEXTURE_2D binding for GL_TEXTURE0 unit,
+ // since the rest of the bindings haven't changed between the current
+ // state and the |prev_state|.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, kServiceTextureId);
+
+ // Expect to restore active texture unit to GL_TEXTURE0.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+
+ GetDecoder()->RestoreAllTextureUnitBindings(&prev_state);
+}
+
TEST_F(GLES2DecoderRestoreStateTest, WithPreviousState) {
InitState init;
init.gl_version = "3.0";
@@ -8717,9 +9004,10 @@ TEST_F(GLES2DecoderRestoreStateTest, ActiveUnit1) {
GetDecoder()->RestoreAllTextureUnitBindings(&prev_state);
}
-TEST_F(GLES2DecoderRestoreStateTest, NonDefaultUnit0) {
+TEST_F(GLES2DecoderRestoreStateTest, NonDefaultUnit0BGR) {
InitState init;
init.gl_version = "3.0";
+ init.bind_generates_resource = true;
InitDecoder(init);
// Bind a non-default texture to GL_TEXTURE1 unit.
@@ -8755,9 +9043,10 @@ TEST_F(GLES2DecoderRestoreStateTest, NonDefaultUnit0) {
GetDecoder()->RestoreAllTextureUnitBindings(&prev_state);
}
-TEST_F(GLES2DecoderRestoreStateTest, NonDefaultUnit1) {
+TEST_F(GLES2DecoderRestoreStateTest, NonDefaultUnit1BGR) {
InitState init;
init.gl_version = "3.0";
+ init.bind_generates_resource = true;
InitDecoder(init);
// Bind a non-default texture to GL_TEXTURE0 unit.
@@ -8787,6 +9076,74 @@ TEST_F(GLES2DecoderRestoreStateTest, NonDefaultUnit1) {
GetDecoder()->RestoreAllTextureUnitBindings(&prev_state);
}
+TEST_F(GLES2DecoderRestoreStateTest, DefaultUnit0) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ // Bind a non-default texture to GL_TEXTURE1 unit.
+ EXPECT_CALL(*gl_, ActiveTexture(GL_TEXTURE1));
+ SpecializedSetup<ActiveTexture, 0>(true);
+ ActiveTexture cmd;
+ cmd.Init(GL_TEXTURE1);
+ EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
+ EXPECT_EQ(GL_NO_ERROR, GetGLError());
+ SetupTexture();
+
+ // Construct a previous ContextState with GL_TEXTURE_2D target in
+ // GL_TEXTURE0 unit bound to a non-default texture and the rest
+ // set to default textures.
+ ContextState prev_state(NULL, NULL, NULL);
+ InitializeContextState(&prev_state, 0, kServiceTextureId);
+
+ InSequence sequence;
+ // Expect to restore GL_TEXTURE_2D binding for GL_TEXTURE0 unit to
+ // the 0 texture.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, 0);
+
+ // Expect to restore GL_TEXTURE_2D binding for GL_TEXTURE1 unit to
+ // non-default.
+ AddExpectationsForActiveTexture(GL_TEXTURE1);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, kServiceTextureId);
+
+ // Expect to restore active texture unit to GL_TEXTURE1.
+ AddExpectationsForActiveTexture(GL_TEXTURE1);
+
+ GetDecoder()->RestoreAllTextureUnitBindings(&prev_state);
+}
+
+TEST_F(GLES2DecoderRestoreStateTest, DefaultUnit1) {
+ InitState init;
+ init.gl_version = "3.0";
+ InitDecoder(init);
+
+ // Bind a non-default texture to GL_TEXTURE0 unit.
+ SetupTexture();
+
+ // Construct a previous ContextState with GL_TEXTURE_2D target in
+ // GL_TEXTURE1 unit bound to a non-default texture and the rest
+ // set to default textures.
+ ContextState prev_state(NULL, NULL, NULL);
+ InitializeContextState(&prev_state, 1, kServiceTextureId);
+
+ InSequence sequence;
+ // Expect to restore GL_TEXTURE_2D binding to the non-default texture
+ // for GL_TEXTURE0 unit.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, kServiceTextureId);
+
+ // Expect to restore GL_TEXTURE_2D binding to the 0 texture
+ // for GL_TEXTURE1 unit.
+ AddExpectationsForActiveTexture(GL_TEXTURE1);
+ AddExpectationsForBindTexture(GL_TEXTURE_2D, 0);
+
+ // Expect to restore active texture unit to GL_TEXTURE0.
+ AddExpectationsForActiveTexture(GL_TEXTURE0);
+
+ GetDecoder()->RestoreAllTextureUnitBindings(&prev_state);
+}
+
TEST_F(GLES2DecoderManualInitTest, ClearUniformsBeforeFirstProgramUse) {
CommandLine command_line(0, NULL);
command_line.AppendSwitchASCII(
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
index f7e943e512..1fc4e8f20f 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h
@@ -68,4 +68,5 @@
// TODO(gman): DrawBuffersEXTImmediate
// TODO(gman): DiscardBackbufferCHROMIUM
+// TODO(gman): ScheduleOverlayPlaneCHROMIUM
#endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_3_AUTOGEN_H_
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
index 9a815c87be..eb4eb9c593 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
@@ -113,8 +113,10 @@ void GLES2DecoderTestBase::InitDecoderWithCommandLine(
new ContextGroup(NULL,
NULL,
memory_tracker_,
+ new ShaderTranslatorCache,
feature_info.get(),
init.bind_generates_resource));
+ bool use_default_textures = init.bind_generates_resource;
InSequence sequence;
@@ -134,7 +136,8 @@ void GLES2DecoderTestBase::InitDecoderWithCommandLine(
TestHelper::SetupContextGroupInitExpectations(gl_.get(),
DisallowedFeatures(),
init.extensions.c_str(),
- init.gl_version.c_str());
+ init.gl_version.c_str(),
+ init.bind_generates_resource);
// We initialize the ContextGroup with a MockGLES2Decoder so that
// we can use the ContextGroup to figure out how the real GLES2Decoder
@@ -181,25 +184,36 @@ void GLES2DecoderTestBase::InitDecoderWithCommandLine(
.Times(1)
.RetiresOnSaturation();
if (group_->feature_info()->feature_flags().oes_egl_image_external) {
- EXPECT_CALL(*gl_, BindTexture(
- GL_TEXTURE_EXTERNAL_OES,
- TestHelper::kServiceDefaultExternalTextureId))
+ EXPECT_CALL(*gl_,
+ BindTexture(GL_TEXTURE_EXTERNAL_OES,
+ use_default_textures
+ ? TestHelper::kServiceDefaultExternalTextureId
+ : 0))
.Times(1)
.RetiresOnSaturation();
}
if (group_->feature_info()->feature_flags().arb_texture_rectangle) {
- EXPECT_CALL(*gl_, BindTexture(
- GL_TEXTURE_RECTANGLE_ARB,
- TestHelper::kServiceDefaultRectangleTextureId))
+ EXPECT_CALL(
+ *gl_,
+ BindTexture(GL_TEXTURE_RECTANGLE_ARB,
+ use_default_textures
+ ? TestHelper::kServiceDefaultRectangleTextureId
+ : 0))
.Times(1)
.RetiresOnSaturation();
}
- EXPECT_CALL(*gl_, BindTexture(
- GL_TEXTURE_CUBE_MAP, TestHelper::kServiceDefaultTextureCubemapId))
+ EXPECT_CALL(*gl_,
+ BindTexture(GL_TEXTURE_CUBE_MAP,
+ use_default_textures
+ ? TestHelper::kServiceDefaultTextureCubemapId
+ : 0))
.Times(1)
.RetiresOnSaturation();
- EXPECT_CALL(*gl_, BindTexture(
- GL_TEXTURE_2D, TestHelper::kServiceDefaultTexture2dId))
+ EXPECT_CALL(
+ *gl_,
+ BindTexture(
+ GL_TEXTURE_2D,
+ use_default_textures ? TestHelper::kServiceDefaultTexture2dId : 0))
.Times(1)
.RetiresOnSaturation();
}
diff --git a/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h b/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h
index 6a9b2b3099..ca49ced6f8 100644
--- a/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h
+++ b/gpu/command_buffer/service/gles2_cmd_validation_implementation_autogen.h
@@ -116,6 +116,7 @@ static const GLenum valid_g_l_state_table[] = {
GL_UNPACK_FLIP_Y_CHROMIUM,
GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM,
GL_UNPACK_UNPREMULTIPLY_ALPHA_CHROMIUM,
+ GL_BIND_GENERATES_RESOURCE_CHROMIUM,
GL_VERTEX_ARRAY_BINDING_OES,
GL_VIEWPORT,
GL_BLEND_COLOR,
diff --git a/gpu/command_buffer/service/in_process_command_buffer.cc b/gpu/command_buffer/service/in_process_command_buffer.cc
index 71faba607c..0411806916 100644
--- a/gpu/command_buffer/service/in_process_command_buffer.cc
+++ b/gpu/command_buffer/service/in_process_command_buffer.cc
@@ -73,11 +73,14 @@ class GpuInProcessThread
virtual void ScheduleTask(const base::Closure& task) OVERRIDE;
virtual void ScheduleIdleWork(const base::Closure& callback) OVERRIDE;
virtual bool UseVirtualizedGLContexts() OVERRIDE { return false; }
+ virtual scoped_refptr<gles2::ShaderTranslatorCache> shader_translator_cache()
+ OVERRIDE;
private:
virtual ~GpuInProcessThread();
friend class base::RefCountedThreadSafe<GpuInProcessThread>;
+ scoped_refptr<gpu::gles2::ShaderTranslatorCache> shader_translator_cache_;
DISALLOW_COPY_AND_ASSIGN(GpuInProcessThread);
};
@@ -98,6 +101,13 @@ void GpuInProcessThread::ScheduleIdleWork(const base::Closure& callback) {
FROM_HERE, callback, base::TimeDelta::FromMilliseconds(5));
}
+scoped_refptr<gles2::ShaderTranslatorCache>
+GpuInProcessThread::shader_translator_cache() {
+ if (!shader_translator_cache_.get())
+ shader_translator_cache_ = new gpu::gles2::ShaderTranslatorCache;
+ return shader_translator_cache_;
+}
+
base::LazyInstance<std::set<InProcessCommandBuffer*> > default_thread_clients_ =
LAZY_INSTANCE_INITIALIZER;
base::LazyInstance<base::Lock> default_thread_clients_lock_ =
@@ -325,12 +335,14 @@ bool InProcessCommandBuffer::InitializeOnGpuThread(
bool bind_generates_resource = false;
decoder_.reset(gles2::GLES2Decoder::Create(
- params.context_group ? params.context_group->decoder_->GetContextGroup()
- : new gles2::ContextGroup(NULL,
- NULL,
- NULL,
- NULL,
- bind_generates_resource)));
+ params.context_group
+ ? params.context_group->decoder_->GetContextGroup()
+ : new gles2::ContextGroup(NULL,
+ NULL,
+ NULL,
+ service_->shader_translator_cache(),
+ NULL,
+ bind_generates_resource)));
gpu_scheduler_.reset(
new GpuScheduler(command_buffer.get(), decoder_.get(), decoder_.get()));
diff --git a/gpu/command_buffer/service/in_process_command_buffer.h b/gpu/command_buffer/service/in_process_command_buffer.h
index b5068169d1..8dd7d353f0 100644
--- a/gpu/command_buffer/service/in_process_command_buffer.h
+++ b/gpu/command_buffer/service/in_process_command_buffer.h
@@ -46,6 +46,7 @@ namespace gpu {
namespace gles2 {
class GLES2Decoder;
+class ShaderTranslatorCache;
}
class CommandBufferServiceBase;
@@ -129,6 +130,8 @@ class GPU_EXPORT InProcessCommandBuffer : public CommandBuffer,
virtual void ScheduleIdleWork(const base::Closure& task) = 0;
virtual bool UseVirtualizedGLContexts() = 0;
+ virtual scoped_refptr<gles2::ShaderTranslatorCache>
+ shader_translator_cache() = 0;
};
#if defined(OS_ANDROID)
diff --git a/gpu/command_buffer/service/mailbox_manager_unittest.cc b/gpu/command_buffer/service/mailbox_manager_unittest.cc
index ae871f97a3..13005e6c35 100644
--- a/gpu/command_buffer/service/mailbox_manager_unittest.cc
+++ b/gpu/command_buffer/service/mailbox_manager_unittest.cc
@@ -8,7 +8,9 @@
#include "gpu/command_buffer/service/mailbox_synchronizer.h"
#include "gpu/command_buffer/service/texture_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/gl/gl_context_stub.h"
#include "ui/gl/gl_mock.h"
+#include "ui/gl/gl_surface_stub.h"
namespace gpu {
namespace gles2 {
@@ -188,6 +190,9 @@ class MailboxManagerSyncTest : public MailboxManagerTest {
manager2_ = new MailboxManager;
gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>());
::gfx::MockGLInterface::SetGLInterface(gl_.get());
+ context_ = new gfx::GLContextStub();
+ surface_ = new gfx::GLSurfaceStub();
+ context_->MakeCurrent(surface_);
}
Texture* DefineTexture() {
@@ -249,12 +254,15 @@ class MailboxManagerSyncTest : public MailboxManagerTest {
virtual void TearDown() {
MailboxManagerTest::TearDown();
MailboxSynchronizer::Terminate();
+ context_->ReleaseCurrent(NULL);
::gfx::MockGLInterface::SetGLInterface(NULL);
gl_.reset();
}
scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_;
scoped_refptr<MailboxManager> manager2_;
+ scoped_refptr<gfx::GLContext> context_;
+ scoped_refptr<gfx::GLSurface> surface_;
private:
DISALLOW_COPY_AND_ASSIGN(MailboxManagerSyncTest);
@@ -283,7 +291,6 @@ TEST_F(MailboxManagerSyncTest, ProduceSyncDestroy) {
EXPECT_EQ(texture, manager_->ConsumeTexture(GL_TEXTURE_2D, name));
// Synchronize
- EXPECT_CALL(*gl_, Flush()).Times(1);
manager_->PushTextureUpdates();
manager2_->PullTextureUpdates();
@@ -305,7 +312,6 @@ TEST_F(MailboxManagerSyncTest, ProduceConsumeResize) {
EXPECT_EQ(texture, manager_->ConsumeTexture(GL_TEXTURE_2D, name));
// Synchronize
- EXPECT_CALL(*gl_, Flush()).Times(1);
manager_->PushTextureUpdates();
manager2_->PullTextureUpdates();
@@ -334,7 +340,6 @@ TEST_F(MailboxManagerSyncTest, ProduceConsumeResize) {
EXPECT_TRUE(texture->GetLevelImage(GL_TEXTURE_2D, 0) == NULL);
// Synchronize again
- EXPECT_CALL(*gl_, Flush()).Times(1);
manager_->PushTextureUpdates();
SetupUpdateTexParamExpectations(
kNewTextureId, GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT);
@@ -396,7 +401,6 @@ TEST_F(MailboxManagerSyncTest, ProduceConsumeBidirectional) {
manager2_->ProduceTexture(GL_TEXTURE_2D, name2, texture2);
// Make visible.
- EXPECT_CALL(*gl_, Flush()).Times(2);
manager_->PushTextureUpdates();
manager2_->PushTextureUpdates();
@@ -435,7 +439,6 @@ TEST_F(MailboxManagerSyncTest, ProduceConsumeBidirectional) {
Mock::VerifyAndClearExpectations(gl_.get());
// Synchronize in both directions
- EXPECT_CALL(*gl_, Flush()).Times(2);
manager_->PushTextureUpdates();
manager2_->PushTextureUpdates();
// manager1 should see the change to texture2 mag_filter being applied.
diff --git a/gpu/command_buffer/service/mailbox_synchronizer.cc b/gpu/command_buffer/service/mailbox_synchronizer.cc
index 0503fb12bd..d25368ab09 100644
--- a/gpu/command_buffer/service/mailbox_synchronizer.cc
+++ b/gpu/command_buffer/service/mailbox_synchronizer.cc
@@ -174,8 +174,6 @@ void MailboxSynchronizer::PushTextureUpdates(MailboxManager* manager) {
textures_.insert(std::make_pair(texture, TextureVersion(group)));
}
}
- // Make sure all write fences are flushed.
- glFlush();
}
void MailboxSynchronizer::UpdateTextureLocked(Texture* texture,
diff --git a/gpu/command_buffer/service/memory_program_cache_unittest.cc b/gpu/command_buffer/service/memory_program_cache_unittest.cc
index 6104534ad9..2db0df5346 100644
--- a/gpu/command_buffer/service/memory_program_cache_unittest.cc
+++ b/gpu/command_buffer/service/memory_program_cache_unittest.cc
@@ -481,7 +481,6 @@ TEST_F(MemoryProgramCacheTest, LoadFailOnDifferentMap) {
}
TEST_F(MemoryProgramCacheTest, MemoryProgramCacheEviction) {
- typedef ShaderTranslator::VariableMap VariableMap;
const GLenum kFormat = 1;
const int kProgramId = 10;
const int kBinaryLength = 20;
diff --git a/gpu/command_buffer/service/shader_translator.cc b/gpu/command_buffer/service/shader_translator.cc
index abf4c3e71b..53157de8ed 100644
--- a/gpu/command_buffer/service/shader_translator.cc
+++ b/gpu/command_buffer/service/shader_translator.cc
@@ -9,6 +9,7 @@
#include "base/at_exit.h"
#include "base/debug/trace_event.h"
+#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
@@ -16,23 +17,21 @@ namespace {
using gpu::gles2::ShaderTranslator;
-bool g_translator_initialized = false;
-
-void FinalizeShaderTranslator(void* /* dummy */) {
- TRACE_EVENT0("gpu", "ShFinalize");
- ShFinalize();
- g_translator_initialized = false;
-}
-
-bool InitializeShaderTranslator() {
- if (!g_translator_initialized) {
+class ShaderTranslatorInitializer {
+ public:
+ ShaderTranslatorInitializer() {
TRACE_EVENT0("gpu", "ShInitialize");
CHECK(ShInitialize());
- base::AtExitManager::RegisterCallback(&FinalizeShaderTranslator, NULL);
- g_translator_initialized = true;
}
- return g_translator_initialized;
-}
+
+ ~ShaderTranslatorInitializer() {
+ TRACE_EVENT0("gpu", "ShFinalize");
+ ShFinalize();
+ }
+};
+
+base::LazyInstance<ShaderTranslatorInitializer> g_translator_initializer =
+ LAZY_INSTANCE_INITIALIZER;
#if !defined(ANGLE_SH_VERSION) || ANGLE_SH_VERSION < 108
typedef int ANGLEGetInfoType;
@@ -135,8 +134,7 @@ bool ShaderTranslator::Init(
DCHECK(shader_spec == SH_GLES2_SPEC || shader_spec == SH_WEBGL_SPEC);
DCHECK(resources != NULL);
- if (!InitializeShaderTranslator())
- return false;
+ g_translator_initializer.Get();
ShShaderOutput shader_output =
(glsl_implementation_type == kGlslES ? SH_ESSL_OUTPUT : SH_GLSL_OUTPUT);
diff --git a/gpu/command_buffer/service/shader_translator_cache.cc b/gpu/command_buffer/service/shader_translator_cache.cc
index 9626a0e25e..f204186c7e 100644
--- a/gpu/command_buffer/service/shader_translator_cache.cc
+++ b/gpu/command_buffer/service/shader_translator_cache.cc
@@ -7,14 +7,11 @@
namespace gpu {
namespace gles2 {
-ShaderTranslatorCache* ShaderTranslatorCache::GetInstance() {
- return Singleton<ShaderTranslatorCache>::get();
-}
-
ShaderTranslatorCache::ShaderTranslatorCache() {
}
ShaderTranslatorCache::~ShaderTranslatorCache() {
+ DCHECK(cache_.empty());
}
void ShaderTranslatorCache::OnDestruct(ShaderTranslator* translator) {
diff --git a/gpu/command_buffer/service/shader_translator_cache.h b/gpu/command_buffer/service/shader_translator_cache.h
index 8439d53398..32b7f5f84a 100644
--- a/gpu/command_buffer/service/shader_translator_cache.h
+++ b/gpu/command_buffer/service/shader_translator_cache.h
@@ -10,22 +10,23 @@
#include <map>
#include "base/memory/ref_counted.h"
-#include "base/memory/singleton.h"
#include "gpu/command_buffer/service/shader_translator.h"
#include "third_party/angle/include/GLSLANG/ShaderLang.h"
namespace gpu {
namespace gles2 {
-// This singleton and the cache that it implements is NOT thread safe.
-// We're relying on the fact that the all GLES2DecoderImpl's are used
-// on one thread.
+// This class is not thread safe and can only be created and destroyed
+// on a single thread. But it is safe to use two independent instances on two
+// threads without synchronization.
//
// TODO(backer): Investigate using glReleaseShaderCompiler as an alternative to
// to this cache.
-class ShaderTranslatorCache : public ShaderTranslator::DestructionObserver {
+class GPU_EXPORT ShaderTranslatorCache
+ : public base::RefCounted<ShaderTranslatorCache>,
+ public NON_EXPORTED_BASE(ShaderTranslator::DestructionObserver) {
public:
- static ShaderTranslatorCache* GetInstance();
+ ShaderTranslatorCache();
// ShaderTranslator::DestructionObserver implementation
virtual void OnDestruct(ShaderTranslator* translator) OVERRIDE;
@@ -39,11 +40,9 @@ class ShaderTranslatorCache : public ShaderTranslator::DestructionObserver {
ShCompileOptions driver_bug_workarounds);
private:
- ShaderTranslatorCache();
+ friend class base::RefCounted<ShaderTranslatorCache>;
virtual ~ShaderTranslatorCache();
- friend struct DefaultSingletonTraits<ShaderTranslatorCache>;
-
// Parameters passed into ShaderTranslator::Init
struct ShaderTranslatorInitParams {
ShShaderType shader_type;
diff --git a/gpu/command_buffer/service/test_helper.cc b/gpu/command_buffer/service/test_helper.cc
index 79c29c54fb..a3a64ca40b 100644
--- a/gpu/command_buffer/service/test_helper.cc
+++ b/gpu/command_buffer/service/test_helper.cc
@@ -61,7 +61,9 @@ const GLint TestHelper::kMaxVertexUniformComponents;
#endif
void TestHelper::SetupTextureInitializationExpectations(
- ::gfx::MockGLInterface* gl, GLenum target) {
+ ::gfx::MockGLInterface* gl,
+ GLenum target,
+ bool use_default_textures) {
InSequence sequence;
bool needs_initialization = (target != GL_TEXTURE_EXTERNAL_OES);
@@ -98,7 +100,7 @@ void TestHelper::SetupTextureInitializationExpectations(
NOTREACHED();
}
- int array_size = 2;
+ int array_size = use_default_textures ? 2 : 1;
EXPECT_CALL(*gl, GenTextures(array_size, _))
.WillOnce(SetArrayArgument<1>(texture_ids,
@@ -139,11 +141,14 @@ void TestHelper::SetupTextureInitializationExpectations(
void TestHelper::SetupTextureManagerInitExpectations(
::gfx::MockGLInterface* gl,
- const char* extensions) {
+ const char* extensions,
+ bool use_default_textures) {
InSequence sequence;
- SetupTextureInitializationExpectations(gl, GL_TEXTURE_2D);
- SetupTextureInitializationExpectations(gl, GL_TEXTURE_CUBE_MAP);
+ SetupTextureInitializationExpectations(
+ gl, GL_TEXTURE_2D, use_default_textures);
+ SetupTextureInitializationExpectations(
+ gl, GL_TEXTURE_CUBE_MAP, use_default_textures);
bool ext_image_external = false;
bool arb_texture_rectangle = false;
@@ -160,15 +165,22 @@ void TestHelper::SetupTextureManagerInitExpectations(
}
if (ext_image_external) {
- SetupTextureInitializationExpectations(gl, GL_TEXTURE_EXTERNAL_OES);
+ SetupTextureInitializationExpectations(
+ gl, GL_TEXTURE_EXTERNAL_OES, use_default_textures);
}
if (arb_texture_rectangle) {
- SetupTextureInitializationExpectations(gl, GL_TEXTURE_RECTANGLE_ARB);
+ SetupTextureInitializationExpectations(
+ gl, GL_TEXTURE_RECTANGLE_ARB, use_default_textures);
}
}
void TestHelper::SetupTextureDestructionExpectations(
- ::gfx::MockGLInterface* gl, GLenum target) {
+ ::gfx::MockGLInterface* gl,
+ GLenum target,
+ bool use_default_textures) {
+ if (!use_default_textures)
+ return;
+
GLuint texture_id = 0;
switch (target) {
case GL_TEXTURE_2D:
@@ -194,9 +206,11 @@ void TestHelper::SetupTextureDestructionExpectations(
void TestHelper::SetupTextureManagerDestructionExpectations(
::gfx::MockGLInterface* gl,
- const char* extensions) {
- SetupTextureDestructionExpectations(gl, GL_TEXTURE_2D);
- SetupTextureDestructionExpectations(gl, GL_TEXTURE_CUBE_MAP);
+ const char* extensions,
+ bool use_default_textures) {
+ SetupTextureDestructionExpectations(gl, GL_TEXTURE_2D, use_default_textures);
+ SetupTextureDestructionExpectations(
+ gl, GL_TEXTURE_CUBE_MAP, use_default_textures);
bool ext_image_external = false;
bool arb_texture_rectangle = false;
@@ -213,10 +227,12 @@ void TestHelper::SetupTextureManagerDestructionExpectations(
}
if (ext_image_external) {
- SetupTextureDestructionExpectations(gl, GL_TEXTURE_EXTERNAL_OES);
+ SetupTextureDestructionExpectations(
+ gl, GL_TEXTURE_EXTERNAL_OES, use_default_textures);
}
if (arb_texture_rectangle) {
- SetupTextureDestructionExpectations(gl, GL_TEXTURE_RECTANGLE_ARB);
+ SetupTextureDestructionExpectations(
+ gl, GL_TEXTURE_RECTANGLE_ARB, use_default_textures);
}
EXPECT_CALL(*gl, DeleteTextures(4, _))
@@ -225,10 +241,11 @@ void TestHelper::SetupTextureManagerDestructionExpectations(
}
void TestHelper::SetupContextGroupInitExpectations(
- ::gfx::MockGLInterface* gl,
- const DisallowedFeatures& disallowed_features,
- const char* extensions,
- const char* gl_version) {
+ ::gfx::MockGLInterface* gl,
+ const DisallowedFeatures& disallowed_features,
+ const char* extensions,
+ const char* gl_version,
+ bool bind_generates_resource) {
InSequence sequence;
SetupFeatureInfoInitExpectationsWithGLVersion(gl, extensions, "", gl_version);
@@ -277,7 +294,8 @@ void TestHelper::SetupContextGroupInitExpectations(
.WillOnce(SetArgumentPointee<1>(kMaxVertexUniformComponents))
.RetiresOnSaturation();
- SetupTextureManagerInitExpectations(gl, extensions);
+ bool use_default_textures = bind_generates_resource;
+ SetupTextureManagerInitExpectations(gl, extensions, use_default_textures);
}
void TestHelper::SetupFeatureInfoInitExpectations(
diff --git a/gpu/command_buffer/service/test_helper.h b/gpu/command_buffer/service/test_helper.h
index b16f05fc6e..d0ae758aae 100644
--- a/gpu/command_buffer/service/test_helper.h
+++ b/gpu/command_buffer/service/test_helper.h
@@ -66,7 +66,8 @@ class TestHelper {
::gfx::MockGLInterface* gl,
const DisallowedFeatures& disallowed_features,
const char* extensions,
- const char* gl_version);
+ const char* gl_version,
+ bool bind_generates_resource);
static void SetupFeatureInfoInitExpectations(
::gfx::MockGLInterface* gl, const char* extensions);
static void SetupFeatureInfoInitExpectationsWithGLVersion(
@@ -74,10 +75,13 @@ class TestHelper {
const char* extensions,
const char* gl_renderer,
const char* gl_version);
- static void SetupTextureManagerInitExpectations(
- ::gfx::MockGLInterface* gl, const char* extensions);
+ static void SetupTextureManagerInitExpectations(::gfx::MockGLInterface* gl,
+ const char* extensions,
+ bool use_default_textures);
static void SetupTextureManagerDestructionExpectations(
- ::gfx::MockGLInterface* gl, const char* extensions);
+ ::gfx::MockGLInterface* gl,
+ const char* extensions,
+ bool use_default_textures);
static void SetupExpectationsForClearingUniforms(
::gfx::MockGLInterface* gl, UniformInfo* uniforms, size_t num_uniforms);
@@ -104,10 +108,12 @@ class TestHelper {
GLenum pname, GLint value, GLenum error);
private:
- static void SetupTextureInitializationExpectations(
- ::gfx::MockGLInterface* gl, GLenum target);
- static void SetupTextureDestructionExpectations(
- ::gfx::MockGLInterface* gl, GLenum target);
+ static void SetupTextureInitializationExpectations(::gfx::MockGLInterface* gl,
+ GLenum target,
+ bool use_default_textures);
+ static void SetupTextureDestructionExpectations(::gfx::MockGLInterface* gl,
+ GLenum target,
+ bool use_default_textures);
};
// This object temporaritly Sets what gfx::GetGLImplementation returns. During
diff --git a/gpu/command_buffer/service/texture_definition.cc b/gpu/command_buffer/service/texture_definition.cc
index 462131fdc1..9b31dac460 100644
--- a/gpu/command_buffer/service/texture_definition.cc
+++ b/gpu/command_buffer/service/texture_definition.cc
@@ -278,12 +278,8 @@ void NativeImageBuffer::DidRead(gfx::GLImage* client) {
void NativeImageBuffer::DidWrite(gfx::GLImage* client) {
base::AutoLock lock(lock_);
- // TODO(sievers): crbug.com/352419
- // This is super-risky. We need to somehow find out about when the current
- // context gets flushed, so that we will only ever wait on the write fence
- // (esp. from another context) if it was flushed and is guaranteed to clear.
- // On the other hand, proactively flushing here is not feasible in terms
- // of perf when there are multiple draw calls per frame.
+ // Sharing semantics require the client to flush in order to make changes
+ // visible to other clients.
write_fence_.reset(gfx::GLFence::CreateWithoutFlush());
write_client_ = client;
for (std::list<ClientInfo>::iterator it = client_infos_.begin();
diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc
index 2082841c3a..8f7703b954 100644
--- a/gpu/command_buffer/service/texture_manager.cc
+++ b/gpu/command_buffer/service/texture_manager.cc
@@ -895,9 +895,10 @@ TextureRef::~TextureRef() {
TextureManager::TextureManager(MemoryTracker* memory_tracker,
FeatureInfo* feature_info,
GLint max_texture_size,
- GLint max_cube_map_texture_size)
- : memory_tracker_managed_(new MemoryTypeTracker(memory_tracker,
- MemoryTracker::kManaged)),
+ GLint max_cube_map_texture_size,
+ bool use_default_textures)
+ : memory_tracker_managed_(
+ new MemoryTypeTracker(memory_tracker, MemoryTracker::kManaged)),
memory_tracker_unmanaged_(
new MemoryTypeTracker(memory_tracker, MemoryTracker::kUnmanaged)),
feature_info_(feature_info),
@@ -912,6 +913,7 @@ TextureManager::TextureManager(MemoryTracker* memory_tracker,
max_cube_map_texture_size,
max_cube_map_texture_size,
max_cube_map_texture_size)),
+ use_default_textures_(use_default_textures),
num_unrenderable_textures_(0),
num_unsafe_textures_(0),
num_uncleared_mips_(0),
@@ -959,8 +961,9 @@ scoped_refptr<TextureRef>
// Make default textures and texture for replacing non-renderable textures.
GLuint ids[2];
- glGenTextures(arraysize(ids), ids);
- for (unsigned long ii = 0; ii < arraysize(ids); ++ii) {
+ const unsigned long num_ids = use_default_textures_ ? 2 : 1;
+ glGenTextures(num_ids, ids);
+ for (unsigned long ii = 0; ii < num_ids; ++ii) {
glBindTexture(target, ids[ii]);
if (needs_initialization) {
if (needs_faces) {
@@ -976,48 +979,50 @@ scoped_refptr<TextureRef>
}
glBindTexture(target, 0);
- scoped_refptr<TextureRef> default_texture(
- TextureRef::Create(this, 0, ids[1]));
- SetTarget(default_texture.get(), target);
- if (needs_faces) {
- for (int ii = 0; ii < GLES2Util::kNumFaces; ++ii) {
- SetLevelInfo(default_texture.get(),
- GLES2Util::IndexToGLFaceTarget(ii),
- 0,
- GL_RGBA,
- 1,
- 1,
- 1,
- 0,
- GL_RGBA,
- GL_UNSIGNED_BYTE,
- true);
- }
- } else {
- if (needs_initialization) {
- SetLevelInfo(default_texture.get(),
- GL_TEXTURE_2D,
- 0,
- GL_RGBA,
- 1,
- 1,
- 1,
- 0,
- GL_RGBA,
- GL_UNSIGNED_BYTE,
- true);
+ scoped_refptr<TextureRef> default_texture;
+ if (use_default_textures_) {
+ default_texture = TextureRef::Create(this, 0, ids[1]);
+ SetTarget(default_texture.get(), target);
+ if (needs_faces) {
+ for (int ii = 0; ii < GLES2Util::kNumFaces; ++ii) {
+ SetLevelInfo(default_texture.get(),
+ GLES2Util::IndexToGLFaceTarget(ii),
+ 0,
+ GL_RGBA,
+ 1,
+ 1,
+ 1,
+ 0,
+ GL_RGBA,
+ GL_UNSIGNED_BYTE,
+ true);
+ }
} else {
- SetLevelInfo(default_texture.get(),
- GL_TEXTURE_EXTERNAL_OES,
- 0,
- GL_RGBA,
- 1,
- 1,
- 1,
- 0,
- GL_RGBA,
- GL_UNSIGNED_BYTE,
- true);
+ if (needs_initialization) {
+ SetLevelInfo(default_texture.get(),
+ GL_TEXTURE_2D,
+ 0,
+ GL_RGBA,
+ 1,
+ 1,
+ 1,
+ 0,
+ GL_RGBA,
+ GL_UNSIGNED_BYTE,
+ true);
+ } else {
+ SetLevelInfo(default_texture.get(),
+ GL_TEXTURE_EXTERNAL_OES,
+ 0,
+ GL_RGBA,
+ 1,
+ 1,
+ 1,
+ 0,
+ GL_RGBA,
+ GL_UNSIGNED_BYTE,
+ true);
+ }
}
}
diff --git a/gpu/command_buffer/service/texture_manager.h b/gpu/command_buffer/service/texture_manager.h
index 214122eccc..8513264413 100644
--- a/gpu/command_buffer/service/texture_manager.h
+++ b/gpu/command_buffer/service/texture_manager.h
@@ -481,7 +481,8 @@ class GPU_EXPORT TextureManager {
TextureManager(MemoryTracker* memory_tracker,
FeatureInfo* feature_info,
GLsizei max_texture_size,
- GLsizei max_cube_map_texture_size);
+ GLsizei max_cube_map_texture_size,
+ bool use_default_textures);
~TextureManager();
void set_framebuffer_manager(FramebufferManager* manager) {
@@ -774,6 +775,8 @@ class GPU_EXPORT TextureManager {
GLint max_levels_;
GLint max_cube_map_levels_;
+ const bool use_default_textures_;
+
int num_unrenderable_textures_;
int num_unsafe_textures_;
int num_uncleared_mips_;
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc
index ae88a99d02..873511d3d3 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -47,10 +47,9 @@ class TextureManagerTest : public testing::Test {
static const GLint kMax2dLevels = 5;
static const GLint kMaxCubeMapLevels = 4;
static const GLint kMaxExternalLevels = 1;
+ static const bool kUseDefaultTextures = false;
- TextureManagerTest()
- : feature_info_(new FeatureInfo()) {
- }
+ TextureManagerTest() : feature_info_(new FeatureInfo()) {}
virtual ~TextureManagerTest() {
}
@@ -60,10 +59,13 @@ class TextureManagerTest : public testing::Test {
gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>());
::gfx::MockGLInterface::SetGLInterface(gl_.get());
- manager_.reset(new TextureManager(
- NULL, feature_info_.get(),
- kMaxTextureSize, kMaxCubeMapTextureSize));
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
+ manager_.reset(new TextureManager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
manager_->Initialize();
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
}
@@ -162,11 +164,54 @@ TEST_F(TextureManagerTest, SetParameter) {
SetParameter(texture_ref, GL_TEXTURE_MAX_ANISOTROPY_EXT, 0, GL_INVALID_VALUE);
}
+TEST_F(TextureManagerTest, UseDefaultTexturesTrue) {
+ bool use_default_textures = true;
+ scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
+
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "GL_ANGLE_texture_usage", use_default_textures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ use_default_textures);
+ manager.Initialize();
+
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) != NULL);
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) != NULL);
+
+ // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB.
+
+ manager.Destroy(false);
+}
+
+TEST_F(TextureManagerTest, UseDefaultTexturesFalse) {
+ bool use_default_textures = false;
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "GL_ANGLE_texture_usage", use_default_textures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ use_default_textures);
+ manager.Initialize();
+
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_2D) == NULL);
+ EXPECT_TRUE(manager.GetDefaultTextureInfo(GL_TEXTURE_CUBE_MAP) == NULL);
+
+ // TODO(vmiura): Test GL_TEXTURE_EXTERNAL_OES & GL_TEXTURE_RECTANGLE_ARB.
+
+ manager.Destroy(false);
+}
+
TEST_F(TextureManagerTest, TextureUsageExt) {
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(),
- "GL_ANGLE_texture_usage");
- TextureManager manager(
- NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "GL_ANGLE_texture_usage", kUseDefaultTextures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.Initialize();
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
@@ -186,9 +231,13 @@ TEST_F(TextureManagerTest, TextureUsageExt) {
TEST_F(TextureManagerTest, Destroy) {
const GLuint kClient1Id = 1;
const GLuint kService1Id = 11;
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
- TextureManager manager(
- NULL, feature_info_.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
+ TextureManager manager(NULL,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.Initialize();
// Check we can create texture.
manager.CreateTexture(kClient1Id, kService1Id);
@@ -198,7 +247,8 @@ TEST_F(TextureManagerTest, Destroy) {
EXPECT_CALL(*gl_, DeleteTextures(1, ::testing::Pointee(kService1Id)))
.Times(1)
.RetiresOnSaturation();
- TestHelper::SetupTextureManagerDestructionExpectations(gl_.get(), "");
+ TestHelper::SetupTextureManagerDestructionExpectations(
+ gl_.get(), "", kUseDefaultTextures);
manager.Destroy(true);
// Check that resources got freed.
texture = manager.GetTexture(kClient1Id);
@@ -319,8 +369,11 @@ TEST_F(TextureManagerTest, ValidForTargetNPOT) {
gl_.get(), "GL_OES_texture_npot");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
// Check NPOT width on level 0
EXPECT_TRUE(manager.ValidForTarget(GL_TEXTURE_2D, 0, 5, 2, 1));
// Check NPOT height on level 0
@@ -340,6 +393,7 @@ class TextureTestBase : public testing::Test {
static const GLint kMaxCubeMapLevels = 4;
static const GLuint kClient1Id = 1;
static const GLuint kService1Id = 11;
+ static const bool kUseDefaultTextures = false;
TextureTestBase()
: feature_info_(new FeatureInfo()) {
@@ -359,9 +413,11 @@ class TextureTestBase : public testing::Test {
feature_info_->Initialize();
}
- manager_.reset(new TextureManager(
- memory_tracker, feature_info_.get(),
- kMaxTextureSize, kMaxCubeMapTextureSize));
+ manager_.reset(new TextureManager(memory_tracker,
+ feature_info_.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
decoder_.reset(new ::testing::StrictMock<gles2::MockGLES2Decoder>());
error_state_.reset(new ::testing::StrictMock<gles2::MockErrorState>());
manager_->CreateTexture(kClient1Id, kService1Id);
@@ -795,8 +851,11 @@ TEST_F(TextureTest, NPOT2DNPOTOK) {
gl_.get(), "GL_OES_texture_npot");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1083,8 +1142,11 @@ TEST_F(TextureTest, FloatNotLinear) {
gl_.get(), "GL_OES_texture_float");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1110,8 +1172,11 @@ TEST_F(TextureTest, FloatLinear) {
gl_.get(), "GL_OES_texture_float GL_OES_texture_float_linear");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1129,8 +1194,11 @@ TEST_F(TextureTest, HalfFloatNotLinear) {
gl_.get(), "GL_OES_texture_half_float");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1156,8 +1224,11 @@ TEST_F(TextureTest, HalfFloatLinear) {
gl_.get(), "GL_OES_texture_half_float GL_OES_texture_half_float_linear");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1175,8 +1246,11 @@ TEST_F(TextureTest, EGLImageExternal) {
gl_.get(), "GL_OES_EGL_image_external");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -1192,8 +1266,11 @@ TEST_F(TextureTest, DepthTexture) {
gl_.get(), "GL_ANGLE_depth_texture");
scoped_refptr<FeatureInfo> feature_info(new FeatureInfo());
feature_info->Initialize();
- TextureManager manager(
- NULL, feature_info.get(), kMaxTextureSize, kMaxCubeMapTextureSize);
+ TextureManager manager(NULL,
+ feature_info.get(),
+ kMaxTextureSize,
+ kMaxCubeMapTextureSize,
+ kUseDefaultTextures);
manager.CreateTexture(kClient1Id, kService1Id);
TextureRef* texture_ref = manager.GetTexture(kClient1Id);
ASSERT_TRUE(texture_ref != NULL);
@@ -2126,9 +2203,9 @@ class CountingMemoryTracker : public MemoryTracker {
class SharedTextureTest : public testing::Test {
public:
- SharedTextureTest()
- : feature_info_(new FeatureInfo()) {
- }
+ static const bool kUseDefaultTextures = false;
+
+ SharedTextureTest() : feature_info_(new FeatureInfo()) {}
virtual ~SharedTextureTest() {
}
@@ -2142,16 +2219,20 @@ class SharedTextureTest : public testing::Test {
new TextureManager(memory_tracker1_.get(),
feature_info_.get(),
TextureManagerTest::kMaxTextureSize,
- TextureManagerTest::kMaxCubeMapTextureSize));
+ TextureManagerTest::kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
memory_tracker2_ = new CountingMemoryTracker;
texture_manager2_.reset(
new TextureManager(memory_tracker2_.get(),
feature_info_.get(),
TextureManagerTest::kMaxTextureSize,
- TextureManagerTest::kMaxCubeMapTextureSize));
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
+ TextureManagerTest::kMaxCubeMapTextureSize,
+ kUseDefaultTextures));
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
texture_manager1_->Initialize();
- TestHelper::SetupTextureManagerInitExpectations(gl_.get(), "");
+ TestHelper::SetupTextureManagerInitExpectations(
+ gl_.get(), "", kUseDefaultTextures);
texture_manager2_->Initialize();
}
diff --git a/gpu/command_buffer/tests/gl_manager.cc b/gpu/command_buffer/tests/gl_manager.cc
index dc30f454f3..473ac6f6d0 100644
--- a/gpu/command_buffer/tests/gl_manager.cc
+++ b/gpu/command_buffer/tests/gl_manager.cc
@@ -117,11 +117,13 @@ void GLManager::Initialize(const GLManager::Options& options) {
attrib_helper.Serialize(&attribs);
if (!context_group) {
- context_group = new gles2::ContextGroup(mailbox_manager_.get(),
- options.image_manager,
- NULL,
- NULL,
- options.bind_generates_resource);
+ context_group =
+ new gles2::ContextGroup(mailbox_manager_.get(),
+ options.image_manager,
+ NULL,
+ new gpu::gles2::ShaderTranslatorCache,
+ NULL,
+ options.bind_generates_resource);
}
decoder_.reset(::gpu::gles2::GLES2Decoder::Create(context_group));
diff --git a/gpu/command_buffer_client.target.darwin-arm.mk b/gpu/command_buffer_client.target.darwin-arm.mk
index 7e4ac324e4..27f2b438b9 100644
--- a/gpu/command_buffer_client.target.darwin-arm.mk
+++ b/gpu/command_buffer_client.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -215,9 +216,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer_client.target.darwin-mips.mk b/gpu/command_buffer_client.target.darwin-mips.mk
index c465ac3f1e..2539584f2b 100644
--- a/gpu/command_buffer_client.target.darwin-mips.mk
+++ b/gpu/command_buffer_client.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer_client.target.darwin-x86.mk b/gpu/command_buffer_client.target.darwin-x86.mk
index 1f07c308b9..c231a666f9 100644
--- a/gpu/command_buffer_client.target.darwin-x86.mk
+++ b/gpu/command_buffer_client.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -215,9 +216,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer_client.target.darwin-x86_64.mk b/gpu/command_buffer_client.target.darwin-x86_64.mk
index ef94e7a564..7889deb1e4 100644
--- a/gpu/command_buffer_client.target.darwin-x86_64.mk
+++ b/gpu/command_buffer_client.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -215,9 +216,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer_client.target.linux-arm.mk b/gpu/command_buffer_client.target.linux-arm.mk
index 7e4ac324e4..27f2b438b9 100644
--- a/gpu/command_buffer_client.target.linux-arm.mk
+++ b/gpu/command_buffer_client.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -215,9 +216,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer_client.target.linux-mips.mk b/gpu/command_buffer_client.target.linux-mips.mk
index c465ac3f1e..2539584f2b 100644
--- a/gpu/command_buffer_client.target.linux-mips.mk
+++ b/gpu/command_buffer_client.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -213,9 +214,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer_client.target.linux-x86.mk b/gpu/command_buffer_client.target.linux-x86.mk
index 1f07c308b9..c231a666f9 100644
--- a/gpu/command_buffer_client.target.linux-x86.mk
+++ b/gpu/command_buffer_client.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -215,9 +216,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer_client.target.linux-x86_64.mk b/gpu/command_buffer_client.target.linux-x86_64.mk
index ef94e7a564..7889deb1e4 100644
--- a/gpu/command_buffer_client.target.linux-x86_64.mk
+++ b/gpu/command_buffer_client.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_client_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -215,9 +216,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -232,9 +233,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer_common.target.darwin-arm.mk b/gpu/command_buffer_common.target.darwin-arm.mk
index 564755dfd1..24db8c4c2b 100644
--- a/gpu/command_buffer_common.target.darwin-arm.mk
+++ b/gpu/command_buffer_common.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer_common.target.darwin-mips.mk b/gpu/command_buffer_common.target.darwin-mips.mk
index 6a78e1caa6..0712582b59 100644
--- a/gpu/command_buffer_common.target.darwin-mips.mk
+++ b/gpu/command_buffer_common.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -216,9 +217,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -233,9 +234,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer_common.target.darwin-x86.mk b/gpu/command_buffer_common.target.darwin-x86.mk
index e58dbc7d00..5b92ce2b9c 100644
--- a/gpu/command_buffer_common.target.darwin-x86.mk
+++ b/gpu/command_buffer_common.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer_common.target.darwin-x86_64.mk b/gpu/command_buffer_common.target.darwin-x86_64.mk
index 4fee1d3a6a..a0af3b57d2 100644
--- a/gpu/command_buffer_common.target.darwin-x86_64.mk
+++ b/gpu/command_buffer_common.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer_common.target.linux-arm.mk b/gpu/command_buffer_common.target.linux-arm.mk
index 564755dfd1..24db8c4c2b 100644
--- a/gpu/command_buffer_common.target.linux-arm.mk
+++ b/gpu/command_buffer_common.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -237,9 +238,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer_common.target.linux-mips.mk b/gpu/command_buffer_common.target.linux-mips.mk
index 6a78e1caa6..0712582b59 100644
--- a/gpu/command_buffer_common.target.linux-mips.mk
+++ b/gpu/command_buffer_common.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -216,9 +217,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -233,9 +234,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer_common.target.linux-x86.mk b/gpu/command_buffer_common.target.linux-x86.mk
index e58dbc7d00..5b92ce2b9c 100644
--- a/gpu/command_buffer_common.target.linux-x86.mk
+++ b/gpu/command_buffer_common.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer_common.target.linux-x86_64.mk b/gpu/command_buffer_common.target.linux-x86_64.mk
index 4fee1d3a6a..a0af3b57d2 100644
--- a/gpu/command_buffer_common.target.linux-x86_64.mk
+++ b/gpu/command_buffer_common.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_common_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -218,9 +219,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -235,9 +236,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer_service.target.darwin-arm.mk b/gpu/command_buffer_service.target.darwin-arm.mk
index ce1dcd7510..9e4fa5365d 100644
--- a/gpu/command_buffer_service.target.darwin-arm.mk
+++ b/gpu/command_buffer_service.target.darwin-arm.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -138,15 +139,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -270,15 +270,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -347,9 +346,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -366,9 +365,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer_service.target.darwin-mips.mk b/gpu/command_buffer_service.target.darwin-mips.mk
index 1307cbb88c..8707f06c46 100644
--- a/gpu/command_buffer_service.target.darwin-mips.mk
+++ b/gpu/command_buffer_service.target.darwin-mips.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -137,15 +138,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -268,15 +268,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -345,9 +344,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -362,9 +361,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer_service.target.darwin-x86.mk b/gpu/command_buffer_service.target.darwin-x86.mk
index 2db4d55127..1aba514555 100644
--- a/gpu/command_buffer_service.target.darwin-x86.mk
+++ b/gpu/command_buffer_service.target.darwin-x86.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -139,15 +140,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -271,15 +271,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -347,9 +346,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -364,9 +363,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer_service.target.darwin-x86_64.mk b/gpu/command_buffer_service.target.darwin-x86_64.mk
index 2eb7b8b13c..1c23b49040 100644
--- a/gpu/command_buffer_service.target.darwin-x86_64.mk
+++ b/gpu/command_buffer_service.target.darwin-x86_64.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -139,15 +140,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -271,15 +271,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -347,9 +346,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -364,9 +363,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/command_buffer_service.target.linux-arm.mk b/gpu/command_buffer_service.target.linux-arm.mk
index ce1dcd7510..9e4fa5365d 100644
--- a/gpu/command_buffer_service.target.linux-arm.mk
+++ b/gpu/command_buffer_service.target.linux-arm.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -138,15 +139,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -270,15 +270,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -347,9 +346,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -366,9 +365,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/command_buffer_service.target.linux-mips.mk b/gpu/command_buffer_service.target.linux-mips.mk
index 1307cbb88c..8707f06c46 100644
--- a/gpu/command_buffer_service.target.linux-mips.mk
+++ b/gpu/command_buffer_service.target.linux-mips.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -137,15 +138,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -268,15 +268,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -345,9 +344,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -362,9 +361,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/command_buffer_service.target.linux-x86.mk b/gpu/command_buffer_service.target.linux-x86.mk
index 2db4d55127..1aba514555 100644
--- a/gpu/command_buffer_service.target.linux-x86.mk
+++ b/gpu/command_buffer_service.target.linux-x86.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -139,15 +140,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -271,15 +271,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -347,9 +346,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -364,9 +363,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/command_buffer_service.target.linux-x86_64.mk b/gpu/command_buffer_service.target.linux-x86_64.mk
index 2eb7b8b13c..1c23b49040 100644
--- a/gpu/command_buffer_service.target.linux-x86_64.mk
+++ b/gpu/command_buffer_service.target.linux-x86_64.mk
@@ -6,15 +6,16 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_command_buffer_service_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp)/gpu_disk_cache_proto_gyp.a \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_disk_cache_proto_gyp,,,$(GYP_VAR_PREFIX))/gpu_disk_cache_proto_gyp.a \
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -139,15 +140,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -271,15 +271,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DMESA_EGL_NO_X11_HEADERS' \
'-DUSE_OPENSSL=1' \
@@ -347,9 +346,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -364,9 +363,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/disk_cache_proto.target.darwin-arm.mk b/gpu/disk_cache_proto.target.darwin-arm.mk
index 8120696567..30ca9667b6 100644
--- a/gpu/disk_cache_proto.target.darwin-arm.mk
+++ b/gpu/disk_cache_proto.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -243,9 +240,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -262,9 +259,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/disk_cache_proto.target.darwin-mips.mk b/gpu/disk_cache_proto.target.darwin-mips.mk
index 20b25fa925..3b0ca33913 100644
--- a/gpu/disk_cache_proto.target.darwin-mips.mk
+++ b/gpu/disk_cache_proto.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -241,9 +238,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -258,9 +255,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/disk_cache_proto.target.darwin-x86.mk b/gpu/disk_cache_proto.target.darwin-x86.mk
index 39880bf925..8d12aa0f27 100644
--- a/gpu/disk_cache_proto.target.darwin-x86.mk
+++ b/gpu/disk_cache_proto.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -243,9 +240,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -260,9 +257,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/disk_cache_proto.target.darwin-x86_64.mk b/gpu/disk_cache_proto.target.darwin-x86_64.mk
index c051da042d..e78fc1dc84 100644
--- a/gpu/disk_cache_proto.target.darwin-x86_64.mk
+++ b/gpu/disk_cache_proto.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -243,9 +240,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -260,9 +257,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/disk_cache_proto.target.linux-arm.mk b/gpu/disk_cache_proto.target.linux-arm.mk
index 8120696567..30ca9667b6 100644
--- a/gpu/disk_cache_proto.target.linux-arm.mk
+++ b/gpu/disk_cache_proto.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -243,9 +240,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -262,9 +259,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/disk_cache_proto.target.linux-mips.mk b/gpu/disk_cache_proto.target.linux-mips.mk
index 20b25fa925..3b0ca33913 100644
--- a/gpu/disk_cache_proto.target.linux-mips.mk
+++ b/gpu/disk_cache_proto.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -241,9 +238,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -258,9 +255,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/disk_cache_proto.target.linux-x86.mk b/gpu/disk_cache_proto.target.linux-x86.mk
index 39880bf925..8d12aa0f27 100644
--- a/gpu/disk_cache_proto.target.linux-x86.mk
+++ b/gpu/disk_cache_proto.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -243,9 +240,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -260,9 +257,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/disk_cache_proto.target.linux-x86_64.mk b/gpu/disk_cache_proto.target.linux-x86_64.mk
index c051da042d..e78fc1dc84 100644
--- a/gpu/disk_cache_proto.target.linux-x86_64.mk
+++ b/gpu/disk_cache_proto.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_disk_cache_proto_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
@@ -25,10 +26,7 @@ $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_pro
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py ;
-.PHONY: gpu_disk_cache_proto_gyp_rule_trigger
-gpu_disk_cache_proto_gyp_rule_trigger: $(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py
-### Finished generating for all rules
GYP_GENERATED_OUTPUTS := \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
@@ -44,8 +42,7 @@ $(gyp_intermediate_dir)/disk_cache_proto.pb.cc: $(gyp_shared_intermediate_dir)/p
LOCAL_GENERATED_SOURCES := \
$(gyp_intermediate_dir)/disk_cache_proto.pb.cc \
$(gyp_shared_intermediate_dir)/pyproto/gpu/command_buffer/service/disk_cache_proto_pb2.py \
- $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h \
- gpu_disk_cache_proto_gyp_rule_trigger
+ $(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service/disk_cache_proto.pb.h
GYP_COPIED_SOURCE_ORIGIN_DIRS := \
$(gyp_shared_intermediate_dir)/protoc_out/gpu/command_buffer/service
@@ -243,9 +240,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -260,9 +257,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gles2_c_lib.target.darwin-arm.mk b/gpu/gles2_c_lib.target.darwin-arm.mk
index 17c1ac8808..43aa600eb7 100644
--- a/gpu/gles2_c_lib.target.darwin-arm.mk
+++ b/gpu/gles2_c_lib.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -219,9 +220,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gles2_c_lib.target.darwin-mips.mk b/gpu/gles2_c_lib.target.darwin-mips.mk
index f15fcd7d37..b23ae453d7 100644
--- a/gpu/gles2_c_lib.target.darwin-mips.mk
+++ b/gpu/gles2_c_lib.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gles2_c_lib.target.darwin-x86.mk b/gpu/gles2_c_lib.target.darwin-x86.mk
index cbb4d8f6ee..e817e91374 100644
--- a/gpu/gles2_c_lib.target.darwin-x86.mk
+++ b/gpu/gles2_c_lib.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -219,9 +220,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -236,9 +237,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gles2_c_lib.target.darwin-x86_64.mk b/gpu/gles2_c_lib.target.darwin-x86_64.mk
index fa72f4b882..7f1dc45fc6 100644
--- a/gpu/gles2_c_lib.target.darwin-x86_64.mk
+++ b/gpu/gles2_c_lib.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -219,9 +220,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -236,9 +237,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gles2_c_lib.target.linux-arm.mk b/gpu/gles2_c_lib.target.linux-arm.mk
index 17c1ac8808..43aa600eb7 100644
--- a/gpu/gles2_c_lib.target.linux-arm.mk
+++ b/gpu/gles2_c_lib.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -219,9 +220,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -238,9 +239,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gles2_c_lib.target.linux-mips.mk b/gpu/gles2_c_lib.target.linux-mips.mk
index f15fcd7d37..b23ae453d7 100644
--- a/gpu/gles2_c_lib.target.linux-mips.mk
+++ b/gpu/gles2_c_lib.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -217,9 +218,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -234,9 +235,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gles2_c_lib.target.linux-x86.mk b/gpu/gles2_c_lib.target.linux-x86.mk
index cbb4d8f6ee..e817e91374 100644
--- a/gpu/gles2_c_lib.target.linux-x86.mk
+++ b/gpu/gles2_c_lib.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -219,9 +220,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -236,9 +237,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gles2_c_lib.target.linux-x86_64.mk b/gpu/gles2_c_lib.target.linux-x86_64.mk
index fa72f4b882..7f1dc45fc6 100644
--- a/gpu/gles2_c_lib.target.linux-x86_64.mk
+++ b/gpu/gles2_c_lib.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_c_lib_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -219,9 +220,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -236,9 +237,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gles2_cmd_helper.target.darwin-arm.mk b/gpu/gles2_cmd_helper.target.darwin-arm.mk
index e55858cfb9..d0a716e2c7 100644
--- a/gpu/gles2_cmd_helper.target.darwin-arm.mk
+++ b/gpu/gles2_cmd_helper.target.darwin-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gles2_cmd_helper.target.darwin-mips.mk b/gpu/gles2_cmd_helper.target.darwin-mips.mk
index 2569ada36f..b57e3754cb 100644
--- a/gpu/gles2_cmd_helper.target.darwin-mips.mk
+++ b/gpu/gles2_cmd_helper.target.darwin-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -208,9 +209,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -225,9 +226,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gles2_cmd_helper.target.darwin-x86.mk b/gpu/gles2_cmd_helper.target.darwin-x86.mk
index ae0a657636..5e21bad34b 100644
--- a/gpu/gles2_cmd_helper.target.darwin-x86.mk
+++ b/gpu/gles2_cmd_helper.target.darwin-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gles2_cmd_helper.target.darwin-x86_64.mk b/gpu/gles2_cmd_helper.target.darwin-x86_64.mk
index b4de19453e..1eb16440d3 100644
--- a/gpu/gles2_cmd_helper.target.darwin-x86_64.mk
+++ b/gpu/gles2_cmd_helper.target.darwin-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gles2_cmd_helper.target.linux-arm.mk b/gpu/gles2_cmd_helper.target.linux-arm.mk
index e55858cfb9..d0a716e2c7 100644
--- a/gpu/gles2_cmd_helper.target.linux-arm.mk
+++ b/gpu/gles2_cmd_helper.target.linux-arm.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -229,9 +230,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gles2_cmd_helper.target.linux-mips.mk b/gpu/gles2_cmd_helper.target.linux-mips.mk
index 2569ada36f..b57e3754cb 100644
--- a/gpu/gles2_cmd_helper.target.linux-mips.mk
+++ b/gpu/gles2_cmd_helper.target.linux-mips.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -208,9 +209,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -225,9 +226,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gles2_cmd_helper.target.linux-x86.mk b/gpu/gles2_cmd_helper.target.linux-x86.mk
index ae0a657636..5e21bad34b 100644
--- a/gpu/gles2_cmd_helper.target.linux-x86.mk
+++ b/gpu/gles2_cmd_helper.target.linux-x86.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gles2_cmd_helper.target.linux-x86_64.mk b/gpu/gles2_cmd_helper.target.linux-x86_64.mk
index b4de19453e..1eb16440d3 100644
--- a/gpu/gles2_cmd_helper.target.linux-x86_64.mk
+++ b/gpu/gles2_cmd_helper.target.linux-x86_64.mk
@@ -6,8 +6,9 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_cmd_helper_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=
@@ -210,9 +211,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -227,9 +228,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gles2_conform_support/egl/display.cc b/gpu/gles2_conform_support/egl/display.cc
index 8b43dffe8b..7e8829749c 100644
--- a/gpu/gles2_conform_support/egl/display.cc
+++ b/gpu/gles2_conform_support/egl/display.cc
@@ -113,8 +113,8 @@ EGLSurface Display::CreateWindowSurface(EGLConfig config,
if (!command_buffer->Initialize())
return NULL;
- scoped_refptr<gpu::gles2::ContextGroup> group(
- new gpu::gles2::ContextGroup(NULL, NULL, NULL, NULL, true));
+ scoped_refptr<gpu::gles2::ContextGroup> group(new gpu::gles2::ContextGroup(
+ NULL, NULL, NULL, new gpu::gles2::ShaderTranslatorCache, NULL, true));
decoder_.reset(gpu::gles2::GLES2Decoder::Create(group.get()));
if (!decoder_.get())
diff --git a/gpu/gles2_implementation.target.darwin-arm.mk b/gpu/gles2_implementation.target.darwin-arm.mk
index 0dc2ac3f64..fa0d8c7fe9 100644
--- a/gpu/gles2_implementation.target.darwin-arm.mk
+++ b/gpu/gles2_implementation.target.darwin-arm.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -99,15 +100,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -224,15 +224,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -296,9 +295,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -315,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gles2_implementation.target.darwin-mips.mk b/gpu/gles2_implementation.target.darwin-mips.mk
index ab04572e33..eed0199fb7 100644
--- a/gpu/gles2_implementation.target.darwin-mips.mk
+++ b/gpu/gles2_implementation.target.darwin-mips.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -98,15 +99,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -222,15 +222,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -294,9 +293,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -311,9 +310,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gles2_implementation.target.darwin-x86.mk b/gpu/gles2_implementation.target.darwin-x86.mk
index 00ff64091a..cb12e47bdc 100644
--- a/gpu/gles2_implementation.target.darwin-x86.mk
+++ b/gpu/gles2_implementation.target.darwin-x86.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -100,15 +101,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -225,15 +225,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -296,9 +295,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -313,9 +312,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gles2_implementation.target.darwin-x86_64.mk b/gpu/gles2_implementation.target.darwin-x86_64.mk
index 63df669654..788cf45603 100644
--- a/gpu/gles2_implementation.target.darwin-x86_64.mk
+++ b/gpu/gles2_implementation.target.darwin-x86_64.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -100,15 +101,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -225,15 +225,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -296,9 +295,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -313,9 +312,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gles2_implementation.target.linux-arm.mk b/gpu/gles2_implementation.target.linux-arm.mk
index 0dc2ac3f64..fa0d8c7fe9 100644
--- a/gpu/gles2_implementation.target.linux-arm.mk
+++ b/gpu/gles2_implementation.target.linux-arm.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -99,15 +100,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -224,15 +224,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -296,9 +295,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -315,9 +314,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gles2_implementation.target.linux-mips.mk b/gpu/gles2_implementation.target.linux-mips.mk
index ab04572e33..eed0199fb7 100644
--- a/gpu/gles2_implementation.target.linux-mips.mk
+++ b/gpu/gles2_implementation.target.linux-mips.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -98,15 +99,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -222,15 +222,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -294,9 +293,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -311,9 +310,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gles2_implementation.target.linux-x86.mk b/gpu/gles2_implementation.target.linux-x86.mk
index 00ff64091a..cb12e47bdc 100644
--- a/gpu/gles2_implementation.target.linux-x86.mk
+++ b/gpu/gles2_implementation.target.linux-x86.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -100,15 +101,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -225,15 +225,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -296,9 +295,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -313,9 +312,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gles2_implementation.target.linux-x86_64.mk b/gpu/gles2_implementation.target.linux-x86_64.mk
index 63df669654..788cf45603 100644
--- a/gpu/gles2_implementation.target.linux-x86_64.mk
+++ b/gpu/gles2_implementation.target.linux-x86_64.mk
@@ -6,14 +6,15 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gles2_implementation_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -100,15 +101,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -225,15 +225,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DU_USING_ICU_NAMESPACE=0' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
@@ -296,9 +295,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -313,9 +312,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gpu.target.darwin-arm.mk b/gpu/gpu.target.darwin-arm.mk
index 7c0692724f..e738bd9b39 100644
--- a/gpu/gpu.target.darwin-arm.mk
+++ b/gpu/gpu.target.darwin-arm.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -229,6 +230,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -236,3 +238,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.darwin-mips.mk b/gpu/gpu.target.darwin-mips.mk
index 1242c1eda8..023b581175 100644
--- a/gpu/gpu.target.darwin-mips.mk
+++ b/gpu/gpu.target.darwin-mips.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -227,6 +228,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -234,3 +236,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.darwin-x86.mk b/gpu/gpu.target.darwin-x86.mk
index e9655d9138..94ac29cd8d 100644
--- a/gpu/gpu.target.darwin-x86.mk
+++ b/gpu/gpu.target.darwin-x86.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -229,6 +230,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -236,3 +238,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.darwin-x86_64.mk b/gpu/gpu.target.darwin-x86_64.mk
index 3b2a54ab58..8eab841b49 100644
--- a/gpu/gpu.target.darwin-x86_64.mk
+++ b/gpu/gpu.target.darwin-x86_64.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -229,6 +230,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -236,3 +238,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.linux-arm.mk b/gpu/gpu.target.linux-arm.mk
index 7c0692724f..e738bd9b39 100644
--- a/gpu/gpu.target.linux-arm.mk
+++ b/gpu/gpu.target.linux-arm.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -229,6 +230,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -236,3 +238,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.linux-mips.mk b/gpu/gpu.target.linux-mips.mk
index 1242c1eda8..023b581175 100644
--- a/gpu/gpu.target.linux-mips.mk
+++ b/gpu/gpu.target.linux-mips.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -227,6 +228,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -234,3 +236,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.linux-x86.mk b/gpu/gpu.target.linux-x86.mk
index e9655d9138..94ac29cd8d 100644
--- a/gpu/gpu.target.linux-x86.mk
+++ b/gpu/gpu.target.linux-x86.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -229,6 +230,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -236,3 +238,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu.target.linux-x86_64.mk b/gpu/gpu.target.linux-x86_64.mk
index 3b2a54ab58..8eab841b49 100644
--- a/gpu/gpu.target.linux-x86_64.mk
+++ b/gpu/gpu.target.linux-x86_64.mk
@@ -7,17 +7,18 @@ LOCAL_MODULE := gpu_gpu_gyp
LOCAL_MODULE_STEM := gpu
LOCAL_MODULE_SUFFIX := .stamp
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp)/gpu_command_buffer_client_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp)/gpu_command_buffer_common_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp)/gpu_command_buffer_service_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp)/gpu_gles2_cmd_helper_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp)/gpu_gpu_config_gyp.a \
- $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp)/gpu_gpu_ipc_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_client_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_client_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_common_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_common_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_command_buffer_service_gyp,,,$(GYP_VAR_PREFIX))/gpu_command_buffer_service_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gles2_cmd_helper_gyp,,,$(GYP_VAR_PREFIX))/gpu_gles2_cmd_helper_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_config_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_config_gyp.a \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,gpu_gpu_ipc_gyp,,,$(GYP_VAR_PREFIX))/gpu_gpu_ipc_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -229,6 +230,7 @@ gpu: gpu_gpu_gyp
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/gyp_stamp
LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_2ND_ARCH_VAR_PREFIX := $(GYP_VAR_PREFIX)
include $(BUILD_SYSTEM)/base_rules.mk
@@ -236,3 +238,5 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_ADDITIONAL_DEPENDENCIES)
$(hide) echo "Gyp timestamp: $@"
$(hide) mkdir -p $(dir $@)
$(hide) touch $@
+
+LOCAL_2ND_ARCH_VAR_PREFIX :=
diff --git a/gpu/gpu_config.gypi b/gpu/gpu_config.gypi
index 1e0bfba92a..12c65e6700 100644
--- a/gpu/gpu_config.gypi
+++ b/gpu/gpu_config.gypi
@@ -65,6 +65,8 @@
}],
['OS=="linux" and use_x11==1', {
'dependencies': [
+ '../build/linux/system.gyp:x11',
+ '../build/linux/system.gyp:xext',
'../build/linux/system.gyp:libpci',
'../third_party/libXNVCtrl/libXNVCtrl.gyp:libXNVCtrl',
],
diff --git a/gpu/gpu_config.target.darwin-arm.mk b/gpu/gpu_config.target.darwin-arm.mk
index d886b06593..2cb6c37f8d 100644
--- a/gpu/gpu_config.target.darwin-arm.mk
+++ b/gpu/gpu_config.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -238,9 +239,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -257,9 +258,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gpu_config.target.darwin-mips.mk b/gpu/gpu_config.target.darwin-mips.mk
index a76fd760f6..87a6b2a8d3 100644
--- a/gpu/gpu_config.target.darwin-mips.mk
+++ b/gpu/gpu_config.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -236,9 +237,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -253,9 +254,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gpu_config.target.darwin-x86.mk b/gpu/gpu_config.target.darwin-x86.mk
index 9d0f74886a..25ea8fbcc8 100644
--- a/gpu/gpu_config.target.darwin-x86.mk
+++ b/gpu/gpu_config.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -238,9 +239,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -255,9 +256,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gpu_config.target.darwin-x86_64.mk b/gpu/gpu_config.target.darwin-x86_64.mk
index 2ef53fc155..4013653aea 100644
--- a/gpu/gpu_config.target.darwin-x86_64.mk
+++ b/gpu/gpu_config.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -238,9 +239,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -255,9 +256,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gpu_config.target.linux-arm.mk b/gpu/gpu_config.target.linux-arm.mk
index d886b06593..2cb6c37f8d 100644
--- a/gpu/gpu_config.target.linux-arm.mk
+++ b/gpu/gpu_config.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -238,9 +239,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -257,9 +258,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gpu_config.target.linux-mips.mk b/gpu/gpu_config.target.linux-mips.mk
index a76fd760f6..87a6b2a8d3 100644
--- a/gpu/gpu_config.target.linux-mips.mk
+++ b/gpu/gpu_config.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -236,9 +237,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -253,9 +254,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gpu_config.target.linux-x86.mk b/gpu/gpu_config.target.linux-x86.mk
index 9d0f74886a..25ea8fbcc8 100644
--- a/gpu/gpu_config.target.linux-x86.mk
+++ b/gpu/gpu_config.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -238,9 +239,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -255,9 +256,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gpu_config.target.linux-x86_64.mk b/gpu/gpu_config.target.linux-x86_64.mk
index 2ef53fc155..4013653aea 100644
--- a/gpu/gpu_config.target.linux-x86_64.mk
+++ b/gpu/gpu_config.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_config_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp)/ui_gl_gl_gyp.a
+ $(call intermediates-dir-for,STATIC_LIBRARIES,ui_gl_gl_gyp,,,$(GYP_VAR_PREFIX))/ui_gl_gl_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -238,9 +239,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -255,9 +256,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gpu_ipc.target.darwin-arm.mk b/gpu/gpu_ipc.target.darwin-arm.mk
index 5e7a05c5e3..871d4793d7 100644
--- a/gpu/gpu_ipc.target.darwin-arm.mk
+++ b/gpu/gpu_ipc.target.darwin-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gpu_ipc.target.darwin-mips.mk b/gpu/gpu_ipc.target.darwin-mips.mk
index 92036adecf..634ab6ee45 100644
--- a/gpu/gpu_ipc.target.darwin-mips.mk
+++ b/gpu/gpu_ipc.target.darwin-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gpu_ipc.target.darwin-x86.mk b/gpu/gpu_ipc.target.darwin-x86.mk
index f331db2f1a..c3d40d61bc 100644
--- a/gpu/gpu_ipc.target.darwin-x86.mk
+++ b/gpu/gpu_ipc.target.darwin-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gpu_ipc.target.darwin-x86_64.mk b/gpu/gpu_ipc.target.darwin-x86_64.mk
index f3f2e4442e..8c679c2282 100644
--- a/gpu/gpu_ipc.target.darwin-x86_64.mk
+++ b/gpu/gpu_ipc.target.darwin-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/gpu_ipc.target.linux-arm.mk b/gpu/gpu_ipc.target.linux-arm.mk
index 5e7a05c5e3..871d4793d7 100644
--- a/gpu/gpu_ipc.target.linux-arm.mk
+++ b/gpu/gpu_ipc.target.linux-arm.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -230,9 +231,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/gpu_ipc.target.linux-mips.mk b/gpu/gpu_ipc.target.linux-mips.mk
index 92036adecf..634ab6ee45 100644
--- a/gpu/gpu_ipc.target.linux-mips.mk
+++ b/gpu/gpu_ipc.target.linux-mips.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -209,9 +210,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -226,9 +227,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/gpu_ipc.target.linux-x86.mk b/gpu/gpu_ipc.target.linux-x86.mk
index f331db2f1a..c3d40d61bc 100644
--- a/gpu/gpu_ipc.target.linux-x86.mk
+++ b/gpu/gpu_ipc.target.linux-x86.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/gpu_ipc.target.linux-x86_64.mk b/gpu/gpu_ipc.target.linux-x86_64.mk
index f3f2e4442e..8c679c2282 100644
--- a/gpu/gpu_ipc.target.linux-x86_64.mk
+++ b/gpu/gpu_ipc.target.linux-x86_64.mk
@@ -6,12 +6,13 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_gpu_ipc_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp)/khronos_headers.stamp
+ $(call intermediates-dir-for,GYP,third_party_khronos_khronos_headers_gyp,,,$(GYP_VAR_PREFIX))/khronos_headers.stamp
GYP_GENERATED_OUTPUTS :=
@@ -211,9 +212,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -228,9 +229,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-arm.mk b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-arm.mk
index 9e481d63d5..e091fbad7c 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-arm.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-arm.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -86,15 +87,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -203,15 +203,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -270,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -289,9 +288,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-mips.mk b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-mips.mk
index efdf604710..6abc62d6e3 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-mips.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-mips.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -85,15 +86,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -201,15 +201,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -268,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -285,9 +284,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86.mk b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86.mk
index b43209c9c1..96290ac816 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -87,15 +88,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -204,15 +204,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -270,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -287,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86_64.mk b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86_64.mk
index ada94b7523..1d1f60ef53 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86_64.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.darwin-x86_64.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -87,15 +88,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -204,15 +204,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -270,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -287,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.linux-arm.mk b/gpu/skia_bindings/gpu_skia_bindings.target.linux-arm.mk
index 9e481d63d5..e091fbad7c 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.linux-arm.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.linux-arm.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -86,15 +87,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -203,15 +203,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -270,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
@@ -289,9 +288,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-Wl,-z,relro \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.linux-mips.mk b/gpu/skia_bindings/gpu_skia_bindings.target.linux-mips.mk
index efdf604710..6abc62d6e3 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.linux-mips.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.linux-mips.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -85,15 +86,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -201,15 +201,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -268,9 +267,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
@@ -285,9 +284,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-EL \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86.mk b/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86.mk
index b43209c9c1..96290ac816 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -87,15 +88,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -204,15 +204,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -270,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
@@ -287,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m32 \
diff --git a/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86_64.mk b/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86_64.mk
index ada94b7523..1d1f60ef53 100644
--- a/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86_64.mk
+++ b/gpu/skia_bindings/gpu_skia_bindings.target.linux-x86_64.mk
@@ -6,13 +6,14 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := gpu_skia_bindings_gpu_skia_bindings_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TAGS := optional
-gyp_intermediate_dir := $(call local-intermediates-dir)
-gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared)
+LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
+gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
+gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))
# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES := \
- $(call intermediates-dir-for,GYP,skia_skia_gyp)/skia.stamp \
- $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp)/skia_skia_library_gyp.a
+ $(call intermediates-dir-for,GYP,skia_skia_gyp,,,$(GYP_VAR_PREFIX))/skia.stamp \
+ $(call intermediates-dir-for,STATIC_LIBRARIES,skia_skia_library_gyp,,,$(GYP_VAR_PREFIX))/skia_skia_library_gyp.a
GYP_GENERATED_OUTPUTS :=
@@ -87,15 +88,14 @@ MY_DEFS_Debug := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -204,15 +204,14 @@ MY_DEFS_Release := \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DGR_GL_IGNORE_ES3_MSAA=0' \
- '-DSK_SUPPORT_LEGACY_LAYERRASTERIZER_API=1' \
'-DSK_WILL_NEVER_DRAW_PERSPECTIVE_TEXT' \
'-DSK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS=1' \
- '-DSK_SUPPORT_LEGACY_GETCLIPTYPE' \
'-DSK_SUPPORT_LEGACY_GETTOTALCLIP' \
'-DSK_SUPPORT_LEGACY_GETTOPDEVICE' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
+ '-DSK_IGNORE_FREETYPE_ROTATION_FIX' \
'-DUSE_OPENSSL=1' \
'-DUSE_OPENSSL_CERTS=1' \
'-D__STDC_CONSTANT_MACROS' \
@@ -270,9 +269,9 @@ LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
LOCAL_LDFLAGS_Debug := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \
@@ -287,9 +286,9 @@ LOCAL_LDFLAGS_Debug := \
LOCAL_LDFLAGS_Release := \
- -Wl,--fatal-warnings \
-Wl,-z,now \
-Wl,-z,relro \
+ -Wl,--fatal-warnings \
-Wl,-z,noexecstack \
-fPIC \
-m64 \