- Feb 01, 2023
-
-
Jonathan Kew authored
Bug 1794298 - Improve font-selection heuristics so that Twemoji-Mozilla keycaps (in emoji style) work as expected. r=emilio Differential Revision: https://phabricator.services.mozilla.com/D168401
-
Emilio Cobos Álvarez authored
This is: * An easier way for browser code to access it. * Avoids having a bunch of per-platform implementations. * We don't need to actually get graphics info for it to work. So it should be a bit nicer over all. Differential Revision: https://phabricator.services.mozilla.com/D168373
-
- Jan 31, 2023
-
-
Glenn Watson authored
There is some edge AA fuzziness due to the differences between the test and reference. Fuzzing them doesn't affect the test result as when the bug occurs the rendering difference is dramatically different. Differential Revision: https://phabricator.services.mozilla.com/D168464
-
Jamie Nicol authored
Bug 1809738 - Avoid using scissor rect when clearing render targets on Mali GPUs. r=gfx-reviewers,lsalzman We currently set a scissor rect when clearing render targets, as this was measured to be a performance win on some GPUs. On Mali, however, it is better to perform a full, non-scissored clear of a render target immediately after binding it, as this allows the driver to omit reading the previous contents in to tile memory. This patch makes it so that by default we perform the non-scissored clear on Mali, and retain the scissor on all other GPUs. The existing enable_clear_scissor option can be used by the embedder to override the default value. Of particular note, this massively improves the performance of twitter on Mali G710 (eg Pixel 7), where the blur backdrop-filter uses several intermediate render targets and the scissored clear causes noticable stutter. Differential Revision: https://phabricator.services.mozilla.com/D168465
-
Jonathan Kew authored
Bug 1813987 - Remove direct ICU usage from gfxFontGroup; rely on intl::String API instead. r=platform-i18n-reviewers,gregtatum Differential Revision: https://phabricator.services.mozilla.com/D168359
-
Nicolas Silva authored
Bug 1813547 - Update wgpu to revision 48d8666de002c7bfddbe85a2596f7748b4cc18b4. r=webgpu-reviewers,jimb Differential Revision: https://phabricator.services.mozilla.com/D168302
-
Jan-Erik Rediger authored
Bug 1812615 - Update to Glean v52.2.0, glean_parser 7.0.0 and UniFFI 0.23. r=chutten,markh,glandium,supply-chain-reviewers The in-tree UniFFI bindings were regenerated with: ./mach uniffi generate Differential Revision: https://phabricator.services.mozilla.com/D168060
-
- Jan 30, 2023
-
-
Tom Schuster authored
Differential Revision: https://phabricator.services.mozilla.com/D168081
-
Glenn Watson authored
There is some edge AA fuzziness due to the differences between the test and reference. Fuzzing them doesn't affect the test result as when the bug occurs the rendering difference is dramatically different. Differential Revision: https://phabricator.services.mozilla.com/D168306
-
Norisz Fay authored
-
Glenn Watson authored
Differential Revision: https://phabricator.services.mozilla.com/D167630
-
Glenn Watson authored
When the scale is very large, we need to adjust that before doing the cast to integer units. Differential Revision: https://phabricator.services.mozilla.com/D168027
-
- Jan 29, 2023
-
-
Glenn Watson authored
Reverts an optimization that can cause artifacts on some pages. We need to do a deeper investigation at some point to find out why, and then reenable the optimization. Differential Revision: https://phabricator.services.mozilla.com/D168026
-
Glenn Watson authored
Revert the original changes from bug 1772049 for now. We don't currently rely on that patch, having found a simpler way to handle how that code interacts with the backdrop-filter code. Differential Revision: https://phabricator.services.mozilla.com/D168015
-
Jonathan Kew authored
Bug 1724892 - Implement the font-synthesis-{weight,style,small-caps} longhand properties, and make font-synthesis into a shorthand. r=emilio Differential Revision: https://phabricator.services.mozilla.com/D167480
-
- Jan 28, 2023
-
-
Emilio Cobos Álvarez authored
This removes the capability of having differently-sized vertical and horizontal scrollbars (which is only potentially used in windows, and in practice almost-never used). For that case, we choose the larger of vertical/horizontal scrollbar sizes. This is in order to be able to realistically expose the scrollbar size to CSS, see blocked bug. We make RecomputeScrollbarParams the central place where each scrollbar style decides its sizes, and make GetDPIRatioForScrollbarPart handle the cocoa special-case of scaling to 1 or 2, but nothing else. Differential Revision: https://phabricator.services.mozilla.com/D168080
-
Lee Salzman authored
Skia upstream removed deprecated clip ops that could be used to replace the clipping stack and bypass clips. We shouldn't really need to do this anymore, as we can work around it just using public APIs. The only SkCanvas operation that allows us to bypass clipping is writePixels, which still allows us to implement CopySurface/putImageData. Other instances where we were using the replace op for DrawTargetWebgl layering support can just be worked around by creating a separate DrawTargetSkia pointing to the same pixel data, but on which no clipping or transforms are applied so that we can freely do drawing operations on it to the base layer pixel data regardless of any user-applied clipping. Differential Revision: https://phabricator.services.mozilla.com/D168039
-
- Jan 27, 2023
-
-
sotaro authored
Modify AHardwareBuffer implementation as to support gl::SharedSurface of out-of-process WebGL. And remove unused AHardwareBuffer implementation. By limiting AHardwareBuffer only in GPU process, AHardwareBuffer implementation becomes simpler. We do not need to handle cross process AHardwareBuffer delivery and cross process android Fence delivery. Differential Revision: https://phabricator.services.mozilla.com/D167911
-
Jonathan Kew authored
Bug 1363454 - Create a pref to list icon font families that should be used even when use_document_fonts=0, overriding the browser's font prefs. r=emilio,dholbert Some widely-used icon fonts use ligature rules to replace icon names such as "volume_up" or "down_arrow" with icon glyphs. If the site is designed to use such a font, but the user disables document fonts and we use our default Latin font instead, the underlying text will be rendered instead of the intended icon. To enable such fonts to continue to work, we provide a list of known ligature-icon fonts and allow them to be used even when the document-fonts setting is disabled. Differential Revision: https://phabricator.services.mozilla.com/D167923
-
Jonathan Kew authored
Differential Revision: https://phabricator.services.mozilla.com/D167989
-
Jeff Muizelaar authored
This updates the version wpf-gpu-raster which adds support for GPUs/drivers that use truncation instead of rounding when converting vertices to fixed point. It also adds the GL vendor to InitContextResult so that we can detect AMD on macOS and tell wpf-gpu-raster that truncation is going to happen. Differential Revision: https://phabricator.services.mozilla.com/D167503
-
Razvan Cojocaru authored
Differential Revision: https://phabricator.services.mozilla.com/D167950
-
- Jan 26, 2023
-
-
Glenn Watson authored
This patch adds most of the underlying infrastructure for a new tiled (previously: segmented) rendering path to webrender. It is initially used only by simple (non-masked) rectangles. Follow up patches will extend this first to all rectangles and then porting other primitives to use this new rendering path. The new primitive is encoded in the command buffer structure, which allows efficiently encoding arbitrary sets of commands to be read by the batching code. The batching code for this primitive is much simpler, and should be consistent and shared when other primitives are ported to use this path. Tiling is handled during the prepare pass per-primitive. It can support edge AA tiles, different regions for clip-mask corners (to be added in a follow up), and uniform tiling for the inner section of the primitive (e.g. for tiled image masks). It adds specific support for edge anti-aliasing to be considered as part of the tiling configuration for a primitive. This both improves performance of rotated but otherwise opaque primitives and allows additional functionality we don't currently support (such as applying AA along one edge of a 2d but subpixel aligned primitive). Since SWGL provides native AA support, the patches take account of that, and avoid the vertex shader work and extra edge primitives when SWGL is enabled. Follow up patches will: - Add clip-mask support to new rendering path - Port other primitives to new rendering path - Add SWGL shader fast-paths where profiling indicates it makes sense to - Remove old segment / mask rendering paths once no longer used Other minor changes included as part of this patch: - Pack TransformPaletteId in 24 bits instead of 32, for better instance struct packing - Support prepare pass appending multiple command buffer instructions per primitive Differential Revision: https://phabricator.services.mozilla.com/D167629
-
Jamie Nicol authored
A long time ago we blocked this on Adreno 630 due to causing strange shader linking errors. We have recently discovered that this can also affect Adreno 620 devices too. Differential Revision: https://phabricator.services.mozilla.com/D167941
-
Emilio Cobos Álvarez authored
Before these patches we were adding the titlebar height even though we were not rendering it. This made an apz mochitest with hardcoded heights to fail on macOS. It also perturbed browser_html_scroll_restoration.js in a way such as the scroll position after a resize is rounded in a different direction, but that is harmless. Depends on D166431 Differential Revision: https://phabricator.services.mozilla.com/D167027
-
Razvan Cojocaru authored
Rename AllowedTouchBehavior::DOUBLE_TAP_ZOOM to ANIMATING_ZOOM, and CompositorHitTestFlags::eTouchActionDoubleTapZoomDisabled to eTouchActionAnimatingZoomDisabled while at it. Differential Revision: https://phabricator.services.mozilla.com/D167522
-
- Jan 25, 2023
-
-
Hiroyuki Ikezoe authored
Bug 1811871 - Check collapsed attribute rather than computed opacity value to tell whether which navigation ison is currently visible. r=tnikkel Differential Revision: https://phabricator.services.mozilla.com/D167740
-
Erich Gubler authored
Bug 1812260: build(snap): re-apply forgotten `cmath` include in ANGLE codegen (sorry!) r=jgilbert,gfx-reviewers,nical Re-apply D156577, which was forgotten in our recent rebase of ANGLE (orig. performed at 06d250c819ee and 94699211d97b). Differential Revision: https://phabricator.services.mozilla.com/D167815
-
Emilio Cobos Álvarez authored
Bug 1775062 - Fix various using statements to use properly qualified names. r=nika,necko-reviewers,valentin Differential Revision: https://phabricator.services.mozilla.com/D167710
-
- Jan 24, 2023
-
-
Jamie Nicol authored
The function ANativeWindow_fromSurface() takes a jobject that is supposed to be a Surface. Prior to bug 1706656 GeckoSurface was a subclass of Surface, meaning we passed the correct type. However, GeckoSurface no longer derives from Surface meaning we hit this JNI crash. To fix this, call GeckoSurface->GetSurface() to get the underlying Surface object. Note that this code path is only active if the user has modified the pref gfx.use-surfacetexture-textures. So although the volume is high, it appears to be limited to a small number of users. Differential Revision: https://phabricator.services.mozilla.com/D167659
-
Jonathan Kew authored
Bug 1803154 - Back out changeset c1b0ce76a51b (bug 1801512) because it seems to have made things worse for a number of users. r=lsalzman Differential Revision: https://phabricator.services.mozilla.com/D167615
-
Nicolas Silva authored
Bug 1811284 - Update wgpu to 24a904256e225b20b11fb30f914ef53212a2909e. r=webgpu-reviewers,ErichDonGubler,jimb Differential Revision: https://phabricator.services.mozilla.com/D167276
-
sotaro authored
Bug 1811160 - Disable out-of-process WebGL and accelerated canvas when GPU process does not exists on android r=gfx-reviewers,lsalzman On Android, GPU process exists by default. When GPU process does not exist, an error should disable GPU process. On Android, WebGL handling process could easily crash. The crash could trigger disable GPU process. Current out-of-process WebGL implementation creates WebGLParent in parent process. Then a crash in parent process could be triggered by WebGL. Then it seems better to disable out-of-process WebGL when GPU process does not exist. And it seems also better to disable accelerated canvas, since it uses WebGL for acceleration. Differential Revision: https://phabricator.services.mozilla.com/D167512
-
- Jan 23, 2023
-
-
Emilio Cobos Álvarez authored
Move it to the mozilla::widget namespace. Use enum classes for transparency, popup type, popup level, etc. Mostly automated with sed, but there were a few manual changes required as well in windows code because they relied on Atomic<TransparencyMode> working (which now doesn't because TransparencyMode is 1 byte instead of 4 bytes). Differential Revision: https://phabricator.services.mozilla.com/D167537
-
- Jan 24, 2023
-
-
Csoregi Natalia authored
Backed out 6 changesets (bug 1799258) for failures on gfx.color_management.display_profile. CLOSED TREE Backed out changeset 22351f36b74b (bug 1799258) Backed out changeset 9bbbe3ed2794 (bug 1799258) Backed out changeset e05c809f58d0 (bug 1799258) Backed out changeset 791eeb52f034 (bug 1799258) Backed out changeset 353ef4721bba (bug 1799258) Backed out changeset b5157d950aa7 (bug 1799258)
-
- Jan 23, 2023
-
-
Kelsey Gilbert authored
This makes it easier to apply transform functions, even when they are not defined/present. Differential Revision: https://phabricator.services.mozilla.com/D167472
-
Kelsey Gilbert authored
Differential Revision: https://phabricator.services.mozilla.com/D167471
-
Kelsey Gilbert authored
+ Add gfx.color_management.rec709_gamma_as_srgb:true. :'( In particular, rec709(16/255) -> srgb(31/255). Even though it's technically correct, it's practically-speaking incorrect, since that's not what Chrome does, nor what the web expected for years and years. In practice, basically everyone expects gamma to just be completely ignored. What people expect: * Pretend gamut is srgb(==rec709), but stretch this naively for the display. If you have a display-p3-gamut display, srgb:0.5 expects to be displayed as display:0.5, which will be display-p3:0.5 to the eyes. * Pretend all content gammas (TFs) are srgb(!=rec790), and then bitcast this naively for the display. E.g. rec709(16/255) should display the same as srgb(16/255), not srgb(31/255). (Note: display-p3 uses srgb gamma) But if your display has e.g. gamma=3.0, don't convert or compensate. This is a formalization of what you get when you spend decades ignoring color management, and people build things based on behavior-in-practice, not behavior-in-theory. Also: + gfx.color_management.native_srgb:true for Windows, so we don't use the display color profile, which no one else does. + Add rec2020_gamma_as_rec709, so we have a path towards maybe having rec2020 use its correct transfer function, rather than srgb (like rec709). Differential Revision: https://phabricator.services.mozilla.com/D161857
-
Kelsey Gilbert authored
Bug 1799258 - Add prereq Colorspaces stuff, including generic gamma->linear LUT inversion approximation. r=gfx-reviewers,bradwerth Differential Revision: https://phabricator.services.mozilla.com/D163664
-
Kelsey Gilbert authored
Differential Revision: https://phabricator.services.mozilla.com/D163663
-