Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the new system settings driven layer system to trace. #2700

Merged
merged 6 commits into from
Apr 3, 2019

Conversation

pmuetschard
Copy link
Member

For GLES, if layers are supported, no longer use JDWP and libinterceptor to trace, but the layers instead.

For Vulkan use the system settings to setup the layer, rather than the global system property and skip the JDWP interception to modify the classpath.

Since we no longer require JDWP when using the new layers, we will no longer require apps to be marked debuggable on non-rooted device and tracing will work on apps marked profilable.

@pmuetschard pmuetschard force-pushed the prop_layers branch 2 times, most recently from 050dcee to 2857b50 Compare March 30, 2019 00:20
pmuetschard and others added 6 commits April 2, 2019 13:38
For Android, query the EGL extensions both with and without a display
and report them in the list of GL extensions.
For GLES, if layers are supported, no longer use JDWP and
libinterceptor to trace, but the layers instead.

For Vulkan use the system settings to setup the layer, rather than
the global system property and skip the JDWP interception to modify
the classpath.

Since we no longer require JDWP when using the new layers, we will
no longer require apps to be marked debuggable on non-rooted
device and tracing will work on apps marked profilable.
When querying the device info for Android when tracing there was
a deadlock, due to EGL functions calling EGL functions and EGL
functions automatically being called at thread exit. This caused
a deadlock when this happened in response to querying the device
info while creating the spy.

This change avoids this by properly unbinding the context before
destroying it and calling eglReleaseThread ourselves.
Instead of after getting the spy, since (only the first time) getting
the spy has side effects.
@pmuetschard pmuetschard merged commit dae5f1d into google:master Apr 3, 2019
@pmuetschard pmuetschard deleted the prop_layers branch April 3, 2019 14:39
pmuetschard added a commit to pmuetschard/gapid that referenced this pull request Apr 8, 2019
When using the layer settings to trace, don't also set the global
layer property.

This is something that should have been part of google#2700, but must
have been lost in one of the merges/rebases.
pmuetschard added a commit to pmuetschard/gapid that referenced this pull request Apr 8, 2019
When using the layer settings to trace, don't also set the global
layer property.

This is something that should have been part of google#2700, but must
have been lost in one of the merges/rebases.
pmuetschard added a commit that referenced this pull request Apr 9, 2019
When using the layer settings to trace, don't also set the global
layer property.

This is something that should have been part of #2700, but must
have been lost in one of the merges/rebases.
pmuetschard added a commit to pmuetschard/gapid that referenced this pull request Apr 9, 2019
When using the layer settings to trace, don't also set the global
layer property.

This is something that should have been part of google#2700, but must
have been lost in one of the merges/rebases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants