Bug 32560

Summary: To fix: 64-bit-portabilty-issue state_tracker/st_program.c:427
Product: Mesa Reporter: Johannes Obermayr <johannesobermayr>
Component: OtherAssignee: Brian Paul <brianp>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Johannes Obermayr 2010-12-21 11:33:50 UTC
Since nobody cares on #dri-devel for a few days:

64-bit-portabilty-issue state_tracker/st_program.c:427
(see: https://build.opensuse.org/package/live_build_log?arch=i586&package=Mesa&project=home%3Ajobermayr&repository=openSUSE_11.3_X11)

see also on #dri-devel (time = CET):
[Mittwoch, 15. Dezember 2010] [17:31:47] <jobermayr>	Hi. E: 'Mesa 64bit-portability-issue state_tracker/st_program.c:427' - see: https://build.opensuse.org/package/rawlog?arch=i586&package=Mesa&project=home%3Ajobermayr&repository=openSUSE_Factory
Comment 1 Dave Airlie 2010-12-21 12:22:46 UTC
I'm not seeing the issue, any ideas what this 64-bit-portability test tests for?
Comment 2 Johannes Obermayr 2010-12-21 12:36:11 UTC
[...]
gcc -c -o objs-es1/state_tracker/st_program.o state_tracker/st_program.c -DFEATURE_ES1=1 -D_GNU_SOURCE -DPTHREADS -DDEBUG -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_LIBUDEV -DHAVE_XEXTPROTO_71 -I../../src/mapi/es1api -I../../include -I../../src/glsl -I../../src/mesa -I../../src/mapi -I../../src/gallium/include -I../../src/gallium/auxiliary   -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing -g -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
state_tracker/st_program.c: In function 'st_translate_fragment_program':
state_tracker/st_program.c:416:7: warning: implicit declaration of function 'st_make_bitmap_fragment_program'
state_tracker/st_program.c:427:10: warning: implicit declaration of function 'st_make_drawpix_z_stencil_program'
state_tracker/st_program.c:427:13: warning: assignment makes pointer from integer without a cast
state_tracker/st_program.c:432:10: warning: implicit declaration of function 'st_make_drawpix_fragment_program'
[...]
gcc -c -o objs-es2/state_tracker/st_program.o state_tracker/st_program.c -DFEATURE_ES2=1 -D_GNU_SOURCE -DPTHREADS -DDEBUG -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_LIBUDEV -DHAVE_XEXTPROTO_71 -I../../src/mapi/es2api -I../../include -I../../src/glsl -I../../src/mesa -I../../src/mapi -I../../src/gallium/include -I../../src/gallium/auxiliary   -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing -g -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
state_tracker/st_program.c: In function 'st_translate_fragment_program':
state_tracker/st_program.c:416:7: warning: implicit declaration of function 'st_make_bitmap_fragment_program'
state_tracker/st_program.c:427:10: warning: implicit declaration of function 'st_make_drawpix_z_stencil_program'
state_tracker/st_program.c:427:13: warning: assignment makes pointer from integer without a cast
state_tracker/st_program.c:432:10: warning: implicit declaration of function 'st_make_drawpix_fragment_program'
[...]
Comment 3 Johannes Obermayr 2010-12-22 12:57:11 UTC
Assign to Brian Paul since he introduced it with one of his commits last week ...
Comment 4 Brian Paul 2011-01-03 12:36:14 UTC
I'm not seeing those warnings here, neither on 32- nor 64-bit systems.  Are you sure your git tree is up to date?
Comment 5 Johannes Obermayr 2011-01-03 13:20:38 UTC
I am 100% sure because I update it normally each day (see: https://build.opensuse.org/package/source_history?package=Mesa&project=home%3Ajobermayr )

Here is complete list of things I build:
https://build.opensuse.org/project/monitor?project=home%3Ajobermayr

Mesa is only "succeeded" because I changed manually the package which is responsible for the actual build error to print only a warning ...

May you can reproduce it with following:

export 'CFLAGS=-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g'

export 'CXXFLAGS=-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g'

It is default on openSUSE distro ...
Comment 6 Brian Paul 2011-01-04 07:30:35 UTC
OK, the key thing was the -DFEATURE_ES1=1 flag which disable glDrawPixels and glBitmap support.  The prototypes in the .h file were skipped.

Fixed with commit c94996f0570c729b9cb2b55329ababb9877fbbea

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.