On Tuesday 19 April 2005 02:02 pm, Aapo Tahkola wrote:
> On Tue, 19 Apr 2005 12:26:36 -0400
>
> Jung-uk Kim <[EMAIL PROTECTED]> wrote:
> > On Tuesday 19 April 2005 10:18 am, Aapo Tahkola wrote:
> > > On Tue, 19 Apr 2005 15:42:43 +0200
> > >
> > > Jan Kreuzer <[EMAIL PROTECTED]> wrote:
> > > > $ make
> > > > ===> drm
> > > > Warning: Object directory not changed from original
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/drm ===> i915
> > > > Warning: Object directory not changed from original
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/i915 ===> mach64
> > > > Warning: Object directory not changed from original
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/mach64 ===> mga
> > > > Warning: Object directory not changed from original
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/mga ===> r128
> > > > Warning: Object directory not changed from original
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/r128 ===> radeon
> > > > Warning: Object directory not changed from original
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon cc -O -pipe
> > > > -I. -I.. -D_KERNEL -DKLD_MODULE -nostdinc -I-  -I. -I.. -I.
> > > > -I@ -I@/contrib/altq -I@/../include -finline-limit=8000 \
> > > > -fno-common -mcmodel=kernel -mno-red-zone  -mfpmath=387
> > > > -mno-sse -mno-sse2 -mno-mmx -mno-3dnow  -msoft-float \
> > > > -fno-asynchronous-unwind-tables -ffreestanding -Wall
> > > > -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> > > > -Wmissing-prototypes \ -Wpointer-arith -Winline -Wcast-qual
> > > > -fformat-extensions -std=c99 -c
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:131: error: syntax error before "r300_init_reg_flags"
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:134: error: syntax error before numeric constant
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:134: warning: type defaults to `int' in declaration of
> > > > `memset'
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:134: warning: function declaration isn't a prototype
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:134: error: conflicting types for 'memset'
> > > > @/sys/libkern.h:118: error: previous definition of 'memset'
> > > > was here
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:134: warning: data definition has no type or storage
> > > > class
> > > > /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmd
> > > >buf. c:60: warning: 'r300_emit_cliprects' defined but not used
> > > > *** Error code 1
> > > >
> > > > Stop in /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon.
> > > > *** Error code 1
> > > >
> > > > So it seems that r300 would work (as good as in linux), if
> > > > the drm-part of it would be updated to compile under freebsd.
> > > > But this is beyond my skills.
> > >
> > > Try this:
> > >
> > > --- r300_cmdbuf.c.orig  Tue Apr 19 17:14:33 2005
> > > +++ r300_cmdbuf.c       Tue Apr 19 17:14:49 2005
> > > @@ -125,13 +125,12 @@
> > >         return 0;
> > >  }
> > >
> > > -unsigned char  r300_reg_flags[0x10000>>2];
> > > +unsigned char  r300_reg_flags[0x10000>>2]={ 0 };
> > >
> > >
> > > -void __init r300_init_reg_flags(void)
> > > +void r300_init_reg_flags(void)
> > >  {
> > >  int i;
> > > -memset(r300_reg_flags, 0, 0x10000>>2);
> >
> > memset() is okay and it is better that way (at least for
> > FreeBSD/amd64):
> >
> > http://lists.freebsd.org/pipermail/freebsd-amd64/2005-March/00405
> >8.html
> >
> > My experiment shows GCC misoptimizes this type of initialization
> > on AMD64 where glibc is not used (i. e., *BSD).
>
> Jans compiler doesnt seem to like memseting arrays:
> >>> /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmdbu
> >>>f.c:134: error: syntax error before numeric constant
> >>> /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmdbu
> >>>f.c:134: warning: type defaults to `int' in declaration of
> >>> `memset'
> >>> /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmdbu
> >>>f.c:134: warning: function declaration isn't a prototype
> >>> /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmdbu
> >>>f.c:134: error: conflicting types for 'memset'
> >>> @/sys/libkern.h:118: error: previous definition of 'memset' was
> >>> here
> >>> /usr/home/jan/dri/r300_driver/drm/bsd-core/radeon/../r300_cmdbu
> >>>f.c:134: warning: data definition has no type or storage class
>
> Maybe just loop it to zero?

No, the previous syntax error (i. e., __init) was causing the second 
syntax error.  If you remove it, all the syntax errors disappear. ;-)

> I would stick r300_init_reg_flags call to radeon_preinit() since it
> seems to be called on bsds and x86s.

I'll try that and let you know.

Thanks,

Jung-uk Kim

> > Removing __init is enough, I believe.  Please see my previous
> > posting.
> >
> > Thanks,
> >
> > Jung-uk Kim
> >
> > >  #define ADD_RANGE(reg, count)
> > > for(i=(reg>>2);i<(reg>>2)+count;i++)r300_reg_flags[i]|=1;
> > >
> > >         /* these match cmducs() command in
> > > r300_driver/r300/r300_cmdbuf.c */
> > >
> > > > Greetings Jan


-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to