Closed Bug 1409871 Opened 7 years ago Closed 7 years ago

Kill RotatedContentBuffer

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox57 --- unaffected
firefox58 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(23 files)

59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
dvander
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
nical
: review+
Details
59 bytes, text/x-review-board-request
Details
Maybe a click bait title, but this is about moving RotatedContentBuffer's functionality. Not moving to tiling necessarily. RotatedContentBuffer is inherited by ContentClientRemote and ContentClientBasic and used to implement the ContentClient interface. This works okay, but gets much more complicated when it comes to double buffering with ContentClientDoubleBuffered, as the RotatedContentBuffer is implicitly the back buffer, while instance members make up the front buffer. I think it makes sense to instead compose ContentClient's with a RotatedBuffer, rather than inherit. I have a bunch of patches that do this, and some clean up. This is useful for moving some content client operations (like buffer copying) off the main thread.
Sorry there are a bunch of patches here. Most of them are small changes. The end goal of this patch series is to eliminate RotatedContentBuffer and move it's functionality into ContentClient. ContentClient would then be composed of a RotatedBuffer, and do most of the necessary work of adjusting it and asking for new ones. The derived classes would be responsible for creating the specific kind of RotatedBuffer. * BasicContentClient would create a DrawTargetRotatedBuffer (backed by draw targets) * ContentClientRemoteBuffer would create a RemoteRotatedBuffer (backed by texture clients) * ContentClientDoubleBuffer would have an additional RemoteRotatedBuffer for the front buffer Most of the decision making code of RotatedContentBuffer will be moved to ContentClient, while most of the buffer updating and adjustment will become instance methods of RotatedBuffer. https://treeherder.mozilla.org/#/jobs?repo=try&revision=73862463092cee689919378cb6fc115907c82978 The try run looks green, and I haven't noticed any significant regression when using these patches. I'm still afraid I missed an edge case with buffer creation failures, because the code was quite tangled up and confusing. But I think this new code is more straightforward which should help it be more robust in the long run.
Attachment #8920203 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920206 [details] Add a RemoteRotatedBuffer. (bug 1409871 part 4, ) https://reviewboard.mozilla.org/r/191176/#review196394 C/C++ static analysis found 1 defect in this patch. You can run this analysis locally with: `./mach static-analysis check path/to/file.cpp` If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: gfx/layers/RotatedBuffer.cpp:404 (Diff revision 1) > +already_AddRefed<gfx::SourceSurface> > +RemoteRotatedBuffer::GetSourceSurface(ContextSource aSource) const > +{ > + if (aSource == ContextSource::BUFFER_BLACK) { > + return mTarget->Snapshot(); > + } else { Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]
Comment on attachment 8920208 [details] Add a DrawTargetRotatedBuffer. (bug 1409871 part 6, ) https://reviewboard.mozilla.org/r/191180/#review196396 C/C++ static analysis found 1 defect in this patch. You can run this analysis locally with: `./mach static-analysis check path/to/file.cpp` If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: gfx/layers/RotatedBuffer.cpp:435 (Diff revision 1) > +already_AddRefed<gfx::SourceSurface> > +DrawTargetRotatedBuffer::GetSourceSurface(ContextSource aSource) const > +{ > + if (aSource == ContextSource::BUFFER_BLACK) { > + return mTarget->Snapshot(); > + } else { Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]
Comment on attachment 8920204 [details] Move UpdateDestinationFrom to RotatedBuffer. (bug 1409871 part 2, ) https://reviewboard.mozilla.org/r/191172/#review196398
Attachment #8920204 - Flags: review?(nical.bugzilla) → review+
Attachment #8920205 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920206 [details] Add a RemoteRotatedBuffer. (bug 1409871 part 4, ) https://reviewboard.mozilla.org/r/191176/#review196402 There are some bits of useful information in the commit messages that would be worth adding to the class documentations (maybe as a followup). Especially when it comes to compositables and rotated buffers, having a small one-sentence explainer about what each class is about in the code is nice.
Attachment #8920206 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920207 [details] Use a RemoteRotatedBuffer for the front buffer of ContentClientDoubleBuffered. (bug 1409871 part 5, ) https://reviewboard.mozilla.org/r/191178/#review196410
Attachment #8920207 - Flags: review?(nical.bugzilla) → review+
Attachment #8920208 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920209 [details] Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, ) https://reviewboard.mozilla.org/r/191182/#review196418 ::: gfx/layers/RotatedBuffer.cpp:835 (Diff revision 1) > - // If we have no buffered data already, then destBuffer will be a fresh buffer > + // If needed, copy the old buffer over to the new one > - // and we do not need to clear it below. > - bool isClear = !HaveBuffer(); > - > if (destDTBuffer) { > - if (!isClear && (mode != SurfaceMode::SURFACE_COMPONENT_ALPHA || HaveBufferOnWhite())) { > + if ((HaveBuffer() && EnsureBuffer()) && I am a bit confused by this. Did you mean `HaveBuffer() || EnsureBuffer()`? I'd expect the latter to not do much interesting stuff when the former returns true. Same thing with the "on white" variant on the line below.
Comment on attachment 8920209 [details] Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, ) https://reviewboard.mozilla.org/r/191182/#review196418 > I am a bit confused by this. Did you mean `HaveBuffer() || EnsureBuffer()`? > > I'd expect the latter to not do much interesting stuff when the former returns true. > > Same thing with the "on white" variant on the line below. The intent behind that line is to say if we (have a texture client) && (ensure the draw target from it is mapped). HaveBuffer() will return true even if the texture client isn't mapped, so EnsureBuffer() is also necessary. This is confusing though, and part of the reason these patches kill EnsureBuffer(). This if statement is simplified later.
Attachment #8920218 - Flags: review?(dvander) → review+
Comment on attachment 8920209 [details] Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, ) https://reviewboard.mozilla.org/r/191182/#review196676 ::: gfx/layers/RotatedBuffer.cpp:838 (Diff revision 1) > - > if (destDTBuffer) { > - if (!isClear && (mode != SurfaceMode::SURFACE_COMPONENT_ALPHA || HaveBufferOnWhite())) { > - // Copy the bits > - IntPoint offset = -destBufferRect.TopLeft(); > - Matrix mat = Matrix::Translation(offset.x, offset.y); > + if ((HaveBuffer() && EnsureBuffer()) && > + (mode != SurfaceMode::SURFACE_COMPONENT_ALPHA || (HaveBufferOnWhite() && EnsureBufferOnWhite()))) { > + DrawTargetRotatedBuffer oldBuffer = DrawTargetRotatedBuffer(mDTBuffer, mDTBufferOnWhite, > + mBufferRect, mBufferRotation); There was some code here to account for the offset between the current and previous buffer rects, and I don't see where this is accounted for in this patch. How does it work when the buffer rect has moved?
Comment on attachment 8920210 [details] Move mFrontAndBackBufferDiffer to ContentClientDoubleBuffered. (bug 1409871 part 8, ) https://reviewboard.mozilla.org/r/191184/#review196696
Attachment #8920210 - Flags: review?(nical.bugzilla) → review+
Attachment #8920211 - Flags: review?(nical.bugzilla) → review+
Attachment #8920212 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920213 [details] Move buffer related decisions into their own function. (bug 1409871 part 11, ) https://reviewboard.mozilla.org/r/191190/#review196718 Nice
Attachment #8920213 - Flags: review?(nical.bugzilla) → review+
Attachment #8920214 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920215 [details] Update comments for ContentClient (bug 1409871 part 13, ) https://reviewboard.mozilla.org/r/191194/#review196748 Nice!
Attachment #8920215 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920216 [details] Cleanup rotated buffer declarations and add some documentation. (bug 1409871 part 14, ) https://reviewboard.mozilla.org/r/191196/#review196752
Attachment #8920216 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920217 [details] Use a rect instead of a region for UpdateDestinationFrom (bug 1409871 part 15, ) https://reviewboard.mozilla.org/r/191198/#review196756
Attachment #8920217 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920209 [details] Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, ) https://reviewboard.mozilla.org/r/191182/#review196676 > There was some code here to account for the offset between the current and previous buffer rects, and I don't see where this is accounted for in this patch. > > How does it work when the buffer rect has moved? The offset will come from the BorrowDrawTargetForQuadrantUpdate in UpdateDestinationFrom. destBufferRect becomes mBufferRect in this patch, and a transform is calculated from that using GetQuadrantRectangle. Essentially the code before this patch was doing a special case of UpdateDestinationFrom, where the rotated buffer being copied into had rotation == (0,0). This new path should still have the same performance characteristics, but allow us to drop some lines of code. Actually now that I look at it, there might be an unneeded draw target flush that happens. I'll look into that.
Comment on attachment 8920219 [details] Clean up some methods on ContentClient (bug 1409871 part 17, ) https://reviewboard.mozilla.org/r/191202/#review196778
Attachment #8920219 - Flags: review?(nical.bugzilla) → review+
Attachment #8920220 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920221 [details] Remove mInAsyncPaint and move locking new back buffer into BeginPaint (bug 1409871 part 19, ) https://reviewboard.mozilla.org/r/191206/#review196782
Attachment #8920221 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920209 [details] Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, ) https://reviewboard.mozilla.org/r/191182/#review196784
Attachment #8920209 - Flags: review?(nical.bugzilla) → review+
Thanks a lot for sorting out the terrible mess that buffer rotation grew into!
Comment on attachment 8920206 [details] Add a RemoteRotatedBuffer. (bug 1409871 part 4, ) https://reviewboard.mozilla.org/r/191176/#review196942 C/C++ static analysis found 1 defect in this patch. You can run this analysis locally with: `./mach static-analysis check path/to/file.cpp` If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: gfx/layers/RotatedBuffer.cpp:404 (Diff revision 2) > +already_AddRefed<gfx::SourceSurface> > +RemoteRotatedBuffer::GetSourceSurface(ContextSource aSource) const > +{ > + if (aSource == ContextSource::BUFFER_BLACK) { > + return mTarget->Snapshot(); > + } else { Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]
Comment on attachment 8920208 [details] Add a DrawTargetRotatedBuffer. (bug 1409871 part 6, ) https://reviewboard.mozilla.org/r/191180/#review196946 C/C++ static analysis found 1 defect in this patch. You can run this analysis locally with: `./mach static-analysis check path/to/file.cpp` If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: gfx/layers/RotatedBuffer.cpp:435 (Diff revision 2) > +already_AddRefed<gfx::SourceSurface> > +DrawTargetRotatedBuffer::GetSourceSurface(ContextSource aSource) const > +{ > + if (aSource == ContextSource::BUFFER_BLACK) { > + return mTarget->Snapshot(); > + } else { Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]
Comment on attachment 8920713 [details] Be sure to unlock the old back buffer before we release it. (bug 1409871 part 20, ) https://reviewboard.mozilla.org/r/191716/#review197122
Attachment #8920713 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920714 [details] Add documentation for the new rotated buffer subclasses. (bug 1409871 part 21, ) https://reviewboard.mozilla.org/r/191718/#review197124
Attachment #8920714 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8920715 [details] Mark SourceRotatedBuffer methods as override to silence warnings (bug 1409871 part 22, ) https://reviewboard.mozilla.org/r/191720/#review197126
Attachment #8920715 - Flags: review?(nical.bugzilla) → review+
Pushed by rhunt@eqrion.net: https://hg.mozilla.org/integration/mozilla-inbound/rev/45596e6d2e2f Remove ContentClientRemote. (bug 1409871 part 1, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/0c763c30594d Move UpdateDestinationFrom to RotatedBuffer. (bug 1409871 part 2, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/a9f8832adcb4 Move DrawTo to RotatedBuffer. (bug 1409871 part 3, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/940f2c9adec7 Add a RemoteRotatedBuffer. (bug 1409871 part 4, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/92d59687d486 Use a RemoteRotatedBuffer for the front buffer of ContentClientDoubleBuffered. (bug 1409871 part 5, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/d3d5d723a5df Add a DrawTargetRotatedBuffer. (bug 1409871 part 6, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/9392889a01d0 Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/d57058c8c12e Move mFrontAndBackBufferDiffer to ContentClientDoubleBuffered. (bug 1409871 part 8, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/cce97a15c945 Remove PaintState::mDidSelfCopy. (bug 1409871 part 9, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/0c1485b37ae9 Add RotatedBuffer::AdjustTo. (bug 1409871 part 10, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/ad4b3448dc2e Move buffer related decisions into their own function. (bug 1409871 part 11, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/7b7bcdf87539 Kill RotatedContentBuffer (bug 1409871 part 12, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/2d9d7435eb63 Update comments for ContentClient (bug 1409871 part 13, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/c57db572271d Cleanup rotated buffer declarations and add some documentation. (bug 1409871 part 14, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/482309a25d13 Use a rect instead of a region for UpdateDestinationFrom (bug 1409871 part 15, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/7e2fc94f5be9 Fix PrepareDrawTargetForPainting (bug 1409871 part 16, r=dvander) https://hg.mozilla.org/integration/mozilla-inbound/rev/466f20f34a13 Clean up some methods on ContentClient (bug 1409871 part 17, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/352a6f520d27 Remove BeginPaintBuffer (bug 1409871 part 18, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/56fe4c3c3b04 Remove mInAsyncPaint and move locking new back buffer into BeginPaint (bug 1409871 part 19, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/a4e35be8cf4c Be sure to unlock the old back buffer before we release it. (bug 1409871 part 20, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/f68539cff202 Add documentation for the new rotated buffer subclasses. (bug 1409871 part 21, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/cd5691720816 Mark SourceRotatedBuffer methods as override to silence warnings (bug 1409871 part 22, r=nical)
Blocks: 1410919
I'm taking a stab that this might be the cause of a problem I'm seeing using inbound build. Context menus, bookmark menus are all black. Icons on my toolbar are fine.
(In reply to Gary [:streetwolf] from comment #76) > I'm taking a stab that this might be the cause of a problem I'm seeing using > inbound build. Context menus, bookmark menus are all black. Icons on my > toolbar are fine. It could be. Do you see any graphics related messages in stderr? Like "Failed 1 buffer for .." or "Failed to lock new back buffer", etc?
Flags: needinfo?(garyshap)
(In reply to Ryan Hunt [:rhunt] from comment #77) > (In reply to Gary [:streetwolf] from comment #76) > > I'm taking a stab that this might be the cause of a problem I'm seeing using > > inbound build. Context menus, bookmark menus are all black. Icons on my > > toolbar are fine. > > It could be. Do you see any graphics related messages in stderr? Like > "Failed 1 buffer for .." or "Failed to lock new back buffer", etc? Also if this is only on a specific platform and any about:support information would be appreciated.
Application Basics ------------------ Name: Firefox Version: 58.0a1 Build ID: 20171023172735 Update Channel: default User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 OS: Windows_NT 10.0 Multiprocess Windows: 1/1 (Enabled by default) Web Content Processes: 3/4 Stylo: true (enabled by default) Google Key: Found Mozilla Location Service Key: Found Safe Mode: false Crash Reports for the Last 3 Days --------------------------------- All Crash Reports Nightly Features ---------------- Name: Activity Stream Version: 2017.10.13.1281-6245c446 ID: activity-stream@mozilla.org Name: Application Update Service Helper Version: 2.0 ID: aushelper@mozilla.org Name: Firefox Screenshots Version: 19.2.0 ID: screenshots@mozilla.org Name: FlyWeb Version: 1.0.0 ID: flyweb@mozilla.org Name: Follow-on Search Telemetry Version: 0.9.5 ID: followonsearch@mozilla.com Name: Form Autofill Version: 1.0 ID: formautofill@mozilla.org Name: Photon onboarding Version: 1.0 ID: onboarding@mozilla.org Name: Pocket Version: 1.0.5 ID: firefox@getpocket.com Name: Presentation Version: 1.0.0 ID: presentation@mozilla.org Name: Shield Recipe Client Version: 76 ID: shield-recipe-client@mozilla.org Name: Web Compat Version: 1.1 ID: webcompat@mozilla.org Name: WebCompat Reporter Version: 1.0.0 ID: webcompat-reporter@mozilla.org Extensions ---------- Name: AutoplayStopper Version: 1.2.0 Enabled: true ID: autoplaystopper@byo.co.il Name: bitwarden - Free Password Manager Version: 1.19.1 Enabled: true ID: {446900e4-71c2-419f-a6a7-df9c091e268b} Name: Copy Current Page URL with Anchor Version: 1.0 Enabled: true ID: jid1-grAPHQfoBoWMdA@jetpack Name: Copy PlainText Version: 1.5 Enabled: true ID: copyplaintext@eros.man Name: Copy URL To Clipboard Version: 0.17.0 Enabled: true ID: url2clipboard@asamuzak.jp Name: DragLinks Version: 1.8 Enabled: true ID: sp33dk0r3@gmail.com Name: Enhancer for YouTube™ Version: 2.0.45 Enabled: true ID: enhancerforyoutube@maximerf.addons.mozilla.org Name: Font Finder Version: 0.1.8 Enabled: true ID: {a658a273-612e-489e-b4f1-5344e672f4f5} Name: History AutoDelete Version: 2.0.2 Enabled: true ID: {7e79d10d-9667-4d38-838d-471281c568c3} Name: Simple Form Fill Version: 2.1.4 Enabled: true ID: simpleformfill@sblask Name: Textarea Cache Lite Version: 2.5.0 Enabled: true ID: textarea-cache-lite@wildsky.cc Name: uBlock Origin Version: 1.14.17b2 Enabled: true ID: uBlock0@raymondhill.net Name: Violentmonkey Version: 2.8.13 Enabled: true ID: {aecec67f-0d10-4fa7-b7c7-609a2db280cf} Name: Zoom Page WE Version: 6.4 Enabled: true ID: zoompage-we@DW-dev Graphics -------- Features Compositing: Direct3D 11 (Advanced Layers) Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled WebGL 1 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000889b) EGL_VERSION: 1.4 (ANGLE 2.1.0.db3422764a9b) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_ANGLE_display_robust_resource_initialization WebGL 1 Driver Renderer: Google Inc. -- ANGLE (AMD Radeon (TM) R9 390 Series Direct3D11 vs_5_0 ps_5_0) WebGL 1 Driver Version: OpenGL ES 2.0 (ANGLE 2.1.0.db3422764a9b) WebGL 1 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_robust_resource_initialization GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_frag_depth EXT_sRGB EXT_shader_texture_lod EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context WebGL 2 Driver WSI Info: EGL_VENDOR: Google Inc. (adapter LUID: 000000000000889b) EGL_VERSION: 1.4 (ANGLE 2.1.0.db3422764a9b) EGL_EXTENSIONS: EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture_nv12 EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_EXTENSIONS(nullptr): EGL_EXT_client_extensions EGL_EXT_platform_base EGL_EXT_platform_device EGL_ANGLE_platform_angle EGL_ANGLE_platform_angle_d3d EGL_ANGLE_device_creation EGL_ANGLE_device_creation_d3d11 EGL_ANGLE_experimental_present_path EGL_KHR_client_get_all_proc_addresses EGL_ANGLE_display_robust_resource_initialization WebGL 2 Driver Renderer: Google Inc. -- ANGLE (AMD Radeon (TM) R9 390 Series Direct3D11 vs_5_0 ps_5_0) WebGL 2 Driver Version: OpenGL ES 3.0 (ANGLE 2.1.0.db3422764a9b) WebGL 2 Driver Extensions: GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_multiview GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_robust_resource_initialization GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object WebGL 2 Extensions: EXT_color_buffer_float EXT_texture_filter_anisotropic EXT_disjoint_timer_query OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context Direct2D: true Off Main Thread Painting Enabled: true DirectWrite: true (10.0.16299.15) GPU #1 Active: Yes Description: AMD Radeon (TM) R9 390 Series Vendor ID: 0x1002 Device ID: 0x67b1 Driver Version: 22.19.685.0 Driver Date: 10-5-2017 Drivers: aticfx64 aticfx64 aticfx64 amdxc64 aticfx32 aticfx32 aticfx32 amdxc32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64 Subsys ID: 00000000 RAM: 8192 Diagnostics ClearType Parameters: DISPLAY1 [ Gamma: 2.2 Pixel Structure: BGR ClearType Level: 0 Enhanced Contrast: 100 ] DISPLAY2 [ Gamma: 2.2 Pixel Structure: BGR ClearType Level: 0 Enhanced Contrast: 100 ] AzureCanvasAccelerated: 0 AzureCanvasBackend: Direct2D 1.1 AzureCanvasBackend (UI Process): skia AzureContentBackend: Direct2D 1.1 AzureContentBackend (UI Process): skia AzureFallbackCanvasBackend (UI Process): cairo GPUProcessPid: 2484 GPUProcess: Terminate GPU Process Device Reset: Trigger Device Reset ClearType Parameters: DISPLAY1 [ Gamma: 2.2 Pixel Structure: BGR ClearType Level: 0 Enhanced Contrast: 100 ] DISPLAY2 [ Gamma: 2.2 Pixel Structure: BGR ClearType Level: 0 Enhanced Contrast: 100 ] Decision Log WEBRENDER: opt-in by default: WebRender is an opt-in feature Media ----- Audio Backend: wasapi Max Channels: 2 Preferred Channel Layout: stereo Preferred Sample Rate: 48000 Output Devices Name: Group 1 - Digital Display Audio (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Realtek Digital Output(Optical) (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 4 - Digital Display Audio (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 5 - Digital Display Audio (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Realtek Digital Output (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 6 - Digital Display Audio (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 2 - Digital Display Audio (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 1 - PA249 (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 2 - PA249 (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Speakers (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 3 - Digital Display Audio (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Input Devices Name: Group Side (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Internal AUX Jack (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Microphone (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Rear (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Line In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Front Pink In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Internal AUX Jack (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Front Green In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Microphone (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Center (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Internal AUX Jack (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Internal AUX Jack (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Internal AUX Jack (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Line In (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Front (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Subwoofer (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Stereo Mix (Realtek High Definition Audio): HDAUDIO\FUNC_01&VEN_10EC&DEV_0899&SUBSYS_104384D8&REV_1000\4&1c1dba83&0&0001 Internal AUX Jack (AMD High Definition Audio Device): HDAUDIO\FUNC_01&VEN_1002&DEV_AA01&SUBSYS_00AA0100&REV_1005\5&19f3657&10&0001 Important Modified Preferences ------------------------------ accessibility.typeaheadfind: true accessibility.typeaheadfind.flashBar: 0 browser.cache.disk.capacity: 358400 browser.cache.disk.filesystem_reported: 1 browser.cache.disk.hashstats_reported: 1 browser.cache.disk.parent_directory: D:\ browser.cache.disk.smart_size.first_run: false browser.cache.disk.smart_size.use_old_max: false browser.cache.frecency_experiment: 4 browser.display.document_color_use: 1 browser.display.show_image_placeholders: false browser.download.folderList: 2 browser.download.manager.addToRecentDocs: false browser.places.smartBookmarksVersion: 8 browser.search.useDBForOrder: true browser.sessionstore.upgradeBackup.latestBuildID: 20171023172735 browser.startup.homepage_override.buildID: 20171023172735 browser.startup.homepage_override.mstone: 58.0a1 browser.tabs.closeWindowWithLastTab: false browser.tabs.crashReporting.includeURL: true browser.tabs.loadInBackground: false browser.tabs.showAudioPlayingIcon: false browser.tabs.warnOnClose: false browser.tabs.warnOnCloseOtherTabs: false browser.urlbar.clickSelectsAll: false browser.urlbar.doubleClickSelectsAll: true browser.urlbar.lastSuggestionsPromptDate: 20170704 browser.urlbar.oneOffSearches: false browser.urlbar.searchSuggestionsChoice: true browser.urlbar.suggest.bookmark: false browser.urlbar.suggest.openpage: false browser.urlbar.timesBeforeHidingSuggestionsHint: 0 browser.urlbar.usepreloadedtopurls.enabled: false dom.forms.autocomplete.formautofill: true dom.forms.datetime.others: true dom.forms.datetime.timepicker: true dom.payments.request.enabled: true dom.push.userAgentID: de9775eea42f4a8abe60f13e22c33f76 dom.webcomponents.customelements.enabled: true dom.webcomponents.enabled: true extensions.lastAppVersion: 58.0a1 font.internaluseonly.changed: false font.name.monospace.x-western: Consolas font.name.sans-serif.x-western: Liberation Sans font.name.serif.x-western: Liberation Serif font.size.fixed.x-western: 14 javascript.options.streams: true layers.mlgpu.sanity-test-failed: false media.benchmark.vp9.fps: 351 media.benchmark.vp9.versioncheck: 2 media.gmp-gmpopenh264.abi: x86_64-msvc-x64 media.gmp-gmpopenh264.enabled: true media.gmp-gmpopenh264.lastUpdate: 1508517711 media.gmp-gmpopenh264.version: 1.7.1 media.gmp-manager.buildID: 20171023172735 media.gmp-manager.lastCheck: 1508789299 media.gmp-widevinecdm.abi: x86_64-msvc-x64 media.gmp-widevinecdm.lastUpdate: 1504646229 media.gmp-widevinecdm.version: 1.4.8.1008 media.gmp.storage.version.observed: 1 media.hardware-video-decoding.failed: false media.peerconnection.ice.proxy_only: true media.webrtc.debug.log_file: C:\Users\garys\AppData\Local\Temp\WebRTC.log mousewheel.acceleration.start: 2 network.cookie.lifetime.days: 9999 network.cookie.prefsMigrated: true network.predictor.cleaned-up: true places.database.lastMaintenance: 1508764923 places.history.expiration.transient_current_max_pages: 104858 plugin.disable_full_page_plugin_for_types: application/pdf print.printer_Brother_MFC-J475DW_Printer.print_bgcolor: false print.printer_Brother_MFC-J475DW_Printer.print_bgimages: false print.printer_Brother_MFC-J475DW_Printer.print_duplex: -437918235 print.printer_Brother_MFC-J475DW_Printer.print_edge_bottom: 0 print.printer_Brother_MFC-J475DW_Printer.print_edge_left: 0 print.printer_Brother_MFC-J475DW_Printer.print_edge_right: 0 print.printer_Brother_MFC-J475DW_Printer.print_edge_top: 0 print.printer_Brother_MFC-J475DW_Printer.print_evenpages: true print.printer_Brother_MFC-J475DW_Printer.print_footercenter: print.printer_Brother_MFC-J475DW_Printer.print_footerleft: &PT print.printer_Brother_MFC-J475DW_Printer.print_footerright: &D print.printer_Brother_MFC-J475DW_Printer.print_headercenter: print.printer_Brother_MFC-J475DW_Printer.print_headerleft: &T print.printer_Brother_MFC-J475DW_Printer.print_headerright: &U print.printer_Brother_MFC-J475DW_Printer.print_in_color: true print.printer_Brother_MFC-J475DW_Printer.print_margin_bottom: 0 print.printer_Brother_MFC-J475DW_Printer.print_margin_left: 0 print.printer_Brother_MFC-J475DW_Printer.print_margin_right: 0 print.printer_Brother_MFC-J475DW_Printer.print_margin_top: 0 print.printer_Brother_MFC-J475DW_Printer.print_oddpages: true print.printer_Brother_MFC-J475DW_Printer.print_orientation: 0 print.printer_Brother_MFC-J475DW_Printer.print_page_delay: 50 print.printer_Brother_MFC-J475DW_Printer.print_paper_data: 256 print.printer_Brother_MFC-J475DW_Printer.print_paper_height: 11.00 print.printer_Brother_MFC-J475DW_Printer.print_paper_name: print.printer_Brother_MFC-J475DW_Printer.print_paper_size_unit: 0 print.printer_Brother_MFC-J475DW_Printer.print_paper_width: 8.50 print.printer_Brother_MFC-J475DW_Printer.print_resolution: 600 print.printer_Brother_MFC-J475DW_Printer.print_reversed: false print.printer_Brother_MFC-J475DW_Printer.print_scaling: 1.00 print.printer_Brother_MFC-J475DW_Printer.print_shrink_to_fit: true print.printer_Brother_MFC-J475DW_Printer.print_to_file: false print.printer_Brother_MFC-J475DW_Printer.print_unwriteable_margin_bottom: 0 print.printer_Brother_MFC-J475DW_Printer.print_unwriteable_margin_left: 0 print.printer_Brother_MFC-J475DW_Printer.print_unwriteable_margin_right: 0 print.printer_Brother_MFC-J475DW_Printer.print_unwriteable_margin_top: 0 privacy.history.custom: true privacy.trackingprotection.introCount: 20 privacy.userContext.enabled: false security.disable_button.openCertManager: false security.disable_button.openDeviceManager: false security.sandbox.content.tempDirSuffix: {45ff45e1-d4c8-45d9-a620-827ef9e22e9a} security.ssl.errorReporting.automatic: true services.sync.declinedEngines: services.sync.engine.addresses.available: true storage.vacuum.last.index: 1 storage.vacuum.last.places.sqlite: 1507239529 ui.osk.debug.keyboardDisplayReason: IKPOS: Touch screen not found. ui.osk.enabled: false Important Locked Preferences ---------------------------- Places Database --------------- JavaScript ---------- Incremental GC: true Accessibility ------------- Activated: false Prevent Accessibility: 0 Accessible Handler Used: true Accessibility Instantiator: Library Versions ---------------- NSPR Expected minimum version: 4.17 Version in use: 4.17 NSS Expected minimum version: 3.34 Beta Version in use: 3.34 Beta NSSSMIME Expected minimum version: 3.34 Beta Version in use: 3.34 Beta NSSSSL Expected minimum version: 3.34 Beta Version in use: 3.34 Beta NSSUTIL Expected minimum version: 3.34 Beta Version in use: 3.34 Beta Experimental Features --------------------- Sandbox ------- Content Process Sandbox Level: 4 Effective Content Process Sandbox Level: 4
Flags: needinfo?(garyshap)
(In reply to Gary [:streetwolf] from comment #79) > Application Basics > ------------------ > > Name: Firefox > Version: 58.0a1 > Build ID: 20171023172735 > Update Channel: default > User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) > Gecko/20100101 Firefox/58.0 > OS: Windows_NT 10.0 > Multiprocess Windows: 1/1 (Enabled by default) > Web Content Processes: 3/4 > Stylo: true (enabled by default) > Google Key: Found > Mozilla Location Service Key: Found > Safe Mode: false > Okay, I can confirm this is a regression from this bug. Checked using the inbound taskcluster windows build with these patches, and the one before it. It should probably be backed out. I'm not seeing any logging when running the build. Spinning up a local build now to try it out. Bizarre that it passes try..
(In reply to Ryan Hunt [:rhunt] from comment #80) > (In reply to Gary [:streetwolf] from comment #79) > > Application Basics > > ------------------ > > > > Name: Firefox > > Version: 58.0a1 > > Build ID: 20171023172735 > > Update Channel: default > > User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) > > Gecko/20100101 Firefox/58.0 > > OS: Windows_NT 10.0 > > Multiprocess Windows: 1/1 (Enabled by default) > > Web Content Processes: 3/4 > > Stylo: true (enabled by default) > > Google Key: Found > > Mozilla Location Service Key: Found > > Safe Mode: false > > > > Okay, I can confirm this is a regression from this bug. Checked using the > inbound taskcluster windows build with these patches, and the one before it. > It should probably be backed out. > > I'm not seeing any logging when running the build. Spinning up a local build > now to try it out. > > Bizarre that it passes try.. To confirm, the issue I am seeing locally is context menus that are all black.
Backout by archaeopteryx@coole-files.de: https://hg.mozilla.org/integration/mozilla-inbound/rev/114b0d1737a1 Backed out changeset cd5691720816 https://hg.mozilla.org/integration/mozilla-inbound/rev/bdea12d5ac71 Backed out changeset f68539cff202 https://hg.mozilla.org/integration/mozilla-inbound/rev/df70d1ae7fe8 Backed out changeset a4e35be8cf4c https://hg.mozilla.org/integration/mozilla-inbound/rev/9ac96da06ccc Backed out changeset 56fe4c3c3b04 https://hg.mozilla.org/integration/mozilla-inbound/rev/20b7caa471d0 Backed out changeset 352a6f520d27 https://hg.mozilla.org/integration/mozilla-inbound/rev/6fdd1f94b6fe Backed out changeset 466f20f34a13 https://hg.mozilla.org/integration/mozilla-inbound/rev/9f1e26435193 Backed out changeset 7e2fc94f5be9 https://hg.mozilla.org/integration/mozilla-inbound/rev/b502d19c5449 Backed out changeset 482309a25d13 https://hg.mozilla.org/integration/mozilla-inbound/rev/ce0f2a973009 Backed out changeset c57db572271d https://hg.mozilla.org/integration/mozilla-inbound/rev/ec04ffb57414 Backed out changeset 2d9d7435eb63 https://hg.mozilla.org/integration/mozilla-inbound/rev/4863ac476823 Backed out changeset 7b7bcdf87539 https://hg.mozilla.org/integration/mozilla-inbound/rev/9611bfdc5b52 Backed out changeset ad4b3448dc2e https://hg.mozilla.org/integration/mozilla-inbound/rev/a0100184e6e6 Backed out changeset 0c1485b37ae9 https://hg.mozilla.org/integration/mozilla-inbound/rev/05bd0c3bafd9 Backed out changeset cce97a15c945 https://hg.mozilla.org/integration/mozilla-inbound/rev/47dcd67babcc Backed out changeset d57058c8c12e https://hg.mozilla.org/integration/mozilla-inbound/rev/520522d4533b Backed out changeset 9392889a01d0 https://hg.mozilla.org/integration/mozilla-inbound/rev/b8194e2c58a4 Backed out changeset d3d5d723a5df https://hg.mozilla.org/integration/mozilla-inbound/rev/f0c68ac62037 Backed out changeset 92d59687d486 https://hg.mozilla.org/integration/mozilla-inbound/rev/e37f344a70af Backed out changeset 940f2c9adec7 https://hg.mozilla.org/integration/mozilla-inbound/rev/984b2f32a4be Backed out changeset a9f8832adcb4 https://hg.mozilla.org/integration/mozilla-inbound/rev/d1d2ff6b869d Backed out changeset 0c763c30594d https://hg.mozilla.org/integration/mozilla-inbound/rev/57328c946b28 Backed out changeset 45596e6d2e2f on request from rhunt for causing black context menus on Windows. r=backout
The problem was caused from the merging of RotatedContentBuffer and ContentClientBasic. ContentClientBasic overrode BorrowDrawTargetForRecording from ContentClient to mark that it couldn't support OMTP, and RotatedContentBuffer would call it's BorrowDrawTargetForRecording for BorrowDrawTargetForPainting. When the classes merged this switched to ContentClient::BorrowDrawTargetForPainting calling ContentClientBasic::BorrowDrawTargetForRecording which would always be null. There was also an issue with DrawTargetRotatedBuffer::IsLocked that is detailed in the new commit.
Flags: needinfo?(rhunt)
Comment on attachment 8920206 [details] Add a RemoteRotatedBuffer. (bug 1409871 part 4, ) https://reviewboard.mozilla.org/r/191176/#review197680 C/C++ static analysis found 1 defect in this patch. You can run this analysis locally with: `./mach static-analysis check path/to/file.cpp` If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: gfx/layers/RotatedBuffer.cpp:404 (Diff revision 2) > +already_AddRefed<gfx::SourceSurface> > +RemoteRotatedBuffer::GetSourceSurface(ContextSource aSource) const > +{ > + if (aSource == ContextSource::BUFFER_BLACK) { > + return mTarget->Snapshot(); > + } else { Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]
Comment on attachment 8920208 [details] Add a DrawTargetRotatedBuffer. (bug 1409871 part 6, ) https://reviewboard.mozilla.org/r/191180/#review197684 C/C++ static analysis found 1 defect in this patch. You can run this analysis locally with: `./mach static-analysis check path/to/file.cpp` If you see a problem in this automated review, please report it here: http://bit.ly/2y9N9Vx ::: gfx/layers/RotatedBuffer.cpp:435 (Diff revision 2) > +already_AddRefed<gfx::SourceSurface> > +DrawTargetRotatedBuffer::GetSourceSurface(ContextSource aSource) const > +{ > + if (aSource == ContextSource::BUFFER_BLACK) { > + return mTarget->Snapshot(); > + } else { Warning: Do not use 'else' after 'return' [clang-tidy: readability-else-after-return]
Attachment #8921483 - Flags: review?(nical.bugzilla) → review?(bas)
Attachment #8921483 - Flags: review?(bas)
Pushed by rhunt@eqrion.net: https://hg.mozilla.org/integration/mozilla-inbound/rev/b059b0ad0832 Remove ContentClientRemote. (bug 1409871 part 1, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/9339abbff76a Move UpdateDestinationFrom to RotatedBuffer. (bug 1409871 part 2, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/c4fbe93df8ec Move DrawTo to RotatedBuffer. (bug 1409871 part 3, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/e54c95c99595 Add a RemoteRotatedBuffer. (bug 1409871 part 4, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/aca4385c2ca4 Use a RemoteRotatedBuffer for the front buffer of ContentClientDoubleBuffered. (bug 1409871 part 5, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/c34a0b48cdd1 Add a DrawTargetRotatedBuffer. (bug 1409871 part 6, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/a73b480ecb96 Refactor copying from the old buffer to the new buffer to use RotatedBuffer. (bug 1409871 part 7, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/75046ddbc410 Move mFrontAndBackBufferDiffer to ContentClientDoubleBuffered. (bug 1409871 part 8, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/e6edd42be5ad Remove PaintState::mDidSelfCopy. (bug 1409871 part 9, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/f08e2107ff10 Add RotatedBuffer::AdjustTo. (bug 1409871 part 10, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/23d42d7d0c14 Move buffer related decisions into their own function. (bug 1409871 part 11, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/a5b8e769a0ee Kill RotatedContentBuffer (bug 1409871 part 12, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/ac1b3979eed1 Update comments for ContentClient (bug 1409871 part 13, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/91419a724237 Cleanup rotated buffer declarations and add some documentation. (bug 1409871 part 14, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/b8d4000f8a12 Use a rect instead of a region for UpdateDestinationFrom (bug 1409871 part 15, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/8881c53c3c41 Fix PrepareDrawTargetForPainting (bug 1409871 part 16, r=dvander) https://hg.mozilla.org/integration/mozilla-inbound/rev/b82fd6fff076 Clean up some methods on ContentClient (bug 1409871 part 17, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/bce8d7bd214c Remove BeginPaintBuffer (bug 1409871 part 18, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/5cd394948144 Remove mInAsyncPaint and move locking new back buffer into BeginPaint (bug 1409871 part 19, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/623e446358df Be sure to unlock the old back buffer before we release it. (bug 1409871 part 20, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/f5daca396912 Add documentation for the new rotated buffer subclasses. (bug 1409871 part 21, r=nical) https://hg.mozilla.org/integration/mozilla-inbound/rev/b97eefb07e39 Mark SourceRotatedBuffer methods as override to silence warnings (bug 1409871 part 22, r=nical)
I moved the fix for the virtual method call into the patch that introduced the defect, because it's just a small fixup and I don't think it's worth the review. I also did a try run with this fix and some experimental ones on top and it looks green. https://treeherder.mozilla.org/#/jobs?repo=try&author=rhunt@eqrion.net
Depends on: 1412150
Depends on: 1412367
Depends on: 1412663
Depends on: 1413059
Depends on: 1416790
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: