Closed Bug 774841 Opened 10 years ago Closed 10 years ago

fImageTargetTexture2D is not defined properly on maemo/meego/ubuntu-arm linux

Categories

(Core :: Graphics, defect)

ARM
MeeGo
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17

People

(Reporter: romaxa, Assigned: jgilbert)

References

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

On harmattan N9 fennec just crashes on startup
~ $ /opt/fennec/lib/fennec-17.0a1/fennec
###################################### forms.js loaded
###################################### content loaded
Attempting load of libEGL.so
Can't find symbol 'EGLImageTargetTexture2DOES'
Can't find symbol 'GetTexImage'
Can't find symbol 'GetTexLevelParameteriv'
Segmentation fault (core dumped)


0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x415fd324 in fImageTargetTexture2D (this=0x4658f340, aSize=<value optimized out>)
    at gfx/gl/GLContext.h:3086
#2  mozilla::gl::TextureImageEGL::CreateBackingSurface (this=0x4658f340, aSize=<value optimized out>)
    at gfx/gl/GLContextProviderEGL.cpp:1528
#3  0x415fe0ec in Resize (this=0x4652dc00, aSize=..., aContentType=gfxASurface::CONTENT_COLOR, 
    aFlags=mozilla::gl::TextureImage::NoFlags) at gfx/gl/GLContextProviderEGL.cpp:1290
#4  TextureImageEGL (this=0x4652dc00, aSize=..., aContentType=gfxASurface::CONTENT_COLOR, 
    aFlags=mozilla::gl::TextureImage::NoFlags) at gfx/gl/GLContextProviderEGL.cpp:1016
#5  mozilla::gl::GLContextEGL::TileGenFunc (this=0x4652dc00, aSize=..., aContentType=gfxASurface::CONTENT_COLOR, 
    aFlags=mozilla::gl::TextureImage::NoFlags) at gfx/gl/GLContextProviderEGL.cpp:1628
#6  0x415f494c in mozilla::gl::TiledTextureImage::Resize (this=0x461645e0, aSize=<value optimized out>)
    at gfx/gl/GLContext.cpp:1242
#7  0x415f4dbc in mozilla::gl::TiledTextureImage::TiledTextureImage (this=0x461645e0, aGL=<value optimized out>, aSize=..., 
    aContentType=gfxASurface::CONTENT_COLOR, aFlags=mozilla::gl::TextureImage::NoFlags)
    at gfx/gl/GLContext.cpp:917
#8  0x415fc544 in mozilla::gl::GLContextEGL::CreateTextureImage (this=0x4652dc00, aSize=..., 
    aContentType=gfxASurface::CONTENT_COLOR, aWrapMode=<value optimized out>, aFlags=mozilla::gl::TextureImage::NoFlags)
    at gfx/gl/GLContextProviderEGL.cpp:1613
#9  0x415dd97c in CreateClampOrRepeatTextureImage (this=0x4614ea40, aContentType=<value optimized out>, 
    aFlags=<value optimized out>) at gfx/layers/opengl/ThebesLayerOGL.cpp:50
#10 mozilla::layers::BasicBufferOGL::BeginPaint (this=0x4614ea40, aContentType=<value optimized out>, aFlags=<value optimized out>)
    at gfx/layers/opengl/ThebesLayerOGL.cpp:555
#11 0x415dbcd8 in mozilla::layers::ThebesLayerOGL::RenderLayer (this=0x45f17180, aPreviousFrameBuffer=0, aOffset=...)
    at gfx/layers/opengl/ThebesLayerOGL.cpp:812
#12 0x415c9308 in mozilla::layers::ContainerRender<mozilla::layers::ContainerLayerOGL> (aContainer=0x435252c0, 
    aPreviousFrameBuffer=<value optimized out>, aOffset=<value optimized out>, aManager=<value optimized out>)
    at gfx/layers/opengl/ContainerLayerOGL.cpp:220
#13 0x415d72e8 in mozilla::layers::LayerManagerOGL::Render (this=0x4624e4d0)
    at gfx/layers/opengl/LayerManagerOGL.cpp:787
#14 0x415d7f04 in mozilla::layers::LayerManagerOGL::EndTransaction (this=0x4624e4d0, aCallback=
    0x40420790 <mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*)>, aCallbackData=0xaef55120, aFlags=<value optimized out>)
    at gfx/layers/opengl/LayerManagerOGL.cpp:414
#15 0x40467a74 in nsDisplayList::PaintForFrame (this=<value optimized out>, aBuilder=0xaef55120, aCtx=<value optimized out>, 
    aForFrame=0x44bed7e8, aFlags=0) at layout/base/nsDisplayList.cpp:646
#16 0x40467c58 in nsDisplayList::PaintRoot (this=0xde1, aBuilder=0x4614c880, aCtx=0x4652dc00, aFlags=<value optimized out>)
    at layout/base/nsDisplayList.cpp:551
#17 0x40487f4c in nsLayoutUtils::PaintFrame (aRenderingContext=<value optimized out>, aFrame=0x44bed7e8, 
---Type <return> to continue, or q <return> to quit---q
aDirtyRegion=<value optimizQuit
yes it works fine with android drivers/libraries, but not with linux EGL version
Attached patch patch (obsolete) — Splinter Review
We were checking the wrong extension here.
The correct extension is: GL_OES_EGL_image:
http://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image.txt
Assignee: nobody → jgilbert
Status: NEW → ASSIGNED
Attachment #643547 - Flags: review?(bgirard)
Comment on attachment 643547 [details] [diff] [review]
patch

I'm ok with the ext change but NOT the ifdef stuff.

conditional r+ on that being removed.
Attachment #643547 - Flags: review?(bgirard) → review+
Attached patch fixed patchSplinter Review
Oops, fixed and carried over r+.
Attachment #643547 - Attachment is obsolete: true
Attachment #643559 - Flags: review+
Blocks: 774059
https://hg.mozilla.org/mozilla-central/rev/260ccc75c211
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Ok, that fix did not solve the problem.
real problem in lookup function which never initialized in GL context and without that function we cannot load symbols on linux (don't know why it works on android)
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attachment #644807 - Flags: review?(jgilbert)
Comment on attachment 644807 [details] [diff] [review]
SetupLookup function before load GL symbols

Review of attachment 644807 [details] [diff] [review]:
-----------------------------------------------------------------

Interesting. Yes, this is indeed the case. We do this on WGL, GLX, and even OSMesa, but not EGL.
GLLibraryLoader::LookupSymbol is designed to try to work even in the absence of mLookupFunction, but it's not as likely to.
Attachment #644807 - Flags: review?(jgilbert) → review+
Keywords: checkin-needed
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/b8196337a85e
Status: ASSIGNED → RESOLVED
Closed: 10 years ago10 years ago
Resolution: --- → FIXED
Blocks: 750198
You need to log in before you can comment on or make changes to this bug.