Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-24 Thread René Dudfield

hehe.

The reason to try and keep i386 compatibility is mainly for debian.
Since they have their i386 repository.  They do allow code which
detects extensions like mmx at runtime.

Of course other platforms don't have to use such old code.


On 6/25/07, Charles Joseph Christie II <[EMAIL PROTECTED]> wrote:

On Sunday 24 June 2007 07:49:41 pm Nick Moffitt wrote:
> Charles Joseph Christie II:
> > i386 is older than I am. Ok, maybe not, but it's pretty OLD.
>
> 1985, if my sources are correct.  Of course, most Americans insist that
> it showed up around five years later, when the cost of building PCs
> around 80386 chips became reasonable.

...it IS older than I am. :P



Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-24 Thread Charles Joseph Christie II
On Sunday 24 June 2007 07:49:41 pm Nick Moffitt wrote:
> Charles Joseph Christie II:
> > i386 is older than I am. Ok, maybe not, but it's pretty OLD.
>
> 1985, if my sources are correct.  Of course, most Americans insist that
> it showed up around five years later, when the cost of building PCs
> around 80386 chips became reasonable.

...it IS older than I am. :P


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-24 Thread Nick Moffitt
Charles Joseph Christie II:
> i386 is older than I am. Ok, maybe not, but it's pretty OLD. 

1985, if my sources are correct.  Of course, most Americans insist that
it showed up around five years later, when the cost of building PCs
around 80386 chips became reasonable.

-- 
Hey, how come nobody here in the future   Nick Moffitt
has a time machine except me?[EMAIL PROTECTED]


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Luke Paireepinart

René Dudfield wrote:

wonderful!

I compile pygame for windows with mingw gcc anyway.  So windows people
will get this mmx function. 

*dances*
that's good news!
-Luke


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread René Dudfield

wonderful!

I compile pygame for windows with mingw gcc anyway.  So windows people
will get this mmx function.


On 6/24/07, Richard Goedeken <[EMAIL PROTECTED]> wrote:

The "__i386__" preproc definition tells me that the compiler is
compiling for an IA32 CPU, and it will accept MMX instructions, so I can
put them in.  Before calling any of the MMX routines, I've called a
SDL_cpuinfo function which tells me whether or not the currently running
CPU supports MMX, so if someone were to run this on a 486 or non-MMX
Pentium, it won't call the MMX functions.

Unfortunately, Luke, most Windows folks will be running the C routines
and not get the benefit of MMX because I've written the inline ASM in
AT&T-style syntax which is not supported by Visual Studio.  If a Windows
user compiles with GCC, however (with MinGW? or Cygwin), they will get
the MMX code.

Richard


Marcus von Appen wrote:
> On, Sat Jun 23, 2007, Luke Paireepinart wrote:
>
>>  Christopher Arndt wrote:
>>> Charles Joseph Christie II schrieb:
>>>
 If I remember correctly, i486 introduced MMX.

>>> No, that was the Pentium MMX, an improved version of the Pentium I (i586).
>>>
>>  Okay, so then I don't understand how __i386__ helps us does it tell us
>>  that the cpu doesn't support MMX?
>
> No, it just tells us, that the CPU is likely to be an intel-conpliant
> one.
>
> Regards
> Marcus



Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Richard Goedeken
The "__i386__" preproc definition tells me that the compiler is
compiling for an IA32 CPU, and it will accept MMX instructions, so I can
put them in.  Before calling any of the MMX routines, I've called a
SDL_cpuinfo function which tells me whether or not the currently running
CPU supports MMX, so if someone were to run this on a 486 or non-MMX
Pentium, it won't call the MMX functions.

Unfortunately, Luke, most Windows folks will be running the C routines
and not get the benefit of MMX because I've written the inline ASM in
AT&T-style syntax which is not supported by Visual Studio.  If a Windows
user compiles with GCC, however (with MinGW? or Cygwin), they will get
the MMX code.

Richard


Marcus von Appen wrote:
> On, Sat Jun 23, 2007, Luke Paireepinart wrote:
> 
>>  Christopher Arndt wrote:
>>> Charles Joseph Christie II schrieb:
>>>   
 If I remember correctly, i486 introduced MMX.
 
>>> No, that was the Pentium MMX, an improved version of the Pentium I (i586).
>>>   
>>  Okay, so then I don't understand how __i386__ helps us does it tell us 
>>  that the cpu doesn't support MMX?
> 
> No, it just tells us, that the CPU is likely to be an intel-conpliant
> one.
> 
> Regards
> Marcus


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Marcus von Appen
On, Sat Jun 23, 2007, Luke Paireepinart wrote:

>  Christopher Arndt wrote:
> > Charles Joseph Christie II schrieb:
> >   
> >> If I remember correctly, i486 introduced MMX.
> >> 
> >
> > No, that was the Pentium MMX, an improved version of the Pentium I (i586).
> >   
>  Okay, so then I don't understand how __i386__ helps us does it tell us 
>  that the cpu doesn't support MMX?

No, it just tells us, that the CPU is likely to be an intel-conpliant
one.

Regards
Marcus


pgpFQ2clofGxA.pgp
Description: PGP signature


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Luke Paireepinart

Christopher Arndt wrote:

Charles Joseph Christie II schrieb:
  

If I remember correctly, i486 introduced MMX.



No, that was the Pentium MMX, an improved version of the Pentium I (i586).
  
Okay, so then I don't understand how __i386__ helps us does it tell 
us that the cpu doesn't support MMX?




Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Christopher Arndt
Charles Joseph Christie II schrieb:
> If I remember correctly, i486 introduced MMX.

No, that was the Pentium MMX, an improved version of the Pentium I (i586).

Chris


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Charles Joseph Christie II
On Saturday 23 June 2007 11:57:52 am Luke Paireepinart wrote:
> Richard Goedeken wrote:
> > After much searching, I found the 'magic' preprocessor definitions to
> > determine compiler and CPU architecture.  They are "__GNUC__",
> > "__i386__", and "__x86_64__".  This should work under Linux, mingw, OSX,
> > etc; basically any platform with GCC and an MMX-capable CPU.  I have
> > tested and verified that it works under Gentoo/x86_64 and
> > Ubuntu7.04/i686.
> >
> > The attached zip contains a 'transform.c' which is based on v1.7.1 and
> > includes the new smoothscale function with compile-time checks to
> > include the MMX routines for compilation and a run-time check via
> > SDL_cpuinfo.  The modified 'config.py' is no longer needed.
>
> So are you still going to use runtime checks for us Windoze folks?
> I was wondering- MMX doesn't have anything to do with processor
> architecture as far as 32-bit vs 64-bit, does it?
> I thought it was just a feature some processors had and some didn't.  Or
> is that what the i in 'i386' specifies? that it has MMX?
> Thanks,
> -Luke

the "i" in i386 means "intel" :P

i386 is older than I am. Ok, maybe not, but it's pretty OLD. However, every 
computer supports it, pretty much. i4,5, and 686 are upgrades to i386. If I 
remember correctly, i486 introduced MMX.


Re: [pygame] [PATCH] Smooth Scaling v2 (pygame.transform.smoothscale)

2007-06-23 Thread Luke Paireepinart

Richard Goedeken wrote:

After much searching, I found the 'magic' preprocessor definitions to
determine compiler and CPU architecture.  They are "__GNUC__",
"__i386__", and "__x86_64__".  This should work under Linux, mingw, OSX,
etc; basically any platform with GCC and an MMX-capable CPU.  I have
tested and verified that it works under Gentoo/x86_64 and Ubuntu7.04/i686.

The attached zip contains a 'transform.c' which is based on v1.7.1 and
includes the new smoothscale function with compile-time checks to
include the MMX routines for compilation and a run-time check via
SDL_cpuinfo.  The modified 'config.py' is no longer needed.

So are you still going to use runtime checks for us Windoze folks?
I was wondering- MMX doesn't have anything to do with processor 
architecture as far as 32-bit vs 64-bit, does it?
I thought it was just a feature some processors had and some didn't.  Or 
is that what the i in 'i386' specifies? that it has MMX?

Thanks,
-Luke