|
From: iluvlinux <ilu...@gm...> - 2008-06-12 13:28:26
|
hi i compiled mesa with new Linux EABI toolchain i am using mesa as a libclutter backend But when I try to run a application which contains some images (.jpg and .pngs) i can only view some colored rectangles instead of images earlier with gnuhash toolchain, the application runs fine, i just switched to new EABI toolchain and every thing messed up. Also i want to know how mesa loads image file, it has its own architecture or it uses some other library as libjpeg etc. kindly help varun -- View this message in context: http://www.nabble.com/Mesa-compilation-using-EABI-toolchain-tp17799971p17799971.html Sent from the mesa3d-users mailing list archive at Nabble.com. |
|
From: Brian P. <bri...@tu...> - 2008-06-12 14:05:45
|
iluvlinux wrote: > hi > > i compiled mesa with new Linux EABI toolchain > i am using mesa as a libclutter backend I've never heard of those things. > But when I try to run a application which contains some images (.jpg and > .pngs) > i can only view some colored rectangles instead of images > > earlier with gnuhash toolchain, the application runs fine, i just switched > to new EABI toolchain and every thing messed up. > > Also i want to know how mesa loads image file, it has its own architecture > or it uses some other library as libjpeg etc. Mesa is an implementation of OpenGL and has no functions for reading/writing image files whatsoever. Typically, a utility library is used to read/decompress an image file into a malloc'd block of memory. That memory/image can then be handed to OpenGL via glTexImage, or glDrawPixels, etc. for rendering/drawing. If you're working with jpegs, I suspect libjpeg is being used. -Brian |
|
From: iluvlinux <ilu...@gm...> - 2008-06-13 10:09:19
|
EABI toolchain is new toolchain provided by ARM http://wiki.debian.org/ArmEabiPort http://wiki.debian.org/ArmEabiPort and clutter is a library that provides simple apis to users who don't know about opengl and related stuff http://clutter-project.org/ http://clutter-project.org/ I did a hexdump of some test images in totally red, or green or blue color, and i found that the pixel values were accurate according to the images. I have no idea were to look into mesa code. i did hexdump in clutter code just before it calls glTexImage2D. Here are some information related to EABI todo list http://wiki.debian.org/ArmEabiTodo http://wiki.debian.org/ArmEabiTodo i have no idea about how to compile mesa with some different options ,all i did to compile mesa is to type "make linux" and it builds cleanly. if you could just help me out by providing some compile options if needed with the new tool chain, i would be highly thankful to you. I know i am asking something that is very difficult. kindly help thanks for your reply varun Brian Paul wrote: > > iluvlinux wrote: >> hi >> >> i compiled mesa with new Linux EABI toolchain >> i am using mesa as a libclutter backend > > I've never heard of those things. > > >> But when I try to run a application which contains some images (.jpg and >> .pngs) >> i can only view some colored rectangles instead of images >> >> earlier with gnuhash toolchain, the application runs fine, i just >> switched >> to new EABI toolchain and every thing messed up. >> >> Also i want to know how mesa loads image file, it has its own >> architecture >> or it uses some other library as libjpeg etc. > > Mesa is an implementation of OpenGL and has no functions for > reading/writing image files whatsoever. > > Typically, a utility library is used to read/decompress an image file > into a malloc'd block of memory. That memory/image can then be handed > to OpenGL via glTexImage, or glDrawPixels, etc. for rendering/drawing. > > If you're working with jpegs, I suspect libjpeg is being used. > > -Brian > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Mesa3d-users mailing list > Mes...@li... > https://lists.sourceforge.net/lists/listinfo/mesa3d-users > > -- View this message in context: http://www.nabble.com/Mesa-compilation-using-EABI-toolchain-tp17799971p17820271.html Sent from the mesa3d-users mailing list archive at Nabble.com. |
|
From: Brian P. <bri...@tu...> - 2008-06-13 14:25:59
|
iluvlinux wrote: > EABI toolchain is new toolchain provided by ARM > http://wiki.debian.org/ArmEabiPort http://wiki.debian.org/ArmEabiPort > > and clutter is a library that provides simple apis to users who don't know > about opengl and related stuff > http://clutter-project.org/ http://clutter-project.org/ > > > I did a hexdump of some test images in totally red, or green or blue color, > and i found that the pixel values were accurate according to the images. I > have no idea were to look into mesa code. i did hexdump in clutter code just > before it calls glTexImage2D. > > > Here are some information related to EABI todo list > http://wiki.debian.org/ArmEabiTodo http://wiki.debian.org/ArmEabiTodo > > > i have no idea about how to compile mesa with some different options ,all i > did to compile mesa is to type "make linux" and it builds cleanly. > > if you could just help me out by providing some compile options if needed > with the new tool chain, i would be highly thankful to you. I know i am > asking something that is very difficult. I kind of doubt the bug is in Mesa at this point. Mesa's glTexImage functions are used a _lot_ so they should be pretty solid. If you suspect that image data is corrupt, you could set a breakpoint at glTexImage2D() and examine the image buffer at that point. For simple formats like GL_RGBA/GL_UNSIGNED_BYTE, it's pretty easy to inspect the hexadecimal image values. -Brian > kindly help > > > thanks for your reply > varun > > > > > > Brian Paul wrote: >> iluvlinux wrote: >>> hi >>> >>> i compiled mesa with new Linux EABI toolchain >>> i am using mesa as a libclutter backend >> I've never heard of those things. >> >> >>> But when I try to run a application which contains some images (.jpg and >>> .pngs) >>> i can only view some colored rectangles instead of images >>> >>> earlier with gnuhash toolchain, the application runs fine, i just >>> switched >>> to new EABI toolchain and every thing messed up. >>> >>> Also i want to know how mesa loads image file, it has its own >>> architecture >>> or it uses some other library as libjpeg etc. >> Mesa is an implementation of OpenGL and has no functions for >> reading/writing image files whatsoever. >> >> Typically, a utility library is used to read/decompress an image file >> into a malloc'd block of memory. That memory/image can then be handed >> to OpenGL via glTexImage, or glDrawPixels, etc. for rendering/drawing. >> >> If you're working with jpegs, I suspect libjpeg is being used. >> >> -Brian >> >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://sourceforge.net/services/buy/index.php >> _______________________________________________ >> Mesa3d-users mailing list >> Mes...@li... >> https://lists.sourceforge.net/lists/listinfo/mesa3d-users >> >> > |
|
From: iluvlinux <ilu...@gm...> - 2008-06-16 06:11:53
|
hi Brian
I found that clutter library calls glTexImage2D only once, the very first
time when application asks clutter to create a gl texture. And then it calls
glTexSubImage2D.
The difference is clutter calls glTexImage2D with last parameter as NULL
(always).
and glTexSubImage2D with actual pixel pointer.
I kept a breakpoint at glTexSubImage2D, and inspected pixel values. The
pixel values were same.
FYI:: Hexdump in clutter code (row 1) (Image contains vertical strips of
black, white, red, green and blue)
output in format >> r_g_b_a |
0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|
0_0_0_ff|0_0_0_ff|60_60_60_ff|f2_f2_f2_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|
ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|
ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_46_46_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|
ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|
ff_0_0_ff|ff_0_0_ff|ff_0_0_98|0_ff_0_6e|0_ff_0_f1|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|
0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|
0_80_7f_ff|0_1_fe_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|
0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|
0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff
gdb output
Breakpoint 2 at 0x40731f98: file ../../src/mesa/glapi/glapitemp.h, line
1828.
Pending breakpoint "glTexSubImage2D" resolved
[New Thread 673]
[Switching to Thread 673]
Breakpoint 2, glTexSubImage2D (target=34037, level=0, xoffset=0, yoffset=0,
width=100, height=100, format=6408, type=5121, pixels=0x30bc60)
at ../../src/mesa/glapi/glapitemp.h:1828
1828 DISPATCH(TexSubImage2D, (target, level, xoffset, yoffset, width,
height, format, type, pixels), (F, "glTexSubImage2D(0x%x, %d, %d, %d, %d,
%d, 0x%x, 0x%x, %p);\n", target, level, xoffset, yoffset, width, height,
format, type, (const void *) pixels));
(gdb) p *(char *)(pixel + 24)
No symbol "pixel" in current context.
(gdb) p *(char *)(pixels + 24)
$1 = 0 '\0'
(gdb) p *(char *)(pixels + 25)
$2 = 0 '\0'
(gdb) p *(char *)(pixels + 26)
$3 = 0 '\0'
(gdb) p *(char *)(pixels + 27)
$4 = 255 '�'
(gdb) p *(char *)(pixels + 52)
$5 = 96 '`'
(gdb) p /x *(char *)(pixels + 52)
$6 = 0x60
(gdb) p /x *(char *)(pixels + 53)
$7 = 0x60
(gdb) p /x *(char *)(pixels + 54)
$8 = 0x60
(gdb) p /x *(char *)(pixels + 55)
$9 = 0xff
(gdb) p /x *(char *)(pixels + 56)
$10 = 0xf2
(gdb) p /x *(char *)(pixels + 57)
$11 = 0xf2
(gdb) p /x *(char *)(pixels + 58)
$12 = 0xf2
(gdb) p /x *(char *)(pixels + 59)
$13 = 0xff
(gdb) p /x *(char *)(pixels + 60)
$14 = 0xff
(gdb) p /x *(char *)(pixels + 61)
$15 = 0xff
(gdb) p /x *(char *)(pixels + 62)
$16 = 0xff
(gdb) p /x *(char *)(pixels + 63)
$17 = 0xff
As you can see in clutter hexdump row2 column 3 contains 60_60_60_ff which
is same as (pixels +52)
pixels +53, pixels +54, pixels +55
Cna you provide some comments over this?
Also i am not able to find the definition of glTexSubImage2D function, all
i can find some .h and .xml file for the same. Can you please tell me where
i can find its definition, if any?
thanks
varun
Brian Paul wrote:
>
> iluvlinux wrote:
>> EABI toolchain is new toolchain provided by ARM
>> http://wiki.debian.org/ArmEabiPort http://wiki.debian.org/ArmEabiPort
>>
>> and clutter is a library that provides simple apis to users who don't
>> know
>> about opengl and related stuff
>> http://clutter-project.org/ http://clutter-project.org/
>>
>>
>> I did a hexdump of some test images in totally red, or green or blue
>> color,
>> and i found that the pixel values were accurate according to the images.
>> I
>> have no idea were to look into mesa code. i did hexdump in clutter code
>> just
>> before it calls glTexImage2D.
>>
>>
>> Here are some information related to EABI todo list
>> http://wiki.debian.org/ArmEabiTodo http://wiki.debian.org/ArmEabiTodo
>>
>>
>> i have no idea about how to compile mesa with some different options ,all
>> i
>> did to compile mesa is to type "make linux" and it builds cleanly.
>>
>> if you could just help me out by providing some compile options if needed
>> with the new tool chain, i would be highly thankful to you. I know i am
>> asking something that is very difficult.
>
> I kind of doubt the bug is in Mesa at this point. Mesa's glTexImage
> functions are used a _lot_ so they should be pretty solid.
>
> If you suspect that image data is corrupt, you could set a breakpoint at
> glTexImage2D() and examine the image buffer at that point. For simple
> formats like GL_RGBA/GL_UNSIGNED_BYTE, it's pretty easy to inspect the
> hexadecimal image values.
>
> -Brian
>
>
>> kindly help
>>
>>
>> thanks for your reply
>> varun
>>
>>
>>
>>
>>
>> Brian Paul wrote:
>>> iluvlinux wrote:
>>>> hi
>>>>
>>>> i compiled mesa with new Linux EABI toolchain
>>>> i am using mesa as a libclutter backend
>>> I've never heard of those things.
>>>
>>>
>>>> But when I try to run a application which contains some images (.jpg
>>>> and
>>>> .pngs)
>>>> i can only view some colored rectangles instead of images
>>>>
>>>> earlier with gnuhash toolchain, the application runs fine, i just
>>>> switched
>>>> to new EABI toolchain and every thing messed up.
>>>>
>>>> Also i want to know how mesa loads image file, it has its own
>>>> architecture
>>>> or it uses some other library as libjpeg etc.
>>> Mesa is an implementation of OpenGL and has no functions for
>>> reading/writing image files whatsoever.
>>>
>>> Typically, a utility library is used to read/decompress an image file
>>> into a malloc'd block of memory. That memory/image can then be handed
>>> to OpenGL via glTexImage, or glDrawPixels, etc. for rendering/drawing.
>>>
>>> If you're working with jpegs, I suspect libjpeg is being used.
>>>
>>> -Brian
>>>
>>> -------------------------------------------------------------------------
>>> Check out the new SourceForge.net Marketplace.
>>> It's the best place to buy or sell services for
>>> just about anything Open Source.
>>> http://sourceforge.net/services/buy/index.php
>>> _______________________________________________
>>> Mesa3d-users mailing list
>>> Mes...@li...
>>> https://lists.sourceforge.net/lists/listinfo/mesa3d-users
>>>
>>>
>>
>
>
> -------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> Mesa3d-users mailing list
> Mes...@li...
> https://lists.sourceforge.net/lists/listinfo/mesa3d-users
>
>
--
View this message in context: http://www.nabble.com/Mesa-compilation-using-EABI-toolchain-tp17799971p17858438.html
Sent from the mesa3d-users mailing list archive at Nabble.com.
|
|
From: iluvlinux <ilu...@gm...> - 2008-06-16 06:24:17
|
i forgot to mention that if i pass an image that contains only one color (r or g or b ), it is displayed properly the problem is when i pass an image that contains different color values at different pixels. thanks varun iluvlinux wrote: > > hi Brian > > I found that clutter library calls glTexImage2D only once, the very first > time when application asks clutter to create a gl texture. And then it > calls glTexSubImage2D. > The difference is clutter calls glTexImage2D with last parameter as NULL > (always). > and glTexSubImage2D with actual pixel pointer. > > I kept a breakpoint at glTexSubImage2D, and inspected pixel values. The > pixel values were same. > > FYI:: Hexdump in clutter code (row 1) (Image contains vertical strips of > black, white, red, green and blue) > output in format >> r_g_b_a | > 0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff| > 0_0_0_ff|0_0_0_ff|60_60_60_ff|f2_f2_f2_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff| > ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff| > ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_46_46_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff| > ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff| > ff_0_0_ff|ff_0_0_ff|ff_0_0_98|0_ff_0_6e|0_ff_0_f1|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff| > 0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff| > 0_80_7f_ff|0_1_fe_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff| > 0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff| > 0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff > > gdb output > > Breakpoint 2 at 0x40731f98: file ../../src/mesa/glapi/glapitemp.h, line > 1828. > Pending breakpoint "glTexSubImage2D" resolved > [New Thread 673] > [Switching to Thread 673] > > Breakpoint 2, glTexSubImage2D (target=34037, level=0, xoffset=0, > yoffset=0, width=100, height=100, format=6408, type=5121, pixels=0x30bc60) > at ../../src/mesa/glapi/glapitemp.h:1828 > 1828 DISPATCH(TexSubImage2D, (target, level, xoffset, yoffset, > width, height, format, type, pixels), (F, "glTexSubImage2D(0x%x, %d, %d, > %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, xoffset, yoffset, width, > height, format, type, (const void *) pixels)); > (gdb) p *(char *)(pixel + 24) > No symbol "pixel" in current context. > (gdb) p *(char *)(pixels + 24) > $1 = 0 '\0' > (gdb) p *(char *)(pixels + 25) > $2 = 0 '\0' > (gdb) p *(char *)(pixels + 26) > $3 = 0 '\0' > (gdb) p *(char *)(pixels + 27) > $4 = 255 '�' > (gdb) p *(char *)(pixels + 52) > $5 = 96 '`' > (gdb) p /x *(char *)(pixels + 52) > $6 = 0x60 > (gdb) p /x *(char *)(pixels + 53) > $7 = 0x60 > (gdb) p /x *(char *)(pixels + 54) > $8 = 0x60 > (gdb) p /x *(char *)(pixels + 55) > $9 = 0xff > (gdb) p /x *(char *)(pixels + 56) > $10 = 0xf2 > (gdb) p /x *(char *)(pixels + 57) > $11 = 0xf2 > (gdb) p /x *(char *)(pixels + 58) > $12 = 0xf2 > (gdb) p /x *(char *)(pixels + 59) > $13 = 0xff > (gdb) p /x *(char *)(pixels + 60) > $14 = 0xff > (gdb) p /x *(char *)(pixels + 61) > $15 = 0xff > (gdb) p /x *(char *)(pixels + 62) > $16 = 0xff > (gdb) p /x *(char *)(pixels + 63) > $17 = 0xff > > As you can see in clutter hexdump row2 column 3 contains 60_60_60_ff which > is same as (pixels +52) > pixels +53, pixels +54, pixels +55 > > Cna you provide some comments over this? > Also i am not able to find the definition of glTexSubImage2D function, > all i can find some .h and .xml file for the same. Can you please tell me > where i can find its definition, if any? > > > thanks > varun > > > Brian Paul wrote: >> >> iluvlinux wrote: >>> EABI toolchain is new toolchain provided by ARM >>> http://wiki.debian.org/ArmEabiPort http://wiki.debian.org/ArmEabiPort >>> >>> and clutter is a library that provides simple apis to users who don't >>> know >>> about opengl and related stuff >>> http://clutter-project.org/ http://clutter-project.org/ >>> >>> >>> I did a hexdump of some test images in totally red, or green or blue >>> color, >>> and i found that the pixel values were accurate according to the images. >>> I >>> have no idea were to look into mesa code. i did hexdump in clutter code >>> just >>> before it calls glTexImage2D. >>> >>> >>> Here are some information related to EABI todo list >>> http://wiki.debian.org/ArmEabiTodo http://wiki.debian.org/ArmEabiTodo >>> >>> >>> i have no idea about how to compile mesa with some different options >>> ,all i >>> did to compile mesa is to type "make linux" and it builds cleanly. >>> >>> if you could just help me out by providing some compile options if >>> needed >>> with the new tool chain, i would be highly thankful to you. I know i am >>> asking something that is very difficult. >> >> I kind of doubt the bug is in Mesa at this point. Mesa's glTexImage >> functions are used a _lot_ so they should be pretty solid. >> >> If you suspect that image data is corrupt, you could set a breakpoint at >> glTexImage2D() and examine the image buffer at that point. For simple >> formats like GL_RGBA/GL_UNSIGNED_BYTE, it's pretty easy to inspect the >> hexadecimal image values. >> >> -Brian >> >> >>> kindly help >>> >>> >>> thanks for your reply >>> varun >>> >>> >>> >>> >>> >>> Brian Paul wrote: >>>> iluvlinux wrote: >>>>> hi >>>>> >>>>> i compiled mesa with new Linux EABI toolchain >>>>> i am using mesa as a libclutter backend >>>> I've never heard of those things. >>>> >>>> >>>>> But when I try to run a application which contains some images (.jpg >>>>> and >>>>> .pngs) >>>>> i can only view some colored rectangles instead of images >>>>> >>>>> earlier with gnuhash toolchain, the application runs fine, i just >>>>> switched >>>>> to new EABI toolchain and every thing messed up. >>>>> >>>>> Also i want to know how mesa loads image file, it has its own >>>>> architecture >>>>> or it uses some other library as libjpeg etc. >>>> Mesa is an implementation of OpenGL and has no functions for >>>> reading/writing image files whatsoever. >>>> >>>> Typically, a utility library is used to read/decompress an image file >>>> into a malloc'd block of memory. That memory/image can then be handed >>>> to OpenGL via glTexImage, or glDrawPixels, etc. for rendering/drawing. >>>> >>>> If you're working with jpegs, I suspect libjpeg is being used. >>>> >>>> -Brian >>>> >>>> ------------------------------------------------------------------------- >>>> Check out the new SourceForge.net Marketplace. >>>> It's the best place to buy or sell services for >>>> just about anything Open Source. >>>> http://sourceforge.net/services/buy/index.php >>>> _______________________________________________ >>>> Mesa3d-users mailing list >>>> Mes...@li... >>>> https://lists.sourceforge.net/lists/listinfo/mesa3d-users >>>> >>>> >>> >> >> >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://sourceforge.net/services/buy/index.php >> _______________________________________________ >> Mesa3d-users mailing list >> Mes...@li... >> https://lists.sourceforge.net/lists/listinfo/mesa3d-users >> >> > > -- View this message in context: http://www.nabble.com/Mesa-compilation-using-EABI-toolchain-tp17799971p17858561.html Sent from the mesa3d-users mailing list archive at Nabble.com. |
|
From: Brian P. <bri...@tu...> - 2008-06-16 14:59:01
|
I don't know what the problem is, sorry. The implementation of the texture image functions is in src/mesa/main/teximage.c Grep for "_mesa_TexImage2D" for example. -Brian iluvlinux wrote: > > i forgot to mention that if i pass an image that contains only one color (r > or g or b ), it is displayed properly > the problem is when i pass an image that contains different color values at > different pixels. > > thanks > varun > > > > > iluvlinux wrote: >> hi Brian >> >> I found that clutter library calls glTexImage2D only once, the very first >> time when application asks clutter to create a gl texture. And then it >> calls glTexSubImage2D. >> The difference is clutter calls glTexImage2D with last parameter as NULL >> (always). >> and glTexSubImage2D with actual pixel pointer. >> >> I kept a breakpoint at glTexSubImage2D, and inspected pixel values. The >> pixel values were same. >> >> FYI:: Hexdump in clutter code (row 1) (Image contains vertical strips of >> black, white, red, green and blue) >> output in format >> r_g_b_a | >> 0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff|0_0_0_ff| >> 0_0_0_ff|0_0_0_ff|60_60_60_ff|f2_f2_f2_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff| >> ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff| >> ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_ff_ff_ff|ff_46_46_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff| >> ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff|ff_0_0_ff| >> ff_0_0_ff|ff_0_0_ff|ff_0_0_98|0_ff_0_6e|0_ff_0_f1|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff| >> 0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff|0_ff_0_ff| >> 0_80_7f_ff|0_1_fe_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff| >> 0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff| >> 0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff|0_0_ff_ff >> >> gdb output >> >> Breakpoint 2 at 0x40731f98: file ../../src/mesa/glapi/glapitemp.h, line >> 1828. >> Pending breakpoint "glTexSubImage2D" resolved >> [New Thread 673] >> [Switching to Thread 673] >> >> Breakpoint 2, glTexSubImage2D (target=34037, level=0, xoffset=0, >> yoffset=0, width=100, height=100, format=6408, type=5121, pixels=0x30bc60) >> at ../../src/mesa/glapi/glapitemp.h:1828 >> 1828 DISPATCH(TexSubImage2D, (target, level, xoffset, yoffset, >> width, height, format, type, pixels), (F, "glTexSubImage2D(0x%x, %d, %d, >> %d, %d, %d, 0x%x, 0x%x, %p);\n", target, level, xoffset, yoffset, width, >> height, format, type, (const void *) pixels)); >> (gdb) p *(char *)(pixel + 24) >> No symbol "pixel" in current context. >> (gdb) p *(char *)(pixels + 24) >> $1 = 0 '\0' >> (gdb) p *(char *)(pixels + 25) >> $2 = 0 '\0' >> (gdb) p *(char *)(pixels + 26) >> $3 = 0 '\0' >> (gdb) p *(char *)(pixels + 27) >> $4 = 255 '�' >> (gdb) p *(char *)(pixels + 52) >> $5 = 96 '`' >> (gdb) p /x *(char *)(pixels + 52) >> $6 = 0x60 >> (gdb) p /x *(char *)(pixels + 53) >> $7 = 0x60 >> (gdb) p /x *(char *)(pixels + 54) >> $8 = 0x60 >> (gdb) p /x *(char *)(pixels + 55) >> $9 = 0xff >> (gdb) p /x *(char *)(pixels + 56) >> $10 = 0xf2 >> (gdb) p /x *(char *)(pixels + 57) >> $11 = 0xf2 >> (gdb) p /x *(char *)(pixels + 58) >> $12 = 0xf2 >> (gdb) p /x *(char *)(pixels + 59) >> $13 = 0xff >> (gdb) p /x *(char *)(pixels + 60) >> $14 = 0xff >> (gdb) p /x *(char *)(pixels + 61) >> $15 = 0xff >> (gdb) p /x *(char *)(pixels + 62) >> $16 = 0xff >> (gdb) p /x *(char *)(pixels + 63) >> $17 = 0xff >> >> As you can see in clutter hexdump row2 column 3 contains 60_60_60_ff which >> is same as (pixels +52) >> pixels +53, pixels +54, pixels +55 >> >> Cna you provide some comments over this? >> Also i am not able to find the definition of glTexSubImage2D function, >> all i can find some .h and .xml file for the same. Can you please tell me >> where i can find its definition, if any? >> >> >> thanks >> varun >> >> >> Brian Paul wrote: >>> iluvlinux wrote: >>>> EABI toolchain is new toolchain provided by ARM >>>> http://wiki.debian.org/ArmEabiPort http://wiki.debian.org/ArmEabiPort >>>> >>>> and clutter is a library that provides simple apis to users who don't >>>> know >>>> about opengl and related stuff >>>> http://clutter-project.org/ http://clutter-project.org/ >>>> >>>> >>>> I did a hexdump of some test images in totally red, or green or blue >>>> color, >>>> and i found that the pixel values were accurate according to the images. >>>> I >>>> have no idea were to look into mesa code. i did hexdump in clutter code >>>> just >>>> before it calls glTexImage2D. >>>> >>>> >>>> Here are some information related to EABI todo list >>>> http://wiki.debian.org/ArmEabiTodo http://wiki.debian.org/ArmEabiTodo >>>> >>>> >>>> i have no idea about how to compile mesa with some different options >>>> ,all i >>>> did to compile mesa is to type "make linux" and it builds cleanly. >>>> >>>> if you could just help me out by providing some compile options if >>>> needed >>>> with the new tool chain, i would be highly thankful to you. I know i am >>>> asking something that is very difficult. >>> I kind of doubt the bug is in Mesa at this point. Mesa's glTexImage >>> functions are used a _lot_ so they should be pretty solid. >>> >>> If you suspect that image data is corrupt, you could set a breakpoint at >>> glTexImage2D() and examine the image buffer at that point. For simple >>> formats like GL_RGBA/GL_UNSIGNED_BYTE, it's pretty easy to inspect the >>> hexadecimal image values. >>> >>> -Brian >>> >>> >>>> kindly help >>>> >>>> >>>> thanks for your reply >>>> varun >>>> >>>> >>>> >>>> >>>> >>>> Brian Paul wrote: >>>>> iluvlinux wrote: >>>>>> hi >>>>>> >>>>>> i compiled mesa with new Linux EABI toolchain >>>>>> i am using mesa as a libclutter backend >>>>> I've never heard of those things. >>>>> >>>>> >>>>>> But when I try to run a application which contains some images (.jpg >>>>>> and >>>>>> .pngs) >>>>>> i can only view some colored rectangles instead of images >>>>>> >>>>>> earlier with gnuhash toolchain, the application runs fine, i just >>>>>> switched >>>>>> to new EABI toolchain and every thing messed up. >>>>>> >>>>>> Also i want to know how mesa loads image file, it has its own >>>>>> architecture >>>>>> or it uses some other library as libjpeg etc. >>>>> Mesa is an implementation of OpenGL and has no functions for >>>>> reading/writing image files whatsoever. >>>>> >>>>> Typically, a utility library is used to read/decompress an image file >>>>> into a malloc'd block of memory. That memory/image can then be handed >>>>> to OpenGL via glTexImage, or glDrawPixels, etc. for rendering/drawing. >>>>> >>>>> If you're working with jpegs, I suspect libjpeg is being used. >>>>> >>>>> -Brian >>>>> >>>>> ------------------------------------------------------------------------- >>>>> Check out the new SourceForge.net Marketplace. >>>>> It's the best place to buy or sell services for >>>>> just about anything Open Source. >>>>> http://sourceforge.net/services/buy/index.php >>>>> _______________________________________________ >>>>> Mesa3d-users mailing list >>>>> Mes...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/mesa3d-users >>>>> >>>>> >>> >>> ------------------------------------------------------------------------- >>> Check out the new SourceForge.net Marketplace. >>> It's the best place to buy or sell services for >>> just about anything Open Source. >>> http://sourceforge.net/services/buy/index.php >>> _______________________________________________ >>> Mesa3d-users mailing list >>> Mes...@li... >>> https://lists.sourceforge.net/lists/listinfo/mesa3d-users >>> >>> >> > |