texture_float extensions should imply either full or no color_buffer_float activation

RESOLVED FIXED in mozilla36

Status

()

Core
Canvas: WebGL
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: jgilbert, Assigned: jgilbert)

Tracking

unspecified
mozilla36
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments, 1 obsolete attachment)

(Assignee)

Description

3 years ago
Created attachment 8526499 [details]
testcase

Right now, everyone seems to allow RTT with float textures when the relevant extension is active. The extensions say that they should implicitly activate their respective color_buffer_float extensions, though.

That includes support for ReadPixels and renderbufferStorage.
(Assignee)

Comment 1

3 years ago
Created attachment 8527083 [details] [diff] [review]
0001-Fix-float-texture-rb-fb-support.patch
Attachment #8527083 - Flags: review?(dglastonbury)
(Assignee)

Comment 2

3 years ago
Created attachment 8527113 [details] [diff] [review]
0001-Fix-float-texture-rb-fb-support.patch

I forgot to add the mochitest to the manifest.
Attachment #8527083 - Attachment is obsolete: true
Attachment #8527083 - Flags: review?(dglastonbury)
Attachment #8527113 - Flags: review?(dglastonbury)
(Assignee)

Comment 3

3 years ago
Created attachment 8527128 [details] [diff] [review]
0002-Update-our-outdated-copy-of-the-OES_texture_float-te.patch
Attachment #8527128 - Flags: review?(dglastonbury)
Comment on attachment 8527113 [details] [diff] [review]
0001-Fix-float-texture-rb-fb-support.patch

Review of attachment 8527113 [details] [diff] [review]:
-----------------------------------------------------------------

It wasn't clear from the bug comment that the intention is to keep implicitly enabling float RTT.

::: dom/canvas/WebGLContextExtensions.cpp
@@ +190,5 @@
> +WebGLContext::EnableSupportedExtension(JSContext* js, WebGLExtensionID ext)
> +{
> +    if (!IsExtensionEnabled(ext)) {
> +        if (!IsExtensionSupported(js, ext))
> +            return nullptr;

if (!IsExtensionSupported(js, ext))
    return nullptr;

if (!IsExtensionEnabled(ext))
    EnableExtension(ext);

return mExtensions[ext];

(I hate nesting)
Attachment #8527113 - Flags: review?(dglastonbury) → review+
Attachment #8527128 - Flags: review?(dglastonbury) → review+
(Assignee)

Comment 5

3 years ago
(In reply to Dan Glastonbury :djg :kamidphish from comment #4)
> Comment on attachment 8527113 [details] [diff] [review]
> 0001-Fix-float-texture-rb-fb-support.patch
> 
> Review of attachment 8527113 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> It wasn't clear from the bug comment that the intention is to keep
> implicitly enabling float RTT.
As we sit currently, this disables float RTT. We should be getting the extension we need promoted to Community Approved soon. When this happens, color_buffer_float comes out from behind the draft flag, and will be picked up here.
> 
> ::: dom/canvas/WebGLContextExtensions.cpp
> @@ +190,5 @@
> > +WebGLContext::EnableSupportedExtension(JSContext* js, WebGLExtensionID ext)
> > +{
> > +    if (!IsExtensionEnabled(ext)) {
> > +        if (!IsExtensionSupported(js, ext))
> > +            return nullptr;
> 
> if (!IsExtensionSupported(js, ext))
>     return nullptr;
> 
> if (!IsExtensionEnabled(ext))
>     EnableExtension(ext);
> 
> return mExtensions[ext];
> 
> (I hate nesting)

That's fine in general, but this is just a modification of a common pattern:
EnsureFoo:
  if (!foo)
    foo = Foo
  return foo

In our case, it's just not infallible. I think it's better how it is now.
(Assignee)

Comment 6

3 years ago
Created attachment 8527929 [details] [diff] [review]
0003-Update-expected-fail-list.patch
(Assignee)

Comment 7

3 years ago
 https://hg.mozilla.org/integration/mozilla-inbound/rev/9336978bfa8c
 https://hg.mozilla.org/integration/mozilla-inbound/rev/b77b26c9b3b6
 https://hg.mozilla.org/integration/mozilla-inbound/rev/b459d10124a8
Backed out in
https://hg.mozilla.org/integration/mozilla-inbound/rev/da0a362dfe5d
https://hg.mozilla.org/integration/mozilla-inbound/rev/d8081022e243
https://hg.mozilla.org/integration/mozilla-inbound/rev/80b929468f35

for android mochitest-1 orange:
https://treeherder.mozilla.org/ui/logviewer.html#?job_id=4169671&repo=mozilla-inbound
Flags: needinfo?(jgilbert)
(Assignee)

Comment 9

3 years ago
 https://hg.mozilla.org/integration/mozilla-inbound/rev/e8fb97477d9e
 https://hg.mozilla.org/integration/mozilla-inbound/rev/d95090fbf3dc
 https://hg.mozilla.org/integration/mozilla-inbound/rev/6a871ae07d1f
Flags: needinfo?(jgilbert)
https://hg.mozilla.org/mozilla-central/rev/e8fb97477d9e
https://hg.mozilla.org/mozilla-central/rev/d95090fbf3dc
https://hg.mozilla.org/mozilla-central/rev/6a871ae07d1f
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
Depends on: 1105870
Depends on: 1115816

Updated

3 years ago
Depends on: 1118284
(Assignee)

Updated

3 years ago
Blocks: 1105535
You need to log in before you can comment on or make changes to this bug.