<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>14871</bug_id>
          
          <creation_ts>2011-11-18 01:49:47 +0000</creation_ts>
          <short_desc>Should there be a feature detect if a shader fails to load</short_desc>
          <delta_ts>2013-07-04 22:35:32 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>CSS</product>
          <component>Filter Effects</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vincent Hardy">vhardy</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dschulze</cc>
    
    <cc>eoconnor</cc>
    
    <cc>mike</cc>
    
    <cc>public-html-admin</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>robin</cc>
    
    <cc>smfr</cc>
          
          <qa_contact>public-css-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>60131</commentid>
    <comment_count>0</comment_count>
    <who name="Vincent Hardy">vhardy</who>
    <bug_when>2011-11-18 01:49:47 +0000</bug_when>
    <thetext>See the discussion at: 

http://lists.w3.org/Archives/Public/public-fx/2011OctDec/0148.html

Chris is advocating a feature detection for shaders that do not load and Vincent draws a parallel with JavaScript.

Issue not resolved on the thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60132</commentid>
    <comment_count>1</comment_count>
    <who name="Vincent Hardy">vhardy</who>
    <bug_when>2011-11-18 01:53:41 +0000</bug_when>
    <thetext>I would like to understand when a shader would actually fail to load because of hw support.

I thought that with the strict definitions bounding WebGL shaders, if an implementation supports WebGL shader, it is guaranteed to run (with more or less performance) any conformant shader. In that case, it seems to me that it is the same as for JavaScript. If that is not the case, an example showing how it is different would help me understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60166</commentid>
    <comment_count>2</comment_count>
    <who name="Vincent Hardy">vhardy</who>
    <bug_when>2011-11-19 02:27:24 +0000</bug_when>
    <thetext>Discussion on public-fx:

(http://lists.w3.org/Archives/Public/public-fx/2011OctDec/0158.html)

On Fri, Nov 18, 2011 at 11:27 AM, Chris Marrin &lt;cmarrin@apple.com&gt; wrote:

On Nov 18, 2011, at 9:54 AM, Gregg Tavares (wrk) wrote:

&gt; WebGL does not say all valid shaders work. WebGL just defines the language, &quot;GLSL&quot;. After that it&apos;s up to the individual hardware/driver&apos;s limits. We&apos;ve already had to re-write several valid working shaders in the WebGL conformance tests because while they worked fine on desktop hardware they were too large for certain mobile hardware.

And so the question is, where did they fail? I assume they failed somewhere in the compile/link cycle, in which case an @supports type of scheme where an alternative can be selected after such failures, would work, right?

Yes, the shaders in question failed in the compile/link cycle as they used too many instructions for certain mobile hardware.
 

&gt;
&gt; Some example of platform dependent limits:
&gt;
&gt; *) Max Instructions for a shader. Low-end hardware can be as low as 96 instructions, high end hardware is currently around 32k instructions
&gt; *) Max textures you can references in a vertex shader. Low-end limit is 0, high end is 32
&gt; *) Max textures you can reference period. Low-end is 8, high end is 32
&gt; *) Max precision. &quot;highp&quot; is optional
&gt; *) ...
&gt;
&gt; It&apos;s also arguably impossible to know how many instructions a given shader will take. Some drivers may optimize better than others. Some WebGL implementations may re-write the shader to work around bugs in drivers. You could choose some even smaller limit like 64 instructions and then hope that was enough wiggle room for workarounds. You could also require higher end hardware with higher limits before allowing CSS shaders to function. Otherwise you probably need a way for devs to check for failure.

-----
~Chris</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81772</commentid>
    <comment_count>3</comment_count>
    <who name="Robin Berjon">robin</who>
    <bug_when>2013-01-21 16:00:38 +0000</bug_when>
    <thetext>Mass move to &quot;HTML WG&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81880</commentid>
    <comment_count>4</comment_count>
    <who name="Robin Berjon">robin</who>
    <bug_when>2013-01-21 16:03:17 +0000</bug_when>
    <thetext>Mass move to &quot;HTML WG&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81889</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">dschulze</who>
    <bug_when>2013-01-21 16:28:50 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; Mass move to &quot;HTML WG&quot;

Please read bug reports before moving. This is unrelated to HTML5. Not even WebGL would be related to HTML5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81890</commentid>
    <comment_count>6</comment_count>
    <who name="Robin Berjon">robin</who>
    <bug_when>2013-01-21 16:34:51 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Mass move to &quot;HTML WG&quot;
&gt; 
&gt; Please read bug reports before moving. This is unrelated to HTML5. Not even
&gt; WebGL would be related to HTML5.

Hmmm, sorry about that, but it doesn&apos;t look like it came from something I did wrong. I moved all the bugs that were in the &quot;HTML.next&quot; product to &quot;HTML WG&quot; because they are now open for work. That&apos;s a perfectly legit move that shouldn&apos;t require going through each and every bug.

Looking at the paper trail for this bug I see, on 2012-11-08:

&quot;&quot;&quot;
Dirk Schulze &lt;dschulze@adobe.com&gt; changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dschulze@adobe.com,
                   |                            |mike@w3.org, robin@w3.org
          Component|Filter Effects              |default
           Assignee|dino@apple.com              |dave.null@w3.org
            Product|CSS                         |HTML.next
         QA Contact|dave.null@w3.org            |public-html-bugzilla@w3.org
&quot;&quot;&quot;

So it looks like *you* gave us this bug, initially :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81892</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">dschulze</who>
    <bug_when>2013-01-21 16:38:50 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #4)
&gt; &gt; &gt; Mass move to &quot;HTML WG&quot;
&gt; &gt; 
&gt; &gt; Please read bug reports before moving. This is unrelated to HTML5. Not even
&gt; &gt; WebGL would be related to HTML5.
&gt; 
&gt; Hmmm, sorry about that, but it doesn&apos;t look like it came from something I
&gt; did wrong. I moved all the bugs that were in the &quot;HTML.next&quot; product to
&gt; &quot;HTML WG&quot; because they are now open for work. That&apos;s a perfectly legit move
&gt; that shouldn&apos;t require going through each and every bug.
&gt; 
&gt; Looking at the paper trail for this bug I see, on 2012-11-08:
&gt; 
&gt; &quot;&quot;&quot;
&gt; Dirk Schulze &lt;dschulze@adobe.com&gt; changed:
&gt; 
&gt;            What    |Removed                     |Added
&gt; ----------------------------------------------------------------------------
&gt;                  CC|                            |dschulze@adobe.com,
&gt;                    |                            |mike@w3.org, robin@w3.org
&gt;           Component|Filter Effects              |default
&gt;            Assignee|dino@apple.com              |dave.null@w3.org
&gt;             Product|CSS                         |HTML.next
&gt;          QA Contact|dave.null@w3.org            |public-html-bugzilla@w3.org
&gt; &quot;&quot;&quot;
&gt; 
&gt; So it looks like *you* gave us this bug, initially :)

Interesting. You are right. Sorry :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90375</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">dschulze</who>
    <bug_when>2013-07-04 22:35:32 +0000</bug_when>
    <thetext>Custom shaders require WebGL support of HW. A failure here is violation WebGL already.

Beside that, the @filter rule supports fallback shaders.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>