<?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>98966</bug_id>
          
          <creation_ts>2012-10-10 16:24:04 -0700</creation_ts>
          <short_desc>[WebGL] [Mac] only the mapped symbol for the first element of a uniform/attribute array is stored</short_desc>
          <delta_ts>2012-11-28 11:37:08 -0800</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>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roger Fong">roger_fong</reporter>
          <assigned_to name="Roger Fong">roger_fong</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>gman</cc>
    
    <cc>kbr</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>739380</commentid>
    <comment_count>0</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-10-10 16:24:04 -0700</bug_when>
    <thetext>We currently only created a mapped symbol name for the first element of a uniform/attribute variable array.
So for example:
float color_imagine_really_long_name_here[4]

We only create a mapped name for color_imagine_really_long_name_here[0].

This is because the TCompiler only creates one uniform for &quot;color_imagine_really_long_name_here&quot; not 4 and when we look for this uniform using ShGetActiveUniform (as we compile in AngleWebKitBridge::compileShaderSource) it only gives us the name we get back is just color_imagine_really_long_name_here[0] and color_short_name[0].

While we only get this one uniform for the symbol, we also get the size of the symbol, which corresponds to the size of the array (if it isn&apos;t an array the size is just 1).

Using this information we know what the corresponding name and mapped names are.

color_imagine_really_long_name_here[1] and color_short_name[1]
color_imagine_really_long_name_here[2] and color_short_name[2]
etc...

Note that the compiler did correctly map the other entries of the array to their shorter names, but just that it doesn&apos;t think of each entry as a separate uniform.
The only thing that seems to differ between the shorter names of entries of an array is the [index] at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739381</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-10-10 16:24:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/12474910&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740271</commentid>
    <comment_count>2</comment_count>
      <attachid>168279</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-10-11 14:36:04 -0700</bug_when>
    <thetext>Created attachment 168279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740281</commentid>
    <comment_count>3</comment_count>
      <attachid>168279</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-10-11 14:53:34 -0700</bug_when>
    <thetext>Comment on attachment 168279
Patch

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

&gt; Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp:104
&gt; +                name.replace(name.length()-2, 1, String::number(i));
&gt; +                mappedName.replace(mappedName.length()-2, 1, String::number(i));

Nit: space needed each side of -</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778116</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-11-28 11:37:08 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/131105</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168279</attachid>
            <date>2012-10-11 14:36:04 -0700</date>
            <delta_ts>2012-10-11 14:53:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98966-20121011143456.patch</filename>
            <type>text/plain</type>
            <size>3062</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwOTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBlMjMwZjA5YWNlNjA4
OWI3ZGEwMzdkOTY3MTYxOGNjY2Q4NjU2Mi4uYjdiYjIxNGYxYTNmNDYyOGU5NTBmMjBmNWRlYjJl
Y2JlZTQzMmRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTExICBSb2dl
ciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdMXSBbTWFjXSBv
bmx5IHRoZSBtYXBwZWQgc3ltYm9sIGZvciB0aGUgZmlyc3QgZWxlbWVudCBvZiBhIHVuaWZvcm0v
YXR0cmlidXRlIGFycmF5IGlzIHN0b3JlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk4OTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2UgY3VycmVudGx5IGRvIG5vdCBhZGQgbmFtZS9tYXBwZWROYW1l
IHN5bWJvbCBwYWlycyBmb3IgZWFjaCBlbGVtZW50IG9mIGEgdW5pZm9ybS9hdHRyaWJ1dGUgYXJy
YXkuCisgICAgICAgIFRoaXMgaXMgYmVjYXVzZSB3ZSBvbmx5IGFkZCBhIG51bWJlciBvZiBzeW1i
b2xzIGVxdWFsIHRvIGhvdyBtYW55IHN5bWJvbHMgdGhlIHNoYWRlciBjb21waWxlciB0ZWxscyB1
cyB0aGVyZSBhcmUuCisgICAgICAgIFRoZSBzaGFkZXIgY29tcGlsZXIgdHJlYXRzIGFuIGFycmF5
IGFzIGEgc2luZ2xlIHVuaWZvcm0uIFdlIG5lZWQgdG8gYmUgYWRkaW5nIGluIHN5bWJvbHMgdG8g
dGhlIG1hcCBmb3IgZWFjaCBlbGVtZW50IG9mIHRoZSBhcnJheSBvdXJzZWx2ZXMuCisgICAgICAg
IFRoZSBtYXBwZWROYW1lIG9mIGVhY2ggYXJyYXkgZWxlbWVudCBpcyB0aGUgc2FtZSBiZXR3ZWVu
IGVsZW1lbnRzIGV4Y2VwdCBmb3IgdGhlICJbaW5kZXhdIiBhdCB0aGUgZW5kIHNvIHRoaXMgaXMg
ZWFzeSB0byBkby4KKworICAgICAgICBUZXN0ZWQgdXNpbmcgS2hyb25vcyBXZWJHTCBjb25mb3Jt
YW5jZSBzdWl0ZToKKyAgICAgICAgY29uZm9ybWFuY2UvZ2xzbC9taXNjL2dsc2wtbG9uZy12YXJp
YWJsZS1uYW1lcy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktp
dEJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRTeW1ib2xJbmZvKToKKwogMjAxMi0x
MC0xMCAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJH
TF0gW09uIE1hY10gcXVlcmllZCBhdHRyaWJ1dGVzIGFuZCB1bmlmb3JtcyBuZWVkIHRvIHJldHVy
biB0aGUgb3JpZ2luYWwgdmFyaWFibGUgbmFtZSwgbm90IHRoZSBtYXBwZWQgbmFtZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FOR0xFV2ViS2l0QnJpZGdl
LmNwcAppbmRleCAwNjQ4MmFlZDE5ZmQxMTVjNDA4MTJmMWZhMTVjZjQ1OTZhZGYwZGE1Li4zNzVk
NzY1NDY1NGYyNTZlMTVmMzk2MTE4ZDk5ZGY3NTZlZWM1OTBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlkZ2UuY3BwCkBAIC05
NCw5ICs5NCwyMyBAQCBzdGF0aWMgYm9vbCBnZXRTeW1ib2xJbmZvKFNoSGFuZGxlIGNvbXBpbGVy
LCBTaFNoYWRlckluZm8gc3ltYm9sVHlwZSwgVmVjdG9yPEFORwogICAgICAgICAvLyBuYW1lQnVm
ZmVyIGFuZCBtYXBwZWROYW1lQnVmZmVyLiBBbHNvLCB0aGUgY2hhcmFjdGVyIHNldCBmb3Igc3lt
Ym9sIG5hbWVzCiAgICAgICAgIC8vIGlzIGEgc3Vic2V0IG9mIExhdGluLTEgYXMgc3BlY2lmaWVk
IGJ5IHRoZSBPcGVuR0wgRVMgU2hhZGluZyBMYW5ndWFnZSwgU2VjdGlvbiAzLjEgYW5kCiAgICAg
ICAgIC8vIFdlYkdMLCBTZWN0aW9uICJDaGFyYWN0ZXJzIE91dHNpZGUgdGhlIEdMU0wgU291cmNl
IENoYXJhY3RlciBTZXQiLgotICAgICAgICBzeW1ib2wubmFtZSA9IFN0cmluZyhuYW1lQnVmZmVy
LmRhdGEoKSk7Ci0gICAgICAgIHN5bWJvbC5tYXBwZWROYW1lID0gU3RyaW5nKG1hcHBlZE5hbWVC
dWZmZXIuZGF0YSgpKTsKLSAgICAgICAgc3ltYm9scy5hcHBlbmQoc3ltYm9sKTsKKyAgICAgICAg
CisgICAgICAgIC8vIElmIHRoZSB2YXJpYWJsZSBpcyBhbiBhcnJheSwgYWRkIHN5bWJvbHMgZm9y
IGVhY2ggYXJyYXkgZWxlbWVudAorICAgICAgICBpZiAoc3ltYm9sLnNpemUgPiAxKSB7CisgICAg
ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHN5bWJvbC5zaXplOyBpKyspIHsKKyAgICAgICAg
ICAgICAgICBTdHJpbmcgbmFtZSA9IG5hbWVCdWZmZXIuZGF0YSgpOworICAgICAgICAgICAgICAg
IFN0cmluZyBtYXBwZWROYW1lID0gbWFwcGVkTmFtZUJ1ZmZlci5kYXRhKCk7CisgICAgICAgICAg
ICAgICAgbmFtZS5yZXBsYWNlKG5hbWUubGVuZ3RoKCktMiwgMSwgU3RyaW5nOjpudW1iZXIoaSkp
OworICAgICAgICAgICAgICAgIG1hcHBlZE5hbWUucmVwbGFjZShtYXBwZWROYW1lLmxlbmd0aCgp
LTIsIDEsIFN0cmluZzo6bnVtYmVyKGkpKTsKKyAgICAgICAgICAgICAgICBzeW1ib2wubmFtZSA9
IG5hbWU7CisgICAgICAgICAgICAgICAgc3ltYm9sLm1hcHBlZE5hbWUgPSBtYXBwZWROYW1lOwor
ICAgICAgICAgICAgICAgIHN5bWJvbHMuYXBwZW5kKHN5bWJvbCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzeW1ib2wubmFtZSA9IFN0cmluZyhuYW1lQnVm
ZmVyLmRhdGEoKSk7CisgICAgICAgICAgICBzeW1ib2wubWFwcGVkTmFtZSA9IFN0cmluZyhtYXBw
ZWROYW1lQnVmZmVyLmRhdGEoKSk7CisgICAgICAgICAgICBzeW1ib2xzLmFwcGVuZChzeW1ib2wp
OworICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQo=
</data>
<flag name="review"
          id="181213"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>