[Mesa-dev] wider registers in llvmpipe

Tom Stellard thomas.stellard at amd.com
Tue Jul 17 07:02:17 PDT 2012


On Tue, Jul 17, 2012 at 09:26:49AM -0400, Kristian Høgsberg wrote:
> On Tue, Jul 17, 2012 at 05:57:37AM -0700, Jose Fonseca wrote:
> > ----- Original Message -----
> > > FYI, I've just pushed a branch named llvmpipe-wider-regs, which
> > > allows llvmpipe to leverage SIMD registers wider than 128bits.
> > > 
> > > Unfortunately, performance-wise this doesn't change much, as llvmpipe
> > > performance is dominated by integer SIMD instructions, whereas
> > > currently the AVX instruction set currently only supports floating
> > > SIMD instructions.  Actually, often things will get slightly slower,
> > > as there are considerable overheads in piecing together the 256
> > > floating point code paths and 128-bit integer code paths.
> > > 
> > > The benefit for this change is foremost architectural: llvmpipe now
> > > makes less assumptions regarding the number of pixels/quads/etc that
> > > fit into a hardware register, a flexibility which will be necessary
> > > to get things like per-pixel LOD working properly.
> > > 
> > > This barely touch files outside gallivm/draw/llvmpipe modules. I
> > > haven't tested i915g, r300g, so let me know if there are regressions
> > > / concerns. I'd like to merge this into master soon.
> > 
> > I went ahead and pushed, after doing more testing. If there's any regression on any driver as consequence just let me know.
> 
> We'll need something like this.
> 
> Kristian
> 
> From 1ae59bde4c960004aa22255b25fb4175beaafdd6 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh at bitplanet.net>
> Date: Tue, 17 Jul 2012 09:24:39 -0400
> Subject: [PATCH] gallium: Add $(TOP)/src/gallium/auxiliary/util to include
>  path
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> So we pick up the new util/u_cpu_detect.h
> 
> Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
> ---
>  src/gallium/Makefile.template |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/src/gallium/Makefile.template b/src/gallium/Makefile.template
> index 036c119..ed14977 100644
> --- a/src/gallium/Makefile.template
> +++ b/src/gallium/Makefile.template
> @@ -20,6 +20,7 @@ INCLUDES = \
>  	-I. \
>  	-I$(TOP)/src/gallium/include \
>  	-I$(TOP)/src/gallium/auxiliary \
> +	-I$(TOP)/src/gallium/auxiliary/util \
>  	-I$(TOP)/src/gallium/drivers \
>  	$(LIBRARY_INCLUDES)
>  
> -- 
> 1.7.10.2
> 

I think we need to add the util prefix to the u_cpu_detect.h include
in lp_bld_quad.c.  This is what is done in all the other gallivm files.

See attached patch.


-Tom
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 

-------------- next part --------------
>From 00089d54d37fd39d2c98c9ddabd4024f76513b68 Mon Sep 17 00:00:00 2001
From: Tom Stellard <thomas.stellard at amd.com>
Date: Tue, 17 Jul 2012 09:58:36 -0400
Subject: [PATCH] gallivm: Use full include path for u_cpu_detect.h

---
 src/gallium/auxiliary/gallivm/lp_bld_quad.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_quad.c b/src/gallium/auxiliary/gallivm/lp_bld_quad.c
index b1ba7c7..209f6a1 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_quad.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_quad.c
@@ -26,7 +26,7 @@
  **************************************************************************/
 
 
-#include "u_cpu_detect.h"
+#include "util/u_cpu_detect.h"
 #include "lp_bld_type.h"
 #include "lp_bld_arit.h"
 #include "lp_bld_const.h"
-- 
1.7.6.5



More information about the mesa-dev mailing list