WebGL2 requires instanced drawing with only non-zero-divisor active attrib arrays to be allowed

RESOLVED FIXED in mozilla27

Status

()

RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jgilbert, Assigned: jgilbert)

Tracking

unspecified
mozilla27
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

5 years ago
ANGLE_instanced_arrays and NV_instanced_arrays disallow instanced drawing when there is not at least one active attrib array with a zero instancing divisor.

GLES3 (and thus WebGL2) does not appear to have this restriction.
(Assignee)

Comment 1

5 years ago
Created attachment 805664 [details] [diff] [review]
patch 1: 
Add a `instanced_arrays2` feature to encapsulate this functionality.

Add a `instanced_arrays2` feature to encapsulate this functionality.
Attachment #805664 - Flags: review?(bjacob)
(Assignee)

Updated

5 years ago
Attachment #805664 - Attachment description: req-better-inst → patch 1: Add a `instanced_arrays2` feature to encapsulate this functionality.
(Assignee)

Comment 2

5 years ago
Created attachment 805668 [details] [diff] [review]
patch 2: Require `instanced_arrays2` for WebGL2.
Attachment #805668 - Flags: review?(bjacob)
(Assignee)

Updated

5 years ago
Depends on: 911394
Comment on attachment 805664 [details] [diff] [review]
patch 1: 
Add a `instanced_arrays2` feature to encapsulate this functionality.

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

::: gfx/gl/GLContextFeatures.cpp
@@ +158,5 @@
>              GLContext::Extensions_End
>          }
>      },
>      {
> +        "instanced_arrays2",

Have you thought of maybe giving this a more descriptive name?

@@ +169,5 @@
> +        /* This is an expanded version of `instanced_arrays` that allows for all
> +         * enabled active attrib arrays to have non-zero divisors.
> +         * ANGLE_instanced_arrays and NV_instanced_arrays forbid this, but GLES3
> +         * has no such restriction.
> +         */

Comments usually go _above_ what they refer to.
Attachment #805664 - Flags: review?(bjacob) → review+
Attachment #805668 - Flags: review?(bjacob) → review+
(Assignee)

Comment 4

5 years ago
(In reply to Benoit Jacob [:bjacob] from comment #3)
> Comment on attachment 805664 [details] [diff] [review]
> patch 1: 
> Add a `instanced_arrays2` feature to encapsulate this functionality.
> 
> Review of attachment 805664 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: gfx/gl/GLContextFeatures.cpp
> @@ +158,5 @@
> >              GLContext::Extensions_End
> >          }
> >      },
> >      {
> > +        "instanced_arrays2",
> 
> Have you thought of maybe giving this a more descriptive name?
"instanced_non_arrays"? :P
Actually, that's as good a name as any.
> 
> @@ +169,5 @@
> > +        /* This is an expanded version of `instanced_arrays` that allows for all
> > +         * enabled active attrib arrays to have non-zero divisors.
> > +         * ANGLE_instanced_arrays and NV_instanced_arrays forbid this, but GLES3
> > +         * has no such restriction.
> > +         */
> 
> Comments usually go _above_ what they refer to.
I agree, but we should change this all at once for this file.

Comment 6

5 years ago
https://hg.mozilla.org/mozilla-central/rev/7ca634037700
https://hg.mozilla.org/mozilla-central/rev/ae79bc0418e1
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
You need to log in before you can comment on or make changes to this bug.