[Mesa-dev] [PATCH v2 09/13] i965/fs: don't pass in ir_texture to emit_texture_*

2014-08-04 Thread Connor Abbott
At this point, the only thing it's used for is the opcode. Signed-off-by: Connor Abbott --- src/mesa/drivers/dri/i965/brw_fs.h | 27 -- src/mesa/drivers/dri/i965/brw_fs_fp.cpp | 6 +-- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 55 +++---

[Mesa-dev] [PATCH v2 04/13] i965/fs: make emit_mcs_fetch() more generic

2014-08-04 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/mesa/drivers/dri/i965/brw_fs.h | 2 +- src/mesa/drivers/dri/i965/brw_fs_fp.cpp | 4 ++-- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 16 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mesa/drivers/dri

[Mesa-dev] [PATCH v2 07/13] i965/fs: don't use ir->lod_info.grad.dPd in emit_texture_*

2014-08-04 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/mesa/drivers/dri/i965/brw_fs.h | 12 - src/mesa/drivers/dri/i965/brw_fs_fp.cpp | 6 ++--- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 37 +++- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a

[Mesa-dev] [PATCH] i965/fs: don't read from uninitialized memory while assigning registers

2014-08-08 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp index 3f27364..2233621 100644

[Mesa-dev] [PATCH] i965/fs: set virtual_grf_count in assign_regs()

2014-08-08 Thread Connor Abbott
This lets us call dump_instructions() after register allocation without failing an assertion. This interacts trivially with my previous patch. Signed-off-by: Connor Abbott --- src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 4 1 file changed, 4 insertions(+) diff --git a/src/mesa

Re: [Mesa-dev] [PATCH] i965/fs: set virtual_grf_count in assign_regs()

2014-08-08 Thread Connor Abbott
On Fri, Aug 8, 2014 at 4:55 PM, Matt Turner wrote: > Reviewed-by: Matt Turner > > I'll commit both of these tonight. (Does the vec4 backend have the > same problem?) AFAICT, it has the same problem that this patch fixes but not the last patch. I would fix send another patch, but I'm not as famil

Re: [Mesa-dev] [PATCH] gallium: remove support for predicates from TGSI

2014-08-08 Thread Connor Abbott
On Wed, Aug 6, 2014 at 6:29 PM, Marek Olšák wrote: > What IR? A flatland GLSL IR? A replacement for Mesa IR? Something else? It's a flatland IR, similar to TGSI/Direct3D style with enough GLSL IR-like stuff to get existing things working now and enable us to eventually do linking in it (so we can

Re: [Mesa-dev] [PATCH] gallium: remove support for predicates from TGSI

2014-08-11 Thread Connor Abbott
On Mon, Aug 11, 2014 at 4:32 PM, Eric Anholt wrote: > Connor Abbott writes: > >> On Wed, Aug 6, 2014 at 6:29 PM, Marek Olšák wrote: >>> What IR? A flatland GLSL IR? A replacement for Mesa IR? Something else? >> >> It's a flatland IR, similar to TGSI/Dire

Re: [Mesa-dev] [PATCH] i965: Return NONE from brw_swap_cmod on unknown input.

2014-08-12 Thread Connor Abbott
On Mon, Aug 11, 2014 at 11:22 AM, Matt Turner wrote: > Comparing ~0u with a packed enum (i.e., 1 byte) always evaluates to > false. Shouldn't gcc warn about this? > > Reported-by: Connor Abbott > --- > src/mesa/drivers/dri/i965/brw_eu.c | 2 +- >

Re: [Mesa-dev] [PATCH 2/9] glsl: Fix directory handling in optimization-test

2014-08-12 Thread Connor Abbott
ts.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev Whoops... I don't know much bash scripting so I'm glad you fixed up what I wrote. I can't review this properly for the same reason, but it at least it gets an Acked-by: Connor Abbott ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] i965/fs: Add pass to rename registers to break live ranges.

2014-08-13 Thread Connor Abbott
b/src/mesa/drivers/dri/i965/brw_fs.h > index e7a82c4..d30b0b8 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs.h > +++ b/src/mesa/drivers/dri/i965/brw_fs.h > @@ -339,6 +339,7 @@ public: > bool opt_copy_propagate_local(void *mem_ctx, bblock_t *block, > exec_list *acp); >

Re: [Mesa-dev] [PATCH 1/9] glsl: Optimize min/max expression trees

2014-08-14 Thread Connor Abbott
On Tue, Jul 29, 2014 at 2:36 AM, Petri Latvala wrote: > Add an optimization pass that drops min/max expression operands that > can be proven to not contribute to the final result. The algorithm is > similar to alpha-beta pruning on a minmax search, from the field of > AI. > > This optimization pas

Re: [Mesa-dev] [PATCH] squash! glsl: Optimize min/max expression trees

2014-08-14 Thread Connor Abbott
On Wed, Aug 13, 2014 at 9:04 PM, Matt Turner wrote: > --- > I'd squash this in at minimum. The changes are > > - Whitespace > - Removal of unnecessary destructor > - Renaming "one" and "two" to "a" and "b" (one->value.u[c0] < > two->value.u[c0]...) > - continue -> break > - assert(!...) -> u

[Mesa-dev] [PATCH 01/16] exec_list: add a list_foreach_typed_reverse() macro

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/list.h | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/glsl/list.h b/src/glsl/list.h index 3ee6cda..c402f48 100644 --- a/src/glsl/list.h +++ b/src/glsl/list.h @@ -644,6 +644,12 @@ inline void exec_node::insert_before(exec_list *before

[Mesa-dev] [PATCH 02/16] glsl/linker: pass through the is_intrinsic flag

2014-08-15 Thread Connor Abbott
7;s useful for codepaths that want to distinguish between intrinsics and non-intrinsics without using strcmp. Signed-off-by: Connor Abbott --- src/glsl/link_functions.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/glsl/link_functions.cpp b/src/glsl/link_functions.cpp index 2ce960

[Mesa-dev] [PATCH 05/16] nir: add the core datastructures

2014-08-15 Thread Connor Abbott
This includes all the instructions, ifs, loops, functions, etc. This is similar to the information in ir.h. Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources |2 + src/glsl/nir/nir.h| 1150 + src/glsl/nir/nir_intrinsics.c

[Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-15 Thread Connor Abbott
eatures (atomics and some system values): https://github.com/cwabbott0/mesa/tree/nir-i965-fs NIR has been what I've worked on for my entire summer internship at Intel, and before I go off to my freshman year at college, I'd like to thank the other Intel folks for the knowledge they'v

[Mesa-dev] [PATCH 15/16] nir: add a pass to lower atomics

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources| 1 + src/glsl/nir/nir.h | 2 + src/glsl/nir/nir_lower_atomics.c | 127 +++ 3 files changed, 130 insertions(+) create mode 100644 src/glsl/nir/nir_lower_atomics.c diff --git

[Mesa-dev] [PATCH 13/16] nir: add a pass to lower sampler instructions

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources | 3 +- src/glsl/nir/nir.h | 5 ++ src/glsl/nir/nir_lower_samplers.cpp | 170 3 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 src/glsl/nir

[Mesa-dev] [PATCH 12/16] nir: add a pass to remove unused variables

2014-08-15 Thread Connor Abbott
After we lower variables, we want to delete them in order to free up some memory. Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources| 1 + src/glsl/nir/nir.h | 2 + src/glsl/nir/nir_remove_dead_variables.c | 138

[Mesa-dev] [PATCH 11/16] nir: keep track of the number of input, output, and uniform slots

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/nir/nir.c| 4 src/glsl/nir/nir.h| 6 ++ src/glsl/nir/nir_lower_variables_scalar.c | 10 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/glsl/nir/nir.c b/src/glsl

[Mesa-dev] [PATCH 03/16] nir: add initial README

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/nir/README | 118 1 file changed, 118 insertions(+) create mode 100644 src/glsl/nir/README diff --git a/src/glsl/nir/README b/src/glsl/nir/README new file mode 100644 index 000..2c81db9 --- /dev

[Mesa-dev] [PATCH 16/16] nir: add an optimization to turn global registers into local registers

2014-08-15 Thread Connor Abbott
After linking and inlining, this allows us to convert these registers into SSA values and optimise more code. Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources | 1 + src/glsl/nir/nir.h | 2 + src/glsl/nir/nir_opt_global_to_local.c | 103

[Mesa-dev] [PATCH 06/16] nir: add core helper functions

2014-08-15 Thread Connor Abbott
These include functions for adding and removing various bits of IR and helpers for iterating over all the sources and destinations of an instruction. This is similar to ir.cpp. Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources |1 + src/glsl/nir/nir.c| 1713

[Mesa-dev] [PATCH 04/16] nir: add a simple C wrapper around glsl_types.h

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources | 6 +- src/glsl/nir/nir_types.cpp | 155 + src/glsl/nir/nir_types.h | 78 +++ 3 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 src/glsl/nir

[Mesa-dev] [PATCH 09/16] nir: add a glsl-to-nir pass

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources|3 +- src/glsl/nir/glsl_to_nir.cpp | 1759 ++ src/glsl/nir/glsl_to_nir.h | 40 + 3 files changed, 1801 insertions(+), 1 deletion(-) create mode 100644 src/glsl/nir/glsl_to_nir.cpp

[Mesa-dev] [PATCH 07/16] nir: add a printer

2014-08-15 Thread Connor Abbott
This is similar to ir_print_visitor.cpp. Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources | 1 + src/glsl/nir/nir.h| 2 + src/glsl/nir/nir_print.c | 916 ++ 3 files changed, 919 insertions(+) create mode 100644 src/glsl/nir

[Mesa-dev] [PATCH 10/16] nir: add a pass to lower variables for scalar backends

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources |1 + src/glsl/nir/nir.h|4 + src/glsl/nir/nir_lower_variables_scalar.c | 1241 + 3 files changed, 1246 insertions(+) create mode 100644 src/glsl/nir

[Mesa-dev] [PATCH 14/16] nir: add a pass to lower system value reads

2014-08-15 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources | 1 + src/glsl/nir/nir.h | 2 + src/glsl/nir/nir_lower_system_values.c | 106 + 3 files changed, 109 insertions(+) create mode 100644 src/glsl/nir

[Mesa-dev] [PATCH 08/16] nir: add a validation pass

2014-08-15 Thread Connor Abbott
This is similar to ir_validate.cpp. Signed-off-by: Connor Abbott --- src/glsl/Makefile.sources | 1 + src/glsl/nir/nir.h | 2 + src/glsl/nir/nir_validate.c | 798 3 files changed, 801 insertions(+) create mode 100644 src/glsl/nir

Re: [Mesa-dev] [PATCH] squash! glsl: Optimize min/max expression trees

2014-08-18 Thread Connor Abbott
On Mon, Aug 18, 2014 at 9:26 AM, Petri Latvala wrote: > On 08/14/2014 11:00 AM, Connor Abbott wrote: >> >> >> >> Another thing I'd like to see is to change minmax_range to call things >> "low" and "high" instead of "range[0]" and

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-18 Thread Connor Abbott
On Mon, Aug 18, 2014 at 8:44 AM, Roland Scheidegger wrote: > Am 16.08.2014 02:12, schrieb Connor Abbott: >> I know what you might be thinking right now. "Wait, *another* IR? Don't >> we already have like 5 of those, not counting all the driver-specific >> ones? Isn&

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-18 Thread Connor Abbott
On Mon, Aug 18, 2014 at 11:47 AM, Jose Fonseca wrote: > On 18/08/14 14:21, Marek Olšák wrote: >> >> On Mon, Aug 18, 2014 at 2:44 PM, Roland Scheidegger >> wrote: >>> >>> Am 16.08.2014 02:12, schrieb Connor Abbott: >>>> >>>> I know w

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-18 Thread Connor Abbott
On Mon, Aug 18, 2014 at 4:32 AM, Michel Dänzer wrote: > On 16.08.2014 09:12, Connor Abbott wrote: >> I know what you might be thinking right now. "Wait, *another* IR? Don't >> we already have like 5 of those, not counting all the driver-specific >> ones? Isn&

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-18 Thread Connor Abbott
On Mon, Aug 18, 2014 at 12:38 PM, Ilia Mirkin wrote: > On Mon, Aug 18, 2014 at 12:25 PM, Connor Abbott wrote: >> On Mon, Aug 18, 2014 at 11:47 AM, Jose Fonseca wrote: >>> On 18/08/14 14:21, Marek Olšák wrote: >>> Once these are in place, all development effor

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-18 Thread Connor Abbott
IR. That would be cool. Once this stuff gets actually implemented, there's probably going to be a lot of low-hanging fruit when it comes to optimizations, especially since writing optimizations in SSA is so easy! Connor > > Regards, > Thomas > > 2014-08-16 2:12 GMT+02:00 Conn

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-19 Thread Connor Abbott
On Mon, Aug 18, 2014 at 8:52 PM, Michel Dänzer wrote: > On 19.08.2014 01:28, Connor Abbott wrote: >> On Mon, Aug 18, 2014 at 4:32 AM, Michel Dänzer wrote: >>> On 16.08.2014 09:12, Connor Abbott wrote: >>>> I know what you might be thinking right now. "Wait,

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-19 Thread Connor Abbott
On Mon, Aug 18, 2014 at 1:38 PM, Roland Scheidegger wrote: > Am 18.08.2014 19:05, schrieb Connor Abbott: >> On Mon, Aug 18, 2014 at 12:38 PM, Ilia Mirkin wrote: >>> On Mon, Aug 18, 2014 at 12:25 PM, Connor Abbott wrote: >>>> On Mon, Aug 18, 2014 at 11:47 AM, Jose

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-19 Thread Connor Abbott
On Tue, Aug 19, 2014 at 11:40 AM, Francisco Jerez wrote: > Tom Stellard writes: > >> On Tue, Aug 19, 2014 at 11:04:59AM -0400, Connor Abbott wrote: >>> On Mon, Aug 18, 2014 at 8:52 PM, Michel Dänzer wrote: >>> > On 19.08.2014 01:28, Connor Abbott wrote: >&

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-19 Thread Connor Abbott
On Tue, Aug 19, 2014 at 3:57 PM, Tom Stellard wrote: > On Tue, Aug 19, 2014 at 01:37:56PM -0700, Connor Abbott wrote: >> On Tue, Aug 19, 2014 at 11:40 AM, Francisco Jerez >> wrote: >> > Tom Stellard writes: >> > >> >> On Tue, Aug 19, 2014 at 11:04:5

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
On Tue, Aug 19, 2014 at 11:33 PM, Francisco Jerez wrote: > Connor Abbott writes: > >> On Tue, Aug 19, 2014 at 11:40 AM, Francisco Jerez >> wrote: >>> Tom Stellard writes: >>> >>>> On Tue, Aug 19, 2014 at 11:04:59AM -0400, Connor Abbott wrot

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
On Wed, Aug 20, 2014 at 2:41 AM, Michel Dänzer wrote: > On 20.08.2014 00:04, Connor Abbott wrote: >> On Mon, Aug 18, 2014 at 8:52 PM, Michel Dänzer wrote: >>> On 19.08.2014 01:28, Connor Abbott wrote: >>>> On Mon, Aug 18, 2014 at 4:32 AM, Michel Dänzer wrote: >

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
nt, but you shouldn't try > to handle backend specific swizzle operations and vectorizing restrictions > in the IR. Just looking at the swizzle restrictions of R600 for example and > I really can't imagine that you want to represent this in a common IR > between all different d

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
On Wed, Aug 20, 2014 at 5:57 AM, Christian König wrote: > Am 20.08.2014 um 14:33 schrieb Connor Abbott: > >> On Tue, Aug 19, 2014 at 11:57 PM, Christian König >> wrote: >>> >>> I think we can fix this by introducing new structured variants of the >>

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
On Wed, Aug 20, 2014 at 7:01 AM, Francisco Jerez wrote: > Connor Abbott writes: > >> On Tue, Aug 19, 2014 at 11:33 PM, Francisco Jerez >> wrote: >>> Connor Abbott writes: >>> >>>> On Tue, Aug 19, 2014 at 11:40 AM, Francisco Jerez >>>

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
On Wed, Aug 20, 2014 at 12:11 PM, Francisco Jerez wrote: > Connor Abbott writes: > >> On Wed, Aug 20, 2014 at 7:01 AM, Francisco Jerez >> wrote: >>> Connor Abbott writes: >>> >>>> On Tue, Aug 19, 2014 at 11:33 PM, Francisco Jerez >>>

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-20 Thread Connor Abbott
On Wed, Aug 20, 2014 at 12:17 PM, Tom Stellard wrote: > On Tue, Aug 19, 2014 at 05:19:15PM -0700, Connor Abbott wrote: >> On Tue, Aug 19, 2014 at 3:57 PM, Tom Stellard wrote: >> > On Tue, Aug 19, 2014 at 01:37:56PM -0700, Connor Abbott wrote: >> >> On Tue, Aug 1

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-22 Thread Connor Abbott
On Thu, Aug 21, 2014 at 11:08 PM, Dave Airlie wrote: > On 22 August 2014 12:46, Jason Ekstrand wrote: >> On Thu, Aug 21, 2014 at 7:36 PM, Dave Airlie wrote: >>> >>> On 21 August 2014 19:10, Henri Verbeet wrote: >>> > On 21 August 2014 04:56, Michel Dänzer wrote: >>> >> On 21.08.2014 04:29, Hen

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-22 Thread Connor Abbott
On Fri, Aug 22, 2014 at 11:27 AM, Christian König wrote: > Am 22.08.2014 um 17:13 schrieb Connor Abbott: > >> On Thu, Aug 21, 2014 at 11:08 PM, Dave Airlie wrote: >>> >>> On 22 August 2014 12:46, Jason Ekstrand wrote: >>>> >>>> On Thu, Aug 2

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-22 Thread Connor Abbott
On Fri, Aug 22, 2014 at 11:27 AM, Christian König wrote: > Am 22.08.2014 um 17:13 schrieb Connor Abbott: > >> On Thu, Aug 21, 2014 at 11:08 PM, Dave Airlie wrote: >>> >>> On 22 August 2014 12:46, Jason Ekstrand wrote: >>>> >>>> On Thu, Aug 2

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-23 Thread Connor Abbott
On Sat, Aug 23, 2014 at 5:14 AM, Christian König wrote: > Am 22.08.2014 um 18:01 schrieb Connor Abbott: > >> On Fri, Aug 22, 2014 at 11:27 AM, Christian König >> wrote: >>> >>> Am 22.08.2014 um 17:13 schrieb Connor Abbott: >>> >>>

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-26 Thread Connor Abbott
On Tue, Aug 26, 2014 at 4:34 PM, Thomas Helland wrote: > While I haven't heard about those projects, there's also GlassyMesa. > Greg from LunarG (CC'd) posted about this to the mailing list. [1] > However it looks like the github activity has stopped, > and there's no new info on the projects webs

Re: [Mesa-dev] [RFC PATCH 00/16] A new IR for Mesa

2014-08-29 Thread Connor Abbott
On Thu, Aug 28, 2014 at 5:07 AM, Christian König wrote: >> At least with the other components on which Mesa relies (e.g., libdrm, >> 2D drivers, etc.) it's largely the same group of people with the same >> set of goals. > > > This was only true until Tom Stellard started to manage LLVM point relea

[Mesa-dev] [PATCH 1/3] r300g: set register classes before interferences

2014-09-05 Thread Connor Abbott
xes: https://bugs.freedesktop.org/show_bug.cgi?id=82828 CC: "10.3" Signed-off-by: Connor Abbott --- I think we could get rid of the node_classes array if we call ra_alloc_interference_graph() earlier, but I don't know much about this code so I just did the minimum amoun

[Mesa-dev] [PATCH 2/3] ra: note a restriction in the interfence graph API

2014-09-05 Thread Connor Abbott
As noted in the previous commit, this was introduced in 567e2769b81863b6dffdac3826a6b729ce6ea37c ("ra: make the p, q test more efficient"), but I forgot to mention it. Signed-off-by: Connor Abbott --- src/mesa/program/register_allocate.h | 5 - 1 file changed, 4 insertions(+),

[Mesa-dev] [PATCH 3/3] ra: assert against unsigned underflow in q_total

2014-09-05 Thread Connor Abbott
q_total should never go below 0 (which is why it's defined as unsigned), and if it does, then something is seriously wrong. Signed-off-by: Connor Abbott --- src/mesa/program/register_allocate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/program/register_allocate.c b/src

Re: [Mesa-dev] [PATCH 3/3] ra: assert against unsigned underflow in q_total

2014-09-06 Thread Connor Abbott
On Sat, Sep 6, 2014 at 3:23 AM, Kenneth Graunke wrote: > On Friday, September 05, 2014 08:59:32 PM Connor Abbott wrote: >> q_total should never go below 0 (which is why it's defined as unsigned), >> and if it does, then something is seriously wrong. >> >&

Re: [Mesa-dev] Mesa 10.3 release plan

2014-09-12 Thread Connor Abbott
On Wed, Sep 10, 2014 at 8:45 AM, Emil Velikov wrote: > Hello all, > > The original plan from Ian was to have four release candidates prior to the > final release. From what I can see there has been no serious amount of patches > nominated for 10.3-rc4, so I'm planning to keep with the plan and rel

Re: [Mesa-dev] [PATCH 41/41] SQUASH: i965/fs: Force a high register for the final FB write

2014-09-20 Thread Connor Abbott
On Sat, Sep 20, 2014 at 1:23 PM, Jason Ekstrand wrote: > --- > src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 24 > ++- > src/mesa/drivers/dri/i965/intel_screen.h | 5 + > 2 files changed, 28 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dr

Re: [Mesa-dev] [PATCH 41/41] SQUASH: i965/fs: Force a high register for the final FB write

2014-09-20 Thread Connor Abbott
On Sat, Sep 20, 2014 at 4:56 PM, Jason Ekstrand wrote: > > > On Sat, Sep 20, 2014 at 12:44 PM, Connor Abbott wrote: >> >> On Sat, Sep 20, 2014 at 1:23 PM, Jason Ekstrand >> wrote: >> > --- >> > src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 2

Re: [Mesa-dev] [PATCH 41/41] SQUASH: i965/fs: Force a high register for the final FB write

2014-09-20 Thread Connor Abbott
On Sat, Sep 20, 2014 at 5:58 PM, Jason Ekstrand wrote: > > On Sep 20, 2014 2:52 PM, "Connor Abbott" wrote: >> >> On Sat, Sep 20, 2014 at 4:56 PM, Jason Ekstrand >> wrote: >> > >> > >> > On Sat, Sep 20, 2014 at 12:44 PM, Connor Ab

[Mesa-dev] [PATCH] i965/fs: don't do IR validation in release mode

2017-05-21 Thread Connor Abbott
.8735) Signed-off-by: Connor Abbott --- src/intel/compiler/brw_fs_validate.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/intel/compiler/brw_fs_validate.cpp b/src/intel/compiler/brw_fs_validate.cpp index 676942c..cdccf0f 100644 --- a/src/intel/compiler/brw_fs_validate.cpp +++ b/src/

Re: [Mesa-dev] [PATCH] i965/fs: don't do IR validation in release mode

2017-05-21 Thread Connor Abbott
On Sun, May 21, 2017 at 11:46 PM, Connor Abbott wrote: > Surprisingly, profiling shows that this takes quite a lot of time. So > turn it off when building in release mode, just like all the other > validation passes we do. > > Difference at 95.0% confidence >

[Mesa-dev] [PATCH 2/4] nir/gcm: use the new cross-thread attribute

2017-06-05 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/compiler/nir/nir_opt_gcm.c | 72 ++ 1 file changed, 23 insertions(+), 49 deletions(-) diff --git a/src/compiler/nir/nir_opt_gcm.c b/src/compiler/nir/nir_opt_gcm.c index 879a77a..0fdf587 100644 --- a/src/compiler/nir

[Mesa-dev] [PATCH 4/4] nir: add ARB_shader_ballot and ARB_shader_group_vote instructions

2017-06-05 Thread Connor Abbott
Signed-off-by: Connor Abbott --- src/compiler/nir/nir_intrinsics.h | 14 ++ src/compiler/nir/nir_opcodes.py | 18 -- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_intrinsics.h b/src/compiler/nir/nir_intrinsics.h index 21e7d90

[Mesa-dev] [PATCH 1/4] nir: introduce new convergent and cross-thread attributes

2017-06-05 Thread Connor Abbott
start handling a lot more instructions with similar constraints, so we want to add a more formal model of what the optimizer can and cannot do. Signed-off-by: Connor Abbott --- src/compiler/nir/nir.h| 88 ++- src/compiler/nir/nir_opcodes.py

[Mesa-dev] [PATCH 3/4] nir: take cross-thread operations into account into a few places

2017-06-05 Thread Connor Abbott
These optimizations happened to work with derivatives, but they won't with upcoming shader_ballot and group_vote instructions. Signed-off-by: Connor Abbott --- src/compiler/nir/nir_instr_set.c | 12 src/compiler/nir/nir_opt_peephole_select.c | 11 +++ 2

[Mesa-dev] Fwd: [PATCH 0/4] Core NIR support for ARB_shader_group_vote and ARB_shader_ballot

2017-06-05 Thread Connor Abbott
Whoops, wrong address... let's try that again. -- Forwarded message -- From: Connor Abbott Date: Mon, Jun 5, 2017 at 12:22 PM Subject: [PATCH 0/4] Core NIR support for ARB_shader_group_vote and ARB_shader_ballot To: mesa-de...@lists.freedesktop.org Cc: Connor Abbott

Re: [Mesa-dev] [PATCH 4/4] nir: add ARB_shader_ballot and ARB_shader_group_vote instructions

2017-06-05 Thread Connor Abbott
things you'd want to do on these instructions anyways. Maybe something like not(any(not(foo))) -> all(foo) and vice-versa? > > On Mon, Jun 5, 2017 at 12:22 PM, Connor Abbott wrote: >> >> Signed-off-by: Connor Abbott >> --- >> src/compiler/

Re: [Mesa-dev] [PATCH 4/4] nir: add ARB_shader_ballot and ARB_shader_group_vote instructions

2017-06-05 Thread Connor Abbott
2017 at 1:50 PM, Connor Abbott wrote: >> >> On Mon, Jun 5, 2017 at 1:37 PM, Jason Ekstrand >> wrote: >> > I'm not sure how I feel about having these as ALU operations. ALU >> > operations are generally pure functions (with the exception derivative) >

Re: [Mesa-dev] [PATCH 4/4] nir: add ARB_shader_ballot and ARB_shader_group_vote instructions

2017-06-06 Thread Connor Abbott
On Tue, Jun 6, 2017 at 1:45 PM, Jason Ekstrand wrote: > > > On Mon, Jun 5, 2017 at 9:52 PM, Jason Ekstrand wrote: >> >> On Mon, Jun 5, 2017 at 6:37 PM, Connor Abbott wrote: >>> >>> I pushed a v2 at >>> https://cgit.freedesktop.org/~cwabbott0/mesa

Re: [Mesa-dev] [PATCH 4/4] nir: add ARB_shader_ballot and ARB_shader_group_vote instructions

2017-06-06 Thread Connor Abbott
On Tue, Jun 6, 2017 at 1:48 PM, Connor Abbott wrote: > On Tue, Jun 6, 2017 at 1:45 PM, Jason Ekstrand wrote: >> >> >> On Mon, Jun 5, 2017 at 9:52 PM, Jason Ekstrand wrote: >>> >>> On Mon, Jun 5, 2017 at 6:37 PM, Connor Abbott wrote: >>>> >

[Mesa-dev] [PATCH 3/3] radv: enable Int64 capability (v2)

2017-06-08 Thread Connor Abbott
From: Dave Airlie I'm not 100% sure this is all wired up but it looks like it is. v2: actually enable extension. Signed-off-by: Dave Airlie --- src/amd/vulkan/radv_device.c | 2 +- src/amd/vulkan/radv_pipeline.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vu

[Mesa-dev] [PATCH 2/3] ac/nir: implement 64-bit packing and unpacking

2017-06-08 Thread Connor Abbott
From: Connor Abbott We implement the split opcodes, and tell NIR to lower the original ones. The lowering to LLVM is a little more complicated, but NIR can optimize the split ones a little better, and some NIR lowering passes that we might want to use (particularly for doubles) emit the split

[Mesa-dev] [PATCH 0/3] Fixes for 64-bit support on radv and anv

2017-06-08 Thread Connor Abbott
From: Connor Abbott This series fixes a few things I noticed while adding support for the shader ballot extension to radv. In order to convert from the GLSL semantics to the SPIR-V semantics for ballotARB(), glslang inserts a call to unpackUint2x32, which maps to OpBitcast in SPIR-V which we

[Mesa-dev] [PATCH 1/3] spirv: fix OpBitcast when the src and dst bitsize are different

2017-06-08 Thread Connor Abbott
From: Connor Abbott Before, we were just implementing it with a move, which is incorrect when the source and destination have different bitsizes. To implement it properly, we need to use the 64-bit pack/unpack opcodes. Since glslang uses OpBitcast to implement packInt2x32 and unpackInt2x32, this

[Mesa-dev] [PATCH crucible 0/4] Add tests for 64-bit pack/unpack operations

2017-06-08 Thread Connor Abbott
From: Connor Abbott This series adds tests for the bugs fixed in "Fixes for 64-bit support on radv and anv". It also adds some stuff that will be useful for testing the shader ballot and shader group vote extensions. Apparently the Vulkan CTS will be getting better int64 support soon,

[Mesa-dev] [PATCH crucible 2/4] glsl_scraper: add the ability to specify preprocessor directives

2017-06-08 Thread Connor Abbott
From: Connor Abbott Right now, if you try to put something like: in a shader, the C preprocessor will try to interpret that line and barf. Now glsl_scraper.py will strip out ///, so you can do something like: ///#extension GL_foo : enable and it'll be ignored when compiling the file i

[Mesa-dev] [PATCH crucible 3/4] util: add a simple_pipeline helper function

2017-06-08 Thread Connor Abbott
From: Connor Abbott This helper creates and submits a pipeline with a very simple vertex shader and two triangles that cover the viewport. The user gives a fragment shader and optionally some push constants. The idea is to avoid boilerplate for tests that specifically test shader-only

[Mesa-dev] [PATCH crucible 1/4] glsl_scraper: make shaders use version 4.50

2017-06-08 Thread Connor Abbott
From: Connor Abbott For whatever reason, glslang requires GLSL 4.50 for enabling GL_ARB_shader_ballot, even though it doesn't have any version requirement. And GL_ARB_gpu_shader_int64 does officially require GLSL 4.00, which means that int64 tests will need to use at least that version. Bu

[Mesa-dev] [PATCH crucible 4/4] add new tests for (un)pack(Uint|Double)2x32()

2017-06-08 Thread Connor Abbott
From: Connor Abbott (un)packUint2x32() was broken on anv, and all four functions were broken on radv. Signed-off-by: Connor Abbott --- Makefile.am | 2 + src/tests/func/shader/pack_unpack.c | 172 2 files changed, 174 insertions

Re: [Mesa-dev] [PATCH 1/3] spirv: fix OpBitcast when the src and dst bitsize are different

2017-06-08 Thread Connor Abbott
(forgot to Cc Jason) On Thu, Jun 8, 2017 at 3:05 PM, Connor Abbott wrote: > From: Connor Abbott > > Before, we were just implementing it with a move, which is incorrect > when the source and destination have different bitsizes. To implement > it properly, we need to use the 64-

Re: [Mesa-dev] [PATCH] nir: make various getters take const pointers

2017-06-09 Thread Connor Abbott
Reviewed-by: Connor Abbott On Tue, Jun 6, 2017 at 4:25 PM, Grazvydas Ignotas wrote: > This will allow to constify other things. > > Signed-off-by: Grazvydas Ignotas > --- > src/compiler/nir/nir.h | 25 + > src/compiler/nir/nir_lower_io.c

[Mesa-dev] [PATCH 04/17] nir: add ARB_shader_ballot and ARB_shader_group_vote instructions

2017-06-09 Thread Connor Abbott
From: Connor Abbott v2: make every instruction an intrinsic, add missing subgroup_size, also add system value translation stuff Signed-off-by: Connor Abbott --- src/compiler/nir/nir.c| 28 src/compiler/nir/nir_intrinsics.h | 30

[Mesa-dev] [PATCH 00/17] radv: Support for subgroup_vote and shader_ballot

2017-06-09 Thread Connor Abbott
From: Connor Abbott This series adds all the bits to enable EXT_shader_subgroup_vote and EXT_shader_subgroup_ballot for radv. It's based on my previous series to fix some 64-bit bugs in radv and anv, since nothing would work without them. Patches 1-4 are a resend of my previous series t

[Mesa-dev] [PATCH 02/17] nir/gcm: use the new cross-thread attribute

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/compiler/nir/nir_opt_gcm.c | 72 ++ 1 file changed, 23 insertions(+), 49 deletions(-) diff --git a/src/compiler/nir/nir_opt_gcm.c b/src/compiler/nir/nir_opt_gcm.c index 879a77a..0fdf587 100644

[Mesa-dev] [PATCH 03/17] nir: take cross-thread operations into account into a few places

2017-06-09 Thread Connor Abbott
From: Connor Abbott These optimizations happened to work with derivatives, but they won't with upcoming shader_ballot and group_vote instructions. Signed-off-by: Connor Abbott --- src/compiler/nir/nir_instr_set.c | 22 ++ src/compile

[Mesa-dev] [PATCH 01/17] nir: introduce new convergent and cross-thread attributes

2017-06-09 Thread Connor Abbott
From: Connor Abbott These are properties of the instruction that must be respected when moving it around, in addition to the usual SSA dominance guarantee. Previously, we only had special handling for fddx and fddy, in a very ad-hoc way. But with arb_shader_ballot and arb_shader_group_vote

[Mesa-dev] [PATCH 07/17] nir/lower_system_values: handle SPIR-V shader_ballot system values

2017-06-09 Thread Connor Abbott
From: Connor Abbott Lower them to the GL version. Signed-off-by: Connor Abbott --- src/compiler/nir/nir_lower_system_values.c | 38 ++ 1 file changed, 38 insertions(+) diff --git a/src/compiler/nir/nir_lower_system_values.c b/src/compiler/nir

[Mesa-dev] [PATCH 08/17] nir/spirv: add plumbing for KHR_shader_ballot and KHR_subgroup_vote

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/compiler/spirv/nir_spirv.h | 2 + src/compiler/spirv/spirv_to_nir.c | 80 ++ src/compiler/spirv/vtn_variables.c | 28 + 3 files changed, 110 insertions(+) diff --git a/src/compiler

[Mesa-dev] [PATCH 06/17] compiler: add new system values for SPV_KHR_shader_ballot

2017-06-09 Thread Connor Abbott
From: Connor Abbott For SPIR-V, Khronos decided to make the SubGroup*Mask system values consist of 4 32-bit components rather than one 64-bit component. Although we'll lower away the difference in nir_lower_system_values so drivers won't have to deal with them, adding these system va

[Mesa-dev] [PATCH 05/17] mesa: fix 64-bit issues with system_values_read

2017-06-09 Thread Connor Abbott
From: Connor Abbott We're about to bump the number of system values above 32. The system_values_read bitfield itself is 64 bits, but some users weren't taking that into account. Fix the ones I could find by grepping for "system_values_read". This prevents regressions at lea

[Mesa-dev] [PATCH 09/17] ac: add i32_0 convenience member to ac_llvm_context

2017-06-09 Thread Connor Abbott
From: Connor Abbott To match si_shader_context. Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 2 ++ src/amd/common/ac_llvm_build.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 237e929..c411880

[Mesa-dev] [PATCH 12/17] ac: add i64 type to ac_llvm_context

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 1 + src/amd/common/ac_llvm_build.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index c4cf7ce..472a1b8 100644 --- a/src/amd/common

[Mesa-dev] [PATCH 13/17] radeonsi: move si_emit_ballot() to ac

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 26 ++ src/amd/common/ac_llvm_build.h | 4 src/gallium/drivers/radeonsi/si_shader.c | 38 +--- 3 files changed, 36 insertions(+), 32

[Mesa-dev] [PATCH 11/17] radeonsi: move emit_optimization_barrier() to ac

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 43 ++ src/amd/common/ac_llvm_build.h | 2 ++ src/gallium/drivers/radeonsi/si_shader.c | 45 ++-- 3 files changed, 47 insertions

[Mesa-dev] [PATCH 14/17] ac: add i32_1 convenience member to ac_llvm_context

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 1 + src/amd/common/ac_llvm_build.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 8145bcb..efbeb65 100644 --- a/src/amd/common

[Mesa-dev] [PATCH 10/17] radeonsi: move llvm_get_type_size() to ac

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 24 +++ src/amd/common/ac_llvm_build.h | 2 ++ src/gallium/drivers/radeonsi/si_shader.c | 41 +++- 3 files changed, 34 insertions(+), 33

[Mesa-dev] [PATCH 15/17] radeonsi: move the guts of ARB_shader_group_vote emission to ac

2017-06-09 Thread Connor Abbott
From: Connor Abbott Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_build.c | 30 ++ src/amd/common/ac_llvm_build.h | 6 ++ src/gallium/drivers/radeonsi/si_shader.c | 24 +++- 3 files changed, 39 insertions(+), 21

[Mesa-dev] [PATCH 16/17] ac: enable the AMDGPU asm parser

2017-06-09 Thread Connor Abbott
From: Connor Abbott Ported from radeonsi. Needed for emitting optimization barriers, which contain inline asm. Signed-off-by: Connor Abbott --- src/amd/common/ac_llvm_util.c | 4 1 file changed, 4 insertions(+) diff --git a/src/amd/common/ac_llvm_util.c b/src/amd/common/ac_llvm_util.c

<    5   6   7   8   9   10   11   12   13   >