Commit graph

287 commits

Author SHA1 Message Date
roytam1
0ac8b08be1 gfx: fix d3d9 part call to `DXGIYCbCrTextureData::Create()' in Issue #2393 - Part 2. 2023-11-30 10:49:49 +08:00
roytam1
c889903081 Merge remote-tracking branch 'origin/tracking' into custom 2023-11-30 10:05:11 +08:00
trav90
48698abb77 Issue #2393 - Part 8 - Fix TextureClient-creating functions 2023-11-30 10:03:54 +08:00
trav90
04f124b105 Issue #2393 - Part 5 - Extract D3D11MTAutoEnter and reuse 2023-11-30 09:53:54 +08:00
trav90
74a22e5c00 Issue #2393 - Part 2 - Add D3D11YCbCrImage type and related methods
Will allow to directly upload a YUV420 buffer into a D3D11 texture.
2023-11-30 09:52:46 +08:00
trav90
1fc1753d4d Issue #2393 - Part 1 - Allow client side uploads on Intel hardware 2023-11-30 09:52:28 +08:00
roytam1
f08dd1422d Merge remote-tracking branch 'origin/tracking' into custom 2023-11-04 11:42:50 +08:00
Moonchild
0db18745f4 Issue #2364 - Limit the growth of scaling for animated nsDisplayTransform in the fallback case.
This ensures we don't scale the underlying size of the layer beyond what
is close to the current display size. When box shadows get much larger
than this, they start taking so much time to render that successive
frames grow in scale too fast for any inter-frame reuse to be possible.

With this, we avoid that and no longer get crushed by re-rendering
gigantic box shadows every single frame.

See BZ 1383825
2023-11-04 11:41:44 +08:00
Moonchild
d4cdecec81 Add Min() and Max() convenience functions for 2d point types.
This will return (min(x1,x2), min(y1,y2)) and equivalent max from 2
passed-in (x1,y1) (x2,y2) points
2023-11-04 11:41:21 +08:00
Moonchild
3bdb386b6e Fix a bug in SizeTyped templating
A second template parameter 'F' was previously added to SizeTyped, but
was not correspondingly added to the argument passed for the 'Sub'
parameter of BaseSize.
2023-11-04 11:40:55 +08:00
Moonchild
f1ccc95daf Issue #2364 - Only use HWA AlphaBoxBlur when targets are large enough.
There's considerable cost associated with creating HWA draw targets
which would negate and regress the performance won by it if used for
too small targets (like small spans of text).
This only uses HWA if >= 8K SurfaceAllocationSize to balance HWA draw
target cost with box blur cost.
2023-11-04 11:40:33 +08:00
Moonchild
3f618a55dc Issue #2364 - Optimize the software-based box blur implementation. 2023-11-04 11:40:15 +08:00
Moonchild
4beb3b947c Issue #2364 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. 2023-11-04 11:40:00 +08:00
Moonchild
8d30faf95f Issue #2364 - Re-factor AlphaBoxBlur
Only blur one quadrant of a box-shadow and mirror it to the other quadrants.
This applies only if the corners are symmetrical (square corners or equal
corner radii) otherwise we'll fall back to the old method.
2023-11-04 11:39:45 +08:00
roytam1
bac9ec9a84 Merge remote-tracking branch 'origin/tracking' into custom 2023-10-26 10:55:31 +08:00
Moonchild
e4d635f889 [WebGL] Add preffed limit to WebGL vertCount
Defaults to 30M, working around driver bugs (looking at you, Mesa)
2023-10-26 10:53:11 +08:00
Jeremy Andrews
9982ceb94f Issue #2357 - Paused WebM videos w/alpha are 100% transparent if HA is disabled.
Mozilla found a bug in their initial implementation, causing paused WebM videos with alpha to become totally transparent if hardware acceleration is disabled. Straight port of the Firefox 54 fix.

Ref: BZ 1332952
2023-10-26 10:49:41 +08:00
Jeremy Andrews
c0ba3a8d2e Issue #2357 - VPXDecoder does not decode alpha frames.
Another requirement to have transparency in videos. Straight port of Firefox 53 implementation, save for some oddities relating to needing to put uint8_t instead of uint8 in yuv_convert to get this to compile.

Ref: BZ 1321076, 1329104
2023-10-26 10:49:23 +08:00
roytam1
119feb053c Revert "Issue #2301 - Make Gecko Media Plugins optional when not building EME or WebRTC"
This reverts commit 9e7d1492e6.
2023-09-18 21:32:06 +08:00
roytam1
0c6e087291 Merge remote-tracking branch 'origin/tracking' into custom 2023-09-14 11:09:14 +08:00
Matheus Marinho
9e7d1492e6 Issue #2301 - Make Gecko Media Plugins optional when not building EME or WebRTC
Co-authored-by: Moonchild <moonchild@palemoon.org>
2023-09-14 10:22:47 +08:00
roytam1
92d9218cf1 Merge remote-tracking branch 'origin/tracking' into custom 2023-08-31 22:43:48 +08:00
Moonchild
56c53b3b8f [gfx] Check if we have a valid texture before trying to delete it. 2023-08-31 22:43:18 +08:00
roytam1
4fae28f059 Merge remote-tracking branch 'origin/tracking' into custom 2023-06-26 10:38:35 +08:00
Moonchild
7f87cc1276 Issue #1769 - Follow-up: Default-enable JPEG-XL images if built
Sets the pref default to true and also add conneg entry for images
if jxl support is built.
Additionally, ifdefs the GfxPref to only observe when jxl is built.
2023-06-24 12:19:10 +08:00
Job Bautista
51ea0e4f3a Issue #1769 - Part 2: Implement JPEG-XL decoder and about:config and MIME plumbing.
Backported from Mozilla bug 1707590 whereever possible.
2023-06-24 12:16:27 +08:00
roytam1
725b27a0f5 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-05 23:02:05 +08:00
Moonchild
2f117eecaa Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews,
media and memory. More to come.
2023-05-05 22:57:19 +08:00
roytam1
0a4a1d8a63 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-01 06:55:51 +08:00
Job Bautista
51426d1053 Issue #1862 - Follow-up: Replace deprecated Harfbuzz functions with current ones.
Based on Mozilla bug 1500356.
2023-05-01 06:53:51 +08:00
roytam1
0b1d6ceeb6 Merge remote-tracking branch 'origin/tracking' into custom 2023-04-30 09:31:17 +08:00
Job Bautista
4584069f26 Issue #61 - Follow-up: Fix xul.dll link bustage related to Skia. 2023-04-30 09:29:43 +08:00
Job Bautista
6e2f70a70f Issue #61 - Follow-up: Fix gkmedias.dll link bustage related to Skia.
I don't understand why SK_API is being a problem, but it seems they are.
2023-04-30 09:29:27 +08:00
Job Bautista
260f8e154a Revert "Issue #61 - Place Skia in libxul"
This reverts commit 39cebe99e2db22d9e725499bf309b5668fcee413.
2023-04-30 09:29:05 +08:00
roytam1
ba3e46b173 partly import changes from tenfourfox: #651: M1761233 M1687303 M1633019 M1797336 M1799748 M1801102 (fb91afbb4) 2023-04-24 11:39:08 +08:00
roytam1
b5e969b8aa update harfbuzz to 3.2.0 2023-04-07 11:04:20 +08:00
roytam1
58116e6c55 update harfbuzz to 2.8.2 2023-04-07 08:56:17 +08:00
roytam1
16fb84538a Merge remote-tracking branch 'origin/tracking' into custom 2023-04-07 08:25:05 +08:00
Job Bautista
d9e7c07ed3 Issue #2191 - Follow-up: Add missing mozilla::gfx in gfxFcPlatformFontList.cpp
Fixes build bustage in GNU/Linux
2023-04-07 08:24:38 +08:00
Job Bautista
44b74873c1 Issue #2191 - Remove virtual from gfxFont::GetCairoScaledFont.
Backported from Mozilla bug 1385029.
2023-04-07 08:24:27 +08:00
Job Bautista
0f7750cd27 Issue #2191 - Require implementation of gfxFont::GetScaledFont and remove unnecessary gfxPlatform::GetScaledFontForFont.
Backported from Mozilla bug 1385029.
2023-04-07 08:24:14 +08:00
Job Bautista
b721b6257f Issue #2191 - Remove redundant CairoScaledFont accessor from gfxFont subclasses.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:59 +08:00
Job Bautista
a35ce5e5e1 Issue #2191 - Get rid of gfxFontconfigUtils.h since gfxFontconfigFontBase is unnecessary.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:39 +08:00
Job Bautista
c54e2502b0 Issue #2191 - Make ScaledFont::SetCairoScaledFont virtual so it can be accessed from outside Moz2D.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:23 +08:00
Job Bautista
b5d5963a4f Issue #2191 - Remove as much old fontconfig support as needed for Harfbuzz update.
Based on Mozilla bugs 1119128, 1285533, and 1421964.

gfx.font_rendering.fontconfig.fontlist.enabled is no longer available.

gfxFontconfigUtils.h still exists, and will be removed in another commit. Just
need more research on bug 1385029.

Tag #1862
2023-04-07 08:23:07 +08:00
roytam1
cc4ac7a04b Merge remote-tracking branch 'origin/tracking' into custom 2023-03-28 13:30:04 +08:00
Moonchild
6b3767c443 Issue #61 - Place Skia in libxul
Skia does some nasty things that break with DLL calls like having virtual dtors
without a body definition (and it's honestly surprising that it even builds to
begin with the way it's done, but apparently they use some linking symbol voodoo
to work around that in dependent classes).
Not wanting to have to pull Google code apart to try and fix that for something
we're only using for canvas anyway, it's better to just let Skia reside in
libxul instead.
2023-03-28 12:07:39 +08:00
Moonchild
371d7cf05d Issue #61 - Reinstate buildability with shared gkmedias dll
This fully works for splitting gkmedias.dll back out from xul with one exception
which is Skia throwing undefined externals when linking gkmedias.
2023-03-28 12:07:03 +08:00
roytam1
b03f6dd26e Merge remote-tracking branch 'origin/tracking' into custom 2023-03-20 12:34:16 +08:00
Moonchild
fd5015faeb [GFX] Add some sanity checks and clamps to SurfaceData calculations. 2023-03-20 10:44:29 +08:00