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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>119515</bug_id>
          <alias>refactor</alias>
          <creation_ts>2013-08-06 02:43:43 -0700</creation_ts>
          <short_desc>[WebGL] Vertex attribute binding validation method</short_desc>
          <delta_ts>2013-08-16 00:16:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>0</everconfirmed>
          <reporter name="Przemyslaw Szymanski">p.szymanski3</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kalyan.kondapally</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>914812</commentid>
    <comment_count>0</comment_count>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-06 02:43:43 -0700</bug_when>
    <thetext>validateVertexAttributes method can has a little code refactoring. We can move some calculations to a separate methods.
This also can be usable in other parts of the code. So less code and easy to reuse now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914814</commentid>
    <comment_count>1</comment_count>
      <attachid>208178</attachid>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-06 02:50:30 -0700</bug_when>
    <thetext>Created attachment 208178
Vertex attribute binding validation method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914825</commentid>
    <comment_count>2</comment_count>
      <attachid>208178</attachid>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-08-06 03:50:50 -0700</bug_when>
    <thetext>Comment on attachment 208178
Vertex attribute binding validation method

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

&gt; Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h:62
&gt; +        inline bool validateBinding() const { return !enabled || (enabled &amp;&amp; isBound()); }

Second check should be enough here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914828</commentid>
    <comment_count>3</comment_count>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-06 04:23:48 -0700</bug_when>
    <thetext>I can&apos;t agreed. Two reasons:
1) I tested only the second check and it was not work well
2) Vertex attribute can be disabled (and then check should be true, it is ok) or enabled but bound. It can&apos;t be enabled and not bound.

So there must be two checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>914833</commentid>
    <comment_count>4</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-08-06 05:09:47 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I can&apos;t agreed. Two reasons:
&gt; 1) I tested only the second check and it was not work well
&gt; 2) Vertex attribute can be disabled (and then check should be true, it is ok) or enabled but bound. It can&apos;t be enabled and not bound.
&gt; 
&gt; So there must be two checks

sorry, I missed that you moved the enabled check too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915825</commentid>
    <comment_count>5</comment_count>
      <attachid>208178</attachid>
    <who name="alan">zalan</who>
    <bug_when>2013-08-09 07:55:09 -0700</bug_when>
    <thetext>Comment on attachment 208178
Vertex attribute binding validation method

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

&gt;&gt; Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h:62
&gt;&gt; +        inline bool validateBinding() const { return !enabled || (enabled &amp;&amp; isBound()); }
&gt; 
&gt; Second check should be enough here.

Do you need the second enabled? (if enabled is false, the second part of the condition does not get evaluated, while if enabled is true, then it doesnt bring much value to the second part of the condition)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916208</commentid>
    <comment_count>6</comment_count>
      <attachid>208519</attachid>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-12 02:21:55 -0700</bug_when>
    <thetext>Created attachment 208519
Vertex attribute binding validation method

update after review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916209</commentid>
    <comment_count>7</comment_count>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-12 02:24:08 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 208178 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208178&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h:62
&gt; &gt;&gt; +        inline bool validateBinding() const { return !enabled || (enabled &amp;&amp; isBound()); }
&gt; &gt; 
&gt; &gt; Second check should be enough here.
&gt; 
&gt; Do you need the second enabled? (if enabled is false, the second part of the condition does not get evaluated, while if enabled is true, then it doesnt bring much value to the second part of the condition)

Good point. Thank you. I updated this code. Review again please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916330</commentid>
    <comment_count>8</comment_count>
      <attachid>208519</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-12 10:30:44 -0700</bug_when>
    <thetext>Comment on attachment 208519
Vertex attribute binding validation method

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        This patch refactors WebGLRenderingContext code by move a vertex

&quot;by moving&quot;

&gt; Source/WebCore/ChangeLog:7
&gt; +        attribute binding validation to the separate method. It is now

&quot;to a separate&quot;

&gt; Source/WebCore/ChangeLog:9
&gt; +        code is more readable and more clear now. 

&quot;more readable and more clear&quot;: pretty much means the same. Probably one is enough.

&gt; Source/WebCore/ChangeLog:13
&gt; +        No new tests. Covered by existing tests.

There is no behavior change, right? If so, it is a good idea to say so in the Changelog.

&gt; Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h:61
&gt; +        inline bool isBound() const { return bufferBinding &amp;&amp; bufferBinding-&gt;object(); }

inline is redundant here.

&gt; Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h:62
&gt; +        inline bool validateBinding() const { return !enabled || isBound(); }

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916334</commentid>
    <comment_count>9</comment_count>
      <attachid>208519</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-12 10:31:35 -0700</bug_when>
    <thetext>Comment on attachment 208519
Vertex attribute binding validation method

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

&gt;&gt; Source/WebCore/ChangeLog:6
&gt;&gt; +        This patch refactors WebGLRenderingContext code by move a vertex
&gt; 
&gt; &quot;by moving&quot;

&quot;by moving the&quot; actually</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916383</commentid>
    <comment_count>10</comment_count>
      <attachid>208519</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-08-12 12:59:49 -0700</bug_when>
    <thetext>Comment on attachment 208519
Vertex attribute binding validation method

Another +1 to Christophe&apos;s review. Just minor changes needed before r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916607</commentid>
    <comment_count>11</comment_count>
      <attachid>208605</attachid>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-13 00:49:36 -0700</bug_when>
    <thetext>Created attachment 208605
Vertex attribute binding validation method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916609</commentid>
    <comment_count>12</comment_count>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-13 00:51:59 -0700</bug_when>
    <thetext>Christophe, thank you very much for review. Changes applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916611</commentid>
    <comment_count>13</comment_count>
      <attachid>208605</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-13 00:53:08 -0700</bug_when>
    <thetext>Comment on attachment 208605
Vertex attribute binding validation method

Looks like a nice refactoring. r=me but please let Dean take a final look before landing as he was reviewing this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917068</commentid>
    <comment_count>14</comment_count>
    <who name="Przemyslaw Szymanski">p.szymanski3</who>
    <bug_when>2013-08-14 03:57:45 -0700</bug_when>
    <thetext>Dean Jackson, could you do a final review for this patch? Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917826</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-08-15 23:42:01 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Dean Jackson, could you do a final review for this patch? Thank you.

Dean seems busy. Feel free to land the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917830</commentid>
    <comment_count>16</comment_count>
      <attachid>208605</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-16 00:16:00 -0700</bug_when>
    <thetext>Comment on attachment 208605
Vertex attribute binding validation method

Clearing flags on attachment: 208605

Committed r154166: &lt;http://trac.webkit.org/changeset/154166&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917831</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-16 00:16:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208178</attachid>
            <date>2013-08-06 02:50:30 -0700</date>
            <delta_ts>2013-08-12 02:15:56 -0700</delta_ts>
            <desc>Vertex attribute binding validation method</desc>
            <filename>vertexValidationNewMethod.patch</filename>
            <type>text/plain</type>
            <size>2967</size>
            <attacher name="Przemyslaw Szymanski">p.szymanski3</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZWYyZjU0Li4wODUxZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDgtMDYgIFByemVteXNsYXcgU3p5bWFuc2tpICA8cC5zenltYW5za2kzQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtXZWJHTF0gVmVydGV4IGF0dHJpYnV0ZSBiaW5kaW5nIHZhbGlk
YXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTk1MTUKKworICAgICAgICBUaGlzIHBhdGNoIHJlZmFjdG9ycyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQgY29kZSBieSBtb3ZlIGEgdmVydGV4CisgICAgICAgIGF0dHJpYnV0ZSBiaW5kaW5n
IHZhbGlkYXRpb24gdG8gdGhlIHNlcGFyYXRlIG1ldGhvZC4gSXQgaXMgbm93CisgICAgICAgIHBv
c3NpYmxlIHRvIHVzZSB0aGF0IHZhbGlkYXRpb24gaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUu
IFRoZQorICAgICAgICBjb2RlIGlzIG1vcmUgcmVhZGFibGUgYW5kIG1vcmUgY2xlYXIgbm93Lgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKyAgICAgICAgTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2dsLWRy
YXdlbGVtZW50cy5odG1sCisgICAgICAgIExheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9kcmF3LWVsZW1lbnRzLW91dC1vZi1i
b3VuZHMuaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1hcnJheXMtb3V0LW9mLWJvdW5kcy5o
dG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVZlcnRleEF0
dHJpYnV0ZXMpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RP
RVMuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM6OlZlcnRl
eEF0dHJpYlN0YXRlOjppc0JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMVmVydGV4QXJy
YXlPYmplY3RPRVM6OlZlcnRleEF0dHJpYlN0YXRlOjp2YWxpZGF0ZUJpbmRpbmcpOgorCiAyMDEz
LTA4LTA1ICBQcnplbXlzbGF3IFN6eW1hbnNraSAgPHAuc3p5bWFuc2tpM0BzYW1zdW5nLmNvbT4K
IAogICAgICAgICBbV2ViR0xdIHZhbGlkYXRlUmVuZGVyaW5nU3RhdGUgbWV0aG9kIG5hbWUgY2hh
bmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmNwcAppbmRleCA1YzE2ODBmLi4zNTkwMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTE4ODEsOSAr
MTg4MSw3IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZVZlcnRleEF0dHJp
YnV0ZXModW5zaWduZWQgbnVtRWxlbWVudHNSZXF1aXJlCiAKICAgICAvLyBMb29rIGluIGVhY2gg
ZW5hYmxlZCB2ZXJ0ZXggYXR0cmliIGFuZCBjaGVjayBpZiB0aGV5J3ZlIGJlZW4gYm91bmQgdG8g
YSBidWZmZXIuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fbWF4VmVydGV4QXR0cmli
czsgKytpKSB7Ci0gICAgICAgIGNvbnN0IFdlYkdMVmVydGV4QXJyYXlPYmplY3RPRVM6OlZlcnRl
eEF0dHJpYlN0YXRlJiBzdGF0ZSA9IG1fYm91bmRWZXJ0ZXhBcnJheU9iamVjdC0+Z2V0VmVydGV4
QXR0cmliU3RhdGUoaSk7Ci0gICAgICAgIGlmIChzdGF0ZS5lbmFibGVkCi0gICAgICAgICAgICAm
JiAoIXN0YXRlLmJ1ZmZlckJpbmRpbmcgfHwgIXN0YXRlLmJ1ZmZlckJpbmRpbmctPm9iamVjdCgp
KSkKKyAgICAgICAgaWYgKCFtX2JvdW5kVmVydGV4QXJyYXlPYmplY3QtPmdldFZlcnRleEF0dHJp
YlN0YXRlKGkpLnZhbGlkYXRlQmluZGluZygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xWZXJ0
ZXhBcnJheU9iamVjdE9FUy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xWZXJ0
ZXhBcnJheU9iamVjdE9FUy5oCmluZGV4IDRiOTg5NTUuLjdmOTAzNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmgK
QEAgLTU4LDYgKzU4LDkgQEAgcHVibGljOgogICAgICAgICB7CiAgICAgICAgIH0KICAgICAgICAg
CisgICAgICAgIGlubGluZSBib29sIGlzQm91bmQoKSBjb25zdCB7IHJldHVybiBidWZmZXJCaW5k
aW5nICYmIGJ1ZmZlckJpbmRpbmctPm9iamVjdCgpOyB9CisgICAgICAgIGlubGluZSBib29sIHZh
bGlkYXRlQmluZGluZygpIGNvbnN0IHsgcmV0dXJuICFlbmFibGVkIHx8IChlbmFibGVkICYmIGlz
Qm91bmQoKSk7IH0KKwogICAgICAgICBib29sIGVuYWJsZWQ7CiAgICAgICAgIFJlZlB0cjxXZWJH
TEJ1ZmZlcj4gYnVmZmVyQmluZGluZzsKICAgICAgICAgR0MzRHNpemVpIGJ5dGVzUGVyRWxlbWVu
dDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208519</attachid>
            <date>2013-08-12 02:21:55 -0700</date>
            <delta_ts>2013-08-13 00:06:00 -0700</delta_ts>
            <desc>Vertex attribute binding validation method</desc>
            <filename>vertexValidationNewMethod.patch</filename>
            <type>text/plain</type>
            <size>2955</size>
            <attacher name="Przemyslaw Szymanski">p.szymanski3</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMWI1YzVmLi4zMmZjOWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDgtMTIgIFByemVteXNsYXcgU3p5bWFuc2tpICA8cC5zenltYW5za2kzQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtXZWJHTF0gVmVydGV4IGF0dHJpYnV0ZSBiaW5kaW5nIHZhbGlk
YXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTk1MTUKKworICAgICAgICBUaGlzIHBhdGNoIHJlZmFjdG9ycyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQgY29kZSBieSBtb3ZlIGEgdmVydGV4CisgICAgICAgIGF0dHJpYnV0ZSBiaW5kaW5n
IHZhbGlkYXRpb24gdG8gdGhlIHNlcGFyYXRlIG1ldGhvZC4gSXQgaXMgbm93CisgICAgICAgIHBv
c3NpYmxlIHRvIHVzZSB0aGF0IHZhbGlkYXRpb24gaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUu
IFRoZQorICAgICAgICBjb2RlIGlzIG1vcmUgcmVhZGFibGUgYW5kIG1vcmUgY2xlYXIgbm93LiAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcg
dGVzdHMuIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisgICAgICAgIExheW91dFRlc3RzL3dl
YmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmluZy9nbC1k
cmF3ZWxlbWVudHMuaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1lbGVtZW50cy1vdXQtb2Yt
Ym91bmRzLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2RyYXctYXJyYXlzLW91dC1vZi1ib3VuZHMu
aHRtbAorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVWZXJ0ZXhB
dHRyaWJ1dGVzKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0
T0VTLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTOjpWZXJ0
ZXhBdHRyaWJTdGF0ZTo6aXNCb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFZlcnRleEFy
cmF5T2JqZWN0T0VTOjpWZXJ0ZXhBdHRyaWJTdGF0ZTo6dmFsaWRhdGVCaW5kaW5nKToKKwogMjAx
My0wOC0xMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgUmVu
ZGVyTWF0aE1MU3BhY2UuaC9jcHAgdG8gdGhlIHJpZ2h0IGdyb3VwIGluIHRoZSBYY29kZSBwcm9q
ZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKaW5kZXggZjZkNjZiNS4uOWU1ZGEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0xODc5LDkg
KzE4NzksNyBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVWZXJ0ZXhBdHRy
aWJ1dGVzKHVuc2lnbmVkIG51bUVsZW1lbnRzUmVxdWlyZQogCiAgICAgLy8gTG9vayBpbiBlYWNo
IGVuYWJsZWQgdmVydGV4IGF0dHJpYiBhbmQgY2hlY2sgaWYgdGhleSd2ZSBiZWVuIGJvdW5kIHRv
IGEgYnVmZmVyLgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX21heFZlcnRleEF0dHJp
YnM7ICsraSkgewotICAgICAgICBjb25zdCBXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTOjpWZXJ0
ZXhBdHRyaWJTdGF0ZSYgc3RhdGUgPSBtX2JvdW5kVmVydGV4QXJyYXlPYmplY3QtPmdldFZlcnRl
eEF0dHJpYlN0YXRlKGkpOwotICAgICAgICBpZiAoc3RhdGUuZW5hYmxlZAotICAgICAgICAgICAg
JiYgKCFzdGF0ZS5idWZmZXJCaW5kaW5nIHx8ICFzdGF0ZS5idWZmZXJCaW5kaW5nLT5vYmplY3Qo
KSkpCisgICAgICAgIGlmICghbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0LT5nZXRWZXJ0ZXhBdHRy
aWJTdGF0ZShpKS52YWxpZGF0ZUJpbmRpbmcoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVmVy
dGV4QXJyYXlPYmplY3RPRVMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVmVy
dGV4QXJyYXlPYmplY3RPRVMuaAppbmRleCA0Yjk4OTU1Li5iZTRkYjA1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5o
CkBAIC01OCw2ICs1OCw5IEBAIHB1YmxpYzoKICAgICAgICAgewogICAgICAgICB9CiAgICAgICAg
IAorICAgICAgICBpbmxpbmUgYm9vbCBpc0JvdW5kKCkgY29uc3QgeyByZXR1cm4gYnVmZmVyQmlu
ZGluZyAmJiBidWZmZXJCaW5kaW5nLT5vYmplY3QoKTsgfQorICAgICAgICBpbmxpbmUgYm9vbCB2
YWxpZGF0ZUJpbmRpbmcoKSBjb25zdCB7IHJldHVybiAhZW5hYmxlZCB8fCBpc0JvdW5kKCk7IH0K
KwogICAgICAgICBib29sIGVuYWJsZWQ7CiAgICAgICAgIFJlZlB0cjxXZWJHTEJ1ZmZlcj4gYnVm
ZmVyQmluZGluZzsKICAgICAgICAgR0MzRHNpemVpIGJ5dGVzUGVyRWxlbWVudDsK
</data>
<flag name="review"
          id="230425"
          type_id="1"
          status="-"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208605</attachid>
            <date>2013-08-13 00:49:36 -0700</date>
            <delta_ts>2013-08-16 00:16:00 -0700</delta_ts>
            <desc>Vertex attribute binding validation method</desc>
            <filename>validateRenderingState_changeName.patch</filename>
            <type>text/plain</type>
            <size>2942</size>
            <attacher name="Przemyslaw Szymanski">p.szymanski3</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhZTA1NTA5Li43MjY2OWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDgtMTMgIFByemVteXNsYXcgU3p5bWFuc2tpICA8cC5zenltYW5za2kzQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtXZWJHTF0gVmVydGV4IGF0dHJpYnV0ZSBiaW5kaW5nIHZhbGlk
YXRpb24gbWV0aG9kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTk1MTUKKworICAgICAgICBUaGlzIHBhdGNoIHJlZmFjdG9ycyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQgY29kZSBieSBtb3ZpbmcgdGhlIHZlcnRleAorICAgICAgICBhdHRyaWJ1dGUgYmlu
ZGluZyB2YWxpZGF0aW9uIHRvIGEgc2VwYXJhdGUgbWV0aG9kLiBJdCBpcyBub3cKKyAgICAgICAg
cG9zc2libGUgdG8gdXNlIHRoYXQgdmFsaWRhdGlvbiBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29k
ZS4gVGhlCisgICAgICAgIGNvZGUgaXMgbW9yZSBjbGVhciBub3cuIAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292ZXJlZCBi
eSBleGlzdGluZyB0ZXN0cy4gTm8gYmVoYXZpb3VyIGNoYW5nZWQuCisgICAgICAgIExheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL3JlbmRlcmlu
Zy9nbC1kcmF3ZWxlbWVudHMuaHRtbAorICAgICAgICBMYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9yZW5kZXJpbmcvZHJhdy1lbGVtZW50cy1v
dXQtb2YtYm91bmRzLmh0bWwKKyAgICAgICAgTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvcmVuZGVyaW5nL2RyYXctYXJyYXlzLW91dC1vZi1i
b3VuZHMuaHRtbAorCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVW
ZXJ0ZXhBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5
T2JqZWN0T0VTLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFZlcnRleEFycmF5T2JqZWN0T0VT
OjpWZXJ0ZXhBdHRyaWJTdGF0ZTo6aXNCb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFZl
cnRleEFycmF5T2JqZWN0T0VTOjpWZXJ0ZXhBdHRyaWJTdGF0ZTo6dmFsaWRhdGVCaW5kaW5nKToK
KwogMjAxMy0wOC0xMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBzY2hlbWUgbGlzdCBhY2NvcmRpbmcgdG8gbGF0ZXN0IHNwZWNpZmlj
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHQuY3BwCmluZGV4IGY2ZDY2YjUuLjllNWRhMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMTg3OSw5
ICsxODc5LDcgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlVmVydGV4QXR0
cmlidXRlcyh1bnNpZ25lZCBudW1FbGVtZW50c1JlcXVpcmUKIAogICAgIC8vIExvb2sgaW4gZWFj
aCBlbmFibGVkIHZlcnRleCBhdHRyaWIgYW5kIGNoZWNrIGlmIHRoZXkndmUgYmVlbiBib3VuZCB0
byBhIGJ1ZmZlci4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9tYXhWZXJ0ZXhBdHRy
aWJzOyArK2kpIHsKLSAgICAgICAgY29uc3QgV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUzo6VmVy
dGV4QXR0cmliU3RhdGUmIHN0YXRlID0gbV9ib3VuZFZlcnRleEFycmF5T2JqZWN0LT5nZXRWZXJ0
ZXhBdHRyaWJTdGF0ZShpKTsKLSAgICAgICAgaWYgKHN0YXRlLmVuYWJsZWQKLSAgICAgICAgICAg
ICYmICghc3RhdGUuYnVmZmVyQmluZGluZyB8fCAhc3RhdGUuYnVmZmVyQmluZGluZy0+b2JqZWN0
KCkpKQorICAgICAgICBpZiAoIW1fYm91bmRWZXJ0ZXhBcnJheU9iamVjdC0+Z2V0VmVydGV4QXR0
cmliU3RhdGUoaSkudmFsaWRhdGVCaW5kaW5nKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFZl
cnRleEFycmF5T2JqZWN0T0VTLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFZl
cnRleEFycmF5T2JqZWN0T0VTLmgKaW5kZXggNGI5ODk1NS4uNGY5N2RjZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlPYmplY3RPRVMu
aApAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAg
ICAKKyAgICAgICAgYm9vbCBpc0JvdW5kKCkgY29uc3QgeyByZXR1cm4gYnVmZmVyQmluZGluZyAm
JiBidWZmZXJCaW5kaW5nLT5vYmplY3QoKTsgfQorICAgICAgICBib29sIHZhbGlkYXRlQmluZGlu
ZygpIGNvbnN0IHsgcmV0dXJuICFlbmFibGVkIHx8IGlzQm91bmQoKTsgfQorCiAgICAgICAgIGJv
b2wgZW5hYmxlZDsKICAgICAgICAgUmVmUHRyPFdlYkdMQnVmZmVyPiBidWZmZXJCaW5kaW5nOwog
ICAgICAgICBHQzNEc2l6ZWkgYnl0ZXNQZXJFbGVtZW50Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>