<?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>58731</bug_id>
          
          <creation_ts>2011-04-16 10:54:32 -0700</creation_ts>
          <short_desc>[Texmap] [Qt] Do not reset a texture if it comes from imageToTexture pool.</short_desc>
          <delta_ts>2012-02-14 04:35:43 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>47070</dependson>
    
    <dependson>58903</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Young Han Lee">joybro201</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>eric</cc>
    
    <cc>kbr</cc>
    
    <cc>noam</cc>
    
    <cc>skyul</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387263</commentid>
    <comment_count>0</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-04-16 10:54:32 -0700</bug_when>
    <thetext>imageToTexture is a pool of textures to share it between BitmapTextureGLs.

The textures in the pool are already initialized and filled with image data, so they doesn&apos;t have to be initialized again when it comes from the pool.

The current implementation always reset the texture whether it is found in the pool or new. This causes a problem that openGL draws a texture, which has garbage data, to screen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387265</commentid>
    <comment_count>1</comment_count>
      <attachid>89926</attachid>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-04-16 11:06:08 -0700</bug_when>
    <thetext>Created attachment 89926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387267</commentid>
    <comment_count>2</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-04-16 11:15:04 -0700</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387346</commentid>
    <comment_count>3</comment_count>
      <attachid>89926</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-04-17 05:16:28 -0700</bug_when>
    <thetext>Comment on attachment 89926
Patch

Any reason not to make a pixel test for the bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387503</commentid>
    <comment_count>4</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-04-17 19:36:27 -0700</bug_when>
    <thetext>I&apos;m not sure it&apos;s possible to test animation features like this using a pixel test.
If so, please let me know any hint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387509</commentid>
    <comment_count>5</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2011-04-17 20:42:58 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 89926 [details])
&gt; Any reason not to make a pixel test for the bug?

We still don&apos;t have a way to pixel-test the opengl backend.
If we had, the tests under LayoutTests/compositing should be sufficient for these optimizations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387790</commentid>
    <comment_count>6</comment_count>
      <attachid>89926</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-18 09:26:49 -0700</bug_when>
    <thetext>Comment on attachment 89926
Patch

How do we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387971</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-04-18 13:16:33 -0700</bug_when>
    <thetext>In Chromium glReadPixels is used in order to run pixel tests for the accelerated compositor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388208</commentid>
    <comment_count>8</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-04-18 18:49:39 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; In Chromium glReadPixels is used in order to run pixel tests for the accelerated compositor.

Could you refer me to the Chrominum&apos;s pixel test cases or DRT code for those tests which is using glReadPixels?
I failed to find how Chromium does to test accelerated compositor in WebKit source.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388236</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-04-18 19:20:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; In Chromium glReadPixels is used in order to run pixel tests for the accelerated compositor.
&gt; 
&gt; Could you refer me to the Chrominum&apos;s pixel test cases or DRT code for those tests which is using glReadPixels?
&gt; I failed to find how Chromium does to test accelerated compositor in WebKit source.

Chromium&apos;s test expectations for tests involving the compositor are checked in under LayoutTests/platform/chromium-gpu/compositing/.

There are several places in Chromium&apos;s code where the behavior is switched between the full browser and DRT. One example is using the real OpenGL on the system vs. the Mesa software renderer. However, the key place where the readback is done for DRT is in WebViewImpl::paint, Source/WebKit/chromium/src/WebViewImpl.cpp. When running in DRT, the passed-in WebCanvas is non-NULL, and the readback is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388536</commentid>
    <comment_count>10</comment_count>
    <who name="Young Han Lee">joybro201</who>
    <bug_when>2011-04-19 09:08:04 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; In Chromium glReadPixels is used in order to run pixel tests for the accelerated compositor.
&gt; &gt; 
&gt; &gt; Could you refer me to the Chrominum&apos;s pixel test cases or DRT code for those tests which is using glReadPixels?
&gt; &gt; I failed to find how Chromium does to test accelerated compositor in WebKit source.
&gt; 
&gt; Chromium&apos;s test expectations for tests involving the compositor are checked in under LayoutTests/platform/chromium-gpu/compositing/.
&gt; 
&gt; There are several places in Chromium&apos;s code where the behavior is switched between the full browser and DRT. One example is using the real OpenGL on the system vs. the Mesa software renderer. However, the key place where the readback is done for DRT is in WebViewImpl::paint, Source/WebKit/chromium/src/WebViewImpl.cpp. When running in DRT, the passed-in WebCanvas is non-NULL, and the readback is done.

Thanks for the detailed reply.

It seems that Qt&apos;s WebKit and DRT also have to be modified in the same way for a pixel-test.

I will try to patch this in the near future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556214</commentid>
    <comment_count>11</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-02-14 04:35:43 -0800</bug_when>
    <thetext>Code has completely changed, this no longer applies.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89926</attachid>
            <date>2011-04-16 11:06:08 -0700</date>
            <delta_ts>2011-04-18 09:26:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>1960</size>
            <attacher name="Young Han Lee">joybro201</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0MDg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMTYgIFlvdW5nIEhh
biBMZWUgIDxqb3licm9AY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1RleG1hcF0gW1F0XSBEbyBub3QgcmVzZXQgYSB0ZXh0
dXJlIGlmIGl0IGNvbWVzIGZyb20gaW1hZ2VUb1RleHR1cmUgcG9vbC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NzMxCisKKyAgICAgICAgZmluZE9y
Q3JlYXRlIGZ1bmN0aW9uIHJldHVybnMgdGhlIGlkIG9mIGVpdGhlciBhIHRleHR1cmUgaW4gdGhl
IHBvb2wgb3IgbmV3LgorICAgICAgICBJZiBpdCBpcyBhIG5ldyB0ZXh0dXJlLCBpdCBoYXZlIHRv
IGJlIGludGlhbGl6ZWQgYW5kIGZpbGxlZCB3aXRoIHRoZSBpbWFnZS4KKyAgICAgICAgQnV0IGlm
IGl0IGlzIGZyb20gdGhlIHBvb2wsIGl0IGRvZXNuJ3QgaGF2ZSB0byBkbyB0aGF0IGJlY2F1c2Ug
aXQgaGFzIGFscmVhZHkgZG9uZQorICAgICAgICBpbiB0aGUgZm9ybWVyIGNhc2UuCisKKyAgICAg
ICAgVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYWx3YXlzIHJlc2V0IHRoZSB0ZXh0dXJlLCBh
bmQgdGhpcyBjYXVzZXMgYSBwcm9ibGVtIHRoYXQgb3BlbkdMIGRyYXcKKyAgICAgICAgYSB0ZXh0
dXJlLCB3aGljaCBoYXMgZ2FyYmFnZSBkYXRhLCB0byBzY3JlZW4uCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9vcGVuZ2wvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJpdG1hcFRleHR1cmVHTDo6c2V0Q29udGVudHNUb0ltYWdlKToKKwogMjAxMS0wNC0xNiAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9UZXh0dXJlTWFwcGVyR0wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9UZXh0dXJlTWFwcGVyR0wuY3BwCShyZXZpc2lvbiA4
NDA4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9UZXh0dXJl
TWFwcGVyR0wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTgsMTMgKzQ5OCwxMyBAQCB2b2lkIEJp
dG1hcFRleHR1cmVHTDo6c2V0Q29udGVudHNUb0ltYWdlCiAgICAgaWYgKG5ld1RleHR1cmVJRCAh
PSBtX2lkKSB7CiAgICAgICAgIGRlc3Ryb3koKTsKICAgICAgICAgbV9pZCA9IG5ld1RleHR1cmVJ
RDsKLSAgICAgICAgcmVzZXQoaW1hZ2UtPnNpemUoKSwgZmFsc2UpOwotICAgICAgICBtX2ltYWdl
ID0gbmF0aXZlSW1hZ2U7CiAgICAgICAgIGlmICghZm91bmQpIHsKKyAgICAgICAgICAgIHJlc2V0
KGltYWdlLT5zaXplKCksIGZhbHNlKTsKICAgICAgICAgICAgIEdyYXBoaWNzQ29udGV4dCBjb250
ZXh0KGJlZ2luUGFpbnQoSW50UmVjdCgwLCAwLCBtX3RleHR1cmVTaXplLndpZHRoKCksIG1fdGV4
dHVyZVNpemUuaGVpZ2h0KCkpKSk7CiAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFn
ZSwgQ29sb3JTcGFjZURldmljZVJHQiwgSW50UG9pbnQoMCwgMCksIENvbXBvc2l0ZUNvcHkpOwog
ICAgICAgICAgICAgZW5kUGFpbnQoKTsKICAgICAgICAgfQorICAgICAgICBtX2ltYWdlID0gbmF0
aXZlSW1hZ2U7CiAgICAgfQogfQogCg==
</data>
<flag name="review"
          id="82642"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>