v2: add constant_folding
v6: print non final NIR only for verbose debugging
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 39 ++
1 file changed, 39 insertions(+)
diff --git a/src/gallium/drivers/nouveau/c
-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 134 +
1 file changed, 134 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
v2: parse a few more fields
v3: add special handling for GL_ISOLINES
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 60 ++
1 file changed, 60 insertions(+)
diff --git a/src/gallium/drivers/nouveau/c
getSlotAddress helper
fix for 64 bit typed inputs
v5: change getSlotAddress interface for easier use
fix sample inputs
fix slot counting for mat
v7: fix driver_location of images
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp
v6: fix loops with blocks at the end nothing points to
skip blocks with no instructions and no predecessors
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 270 -
1 file changed, 268 insertions(+), 2 del
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 18 ++
1 file changed, 18 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 72 ++
1 file changed, 72 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
v2: add helper function for indirects
v4: add new getIndirect overload for easier use
v5: use getSSA for ssa values
we can just create the values for unassigned registers in getSrc
v6: always create at least 32 bit values
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../d
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/nouveau_screen.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c
b/src/gallium/drivers/nouveau/nouveau_screen.c
index 2598c78a45b..655d2
this is mostly usefull for lazy IR converters not wanting to deal with 64 bit
lowering and other illegal stuff
v5: also handle SAT
v6: rename type variables
fixed lowering of NEG
add lowering of NOT
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/n
v4: treat imul as unsigned
v5: remove pointless !!
v7: inot is unsigned as well
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 116 +
1 file changed, 116 insertions(+)
diff --git a/src/gallium/drivers/nouveau/c
this makes debugging the shader header a little easier
Signed-off-by: Karol Herbst <kher...@redhat.com>
Acked-by: Pierre Moreau <pierre.mor...@free.fr>
---
src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/
v2: remove TGSI related bits
Signed-off-by: Karol Herbst <kher...@redhat.com>
Reviewed-by: Pierre Moreau <pierre.mor...@free.fr>
---
src/gallium/drivers/nouveau/Makefile.sources | 2 +
.../nouveau/codegen/nv50_ir_from_common.cpp| 107 +
.../dri
of the nir shader
merge: use the lowering helper
v6: include TGSI debug header for proper assert call
add nv50 support
v7: fix Automake build
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/Automake.inc | 3 +
src/gallium/drivers/n
follow up patches to add support for:
* 4 constant offsets in TG4
* bindless_texture support for samplers and images
Review is important for patches 1-8, all the other paches touch the from_nir
file only.
Connor Abbott (1):
nv50/ir/ra: Fix copying compound for moves
Karol Herbst (34):
st
so we don't know which is which. I took the approach
of calling copyCompound() inside coalesceValues(), instead of
afterwards.
Cc: Ilia Mirkin <imir...@alum.mit.edu>
Cc: Karol Herbst <kher...@redhat.com>
Tested-by: Karol Herbst <kher...@redhat.com>
Signed-off-by: Karol Herbst <k
this is required for Drivers which don't allow reading from outputs.
Reviewed-by: Timothy Arceri <tarc...@itsqueeze.com>
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/mesa/state_tracker/st_glsl_to_nir.cpp | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/mesa/s
v2: allow for non debug builds as well
v3: move reading out env var more global
disable tg4 with multiple offsets with nir
disable caps for 64 bit types
v6: nv50 support
disable MS images
disable bindless textures
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/g
On Thu, Apr 12, 2018 at 6:33 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Thu, Apr 12, 2018 at 7:36 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> On Tue, Apr 10, 2018 at 5:10 PM, Jason Ekstrand <ja...@jlekstrand.net>
>> wrote:
>> > On
On Tue, Apr 10, 2018 at 5:10 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Tue, Apr 10, 2018 at 8:05 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> v2: add both texture and sampler handles
>>
>> Signed-off-by: Karol Herbst <kher..
On Tue, Apr 10, 2018 at 6:01 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Tue, Apr 10, 2018 at 8:35 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> On Tue, Apr 10, 2018 at 5:12 PM, Jason Ekstrand <ja...@jlekstrand.net>
>> wrote:
>> >
On Tue, Apr 10, 2018 at 5:11 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Tue, Apr 10, 2018 at 8:05 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> If the bindless image is passed through a struct we ended up getting the
>> glsl_
and things just seem to work out. I wasn't able to hit any other
issues.
> On Tue, Apr 10, 2018 at 8:05 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> v2: fix assertion for bindless to non bindless assignments
>>
>> Signed-off-by: Karol Herbst
v2: add both texture and sampler handles
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl/glsl_to_nir.cpp | 17 +++--
src/compiler/nir/nir.h| 2 ++
src/compiler/nir/nir_print.c | 6 ++
3 files changed, 23 insertions(+), 2 del
If the bindless image is passed through a struct we ended up getting the
glsl_type of the struct, not the image.
variable_referenced points to the declaration of the struct, so it won't work
for bindless images. So just drop it.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/co
v2: fix assertion for bindless to non bindless assignments
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir_split_var_copies.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/compiler/nir/nir_split_var_copies.c
b/src/compil
With this it should be possible to add support for texture handles for backends
using NIR.
changes since v2:
* dropped patch for image handles, still need to work on that
Karol Herbst (3):
nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars
nir: add support for bindless_texture
fixes a piglit test I sent to the list:
spec@arb_bindless_texture@execution@samplers@basic-arithmetic-func-call-uvec2-texture2D
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl/opt_function_inlining.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
I guess this fixes a bug somewhere?
On Tue, Apr 10, 2018 at 6:11 AM, Ilia Mirkin wrote:
> For nv50 we coalesce the srcs and defs into a single node. As such, we
> can end up with impossible constraints if the source is referenced
> after the tex operation (which, due to the
On Tue, Apr 10, 2018 at 2:43 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> On Mon, Apr 9, 2018 at 8:39 PM, Karol Herbst <kher...@redhat.com> wrote:
>> unsigneds are needed by ARB_bindless_texture 64 bit vertex attribs, both for
>> NV_vertex_attrib_integer64.
>>
I should add another flag for 64 bit ints. Or rework what Doubles
mean in gl_array_attributes. Or Rename that to is64Bit and rework all users of
Doubles.
Any suggestions?
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/svga/svga_format.c | 8
src/gallium/i
the crashes I
encounter there at least. More piglit tests might be useful as well.
Sadly I don't see any bindless_textures tests in the CTS :(
>
> On Tue, Apr 3, 2018 at 6:21 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> Signed-off-by: Karol Herbst <kher...@redhat.com>
On Wed, Apr 4, 2018 at 2:16 AM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Tue, Apr 3, 2018 at 6:21 AM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> Signed-off-by: Karol Herbst <kher...@redhat.com>
>> ---
>> src/compiler/glsl/glsl_to_nir.cp
On Tue, Apr 3, 2018 at 3:21 PM, Karol Herbst <kher...@redhat.com> wrote:
> Signed-off-by: Karol Herbst <kher...@redhat.com>
> ---
> src/compiler/glsl/glsl_to_nir.cpp | 17 +++--
> src/compiler/nir/nir.h| 1 +
> src/compiler/nir/nir_print.c
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir_split_var_copies.c | 4
1 file changed, 4 insertions(+)
diff --git a/src/compiler/nir/nir_split_var_copies.c
b/src/compiler/nir/nir_split_var_copies.c
index bc3ceedbdb8..231a89add4d 100644
--- a/src/compil
If the bindless image is passed through a struct we ended up getting the
glsl_type of the struct, not the image.
variable_referenced points to the declaration of the struct, so it won't work
for bindless images. So just drop it.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/co
I think most of the changes are straigh forward. The changes needed for images
should be discussed, because in its current form it would require changing all
drivers using nir and supporting images.
Karol Herbst (4):
nir/split_var_copies: handle IMAGE and SAMPLER for bindless vars
nir: add
I added another source for all image_var_* intrinsics. Drivers have to be
adjusted with this change.
There was some discussion to add new intrinsics to handle operations on
bindless images. Maybe we can continue with this here?
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/co
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl/glsl_to_nir.cpp | 17 +++--
src/compiler/nir/nir.h| 1 +
src/compiler/nir/nir_print.c | 3 +++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/glsl_to_nir.
On Fri, Mar 30, 2018 at 9:35 PM, Eric Anholt <e...@anholt.net> wrote:
> Karol Herbst <kher...@redhat.com> writes:
>
>> Nvidia hardware can do that natively so there is no need to lower that to
>> four
>> TG4s instructions.
>>
>> Signed-off-by:
Nvidia hardware can do that natively so there is no need to lower that to four
TG4s instructions.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl/glsl_to_nir.cpp | 25 ++---
src/compiler/nir/nir.h| 9 -
src/compiler/nir/nir_p
Did a CTS run on that. Things are looking better with it. No regressions.
Tested-By: Karol Herbst <kher...@redhat.com>
On Thu, Mar 29, 2018 at 5:47 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> Fixes a bunch of new CTS pbo tests that use that as an output format,
> which
Reviewed-by: Karol Herbst <kher...@redhat.com>
On Sat, Mar 24, 2018 at 8:19 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> There were two problems, both of which are fixed now:
> - The indirect address was not being shifted by 4
> - The indirect address was being
From: Karol Herbst <karolher...@gmail.com>
shader-db changes:
total instructions in shared programs : 5894114 -> 5887031 (-0.12%)
total gprs used in shared programs: 666558 -> 666514 (-0.01%)
total shared used in shared programs : 520416 -> 520416 (0.00%)
total local used in
just noticed I sent out the wrong version of that patch...
On Tue, Mar 27, 2018 at 10:50 PM, Karol Herbst <kher...@redhat.com> wrote:
> From: Karol Herbst <karolher...@gmail.com>
>
> helps mainly Feral-ported games
>
> changes in shader-db:
> total instruction
On Tue, Mar 27, 2018 at 11:04 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> On Tue, Mar 27, 2018 at 4:50 PM, Karol Herbst <kher...@redhat.com> wrote:
>> From: Karol Herbst <karolher...@gmail.com>
>>
>> helps mainly Feral-ported games
>>
>> ch
here we can use TGSI.
> On 03/27/2018 01:50 PM, Karol Herbst wrote:
>> From: Karol Herbst <karolher...@gmail.com>
>>
>> helps mainly Feral-ported games
>>
>> changes in shader-db:
>> total instructions in shared programs : 3940749 -> 3935015 (-0.1
From: Karol Herbst <karolher...@gmail.com>
helps mainly Feral-ported games
changes in shader-db:
total instructions in shared programs : 3940749 -> 3935015 (-0.15%)
total gprs used in shared programs: 481460 -> 481433 (-0.01%)
total local used in shared programs : 27481 -&
From: Karol Herbst <karolher...@gmail.com>
This helps with the PostRALoadPropagation pass moving long immediates into
FMA/MAD instructions.
changes in shader-db:
total instructions in shared programs : 5894114 -> 5886074 (-0.14%)
total gprs used in shared programs: 666558 ->
From: Karol Herbst <karolher...@gmail.com>
Signed-off-by: Karol Herbst <karolher...@gmail.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
b/src/gal
Reviewed-by: Karol Herbst <kher...@redhat.com>
On Sun, Mar 25, 2018 at 8:02 PM, Pierre Moreau <pierre.mor...@free.fr> wrote:
> Signed-off-by: Pierre Moreau <pierre.mor...@free.fr>
> ---
> src/gallium/state_trackers/clover/api/program.cpp | 7 +++
> 1 file cha
On Sun, Mar 25, 2018 at 2:18 PM, Rob Clark <robdcl...@gmail.com> wrote:
> On Sun, Mar 25, 2018 at 6:35 AM, Karol Herbst <kher...@redhat.com> wrote:
>> On Sun, Mar 25, 2018 at 12:18 AM, Rob Clark <robdcl...@gmail.com> wrote:
>>> On Fri, Mar 23, 2018 at 5:18 PM,
On Sun, Mar 25, 2018 at 12:18 AM, Rob Clark <robdcl...@gmail.com> wrote:
> On Fri, Mar 23, 2018 at 5:18 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
>> On Fri, Mar 23, 2018 at 2:15 PM, Karol Herbst <kher...@redhat.com> wrote:
>>>
>>> On Fri,
On Fri, Mar 23, 2018 at 10:07 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> +list
>
> On Fri, Mar 23, 2018 at 1:45 PM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> On Fri, Mar 23, 2018 at 9:30 PM, Jason Ekstrand <ja...@jlekstrand.net>
>> wrot
On Fri, Mar 23, 2018 at 9:18 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Fri, Mar 23, 2018 at 12:33 PM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> From: Rob Clark <robdcl...@gmail.com>
>>
>> If local_size is not known at compil
On Fri, Mar 23, 2018 at 9:15 PM, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> On Fri, Mar 23, 2018 at 12:33 PM, Karol Herbst <kher...@redhat.com> wrote:
>>
>> With OpenCL the size of some system value depends on the Physical model
>> choosen, so we need a way to
OpenCL kernels have parameters (see pipe_grid_info::input), and so we
need a way to access them.
The offset source is the offset of the parameter to load in the kernel input
buffer.
v2: improve commit message
remove BASE
split lower_io changes into separate commit
Signed-off-by: Karol
From: Rob Clark <robdcl...@gmail.com>
If local_size is not known at compile time, which is the case with
clover, use the load_local_group_size intrinsic instead.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir_lower_system_values.c | 25
functions.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir_lower_io.c | 39 ---
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
index df91febd68d..ed8e3
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/vtn_private.h | 5 +++--
src/compiler/spirv/vtn_variables.c | 14 +++---
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/vtn_opencl.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/compiler/spirv/vtn_opencl.c b/src/compiler/spirv/vtn_opencl.c
index 3c5ecd22452..723a7edf9c2 100644
--- a/src/compiler/spirv/vtn_opencl.c
+++
From: Rob Clark <robdcl...@gmail.com>
Not complete, mostly just adding things as I encounter them in CTS. But
not getting far enough yet to hit most of the OpenCL.std instructions.
v2: update hadd definition (Karol Herbst <kher...@redhat.com>)
Signed-off-by: Rob Clark <robd
From: Rob Clark <robdcl...@gmail.com>
This assert is not valid for OpenCL kernels.
TODO can we somehow conditionally assert based on glsl vs cl??
Signed-off-by: Rob Clark <robdcl...@gmail.com>
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir.h | 1 -
With SPIR-V it is perfectly fine to declare builtins as constants and have no
constant initializer on them.
This change seems to be able to break Vulkan shaders, so please check if this
is the correct thing here.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler
ed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/spirv_to_nir.c | 87 ---
src/compiler/spirv/vtn_private.h | 20 ++-
src/compiler/spirv/vtn_variables.c | 300 -
3 files changed, 347 insertions(+), 60 deletions(-)
diff --git a/
From: Rob Clark <robdcl...@gmail.com>
Lightly edited to be valid 'C' code.
Is there a bug open to fix this upstream?
Signed-off-by: Rob Clark <robdcl...@gmail.com>
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/
With OpenCL the size of some system value depends on the Physical model
choosen, so we need a way to load any system value as 32 or 64 bit.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir_builder.h | 10 +---
src/compiler/nir/nir_lower_alpha_
We need this for OpenCL kernels because we have to apply C rules for alignment
and padding inside structs and for this we also have to know if a struct is
packed or not.
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl_types.cpp | 17 +++--
src/co
From: Rob Clark <robdcl...@gmail.com>
Signed-off-by: Rob Clark <robdcl...@gmail.com>
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/spirv_to_nir.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/compiler/spirv/spirv_to_nir
From: Rob Clark <robdcl...@gmail.com>
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/spirv_to_nir.c | 1 +
src/compiler/spirv/vtn_variables.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/compiler/spirv/spirv_to_nir.c
b/src/compiler/spirv/sp
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/vtn_variables.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/compiler/spirv/vtn_variables.c
b/src/compiler/spirv/vtn_variables.c
index 80fca6e8a32..51f73b3cf8c 100644
--- a/src/compiler
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/spirv/spirv_to_nir.c | 3 +++
src/compiler/spirv/vtn_private.h | 2 ++
2 files changed, 5 insertions(+)
diff --git a/src/compiler/spirv/spirv_to_nir.c
b/src/compiler/spirv/spirv_to_nir.c
index 7ce7e9ba62e..edf02db584b
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl_types.h | 34 ++
src/compiler/nir_types.h | 30 +-
2 files changed, 35 insertions(+), 29 deletions(-)
diff --git a/src/compiler/glsl_types.h b/src/co
on the memory model).
Signed-off-by: Rob Clark <robdcl...@gmail.com>
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/nir/nir_intrinsics.h | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/compiler/nir/nir_intrinsics.h
b/src/
v2: fix cl_size for arrays_of_arrays
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/compiler/glsl_types.cpp | 48 +
src/compiler/glsl_types.h | 10 ++
src/compiler/nir_types.cpp | 12
src/compiler/nir_types.h
important core NIR changes and somebody should take a closer
look at those.
Karol Herbst (12):
nir: add load/store_global intrinsics
vtn: handle SpvExecutionModelKernel
glsl: add packed for struct types
glsl: add glsl_base_get_byte_size
RFC glsl: add cl_size and cl_alignment
RFC: nir/vtn
v4: use smarter getIndirect helper
use new getSlotAddress helper
use loadFrom helper
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 27 ++
1 file changed, 27 insertions(+)
diff --git a/src/gallium/d
v4: use loadFrom helper
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/n
v3: fix compiler warnings
v4: use loadFrom helper
v5: fix signed min/max
v6: set tex mask
add support for indirect image access
set cache mode
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 395 +++--
v2: add vote_eq support
use the new subop intrinsic helper
add ballot
v3: add read_(first_)invocation
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 42 ++
1 file changed, 42 insertions(+)
diff --git
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 8
1 file changed, 8 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
v2: use mkOp
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 13 +
1 file changed, 13 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/c
v4: use smarter getIndirect helper
use new getSlotAddress helper
v5: use loadFrom helper
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 23 ++
1 file changed, 23 insertions(+)
diff --git a/src/gallium/d
v5: add more barrier intrinsics
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 19 +++
1 file changed, 19 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/d
with
indirects aren't guarenteed to be aligned to 0x10 anymore.
v3: use fixed size vec4 arrays until we fix MemoryOpt
v4: fix for 64 bit types
v5: use loadFrom helper
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 58 +++
v4: use loadFrom helper
v5: support indirect buffer access
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 90 ++
1 file changed, 90 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
v2: support more sys values
fixed a bug where for multi component reads all values ended up in x
v3: add load_patch_vertices_in
v4: add subgroup stuff
v5: add helper invocation
v6: fix loading 64 bit system values
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/n
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp| 17 +
1 file changed, 17 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
v3: and load_output
v4: use smarter getIndirect helper
use new getSlotAddress helper
v5: don't use const_offset directly
fix for indirects
v6: add support for interpolateAt
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 18 ++
1 file changed, 18 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
v2: use new getIndirect helper
fixes symbols for 64 bit types
v4: use smarter getIndirect helper
simplify address calculation
use loadFrom helper
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 10 ++
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 72 ++
1 file changed, 72 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
v6: fix loops with blocks at the end nothing points to
skip blocks with no instructions and no predecessors
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 270 -
1 file changed, 268 insertions(+), 2 del
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
v3: add workaround for RA issues
indirects have to be multiplied by 0x10
fix indirect access
v4: use smarter getIndirect helper
use storeTo helper
v5: don't use const_offset directly
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_n
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 24 ++
1 file changed, 24 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_n
reference in convert(glsl_sampler_dim&, bool, bool)
fix tg4 component selection
v5: fill up coords args with scratch values if coords provided is less than
TexTarget.getArgCount()
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.c
Signed-off-by: Karol Herbst <kher...@redhat.com>
v2: user bitfield_insert instead of bfi
rework switch helper macros
remove some lowering code (LoweringHelper is now used for this)
v3: add pack_half_2x16_split
add unpack_half_2x16_split_x/y
v5: replace first argument with n
ed-off-by: Karol Herbst <kher...@redhat.com>
---
src/gallium/drivers/nouveau/nouveau_screen.c | 5 +
src/gallium/drivers/nouveau/nouveau_screen.h | 2 ++
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 4 +++-
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 19 +--
4 files
v2: parse a few more fields
v3: add special handling for GL_ISOLINES
Signed-off-by: Karol Herbst <kher...@redhat.com>
---
.../drivers/nouveau/codegen/nv50_ir_from_nir.cpp | 60 ++
1 file changed, 60 insertions(+)
diff --git a/src/gallium/drivers/nouveau/c
401 - 500 of 923 matches
Mail list logo