Re: [Mesa3d-dev] Current tinderbox regression (swrastg_dri, sparc64)

2010-03-28 Thread Matt Turner
On Sun, Mar 28, 2010 at 3:07 PM, Luca Barbieri  wrote:
> On Sun, Mar 28, 2010 at 7:36 PM, Chris Ball  wrote:
>> Hi,
>>
>>   > http://tinderbox.x.org/builds/2010-03-25-0018/logs/libGL/#build
>>   >
>>   > swrastg_dri.so.tmp: undefined reference to `__sync_sub_and_fetch_4'
>>   > swrastg_dri.so.tmp: undefined reference to `__sync_add_and_fetch_4'
>>
>> This regression is still present -- could we get a fix or a revert?
>
> I believe the problem is that sparc does not support atomic operations
> in the basic architecture: I think someone who knows about sparc and
> has such a machine should look into it.
>
> If you don't know anything about sparc, try rebuilding with the
> highest possible sparc -march= level and if that fixes the problem,
> perform a binary search to find the minimum one, and then report the
> results.
>
> If it does not solve the problem, see if anything in /lib or /usr/lib
> exports those symbols.
>
> Also maybe check whether the built swrastg_dri or xlib softpipe
> actually works there.

I think we need to be specifying something like -mcpu=v9 or something
to be able to use the __sync_* primitives. I highly doubt anyone wants
to run any of this code on something older.

I've CC'd Dave Miller--he'll know what to do.

Thanks,
Matt

--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Move lists to freedesktop.org?

2010-03-04 Thread Matt Turner
On Thu, Mar 4, 2010 at 3:37 PM, Jesse Barnes  wrote:
> Would anyone have objections if these lists moved to freedesktop.org?
> The recent thread with Linus about the drm pull request highlights the
> post lag and non-subscriber aspect of the current lists, and that
> leaves aside sf.net's horrible mail archive interface and poor
> performance.
>
> If spam is an issue, another option would be vger.kernel.org.  That
> team runs lkml and several other very high traffic, high profile lists
> and manages quite well; performance is always high and spam is nearly
> non-existent given the amount of traffic.
>
> --
> Jesse Barnes, Intel Open Source Technology Center

As a user and occasional poster to these lists, that sounds very good to me.

> --
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev

It'd be nice to get rid of these silly advertisements too.

Matt

--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Mesa removals

2010-02-22 Thread Matt Turner
On Mon, Feb 22, 2010 at 2:46 PM, Ian Romanick  wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Brian Paul wrote:
>> Starting a new thread on this...
>>
>> Here's a proposal of things to remove from the Mesa tree.
>>
>> GLU:
>> glu/mini
>> glu/mesa
>>
>> GLUT:
>> glut/fbdev
>> glut/ggi
>> glut/directfb
>> glut/dos
>> glut/mini
>> glut/os2
>>
>> non-DRI drivers:
>> drivers/allegro
>> drivers/directfb
>> drivers/d3d
>> drivers/dos
>> drivers/ggi
>> drivers/glide
>> drivers/svga
>>
>> DRI drivers:
>> drivers/dri/fb
>> drivers/dri/ffb
>> drivers/dri/gamma
>>
>> progs/directfb
>> progs/ggi
>> progs/windml
>> progs/miniglx
>>
>> Comments?
>
> That list looks good to me.  I'm a little sad to see gamma go, but
> that's mostly sadness that it was never revived after the DRI / DRM
> architecture started going a different direction.
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAkuC3xkACgkQX1gOwKyEAw/Z6wCeNvkBnT3OuCpeoHwHyILe9/TE
> 7jAAn3cNRz7pVgz16/xGOBJPd+J3DwsA
> =m62D
> -END PGP SIGNATURE-
>
> --
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> ___
> Mesa3d-dev mailing list
> Mesa3d-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

I'm actually in the process of gathering hardware to revive gamma (or
rewrite its stack all together).

So I don't know whether it should be removed or not. Certainly the
mesa component of the stack won't be touched until I get a memory
manager working.

Matt

--
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] [PATCH] swrast/sse: Fix _mesa_sse_transform_pointsX_3d_no_rot

2010-02-02 Thread Matt Turner
On Tue, Feb 2, 2010 at 2:04 PM, Ian Romanick  wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Pauli Nieminen wrote:
>> PXOR user in code were causing the lowest SP float register to have NaN
>> values which made all math operations in that slot fail. Correct istruction
>> to clear float registers is XORPS which handles single precission floats
>> correctly.
>>
>> Fixes progs/tests/fog in swrast SSE mode.
>>
>> Signed-off-by: Pauli Nieminen 
>> ---
>>  src/mesa/x86/sse_xform2.S |    2 +-
>>  src/mesa/x86/sse_xform3.S |    2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/mesa/x86/sse_xform2.S b/src/mesa/x86/sse_xform2.S
>> index b490d4c..a443dad 100644
>> --- a/src/mesa/x86/sse_xform2.S
>> +++ b/src/mesa/x86/sse_xform2.S
>> @@ -186,7 +186,7 @@ GLNAME(_mesa_sse_transform_points2_3d_no_rot):
>>      MOV_L( REGOFF(V4F_START, EDI), EDI )     /* ptr to first dest vertex */
>>      ADD_L( EDI, ECX )                                /* count += dest ptr */
>>
>> -    PXOR( XMM0, XMM0 )
>> +    XORPS( XMM0, XMM0 )                         /* clean the working 
>> register */
>
> (Showing ignorance here...)  Is XORPS available in all of the flavors of
> SSE that this code is supposed to support?  I assume that it is...

Yes, it's been there since SSE1. (PXOR is the MMX mnemonic that was
extended to support SSE registers.)

>>  ALIGNTEXT32
>>      MOVSS    ( M(0), XMM1 )                  /* - | - |  -  | m0  */
>> diff --git a/src/mesa/x86/sse_xform3.S b/src/mesa/x86/sse_xform3.S
>> index 8a79eed..4bc22d8 100644
>> --- a/src/mesa/x86/sse_xform3.S
>> +++ b/src/mesa/x86/sse_xform3.S
>> @@ -198,7 +198,7 @@ GLNAME(_mesa_sse_transform_points3_3d_no_rot):
>>      MOV_L( REGOFF(V4F_START, EDI), EDI )     /* ptr to first dest vertex */
>>      ADD_L( EDI, ECX )                                /* count += dest ptr */
>>
>> -    PXOR( XMM0, XMM0 )
>> +    XORPS( XMM0, XMM0 )                         /* clean the working 
>> register */
>>
>>  ALIGNTEXT32
>>      MOVSS    ( M(0), XMM1 )                  /* - | - |  -  | m0  */
>
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.10 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAktodyYACgkQX1gOwKyEAw+UqACeIPZw1dkHgf/UBvcym9dgOSxw
> h88AnjCdZSex5HHC9gUK/GKjcEgMNVwS
> =6KIc
> -END PGP SIGNATURE-
>
> --
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> ___
> Mesa3d-dev mailing list
> Mesa3d-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

--
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[Mesa3d-dev] [RFC] Move _mesa_memcpy to imports.h and inline it

2009-12-03 Thread Matt Turner
Most of the functions in imports.c are very small, to the function
call overhead is large relative to their size. Can't we do something
like in the attached patch and move them to imports.h and mark them
static inline? Things like memcpy and memset are often optimized out
by the compiler, and by hiding them in these wrapper functions, we're
probably losing any benefits we'd otherwise see. Similarly, if we're
going to use a magic sqrtf algorithm (apparently for speed) then
shouldn't we also let the compiler properly inline the function?

I also don't quite understand wrapper functions like
double
_mesa_pow(double x, double y)
{
   return pow(x, y);
}

Maybe at one time these had #ifdefs in them like _mesa_memcpy, but I
can't see any reason not to remove it now.

Someone enlighten me.

Thanks,
Matt Turner


move-mesa-memcpy-to-imports.h.patch
Description: Binary data
--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] minor u_math.h speedup fun

2009-11-28 Thread Matt Turner
On Sat, Nov 28, 2009 at 2:13 PM, Yang Zhao  wrote:
> The speed-up is definitely there, but __builtin_popcount() will still
> be drastically faster when architecture-specific optimizations are
> enabled:

I don't think this is the case (except for with SSE4's popcnt
instruction, which your CFLAGS seem to be enabling.)

Even when compiling with the Intel CC, which can undoubtedly can
optimize code for Core 2 better than gcc, fast_bitcount is
significantly faster.

$ icc -O3 -ipo -march=core2 bc.c -o bc
ipo: remark #11001: performing single-file optimizations
ipo: remark #11005: generating object file /tmp/ipo_icce1aegt.o
bc.c(61): (col. 5) remark: LOOP WAS VECTORIZED.
$ ./bc
1 billion of __builtin_popcount(), fast_bitcount(), and naive() (in that order)
__builtin_popcount(): 5.361 seconds
fast_bitcount(): 1.274 seconds
kr_bitcount(): 20.302 seconds
naive(): 34.547 seconds

Matt

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] minor u_math.h speedup fun

2009-11-28 Thread Matt Turner
Results from my 2 GHz Core 2.

__builtin_popcount(): 11.709 seconds
fast_bitcount(): 3.956 seconds
kr_bitcount(): 24.276 seconds
naive(): 38.493 seconds

Nothing even compares to fast_bitcount.

Matt

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Fwd: RFC: libdrm repo

2009-11-22 Thread Matt Turner
On Sun, Nov 22, 2009 at 8:30 PM,   wrote:
[snip]

I wasn't going to say anything, but I feel that I have to. Please
don't top quote. Also, don't send awful HTML email.

Matt

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] [r300-gallium] compiling against recent libdrm

2009-07-13 Thread Matt Turner
Hi,
Looks to me like a lot of whitespace changes were included in the
patch. Is this intended?

Matt

On Mon, Jul 13, 2009 at 3:48 PM, Nicolai Hähnle wrote:
> Hey there,
>
> I hacked together the following patch to make Gallium compile against recent
> libdrm. Does it seem right to you?
>
> ---
>  src/gallium/drivers/r300/r300_context.h            |    4 +-
>  src/gallium/drivers/r300/r300_query.h              |    2 +
>  src/gallium/drivers/r300/r300_screen.h             |    2 +-
>  src/gallium/drivers/softpipe/sp_winsys.h           |   12 ++--
>  src/gallium/winsys/drm/radeon/core/radeon_buffer.c |   10 ++-
>  src/gallium/winsys/drm/radeon/core/radeon_buffer.h |   13 +---
>  src/gallium/winsys/drm/radeon/core/radeon_drm.c    |   16 +++--
>  src/gallium/winsys/drm/radeon/core/radeon_r300.c   |   74
> +---
>  src/gallium/winsys/drm/radeon/core/radeon_r300.h   |    7 ++
>  9 files changed, 57 insertions(+), 83 deletions(-)
>
> diff --git a/src/gallium/drivers/r300/r300_context.h
> b/src/gallium/drivers/r300/r300_context.h
> index ae78574..e56cfcc 100644
> --- a/src/gallium/drivers/r300/r300_context.h
> +++ b/src/gallium/drivers/r300/r300_context.h
> @@ -217,7 +217,7 @@ struct r300_texture {
>
>     /* Stride (pitch?) of this texture in bytes */
>     unsigned stride;
> -
> +
>     /* Total size of this texture, in bytes. */
>     unsigned size;
>
> @@ -331,7 +331,7 @@ struct r300_context {
>  };
>
>  /* Convenience cast wrapper. */
> -static struct r300_context* r300_context(struct pipe_context* context) {
> +static INLINE struct r300_context* r300_context(struct pipe_context* context)
> {
>     return (struct r300_context*)context;
>  }
>
> diff --git a/src/gallium/drivers/r300/r300_query.h
> b/src/gallium/drivers/r300/r300_query.h
> index 4f447ea..6a76460 100644
> --- a/src/gallium/drivers/r300/r300_query.h
> +++ b/src/gallium/drivers/r300/r300_query.h
> @@ -27,6 +27,8 @@
>  #include "r300_cs.h"
>  #include "r300_reg.h"
>
> +struct r300_context;
> +
>  struct r300_query {
>     /* The kind of query. Currently only OQ is supported. */
>     unsigned type;
> diff --git a/src/gallium/drivers/r300/r300_screen.h
> b/src/gallium/drivers/r300/r300_screen.h
> index 3f52dbc..2a0e41f 100644
> --- a/src/gallium/drivers/r300/r300_screen.h
> +++ b/src/gallium/drivers/r300/r300_screen.h
> @@ -49,7 +49,7 @@ struct r300_transfer {
>  };
>
>  /* Convenience cast wrapper. */
> -static struct r300_screen* r300_screen(struct pipe_screen* screen) {
> +static INLINE struct r300_screen* r300_screen(struct pipe_screen* screen) {
>     return (struct r300_screen*)screen;
>  }
>
> diff --git a/src/gallium/drivers/softpipe/sp_winsys.h
> b/src/gallium/drivers/softpipe/sp_winsys.h
> index 9e57186..6eeb3f3 100644
> --- a/src/gallium/drivers/softpipe/sp_winsys.h
> +++ b/src/gallium/drivers/softpipe/sp_winsys.h
> @@ -1,8 +1,8 @@
>  /**
> - *
> + *
>  * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
>  * All Rights Reserved.
> - *
> + *
>  * Permission is hereby granted, free of charge, to any person obtaining a
>  * copy of this software and associated documentation files (the
>  * "Software"), to deal in the Software without restriction, including
> @@ -10,11 +10,11 @@
>  * distribute, sub license, and/or sell copies of the Software, and to
>  * permit persons to whom the Software is furnished to do so, subject to
>  * the following conditions:
> - *
> + *
>  * The above copyright notice and this permission notice (including the
>  * next paragraph) shall be included in all copies or substantial portions
>  * of the Software.
> - *
> + *
>  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
>  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
>  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
> @@ -22,7 +22,7 @@
>  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
>  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
>  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
> - *
> + *
>  **/
>
>  /* This is the interface that softpipe requires any window system
> @@ -40,7 +40,9 @@ extern "C" {
>  #endif
>
>
> +struct pipe_buffer;
>  struct pipe_screen;
> +struct pipe_texture;
>  struct pipe_winsys;
>  struct pipe_context;
>
> diff --git a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c
> b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c
> index 263f684..275ab99 100644
> --- a/src/gallium/winsys/drm/radeon/core/radeon_buffer.c
> +++ b/src/gallium/winsys/drm/radeon/core/radeon_buffer.c
> @@ -1,8 +1,8 @@
> -/*
> +/*
>  * Copyright © 2008 Jérôme Glisse
>  *             2009 Corbin Simpson
>  * All Rights Reserved.
> - *
> + *
>  * Permission is hereby granted, free of charge, to any person obtaining
>  * a copy of this software and associated documentation file

Re: [Mesa3d-dev] More radeon-rewrite patches

2009-05-30 Thread Matt Turner
> 2) handle big endian machines correctly
> Is this really an issue?

I think this is important -- PowerPC, for instance.

Thanks for your excellent work.
Matt Turner

--
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev