Bug 199789 - [WebGL] Remove software rendering and simplify context creation on macOS
Summary: [WebGL] Remove software rendering and simplify context creation on macOS
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dean Jackson
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-07-14 15:35 PDT by Dean Jackson
Modified: 2019-07-15 15:31 PDT (History)
8 users (show)

See Also:


Attachments
Patch (20.01 KB, patch)
2019-07-14 15:40 PDT, Dean Jackson
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2019-07-14 15:35:38 PDT
[WebGL] Remove software rendering and simplify context creation on macOS
Comment 1 Dean Jackson 2019-07-14 15:40:06 PDT
Created attachment 374096 [details]
Patch
Comment 2 Sam Weinig 2019-07-14 17:58:03 PDT
Comment on attachment 374096 [details]
Patch

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

> Source/WebCore/ChangeLog:9
> +        We don't ever want to fall-back to the software renderer. We'd be better
> +        off failing to create the context completely.

Why is this? Why did we support it in the first place?

> Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:177
> -    ASSERT(m_contexts.contains(context));
> +    if (!m_contexts.contains(context))
> +        return;

What is this change for?

> Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:212
> +    if (!context)
> +        return;

What is this change for?
Comment 3 Dean Jackson 2019-07-15 13:50:23 PDT
Comment on attachment 374096 [details]
Patch

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

>> Source/WebCore/ChangeLog:9
>> +        off failing to create the context completely.
> 
> Why is this? Why did we support it in the first place?

Because we thought it was a good idea, but the performance and conformance are not acceptable.

>> Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:177
>> +        return;
> 
> What is this change for?

If we have a null m_contextObj, we didn't add ourselves to the GC3DManager. However, the GC3D was still created, so it tries to remove itself from the manager at destruction time.

I should have noted this in the ChangeLog - I'll add it.

>> Source/WebCore/platform/graphics/GraphicsContext3DManager.cpp:212
>> +        return;
> 
> What is this change for?

This shouldn't be needed.
Comment 4 Dean Jackson 2019-07-15 15:29:04 PDT
Committed r247453: <https://trac.webkit.org/changeset/247453>
Comment 5 Radar WebKit Bug Importer 2019-07-15 15:31:32 PDT
<rdar://problem/53125394>