WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
118464
REGRESSION(
r151957
): WebGL textures do not show
https://bugs.webkit.org/show_bug.cgi?id=118464
Summary
REGRESSION(r151957): WebGL textures do not show
Tomasz Morawski
Reported
2013-07-08 04:46:02 PDT
Currently, WebGL textures do not show at all. It seems that the patch: Checking if frame is complete and access duration doesn't need a decode
https://bugs.webkit.org/show_bug.cgi?id=116041
is responsible for the regression. Moreover, one of Kronos conformance don't pass now.
https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/gl-teximage.html
Please also check any webgl sample that uses textures like this one:
http://webglsamples.googlecode.com/hg/aquarium/aquarium.html
Tested on EFL port only.
Attachments
Texture loading test case
(3.30 KB, application/octet-stream)
2013-07-09 04:28 PDT
,
Karol
no flags
Details
Patch
(3.16 KB, patch)
2013-07-09 09:44 PDT
,
Csaba Osztrogonác
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Csaba Osztrogonác
Comment 1
2013-07-08 08:47:25 PDT
Thanks for reporting. I can confirm,
http://trac.webkit.org/changeset/151957
is responsible for this bug on EFL and Nix too. Reverting this patch locally solved the bug for me. (aquarius example and the khronos test too) Additionally I checked it on Qt too and it works fine with and without this patch. I have an idea, maybe it is related to Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp somehow. Let me try to debug it.
Csaba Osztrogonác
Comment 2
2013-07-08 08:50:53 PDT
I got the following errors on the khronos test with Nix: $ WebKitBuild/Release/bin/MiniBrowser
https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/gl-teximage.html
MiniBrowser: Use Alt + Left and Alt + Right to navigate back and forward. Use F5 to reload. Touch Emulation Mode enabled. Hold Control key to build and emit a multi-touch event: each mouse button should be a different touch point. Release Control Key to clear all tracking pressed touches. Use Control + mouse wheel to zoom in and out. [js:2099] requestAnimationFrame [js:2099] cancelAnimationFrame [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data [js:0] WebGL: INVALID_VALUE: texImage2D: bad image data X Error of failed request: GLXBadPixmap Major opcode of failed request: 135 (GLX) Minor opcode of failed request: 16 (X_GLXVendorPrivate) Serial number of failed request: 0 Current serial number in output stream: 28
Csaba Osztrogonác
Comment 3
2013-07-08 08:57:55 PDT
(In reply to
comment #1
)
> I have an idea, maybe it is related to Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp somehow. Let me try to debug it.
Or BitmapImageCairo.cpp.
Karol
Comment 4
2013-07-09 04:28:39 PDT
Created
attachment 206306
[details]
Texture loading test case I prepared test case showing where problem can be: At first it creates texture (no problem) Than loads data to texture from array buffer (no problem) Than attempts to load texture from separate *.png image (problem) It passes on older version of webkit and in other browsers.
Csaba Osztrogonác
Comment 5
2013-07-09 09:12:55 PDT
I got the bug. ;) The problem is that GraphicsContext3D::ImageExtractor::extractImage(...) in Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp returns with false if !decoder.frameIsCompleteAtIndex(0). Before
r151957
frameIsCompleteAtIndex(...) called m_decoder->frameBufferAtIndex(...) which ensured that the image will be decoded: - ImageFrame* buffer = m_decoder->frameBufferAtIndex(index); - return buffer && buffer->status() == ImageFrame::FrameComplete; + return m_decoder && m_decoder->frameIsCompleteAtIndex(index); But after
r151957
frameIsCompleteAtIndex(...) doesn't trigger decoding, Fix is coming soon.
Csaba Osztrogonác
Comment 6
2013-07-09 09:44:44 PDT
Created
attachment 206331
[details]
Patch
Csaba Osztrogonác
Comment 7
2013-07-09 09:48:41 PDT
(In reply to
comment #6
)
> Created an attachment (id=206331) [details] > Patch
Tested on EFL and Nix too. And it fixed the bug, of course. :)
Peter Kasting
Comment 8
2013-07-09 10:15:23 PDT
Comment on
attachment 206331
[details]
Patch I can confirm that this is what Chromium does.
Csaba Osztrogonác
Comment 9
2013-07-10 00:55:10 PDT
ping for review :)
Kalyan
Comment 10
2013-07-10 01:33:42 PDT
(In reply to
comment #9
)
> ping for review :)
Thanks for the fix. LGTM
Chris Dumez
Comment 11
2013-07-10 01:35:31 PDT
Comment on
attachment 206331
[details]
Patch R=me.
WebKit Commit Bot
Comment 12
2013-07-10 01:47:14 PDT
Comment on
attachment 206331
[details]
Patch Clearing flags on attachment: 206331 Committed
r152531
: <
http://trac.webkit.org/changeset/152531
>
WebKit Commit Bot
Comment 13
2013-07-10 01:47:18 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug