Re: [Mesa-dev] [PATCH] clover: Don't segfault when compiling a program with no kernel

2013-06-14 Thread Tom Stellard
On Thu, Jun 06, 2013 at 10:29:21AM -0500, Aaron Watry wrote: > Looks good to me. Is there a piglit test for this? I just sent a test for this to the list. -Tom > > --Aaron > > On Wed, Jun 5, 2013 at 7:12 PM, Tom Stellard wrote: > > From: Tom Stellard > &g

Re: [Mesa-dev] [PATCH] R600: Add SI load support for v[24]i32 and store for v2i32

2013-06-14 Thread Tom Stellard
On Fri, Jun 14, 2013 at 08:40:38AM -0500, Aaron Watry wrote: > Also add a seperate vector lit test file, since r600 doesn't seem to handle > v2i32 load/store yet, but we can test both for SI. > Pushed, thanks! -Tom > Signed-off-by: Aaron Watry > --- > lib/Target/R600/SIInstructions.td | 5

Re: [Mesa-dev] R600: Bugfixes

2013-06-17 Thread Tom Stellard
s://bugs.freedesktop.org/show_bug.cgi?id=64257 > The other patch fix a typo that causes instructions not to use PV/PS register > when R600Packetizers evaluates read port limitations. > It prevents some bundling opportunities in some (not so frequent) situation. > > Vincent Both patches are

[Mesa-dev] [PATCH] R600: Fix typo in R600Schedule.td

2013-06-17 Thread Tom Stellard
From: Tom Stellard This should only make a difference in programs that use a lot of the vector ALU instructions like BFI_INT and BIT_ALIGN. There is a slight improvement in the phatk bitcoin mining kernel with this patch on Evergreen (vector size == 1): Before: 1173 Instruction Groups / 9520

[Mesa-dev] [PATCH 1/2] R600: Add support for i32 loads from the constant address space on Cayman

2013-06-18 Thread Tom Stellard
From: Tom Stellard --- lib/Target/R600/R600Instructions.td | 9 + test/CodeGen/R600/load.ll | 1 + 2 files changed, 10 insertions(+) diff --git a/lib/Target/R600/R600Instructions.td b/lib/Target/R600/R600Instructions.td index 83d735f..803f597 100644 --- a/lib/Target/R600

[Mesa-dev] [PATCH 2/2] R600/SI: Report unaligned memory accesses as legal for > 32-bit types

2013-06-18 Thread Tom Stellard
From: Tom Stellard In reality, some unaligned memory accesses are legal for 32-bit types and smaller too, but it all depends on the address space. Allowing unaligned loads/stores for > 32-bit types is mainly to prevent the legalizer from splitting one load into multiple loads of smaller ty

[Mesa-dev] [PATCH] R600/SI: Add support for v4i32 and v4f32 kernel args

2013-06-18 Thread Tom Stellard
From: Tom Stellard --- lib/Target/R600/AMDGPUCallingConv.td| 9 + test/CodeGen/R600/128bit-kernel-args.ll | 16 ++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/lib/Target/R600/AMDGPUCallingConv.td b/lib/Target/R600/AMDGPUCallingConv.td index

Re: [Mesa-dev] [PATCH] R600/SI: Add support for v4i32 and v4f32 kernel args

2013-06-19 Thread Tom Stellard
On Tue, Jun 18, 2013 at 08:26:53PM -0500, Aaron Watry wrote: > Tested on Pitcairn by: Aaron Watry > Thanks. > Follow-up question: Would it be as easy as it looks to add v2i32 right away? > I think so. -Tom > On Tue, Jun 18, 2013 at 6:21 PM, Tom Stellard wrote: > &g

Re: [Mesa-dev] [PATCH 1/3] R600: Expand v2i32 load/store instead of custom lowering

2013-06-19 Thread Tom Stellard
On Mon, Jun 17, 2013 at 04:11:38PM -0500, Aaron Watry wrote: > The custom lowering causes llc to crash with a segfault. > > Ideally, the custom lowering can be fixed, but this allows > programs which load/store v2i32 to work without crashing. > > Signed-off-by: Aaron Watry > --- > lib/Target/R60

Re: [Mesa-dev] [PATCH 2/3] R600/SI: Expand add for v2i32 and v4i32

2013-06-19 Thread Tom Stellard
On Mon, Jun 17, 2013 at 04:11:39PM -0500, Aaron Watry wrote: > Also add SI tests to existing file and a v2i32 test for both > R600 and SI. > Reviewed-by: Tom Stellard > Signed-off-by: Aaron Watry > --- > lib/Target/R600/SIISelLowering.cpp | 2 ++ > test/CodeGen/R600/

Re: [Mesa-dev] [PATCH 3/3] R600/SI: Expand sub for v2i32 and v4i32 for SI

2013-06-19 Thread Tom Stellard
t sure if this is correct, but it's how the current R600 back-end > emits the operation order. > Reviewed-by: Tom Stellard > Signed-off-by: Aaron Watry > --- > lib/Target/R600/SIISelLowering.cpp | 3 +++ > test/CodeGen/R600/sub.ll | 37 +

Re: [Mesa-dev] [PATCH 1/3] R600: Expand v2i32 load/store instead of custom lowering

2013-06-20 Thread Tom Stellard
On Wed, Jun 19, 2013 at 08:51:01AM -0700, Tom Stellard wrote: > On Mon, Jun 17, 2013 at 04:11:38PM -0500, Aaron Watry wrote: > > The custom lowering causes llc to crash with a segfault. > > > > Ideally, the custom lowering can be fixed, but this allows > > programs whi

Re: [Mesa-dev] [PATCH 04/12] R600/SI: Expand shl of v2i32/v4i32 for SI

2013-06-21 Thread Tom Stellard
On Thu, Jun 20, 2013 at 06:43:42PM -0500, Aaron Watry wrote: > Also add lit test for both cases on SI, and v2i32 for evergreen. > > Signed-off-by: Aaron Watry > --- > lib/Target/R600/SIISelLowering.cpp | 3 +++ > test/CodeGen/R600/shl.ll | 47 > ++

Re: [Mesa-dev] [PATCH 09/12] R600: Add v2i32 test for setcc on evergreen

2013-06-21 Thread Tom Stellard
On Thu, Jun 20, 2013 at 06:43:47PM -0500, Aaron Watry wrote: > No test/expansion for SI has been added yet. Attempts to expand this > operation for SI resulted in a stacktrace in (IIRC) LegalizeIntegerTypes > which was complaining about vector comparisons being required to return > a vector type. >

Re: [Mesa-dev] [PATCH 11/12] R600: Add v2i32 test for vselect

2013-06-21 Thread Tom Stellard
On Thu, Jun 20, 2013 at 06:43:49PM -0500, Aaron Watry wrote: > Note: Only adding test for evergreen, not SI yet. > > When I attempted to expand vselect for SI, I got the following: > llc: > /home/awatry/src/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:522: > llvm::SDValue llvm::DAGTypeL

Re: [Mesa-dev] R600: Expand integer operations for SI and consolidate code with EG

2013-06-21 Thread Tom Stellard
either target in the future, we can override that in the > individual targets. > > Signed-off-by: Aaron Watry Just one small comment on the SHL patch, but with that fixed these patches are: Reviewed-by: Tom Stellard > > R600/SI: Expand and of v2i32/v4i32 for SI > R600/SI: Exp

Re: [Mesa-dev] [PATCH] R600: Improve vector constant loading for EG/SI

2013-06-21 Thread Tom Stellard
On Fri, Jun 21, 2013 at 09:44:29AM -0500, Aaron Watry wrote: > Add some constant load v2i32/v4i32 tests for both EG and SI. > > Tested on: Pitcairn (7850) and Cedar (54xx) > > Signed-off-by: Aaron Watry > --- > lib/Target/R600/R600Instructions.td | 3 +++ > lib/Target/R600/SIInstructions.td

Re: [Mesa-dev] [PATCH] R600: Expand SUB for v2i32/v4i32

2013-06-21 Thread Tom Stellard
On Wed, May 08, 2013 at 06:19:11PM -0500, Aaron Watry wrote: > Signed-off-by: Aaron Watry I'm afraid I overlooked this patch, sorry. Reviewed-by: Tom Stellard > --- > lib/Target/R600/R600ISelLowering.cpp |2 ++ > test/CodeGen/R600/sub.ll | 15 +

Re: [Mesa-dev] [PATCH] r600g/compute: disable unused colorbuffer slots

2013-06-24 Thread Tom Stellard
it, so go ahead and commit. Tested-by: Tom Stellard > --- > src/gallium/drivers/r600/evergreen_compute.c | 13 - > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/r600/evergreen_compute.c > b/src/gallium/drivers/r600/evergreen_

Re: [Mesa-dev] [PATCH] r600g: Include SH and SMX when invalidating read caches

2013-06-24 Thread Tom Stellard
On Sun, Jun 23, 2013 at 05:56:15PM -0400, Alex Deucher wrote: > On Sun, Jun 23, 2013 at 2:24 PM, Marek Olšák wrote: > > Hi Alex, > > > > rctx->framebuffer.state.nr_cbufs might not contain what you think it > > does, because the framebuffer that needs flushing may have been > > replaced by a new fr

[Mesa-dev] clover: kernel argument improvements

2013-06-25 Thread Tom Stellard
Hi, This series improves clover's kernel argument handling by allowing drivers to specify an alignment for the input buffer and also by sign/zero extending the arguments when required. In order to test these patches on r600g and radeonsi, you will need to also apply the LLVM patches which were ju

[Mesa-dev] [PATCH 1/4] clover: Let the compiler specify the size of kernel arguments

2013-06-25 Thread Tom Stellard
From: Tom Stellard --- src/gallium/state_trackers/clover/core/kernel.cpp | 40 +++ src/gallium/state_trackers/clover/core/kernel.hpp | 10 +++--- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium

[Mesa-dev] [PATCH 2/4] gallium/compute: Add PIPE_COMPUTE_CAP_KERNEL_ARG_ALIGNMENT

2013-06-25 Thread Tom Stellard
From: Tom Stellard This value for this CAP is the alignment to use when storing kernel arguments in the input buffer. --- src/gallium/docs/source/screen.rst| 13 + src/gallium/drivers/r600/r600_pipe.c | 11 ++- src/gallium/drivers/radeonsi

[Mesa-dev] [PATCH 3/4] clover: Align kernel arguments when storing them in the input buffer

2013-06-25 Thread Tom Stellard
From: Tom Stellard --- src/gallium/state_trackers/clover/core/kernel.cpp | 28 +-- src/gallium/state_trackers/clover/core/kernel.hpp | 5 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium

[Mesa-dev] [PATCH 4/4] clover: Sign-extend and zero-extend kernel arguments when required

2013-06-25 Thread Tom Stellard
From: Tom Stellard --- src/gallium/state_trackers/clover/core/kernel.cpp | 23 +++--- src/gallium/state_trackers/clover/core/kernel.hpp | 4 +++- src/gallium/state_trackers/clover/core/module.hpp | 10 +- .../state_trackers/clover/llvm/invocation.cpp | 14

Re: [Mesa-dev] R600 Patches: Add support for the local address space

2013-06-26 Thread Tom Stellard
U::GROUP_BARRIER) { > > return AluT_XYZW; > >+} > > I'm not sure it'll factorize that much code ; R600Packetizer is called after > cube/reduction op are lowered > by R600Expand pass and thus the isVector/ReductionOp check is useless. I may > have left some de

[Mesa-dev] [PATCH 1/3] r300g: Fix make check

2013-06-26 Thread Tom Stellard
From: Tom Stellard --- src/gallium/drivers/r300/Makefile.am |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/r300/Makefile.am b/src/gallium/drivers/r300/Makefile.am index 49264c4..f82b8e9 100644 --- a/src/gallium/drivers/r300/Makefile.am +++ b/src

[Mesa-dev] [PATCH 3/3] r300g/compiler: Prevent the regalloc from swizzling texture operands v2

2013-06-26 Thread Tom Stellard
From: Tom Stellard https://bugs.freedesktop.org/show_bug.cgi?id=63520 NOTE: This is a candidate for the stable branches. --- src/gallium/drivers/r300/Makefile.am |1 + .../drivers/r300/compiler/radeon_pair_regalloc.c |8 ++ .../r300/compiler/tests/r300_compiler_tests.c

[Mesa-dev] [PATCH 2/3] r300g/compiler/tests: Add an assembly parser

2013-06-26 Thread Tom Stellard
From: Tom Stellard The assembly parser can be used to load r300 assembly dumps and run them through any of the r300 compiler passes. --- .../r300/compiler/tests/omod_two_writers.test |5 + .../r300/compiler/tests/r300_compiler_tests.h |1 + .../tests

Re: [Mesa-dev] [PATCH] radeonsi/compute: Fix memory leak in radeonsi_launch_grid.

2013-06-27 Thread Tom Stellard
Thanks Vinson, I've pushed this. Sorry for the delay. -Tom On Tue, Jun 25, 2013 at 09:37:07PM -0700, Vinson Lee wrote: > Fixes "Resource leak" defect reported by Coverity. > > Signed-off-by: Vinson Lee > --- > src/gallium/drivers/radeonsi/radeonsi_compute.c | 1 + > 1 file changed, 1 insertio

[Mesa-dev] [PATCH] r600g/sb: Fix Android build

2013-06-27 Thread Tom Stellard
From: Chih-Wei Huang Add the sb CXX files to the Android Makefile and also stop using some c++11 features. --- src/gallium/drivers/r600/Android.mk | 5 +++-- src/gallium/drivers/r600/sb/sb_bc.h | 4 ++-- src/gallium/drivers/r600/sb/sb_ra_init.cpp | 2 +- src/gallium/drivers/r600

Re: [Mesa-dev] [PATCH] R600/SI: Add processor types for each CIK variant

2013-06-28 Thread Tom Stellard
On Fri, Jun 28, 2013 at 03:05:04PM -0400, alexdeuc...@gmail.com wrote: > From: Alex Deucher > > Signed-off-by: Alex Deucher Committed, thanks! -Tom > --- > lib/Target/R600/Processors.td |3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/lib/Target/R600/Processor

Re: [Mesa-dev] R600/SI: Support for local memory and derivatives

2013-06-28 Thread Tom Stellard
code for SI. Right now it still fails because it tries to copy a VGPR to > an SGPR, which is not possible. > > Can you add some lit tests for these new intrinsics and also add CHECK lines for SI to the existing local-memory.ll test. With the tests added, these patches are:

Re: [Mesa-dev] [PATCH v2 1/2] radeonsi: Handle TGSI_OPCODE_TXD

2013-06-28 Thread Tom Stellard
On Wed, Jun 19, 2013 at 06:30:49PM +0200, Michel Dänzer wrote: > From: Michel Dänzer > > One more little piglit. > > Signed-off-by: Michel Dänzer For the series: Reviewed-by: Tom Stellard > --- > > v2: Only use the new functionality as of LLVM 3.4. > >

Re: [Mesa-dev] [PATCH] clover: Fix build with LLVM 3.4

2013-06-28 Thread Tom Stellard
On Fri, Jun 28, 2013 at 09:41:45AM -0500, Aaron Watry wrote: > PathV1.h has been removed. In theory this can go back before llvm 3.4, but I > haven't done the research to find out how far back. > > Signed-off-by: Aaron Watry I pushed a similar commit yesterday: http://cgit.freedesktop.org/mesa/m

Re: [Mesa-dev] [RFC] Mesa 9.2 and release process changes

2013-07-08 Thread Tom Stellard
On Tue, Jul 02, 2013 at 01:02:06PM -0700, Ian Romanick wrote: > To keep our six-month release cadence, it looks like we'll target > August 22nd for 9.2. That means we'll probably need to make the > release branch on July 18th... that's just over two weeks from now. > > Assuming that works for eve

Re: [Mesa-dev] R600/SI: Initial double precision support for Radeon SI

2013-07-08 Thread Tom Stellard
On Tue, Jul 02, 2013 at 10:44:10AM +0200, Niels Ole Salscheider wrote: > Hi, > > the attached patches add initial support for double precision operations on > Southern Islands cards. > > Some expressions containing multiple double precision kernel arguments cause > llvm to run until all memory

[Mesa-dev] [PATCH 3/7] clover: Return correct value for CL_DEVICE_ENDIAN_LITTLE

2013-07-09 Thread Tom Stellard
From: Tom Stellard Query the driver using PIPE_CAP_ENDIANNESS rather than always returning true. --- src/gallium/state_trackers/clover/api/device.cpp | 3 ++- src/gallium/state_trackers/clover/core/device.cpp | 5 + src/gallium/state_trackers/clover/core/device.hpp | 1 + 3 files changed

[Mesa-dev] [PATCH 4/7] clover: Let the compiler specify the size of kernel arguments

2013-07-09 Thread Tom Stellard
From: Tom Stellard --- src/gallium/state_trackers/clover/core/kernel.cpp | 40 +++ src/gallium/state_trackers/clover/core/kernel.hpp | 10 +++--- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/gallium/state_trackers/clover/core/kernel.cpp b/src/gallium

[Mesa-dev] [PATCH 2/7] gallium: Add PIPE_CAP_ENDIANNESS

2013-07-09 Thread Tom Stellard
From: Tom Stellard --- src/gallium/docs/source/screen.rst | 2 ++ src/gallium/drivers/freedreno/freedreno_screen.c | 3 +++ src/gallium/drivers/i915/i915_screen.c | 2 ++ src/gallium/drivers/ilo/ilo_screen.c | 2 ++ src/gallium/drivers/llvmpipe/lp_screen.c

[Mesa-dev] [PATCH 5/7] gallium: Add PIPE_COMPUTE_CAP_KERNEL_ARG_ALIGNMENT v2

2013-07-09 Thread Tom Stellard
From: Tom Stellard This value for this CAP is the alignment to use when storing kernel arguments in the input buffer. v2: - Allow per-type alignments --- src/gallium/docs/source/screen.rst| 17 + src/gallium/drivers/r600/r600_pipe.c | 11

[Mesa-dev] [PATCH 6/7] clover: Align kernel arguments when storing them in the input buffer v2

2013-07-09 Thread Tom Stellard
From: Tom Stellard v2: - Use a 'pad' argument to align arguments to the correct size. --- .../state_trackers/clover/core/compiler.hpp| 3 +- src/gallium/state_trackers/clover/core/kernel.cpp | 16 ++- src/gallium/state_trackers/clover/core/kernel.hpp | 3 ++ s

[Mesa-dev] [PATCH 7/7] clover: Sign-extend and zero-extend kernel arguments when required v2

2013-07-09 Thread Tom Stellard
From: Tom Stellard v2: - Extend to target size rather than aligned size - Support for big-endian --- src/gallium/state_trackers/clover/core/kernel.cpp | 58 -- src/gallium/state_trackers/clover/core/kernel.hpp | 17 --- src/gallium/state_trackers/clover/core

Re: [Mesa-dev] R600/SI: Support for local memory and derivatives

2013-07-10 Thread Tom Stellard
On Wed, Jul 10, 2013 at 12:32:25PM +0200, Michel Dänzer wrote: > On Fre, 2013-06-28 at 14:37 -0700, Tom Stellard wrote: > > On Wed, Jun 19, 2013 at 06:28:21PM +0200, Michel Dänzer wrote: > > > > > > These patches implement enough of local memory support to allow rad

Re: [Mesa-dev] [PATCH] st/clover: Allow double precision operations

2013-07-12 Thread Tom Stellard
double type. This is fine, because an application won't be able to use those functions unless it explicitly enables fp64 support with : #pragma OPENCL EXTENSION cl_khr_fp64 : enable since clang will generate an error if you use doubles types without enabling the extension. Reviewed-by: Tom

Re: [Mesa-dev] [PATCH] configure: Avoid use of AC_CHECK_FILE for cross compiling

2013-07-12 Thread Tom Stellard
Hi Jonathan, Sorry for the delay. I've pushed this patch, thanks! -Tom On Wed, Jul 03, 2013 at 11:05:43AM +1000, Jonathan Liu wrote: > Bump. > > On 4 June 2013 23:04, Jonathan Liu wrote: > > The AC_CHECK_FILE macro can't be used for cross compiling as it will > > result in "error: cannot chec

Re: [Mesa-dev] [PATCH] configure.ac: better detection of LLVM version

2013-07-12 Thread Tom Stellard
On Thu, Jun 27, 2013 at 11:13:37PM +0200, Klemens Baum wrote: Pushed, thanks for the patch! Sorry for the delay. -Tom > --- > configure.ac | 41 ++--- > 1 file changed, 26 insertions(+), 15 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 68

Re: [Mesa-dev] [PATCH 2/2] pipe-loader: Add support for render nodes v2

2014-01-31 Thread Tom Stellard
On Thu, Jan 30, 2014 at 10:16:41PM +, Emil Velikov wrote: > On 27/01/14 16:13, Tom Stellard wrote: > > From: Tom Stellard > > > > v2: > >- Add missing call to pipe_loader_drm_release() > >- Fix render node macros > >- Drop render-nod

Re: [Mesa-dev] [PATCH] R600/SI: Fix fneg for 0.0

2014-02-03 Thread Tom Stellard
On Mon, Feb 03, 2014 at 04:43:10PM +0900, Michel Dänzer wrote: > On Don, 2014-01-30 at 10:43 -0500, Tom Stellard wrote: > > On Wed, Jan 29, 2014 at 06:23:00PM +0900, Michel Dänzer wrote: > > > From: Michel Dänzer > > > > > > V_ADD_F32 with source modifier

Re: [Mesa-dev] [PATCH v3] R600/SI: Fix fneg for 0.0

2014-02-03 Thread Tom Stellard
it encoding piglit tests with radeonsi. > > Signed-off-by: Michel Dänzer Reviewed-by: Tom Stellard > --- > > v3: Add explanatory comments. > > lib/Target/R600/SIInstructions.td | 22 +--- > test/CodeGen/R600/fabs.ll | 14

Re: [Mesa-dev] [PATCH] R600/SI: Add pattern for zero-extending i1 to i32

2014-02-04 Thread Tom Stellard
On Tue, Feb 04, 2014 at 12:56:39PM +0900, Michel Dänzer wrote: > From: Michel Dänzer > > Fixes opencl-example if_* tests with radeonsi. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74469 > Signed-off-by: Michel Dänzer Reviewed-by: Tom Stellard > -

[Mesa-dev] [PATCH] configure: Use LLVM shared libraries by default

2014-02-04 Thread Tom Stellard
From: Tom Stellard Linking with LLVM static libraries is easily broken by changes to the llvm-config program or when LLVM adds, removes, or changes library components. Keeping up with these changes requires a lot of maintanence effort to keep the build working on the master and stable branches

[Mesa-dev] [PATCH] R600/SI: Make sure M0 is always initialized when DS instructions are used

2014-02-06 Thread Tom Stellard
From: Tom Stellard DS instructions that access local memory can only uses addresses that are less than or equal to the value of M0. When M0 is uninitialized, then we experience undefined behavior. --- lib/Target/R600/SIInstrInfo.cpp| 12 lib/Target/R600/SIInstrInfo.h

[Mesa-dev] [PATCH] R600/SI: Custom select 64-bit ADD

2014-02-07 Thread Tom Stellard
From: Tom Stellard --- lib/Target/R600/AMDGPUISelDAGToDAG.cpp | 48 ++ lib/Target/R600/SIISelLowering.cpp | 29 lib/Target/R600/SIISelLowering.h | 1 - test/CodeGen/R600/add.ll | 10 +++ test/CodeGen/R600/add_i64

Re: [Mesa-dev] Flatland

2014-02-07 Thread Tom Stellard
On Fri, Feb 07, 2014 at 05:20:12PM +0100, Christian König wrote: > Am 07.02.2014 16:49, schrieb Alex Deucher: > >On Fri, Feb 7, 2014 at 12:34 AM, Connor Abbott wrote: > >>Hi, > >> > >>So I believe that we can all agree that the tree-based representation > >>that GLSL IR currently uses for shaders

Re: [Mesa-dev] Flatland

2014-02-07 Thread Tom Stellard
On Fri, Feb 07, 2014 at 10:49:01AM -0500, Alex Deucher wrote: > On Fri, Feb 7, 2014 at 12:34 AM, Connor Abbott wrote: > > Hi, > > > > So I believe that we can all agree that the tree-based representation > > that GLSL IR currently uses for shaders needs to go. For the benefit > > of those that did

Re: [Mesa-dev] [PATCH] R600/SI: Custom select 64-bit ADD

2014-02-07 Thread Tom Stellard
On Fri, Feb 07, 2014 at 10:31:20AM -0800, Matt Arsenault wrote: > I didn't think to try this. Where is the address folding happening? > There are TableGen patterns that do the folding. I recently added several new ones: r200932-r200935. -Tom > On 02/07/2014 07:46 AM, Tom

Re: [Mesa-dev] Flatland

2014-02-07 Thread Tom Stellard
On Fri, Feb 07, 2014 at 02:52:15PM -0500, Rob Clark wrote: > On Fri, Feb 7, 2014 at 11:20 AM, Christian König > wrote: > > Am 07.02.2014 16:49, schrieb Alex Deucher: > > > >> On Fri, Feb 7, 2014 at 12:34 AM, Connor Abbott > >> wrote: > >>> > >>> Hi, > >>> > >>> So I believe that we can all agree

Re: [Mesa-dev] [PATCH] R600/SI: Make sure M0 is always initialized when DS instructions are used

2014-02-07 Thread Tom Stellard
On Fri, Feb 07, 2014 at 11:46:55AM +0900, Michel Dänzer wrote: > On Don, 2014-02-06 at 09:40 -0800, Tom Stellard wrote: > > From: Tom Stellard > > > > DS instructions that access local memory can only uses addresses that > > are less than or equal to the value of M0

Re: [Mesa-dev] [PATCH 1/2] configure: error out when building radeonsi without gallium-llvm

2014-02-10 Thread Tom Stellard
On Sat, Feb 08, 2014 at 03:52:29PM +, Emil Velikov wrote: > --enable-gallium-llvm is required by radeonsi. Currently we > check only for LLVM_VERSION_INT which is 0, whenever gallium-llvm > is disabled explicitly. > > ./configure --with-gallium-drivers=r600,radeonsi --disable-gallium-llvm > I

Re: [Mesa-dev] [PATCH 02/22] targets/pipe-loader: automake: drop obsolete version-script

2014-02-10 Thread Tom Stellard
On Sat, Feb 08, 2014 at 08:13:48PM +, Emil Velikov wrote: > On 08/02/14 17:53, Matt Turner wrote: > > The purpose of this version script looks to be related to static > > builds, but in your cover letter you said you were building with > > shared LLVM libraries. Does this affect static builds?

Re: [Mesa-dev] [PATCH 1/3] r300g/tests: Added missing fclose for FILE resource.

2014-02-10 Thread Tom Stellard
Reviewed-by: Tom Stellard On Mon, Feb 10, 2014 at 01:28:14PM +0330, Siavash Eliasi wrote: > --- > src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/gallium/drivers/r300/compiler/tests/rc_test_helpers.c

Re: [Mesa-dev] [PATCH] configure: error out when building radeonsi without gallium-llvm

2014-02-10 Thread Tom Stellard
le-gallium-llvm > > v2: Correct typo in error message. Spotted by Tom Stellard > > Signed-off-by: Emil Velikov Reviewed-by: Tom Stellard > --- > configure.ac | 11 +++ > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/configure.ac b/configure.

[Mesa-dev] [PATCH] R600/SI: Completely Disable TypeRewriter on compute

2014-02-10 Thread Tom Stellard
From: Tom Stellard --- lib/Target/R600/SITypeRewriter.cpp | 6 +++--- test/CodeGen/R600/bitcast.ll | 9 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/Target/R600/SITypeRewriter.cpp b/lib/Target/R600/SITypeRewriter.cpp index b01a443..7de7b1f 100644 --- a

[Mesa-dev] [PATCH] R600/SI: Add a pattern for i32 anyext

2014-02-10 Thread Tom Stellard
From: Tom Stellard --- lib/Target/R600/SIInstructions.td | 7 +-- test/CodeGen/R600/anyext.ll | 14 ++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 test/CodeGen/R600/anyext.ll diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600

[Mesa-dev] [PATCH] R600/SI: Split global vector loads with more than 4 elements

2014-02-10 Thread Tom Stellard
From: Tom Stellard --- lib/Target/R600/SIISelLowering.cpp | 8 +- test/CodeGen/R600/load.ll | 178 +++-- 2 files changed, 98 insertions(+), 88 deletions(-) diff --git a/lib/Target/R600/SIISelLowering.cpp b/lib/Target/R600/SIISelLowering.cpp index

Re: [Mesa-dev] [PATCH] R600/SI: Split global vector loads with more than 4 elements

2014-02-11 Thread Tom Stellard
om > On 02/10/2014 01:32 PM, Tom Stellard wrote: > > From: Tom Stellard > > > > --- > > lib/Target/R600/SIISelLowering.cpp | 8 +- > > test/CodeGen/R600/load.ll | 178 > > +++-- > > 2 files changed, 98 ins

[Mesa-dev] [PATCH] clover: Don't call pipe_loader_release() when deleting a device

2014-02-12 Thread Tom Stellard
From: Tom Stellard After pipe_loader_release() is called, if any of the pipe_* objects try to call into the gallium API the application will segfault. The only time devices are deleted is when the global _clover_platform object is deleted by the static destructor. However, since application

[Mesa-dev] [PATCH] clover: Pass buffer offsets to the driver in set_global_binding()

2014-02-13 Thread Tom Stellard
From: Tom Stellard The offsets will be stored in the handles parameter. This makes it possible to use sub-buffers. --- src/gallium/drivers/r600/evergreen_compute.c | 2 +- src/gallium/drivers/radeonsi/si_compute.c | 1 + src/gallium/include/pipe/p_context.h | 9

Re: [Mesa-dev] [PATCH] R600/SI: Custom select 64-bit ADD

2014-02-14 Thread Tom Stellard
On Thu, Feb 13, 2014 at 07:56:26AM -0800, Matt Arsenault wrote: > > On Feb 7, 2014, at 7:46 AM, Tom Stellard wrote: > > > From: Tom Stellard > > > > --- > > lib/Target/R600/AMDGPUISelDAGToDAG.cpp | 48 > > ++ > >

Re: [Mesa-dev] [PATCH] st/xvmc: fix tests so that they pass

2014-02-18 Thread Tom Stellard
On Sun, Feb 16, 2014 at 02:26:33AM -0500, Ilia Mirkin wrote: > Signed-off-by: Ilia Mirkin > --- > > Tom, any objections to enabling xvmc by default again? You turned it off in > commit 6a19bb56e ("configure: Disable xvmc by default") complaining about the > tests failing. These all pass for me no

Re: [Mesa-dev] [PATCH] clover: Pass buffer offsets to the driver in set_global_binding()

2014-02-18 Thread Tom Stellard
On Sat, Feb 15, 2014 at 12:22:45PM +0100, Francisco Jerez wrote: > Tom Stellard writes: > > > From: Tom Stellard > > > > The offsets will be stored in the handles parameter. This makes > > it possible to use sub-buffers. > > --- > > src/gallium/

Re: [Mesa-dev] OpenCL Supported extensions for R600/SI ?

2014-02-19 Thread Tom Stellard
On Wed, Feb 19, 2014 at 09:20:22PM +, Dorrington, Albert wrote: > Currently clGetDeviceInfo() returns an empty string when queried for > CL_DEVICE_EXTENSIONS. > > Looking through both the Mesa and LLVM/Clang code I see references to the > following extensions: > cl_khr_fp64 > cl_khr_int64_ba

Re: [Mesa-dev] [PATCH] clover: Don't call pipe_loader_release() when deleting a device

2014-02-19 Thread Tom Stellard
On Tue, Feb 18, 2014 at 05:50:19PM +0100, Francisco Jerez wrote: > Tom Stellard writes: > > > From: Tom Stellard > > > > After pipe_loader_release() is called, if any of the pipe_* objects > > try to call into the gallium API the application will segfault. >

[Mesa-dev] [PATCH 1/3] util: Add util_bswap64()

2014-02-19 Thread Tom Stellard
--- src/gallium/auxiliary/util/u_math.h | 10 ++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index b5e0663..49f8bda 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -7

[Mesa-dev] [PATCH 3/3] clover: Pass buffer offsets to the driver in set_global_binding() v2

2014-02-19 Thread Tom Stellard
The offsets will be stored in the handles parameter. This makes it possible to use sub-buffers. v2: - Style fixes - Add support for constant sub-buffers - Store handles in device byte order --- src/gallium/drivers/r600/evergreen_compute.c | 10 +- src/gallium/drivers/radeonsi/

[Mesa-dev] [PATCH 2/3] radeonsi: Use SI_BIG_ENDIAN now that it exists

2014-02-19 Thread Tom Stellard
--- src/gallium/drivers/radeonsi/si_shader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 54270cd..9fed751 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drive

[Mesa-dev] [PATCH 5/8] r600g: Use util_cpu_to_le32() instead of bswap32() on big-endian systems

2014-02-20 Thread Tom Stellard
--- src/gallium/drivers/r600/r600_asm.c | 2 +- src/gallium/drivers/r600/r600_shader.c | 2 +- src/gallium/drivers/r600/r600_state_common.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm

[Mesa-dev] [PATCH 4/8] radeonsi: Use util_cpu_to_le32() instead of bswap32() on big-endian systems

2014-02-20 Thread Tom Stellard
--- src/gallium/drivers/radeonsi/si_descriptors.c | 2 +- src/gallium/drivers/radeonsi/si_shader.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index d45bc80..9b10d01 10064

[Mesa-dev] [PATCH 8/8] clover: Pass buffer offsets to the driver in set_global_binding() v3

2014-02-20 Thread Tom Stellard
The offsets will be stored in the handles parameter. This makes it possible to use sub-buffers. v2: - Style fixes - Add support for constant sub-buffers - Store handles in device byte order v3: - Use endian helpers --- src/gallium/drivers/r600/evergreen_compute.c | 7 ++- src/

[Mesa-dev] [PATCH 3/8] util: Add util_cpu_to_le* helpers

2014-02-20 Thread Tom Stellard
--- src/gallium/auxiliary/util/u_math.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index 0f498bc..ffbcc4c 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -726,6 +726

[Mesa-dev] [PATCH 1/8] configure.ac: Use AX_GCC_BUILTIN to check availability of __builtin_bswap32

2014-02-20 Thread Tom Stellard
--- configure.ac| 6 ++ m4/ax_gcc_builtin.m4| 168 src/gallium/auxiliary/util/u_math.h | 3 +- 3 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 m4/ax_gcc_builtin.m4 diff --git a/configure.ac b/co

[Mesa-dev] [PATCH 7/8] clover: Make resource::bind_surface() const

2014-02-20 Thread Tom Stellard
--- src/gallium/state_trackers/clover/core/resource.cpp | 2 +- src/gallium/state_trackers/clover/core/resource.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/state_trackers/clover/core/resource.cpp b/src/gallium/state_trackers/clover/core/resource.cpp inde

[Mesa-dev] [PATCH 6/8] radeonsi: Use SI_BIG_ENDIAN now that it exists

2014-02-20 Thread Tom Stellard
--- src/gallium/drivers/radeonsi/si_shader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 9b04e6b..7776821 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drive

[Mesa-dev] [PATCH 2/8] util: Add util_bswap64() v2

2014-02-20 Thread Tom Stellard
v2: - Use __builtin_bswap64() - Remove unnecessary mask - Add util_le64_to_cpu() helper --- configure.ac| 2 ++ src/gallium/auxiliary/util/u_math.h | 16 2 files changed, 18 insertions(+) diff --git a/configure.ac b/configure.ac index 75d345a..629f5

Re: [Mesa-dev] [PATCH 1/8] configure.ac: Use AX_GCC_BUILTIN to check availability of __builtin_bswap32

2014-02-21 Thread Tom Stellard
On Thu, Feb 20, 2014 at 09:53:22PM -0800, Matt Turner wrote: > On Thu, Feb 20, 2014 at 10:21 AM, Tom Stellard > wrote: > > --- > > configure.ac| 6 ++ > > m4/ax_gcc_builtin.m4| 168 > > +

Re: [Mesa-dev] EXTERNAL: Re: Radeon r600_ring_test/evergreen_resume errors

2014-02-21 Thread Tom Stellard
On Fri, Feb 21, 2014 at 05:53:02PM +, Dorrington, Albert wrote: > > -Original Message- > > From: Alex Deucher [mailto:alexdeuc...@gmail.com] > > You are seeing a GPU hang and the driver attempts to reset it which doesn't > > always work. Probably a problem in the OpenGL or OpenCL drive

Re: [Mesa-dev] EXTERNAL: Re: Radeon r600_ring_test/evergreen_resume errors

2014-02-21 Thread Tom Stellard
On Fri, Feb 21, 2014 at 09:48:50PM +, Dorrington, Albert wrote: > > -Original Message- > > From: Tom Stellard [mailto:t...@stellard.net] > > Subject: Re: [Mesa-dev] EXTERNAL: Re: Radeon > > r600_ring_test/evergreen_resume errors > > > > On F

Re: [Mesa-dev] [PATCH 1/3] targets/gbm: exit gracefully if pipe_loader_drm_probe_fd is not available

2014-02-24 Thread Tom Stellard
These four patches fix the OpenCL build errors. Tested-by: Tom Stellard On Sat, Feb 22, 2014 at 04:53:47PM +, Emil Velikov wrote: > When one builds without gallium_drm_loader, the above function will > not be available, thus we'll segfault in gallium_screen_create due > to

Re: [Mesa-dev] [PATCH 1/2] R600/SI: Allow SI_KILL for geometry shaders

2014-02-24 Thread Tom Stellard
Clear this pixel from the exec mask if the operand is negative >BuildMI(MBB, &MI, DL, TII->get(AMDGPU::V_CMPX_LE_F32_e32), AMDGPU::VCC) > diff --git a/test/CodeGen/R600/llvm.AMDGPU.kill.ll > b/test/CodeGen/R600/llvm.AMDGPU.kill.ll > new file mode 100644 > index 000..0abe6

[Mesa-dev] [PATCH] r600g/compute: PIPE_CAP_COMPUTE should be false for pre-evergreen GPUs

2014-02-24 Thread Tom Stellard
This prevents clover from using unsupported devices. --- src/gallium/drivers/r600/r600_pipe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 0f75a53..157d560 100644 --- a/src/gallium/drivers/

Re: [Mesa-dev] [PATCH v2 1/2] R600/SI: Allow SI_KILL for geometry shaders

2014-02-25 Thread Tom Stellard
On Tue, Feb 25, 2014 at 07:36:46PM +0900, Michel Dänzer wrote: > From: Michel Dänzer > > Signed-off-by: Michel Dänzer Reviewed-by: Tom Stellard > --- > > v2: > * Bail in SILowerControlFlowPass::SkipIfDead() for geometry shaders, as > the backend can't ensure

Re: [Mesa-dev] [PATCH v2 2/2] R600/SI: Optimize SI_KILL for constant operands

2014-02-25 Thread Tom Stellard
On Tue, Feb 25, 2014 at 07:36:47PM +0900, Michel Dänzer wrote: > From: Michel Dänzer > > If the SI_KILL operand is constant, we can either clear the exec mask if > the operand is negative, or do nothing otherwise. > > Signed-off-by: Michel Dänzer > --- > > v2: > * Use just 'SI' as the lit test

[Mesa-dev] [PATCH] R600: Verify all instructions in the AsmPrinter on debug builds

2014-02-25 Thread Tom Stellard
Make a call to R600's implementation of verifyInstruction() to check that instructions are only using legal operands. --- lib/Target/R600/AMDGPUMCInstLower.cpp | 8 1 file changed, 8 insertions(+) diff --git a/lib/Target/R600/AMDGPUMCInstLower.cpp b/lib/Target/R600/AMDGPUMCInstLower.cpp

[Mesa-dev] [PATCH] R600/SI: Expand all v16[if]32 operations

2014-02-25 Thread Tom Stellard
--- lib/Target/R600/SIISelLowering.cpp | 2 +- test/CodeGen/R600/add.ll | 40 ++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/lib/Target/R600/SIISelLowering.cpp b/lib/Target/R600/SIISelLowering.cpp index ffa42b8..3b7043a 100644 ---

Re: [Mesa-dev] [PATCH] R600: Verify all instructions in the AsmPrinter on debug builds

2014-02-25 Thread Tom Stellard
On Tue, Feb 25, 2014 at 01:47:17PM -0800, Matt Arsenault wrote: > On 02/25/2014 01:42 PM, Tom Stellard wrote: > > +errs() << "Please file a bug a bugs.freedesktop.org\n"; > Typo, s/a/at/ > Thanks, I will

Re: [Mesa-dev] Accidental Mesa revert

2014-02-25 Thread Tom Stellard
On Tue, Feb 25, 2014 at 02:26:34PM -0800, Timothy Arceri wrote: > Hi Tom, > > I managed to accidentally revert your commit: > http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcd499730b225ec5a35902893c059086ba11b590 > > I managed to commit the same change: > http://cgit.freedesktop.org/mesa/mes

Re: [Mesa-dev] [PATCH] R600: Verify all instructions in the AsmPrinter on debug builds

2014-02-25 Thread Tom Stellard
> > > > There's a build configure bug report URL you could use (which is where I > > assume the llvm.org/bugs link comes from in the output from a crash) > > > >> > >> On Tue, Feb 25, 2014 at 1:54 PM, Tom Stellard wrote: > >>> > >>

Re: [Mesa-dev] [PATCH v3 2/2] R600/SI: Optimize SI_KILL for constant operands

2014-02-26 Thread Tom Stellard
On Wed, Feb 26, 2014 at 01:48:39PM +0900, Michel Dänzer wrote: > From: Michel Dänzer > > If the SI_KILL operand is constant, we can either clear the exec mask if > the operand is negative, or do nothing otherwise. > > Signed-off-by: Michel Dänzer Reviewed-by: Tom Stella

[Mesa-dev] [PATCH] clover: Fix build since LLVM's switch to c++11

2014-03-03 Thread Tom Stellard
--- This patch should work for older LLVM versions too. configure.ac | 5 + src/gallium/state_trackers/clover/Makefile.am | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0e0fd18..a1eb907 100644 --- a/con

<    3   4   5   6   7   8   9   10   11   12   >