<?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>108812</bug_id>
          
          <creation_ts>2013-02-04 03:43:49 -0800</creation_ts>
          <short_desc>Fix the issue that some possible source formats are ignored for float textures in texture packing for CG port</short_desc>
          <delta_ts>2013-02-04 18:27:24 -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>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>0</everconfirmed>
          <reporter name="Jun Jiang">jun.a.jiang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>824209</commentid>
    <comment_count>0</comment_count>
    <who name="Jun Jiang">jun.a.jiang</who>
    <bug_when>2013-02-04 03:43:49 -0800</bug_when>
    <thetext>There is a bug affecting CG port in the texture packing code when the destination type is float. The possible formats from DOM elements or ImageData are specified in function srcFormatComeFromDOMElementOrImageData() which was defined in GraphicsContext3D.h. For non-CG port, it could be only BGRA8 or RGBA8 only. But for CG port, there are several other possible formats. 
In the FormatConverter::convert(...) function, when the destination type is float, if the source format type is not float, then the source format must be from DOM elements or ImageData. In the conditional statement to check this kinds of combination, the possible source formats are hard coded to RGBA8 and BGRA8 which would result in early return for CG port when the source formats are of other possible formats(RGB8, etc). 
Moreover, there is a more precise checking for source formats from DOM elements or ImageData afterwards and the checking code stated above is really redundant. The other issue is that the unpack functions to convert other possible source formats(RGB8, etc) to RGBA32F is missing. What we need to do is adding those missing functions and remove the non-accurate checking code. 
Then it will go to the checking code like &quot;if (!srcFormatComesFromDOMElementOrImageData &amp;&amp; SrcFormat != DstFormat)&quot; and make the right decision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824228</commentid>
    <comment_count>1</comment_count>
      <attachid>186343</attachid>
    <who name="Jun Jiang">jun.a.jiang</who>
    <bug_when>2013-02-04 04:02:36 -0800</bug_when>
    <thetext>Created attachment 186343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824979</commentid>
    <comment_count>2</comment_count>
      <attachid>186343</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-04 18:03:38 -0800</bug_when>
    <thetext>Comment on attachment 186343
Patch

Thanks for the patch. The fix looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824996</commentid>
    <comment_count>3</comment_count>
      <attachid>186343</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 18:27:21 -0800</bug_when>
    <thetext>Comment on attachment 186343
Patch

Clearing flags on attachment: 186343

Committed r141843: &lt;http://trac.webkit.org/changeset/141843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824997</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 18:27:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186343</attachid>
            <date>2013-02-04 04:02:36 -0800</date>
            <delta_ts>2013-02-04 18:27:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108812-20130204200039.patch</filename>
            <type>text/plain</type>
            <size>3976</size>
            <attacher name="Jun Jiang">jun.a.jiang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFmZDIxZmM1ODM4MWUy
NWNlMTc4MDg2ZTBjMzRiNTkyNTBjMWY5Yy4uOTUwMzYyZTFlYWIwODI1ZWNiNjdjZWNhOGZlMjlh
NmVhOGM2NmZjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAyLTA0ICBKdW4g
SmlhbmcgIDxqdW4uYS5qaWFuZ0BpbnRlbC5jb20+CisKKyAgICAgICAgRml4IHRoZSBpc3N1ZSB0
aGF0IHNvbWUgcG9zc2libGUgc291cmNlIGZvcm1hdHMgYXJlIGlnbm9yZWQgZm9yIGZsb2F0IHRl
eHR1cmVzIGluIHRleHR1cmUgcGFja2luZyBmb3IgQ0cgcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4ODEyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxyZWFkeSBjb3ZlcmVkIGJ5IGxhdGVzdCBX
ZWJHTCBjb25mb3JtYW5jZSB0ZXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0M0QuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTMtMDItMDQgIERh
biBDYXJuZXkgIDxkY2FybmV5QGdvb2dsZS5jb20+CiAKICAgICAgICAgW3Y4XSBkaXNhYmxlIGFz
Y2lpIGNoZWNrIG9uY2UgbGF0aW4tMSBpcyBlbmFibGVkIGluIHY4CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKaW5kZXgg
N2RiM2ZkZTQyODRlY2RlMDg2ZGI4NmU4NmJiMzZkNTQ4MGE1NWFjYi4uYzRjYWM0NzJiYzdkMmU3
Nzk0NDIwYzA5YTljNWEwZTRiYmU4ZjcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcApAQCAtNzMzLDYgKzczMyw1
OCBAQCB0ZW1wbGF0ZTw+IEFMV0FZU19JTkxJTkUgdm9pZCB1bnBhY2s8R3JhcGhpY3NDb250ZXh0
M0Q6OkRhdGFGb3JtYXRCR1JBOCwgdWludDhfdAogICAgIH0KIH0KIAordGVtcGxhdGU8PiBBTFdB
WVNfSU5MSU5FIHZvaWQgdW5wYWNrPEdyYXBoaWNzQ29udGV4dDNEOjpEYXRhRm9ybWF0QUJHUjgs
IHVpbnQ4X3QsIGZsb2F0Pihjb25zdCB1aW50OF90KiBzb3VyY2UsIGZsb2F0KiBkZXN0aW5hdGlv
biwgdW5zaWduZWQgcGl4ZWxzUGVyUm93KQoreworICAgIGNvbnN0IGZsb2F0IHNjYWxlRmFjdG9y
ID0gMS4wZiAvIDI1NS4wZjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGl4ZWxzUGVy
Um93OyArK2kpIHsKKyAgICAgICAgZGVzdGluYXRpb25bMF0gPSBzb3VyY2VbM10gKiBzY2FsZUZh
Y3RvcjsKKyAgICAgICAgZGVzdGluYXRpb25bMV0gPSBzb3VyY2VbMl0gKiBzY2FsZUZhY3RvcjsK
KyAgICAgICAgZGVzdGluYXRpb25bMl0gPSBzb3VyY2VbMV0gKiBzY2FsZUZhY3RvcjsKKyAgICAg
ICAgZGVzdGluYXRpb25bM10gPSBzb3VyY2VbMF0gKiBzY2FsZUZhY3RvcjsKKyAgICAgICAgc291
cmNlICs9IDQ7CisgICAgICAgIGRlc3RpbmF0aW9uICs9IDQ7CisgICAgfQorfQorCit0ZW1wbGF0
ZTw+IEFMV0FZU19JTkxJTkUgdm9pZCB1bnBhY2s8R3JhcGhpY3NDb250ZXh0M0Q6OkRhdGFGb3Jt
YXRBUkdCOCwgdWludDhfdCwgZmxvYXQ+KGNvbnN0IHVpbnQ4X3QqIHNvdXJjZSwgZmxvYXQqIGRl
c3RpbmF0aW9uLCB1bnNpZ25lZCBwaXhlbHNQZXJSb3cpCit7CisgICAgY29uc3QgZmxvYXQgc2Nh
bGVGYWN0b3IgPSAxLjBmIC8gMjU1LjBmOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBw
aXhlbHNQZXJSb3c7ICsraSkgeworICAgICAgICBkZXN0aW5hdGlvblswXSA9IHNvdXJjZVsxXSAq
IHNjYWxlRmFjdG9yOworICAgICAgICBkZXN0aW5hdGlvblsxXSA9IHNvdXJjZVsyXSAqIHNjYWxl
RmFjdG9yOworICAgICAgICBkZXN0aW5hdGlvblsyXSA9IHNvdXJjZVszXSAqIHNjYWxlRmFjdG9y
OworICAgICAgICBkZXN0aW5hdGlvblszXSA9IHNvdXJjZVswXSAqIHNjYWxlRmFjdG9yOworICAg
ICAgICBzb3VyY2UgKz0gNDsKKyAgICAgICAgZGVzdGluYXRpb24gKz0gNDsKKyAgICB9Cit9CisK
K3RlbXBsYXRlPD4gQUxXQVlTX0lOTElORSB2b2lkIHVucGFjazxHcmFwaGljc0NvbnRleHQzRDo6
RGF0YUZvcm1hdFJHQjgsIHVpbnQ4X3QsIGZsb2F0Pihjb25zdCB1aW50OF90KiBzb3VyY2UsIGZs
b2F0KiBkZXN0aW5hdGlvbiwgdW5zaWduZWQgcGl4ZWxzUGVyUm93KQoreworICAgIGNvbnN0IGZs
b2F0IHNjYWxlRmFjdG9yID0gMS4wZiAvIDI1NS4wZjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgcGl4ZWxzUGVyUm93OyArK2kpIHsKKyAgICAgICAgZGVzdGluYXRpb25bMF0gPSBzb3Vy
Y2VbMF0gKiBzY2FsZUZhY3RvcjsKKyAgICAgICAgZGVzdGluYXRpb25bMV0gPSBzb3VyY2VbMV0g
KiBzY2FsZUZhY3RvcjsKKyAgICAgICAgZGVzdGluYXRpb25bMl0gPSBzb3VyY2VbMl0gKiBzY2Fs
ZUZhY3RvcjsKKyAgICAgICAgZGVzdGluYXRpb25bM10gPSAxOworICAgICAgICBzb3VyY2UgKz0g
MzsKKyAgICAgICAgZGVzdGluYXRpb24gKz0gNDsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gQUxX
QVlTX0lOTElORSB2b2lkIHVucGFjazxHcmFwaGljc0NvbnRleHQzRDo6RGF0YUZvcm1hdEJHUjgs
IHVpbnQ4X3QsIGZsb2F0Pihjb25zdCB1aW50OF90KiBzb3VyY2UsIGZsb2F0KiBkZXN0aW5hdGlv
biwgdW5zaWduZWQgcGl4ZWxzUGVyUm93KQoreworICAgIGNvbnN0IGZsb2F0IHNjYWxlRmFjdG9y
ID0gMS4wZiAvIDI1NS4wZjsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcGl4ZWxzUGVy
Um93OyArK2kpIHsKKyAgICAgICAgZGVzdGluYXRpb25bMF0gPSBzb3VyY2VbMl0gKiBzY2FsZUZh
Y3RvcjsKKyAgICAgICAgZGVzdGluYXRpb25bMV0gPSBzb3VyY2VbMV0gKiBzY2FsZUZhY3RvcjsK
KyAgICAgICAgZGVzdGluYXRpb25bMl0gPSBzb3VyY2VbMF0gKiBzY2FsZUZhY3RvcjsKKyAgICAg
ICAgZGVzdGluYXRpb25bM10gPSAxOworICAgICAgICBzb3VyY2UgKz0gMzsKKyAgICAgICAgZGVz
dGluYXRpb24gKz0gNDsKKyAgICB9Cit9CisKIHRlbXBsYXRlPD4gQUxXQVlTX0lOTElORSB2b2lk
IHVucGFjazxHcmFwaGljc0NvbnRleHQzRDo6RGF0YUZvcm1hdFJHQjMyRiwgZmxvYXQsIGZsb2F0
Pihjb25zdCBmbG9hdCogc291cmNlLCBmbG9hdCogZGVzdGluYXRpb24sIHVuc2lnbmVkIHBpeGVs
c1BlclJvdykKIHsKICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHBpeGVsc1BlclJv
dzsgKytpKSB7CkBAIC0xNTI4LDEwICsxNTgwLDYgQEAgQUxXQVlTX0lOTElORSB2b2lkIEZvcm1h
dENvbnZlcnRlcjo6Y29udmVydCgpCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQotICAgIGlmIChJc0Zsb2F0Rm9ybWF0PERzdEZvcm1hdD46OlZh
bHVlICYmICFJc0Zsb2F0Rm9ybWF0PFNyY0Zvcm1hdD46OlZhbHVlICYmIFNyY0Zvcm1hdCAhPSBH
cmFwaGljc0NvbnRleHQzRDo6RGF0YUZvcm1hdFJHQkE4ICYmIFNyY0Zvcm1hdCAhPSBHcmFwaGlj
c0NvbnRleHQzRDo6RGF0YUZvcm1hdEJHUkE4KSB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIGlmICghSXNGbG9hdEZvcm1hdDxEc3RG
b3JtYXQ+OjpWYWx1ZSAmJiBJc0Zsb2F0Rm9ybWF0PFNyY0Zvcm1hdD46OlZhbHVlKSB7CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>