Bug 220852

Summary: DumpRenderTree behaves differently to WebKitTestRunner wrt integrated/discrete GPU behavior
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: Tools / TestsAssignee: Kimmo Kinnunen <kkinnunen>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 220843    
Attachments:
Description Flags
Patch
none
Patch
none
Patch none

Description Kimmo Kinnunen 2021-01-22 02:29:40 PST
DumpRenderTree behaves differently to WebKitTestRunner wrt integrated/discrete GPU behaviour.
WebKitTestRunner runs web content in WebProcess, which supports graphics switching.
DumpRenderTree does not support graphics switching.

# This uses integrated gpu
run-webkit-tests --prefer-integrated-gpu webgl/

# This uses discrete gpu
run-webkit-tests --prefer-integrated-gpu -1 webgl/

It would simplify interpretation of the results if both runners would run with same gpu for same input.
Comment 1 Kimmo Kinnunen 2021-01-22 02:32:15 PST
Created attachment 418122 [details]
Patch
Comment 2 Alexey Proskuryakov 2021-01-22 09:35:46 PST
Comment on attachment 418122 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=418122&action=review

I didn't know about this key, and this is an excellent thing to consider. Just to confirm, this changes nothing on the bots, correct?

Presumably most Legacy WebKit clients don't have NSSupportsAutomaticGraphicsSwitching in their plists, so we should continue to test WebGL with discrete GPU on bots that have it.

> Tools/ChangeLog:12
> +        * DumpRenderTree/Info.plist: Added.

This file should be in DumpRenderTree/mac.

> Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:1416
>  			baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
>  			buildSettings = {
> +				CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
> +				INFOPLIST_FILE = "$(SRCROOT)/Info.plist";

Even though iOS has this in .xcodeproj, adding configurations to xcodeproj makes me cringe. Normally, everything should be in .xcconfig.
Comment 3 Kimmo Kinnunen 2021-01-25 01:18:37 PST
Created attachment 418263 [details]
Patch
Comment 4 Kimmo Kinnunen 2021-01-25 01:19:28 PST
Created attachment 418264 [details]
Patch
Comment 5 Kimmo Kinnunen 2021-01-25 04:21:13 PST
(In reply to Alexey Proskuryakov from comment #2)
> I didn't know about this key, and this is an excellent thing to consider.
> Just to confirm, this changes nothing on the bots, correct?

Correct. As far as I understand, --prefer-integrated-gpu is not used on bots.
The intended behavior change is only for --prefer-integrated-gpu

> Even though iOS has this in .xcodeproj, adding configurations to xcodeproj
> makes me cringe. Normally, everything should be in .xcconfig.

Done, as far as I understand.
Comment 6 EWS 2021-01-25 04:34:08 PST
Committed r271792: <https://trac.webkit.org/changeset/271792>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418264 [details].
Comment 7 Radar WebKit Bug Importer 2021-01-25 04:35:17 PST
<rdar://problem/73567106>