Build mesa 7686 completed
Commit 26ddc4f9e1 by Vinson Lee on 5/12/2018 7:27 AM:
scons: Add PROGRAM_NIR_FILES.\n\nFix SCons build error.\n\n Linking build/linux-x86_64-debug/gallium/targets/libgl-xlib/libGL.so.1.5 ...\nbuild/linux-x86_64-debug/mesa/libmesa.a(st
Fix SCons build error.
Linking build/linux-x86_64-debug/gallium/targets/libgl-xlib/libGL.so.1.5 ...
build/linux-x86_64-debug/mesa/libmesa.a(st_program.os): In function
`st_translate_prog_to_nir':
src/mesa/state_tracker/st_program.c:392: undefined reference to `prog_to_nir'
Fixes: 5c33e8c7729e
Since ARB_gl_spirv name reflection can be missing. piglit
shader_runner does several resource checking, so this commit is useful
to get even the more simple piglit tests running without crashing on
SPIR-V mode.
Reviewed-by: Timothy Arceri
---
src/mesa/main/shader_query.cpp | 5 +
1 file chan
From: Eduardo Lima Mitev
This will be used by the linker code to differentiate between programs
made out of SPIR-V or GLSL shaders.
This was rejected in the past, assuming that it was equivalent to
check for "shProg->_LinkedShaders[stage]->spirv_data != NULL". But:
* At some points of the lin
---
src/mesa/drivers/dri/i965/brw_program.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_program.c
b/src/mesa/drivers/dri/i965/brw_program.c
index fc77926d6e0..39c2d2a3581 100644
--- a/src/mesa/drivers/dri/i965/brw_program.c
+++ b/src/mesa/driv
From: Neil Roberts
This is copied from the corresponding value in ir_variable. The
intention is to eventually use it in a pure-NIR linker.
Reviewed-by: Timothy Arceri
---
src/compiler/glsl/glsl_to_nir.cpp | 1 +
src/compiler/nir/nir.h| 5 +
2 files changed, 6 insertions(+)
dif
From: Eduardo Lima Mitev
Vulkan has the concept of separate image and sampler objects in the
SPIR-V code whereas GL conflates them into one. nir_lower_samplers
contains an assert to verify that sampler operand is not being set on
the nir instruction. However when the code comes from spirv_to_nir
From: Eduardo Lima Mitev
It is basically a wrapper around glsl_type::component_slots().
Reviewed-by: Timothy Arceri
---
src/compiler/nir_types.cpp | 6 ++
src/compiler/nir_types.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cp
Hi, this is the second version for this series. The info for the
original one can be read here:
https://lists.freedesktop.org/archives/mesa-dev/2018-April/192512.html
Some of the patches are already reviewed (thanks to Timothy Arceri).
The main differences between v1 and v2 are:
* The NIR link
From: Neil Roberts
vtn_variable_mode_image and _sampler are instead replaced with
vtn_variable_mode_uniform which encompasses both of them. In the few
places where it was neccessary to distinguish between the two, the
GLSL type of the pointer is used instead.
The main reason to do this is that o
From: Nicolai Hähnle
They are supported by SPIR-V for ARB_gl_spirv.
v2 (changes on top of Nicolai's original patch):
* Handle UniformConstant storage class for uniforms other than
samplers and images. (Eduardo Lima)
* Handle location decoration also for samplers and images. (Eduardo
From: Eduardo Lima Mitev
I think it is more accurate to call it a sampler target (?).
---
src/compiler/nir_types.cpp | 7 +++
src/compiler/nir_types.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cpp
index 51ca797497e..d2b2a93b20
From: Eduardo Lima Mitev
Previous patch 'spirv: Get rid of vtn_variable_mode_image/sampler'
made possible that interface_type of image/sampler nir_variable may be
null. This patch accounts for it and make use of the type of the
variable instead of the interface_type.
This prevents a number of cr
From: Neil Roberts
When SpvDecorationBinding is encountered in the SPIR-V source it now
sets explicit_binding on the nir_variable. This will be used to
determine whether to initialise sampler and image uniforms with the
binding value.
---
src/compiler/spirv/vtn_private.h | 1 +
src/compiler/sp
From: Eduardo Lima Mitev
This function will be the entry point for linking the uniforms from
the nir_shader objects associated with the gl_linked_shaders of a
program.
This patch includes initial support for linking uniforms from NIR
shaders. It is tailored for the ARB_gl_spirv needs, and it is
Linker utilities common to the GLSL IR and NIR linker (the latter to
be used for ARB_gl_spirv).
We need to move it to a new header as the NIR linker doesn't need to
know about ir_variable, and others, included at linker.h.
v2: move from src/compiler to src/compiler/glsl (Timothy Arceri)
---
src/
From: Neil Roberts
This is based on link_uniform_initializers.cpp.
v2: move from compiler/nir to compiler/glsl (Timothy Arceri)
---
src/compiler/Makefile.sources | 1 +
.../glsl/gl_nir_link_uniform_initializers.c| 292 +
src/compiler/glsl/gl_ni
From: Neil Roberts
Otherwise if the shader is SPIR-V then SamplerUsed won’t have been
initialised yet so it will end up thinking no textures are used. This
was causing a crash later on if nothing causes it to regenerate
TexturesUsed before the next render.
---
src/mesa/drivers/dri/i965/brw_link.
From: Eduardo Lima Mitev
v2: nir_link_uniforms renamed to gl_nir_link_uniforms
Signed-off-by: Eduardo Lima
Signed-off-by: Alejandro Piñeiro
---
src/mesa/drivers/dri/i965/brw_link.cpp | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp
b/src/mesa/d
From: Eduardo Lima Mitev
This function is equivalent to the linker.cpp
build_program_resource_list() but will extract the resources from NIR
shaders instead.
For now, only uniforms and program inputs are implemented.
v2: move from compiler/nir to compiler/glsl (Timothy Arceri)
Signed-off-by: E
From: Neil Roberts
Previously when setting up a uniform it would try to walk the uniform
storage slots and find one that matches the name of the given
variable. However, each variable already has a location which is an
index into the UniformStorage array so we can just directly jump to
the right
From: Eduardo Lima Mitev
Right now, the BRW linker code assumes nir_variable::name is always
non-NULL, but thanks to ARB_gl_spirv we will soon be linking SPIR-V
programs, and those explicitly require matching uniforms by location.
The name is just a debug hint.
Instead of checking for the name t
So it could be used by the GLSL and NIR linker.
v2: (Timothy Arceri)
* Moved from compiler to compiler/glsl
* Method renamed to link_util_add_program_resource
---
src/compiler/Makefile.sources | 1 +
src/compiler/glsl/linker.cpp | 76 +++
src/co
From: Eduardo Lima Mitev
v2: tweak after nir_linker.h being renamed to gl_nir_linker.h
---
src/mesa/drivers/dri/i965/brw_link.cpp | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp
b/src/mesa/drivers/dri/i965/brw_link.cpp
index 39fa
https://bugs.freedesktop.org/show_bug.cgi?id=106480
--- Comment #5 from mais...@archlinux.us ---
Yes, I should clarify that this is RX470, so Polaris.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
https://bugs.freedesktop.org/show_bug.cgi?id=106480
--- Comment #6 from Bas Nieuwenhuizen ---
That would explain, I tested on vega.
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
mesa-d
Rb
On May 11, 2018 05:12:59 Rhys Perry wrote:
---
src/compiler/nir/.gitignore | 2 ++
src/intel/vulkan/.gitignore | 1 +
2 files changed, 3 insertions(+)
diff --git a/src/compiler/nir/.gitignore b/src/compiler/nir/.gitignore
index 64828eba6d..8faf93f0b2 100644
--- a/src/compiler/nir/.gitignore
https://bugs.freedesktop.org/show_bug.cgi?id=106480
--- Comment #7 from mais...@archlinux.us ---
FWIW, this also affects UNIFORM_TEXEL_BUFFER.
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
https://bugs.freedesktop.org/show_bug.cgi?id=106480
--- Comment #8 from Bas Nieuwenhuizen ---
Yes, We'll likely "fix" that by not claiming support for R10G10B10A2 SNORM/SINT
formats anymore since support is not required, and a fixup is not possible
without significantly impacting perofrmance for
Pre-Vega HW always interprets the alpha for this format as unsigned,
so we have to implement a fixup to do the sign correctly for signed
formats.
CC: 18.0 18.1
---
src/amd/vulkan/radv_nir_to_llvm.c | 61 ---
src/amd/vulkan/radv_pipeline.c| 30 +--
src/
The hardware always interprets the alpha as unsigned and fixing it
in the shader is going to add unacceptable overheads.
CC: 18.0 18.1
---
src/amd/vulkan/radv_formats.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_fo
https://bugs.freedesktop.org/show_bug.cgi?id=106480
--- Comment #9 from Bas Nieuwenhuizen ---
This bug should be fixed by
https://patchwork.freedesktop.org/series/43092/
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.___
Reviewed-by: Bas Nieuwenhuizen
if you also have a spec to go with the new bit. (and add it to the headers)
On Tue, May 8, 2018 at 7:58 AM, Timothy Arceri wrote:
> When VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT is set we skip NIR
> linking optimisations and only run over the NIR optimisation l
https://bugs.freedesktop.org/show_bug.cgi?id=106480
--- Comment #10 from mais...@archlinux.us ---
That would match AMDVLK, it exposes A2BGR10_SNORM for vertex, but not
UNIFORM_TEXEL_BUFFER.
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the b
On 13/05/18 08:17, Bas Nieuwenhuizen wrote:
Reviewed-by: Bas Nieuwenhuizen
if you also have a spec to go with the new bit. (and add it to the headers)
VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT is already part of the spec.
I think you are getting confused with the previous discussion for a
On Sun, May 13, 2018 at 12:46 AM, Timothy Arceri wrote:
> On 13/05/18 08:17, Bas Nieuwenhuizen wrote:
>>
>> Reviewed-by: Bas Nieuwenhuizen
>>
>> if you also have a spec to go with the new bit. (and add it to the
>> headers)
>
>
> VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT is already part of the
---
src/amd/common/ac_nir_to_llvm.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index b77d62a39b0..333ecdb834e 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm
---
src/amd/vulkan/radv_shader_info.c | 40 ---
1 file changed, 37 insertions(+), 3 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c
b/src/amd/vulkan/radv_shader_info.c
index 57175b3d37b..5b31703f9cf 100644
--- a/src/amd/vulkan/radv_shader_info.c
+++ b/src/
---
src/amd/common/ac_nir_to_llvm.c | 58 -
1 file changed, 43 insertions(+), 15 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 333ecdb834e..29a7ce8e2dc 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/co
Also apply the pass to radv meta shaders.
---
src/amd/vulkan/radv_shader.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index afafea46f0c..d52471fe9e4 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@
This implements support in radv and radeonsi for NIR deref
instructions instead of deref chains.
It contains 4 parts:
- patch 1 is a fixup for the initial series by Jason
- Add support everywhere for instruction based derefs
- Stop lowering them to deref chains (may need to be synchronized
with
---
src/amd/common/ac_nir_to_llvm.c | 25 ++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index c6c7af47630..1a22cadb750 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_n
---
src/amd/vulkan/radv_shader_info.c | 64 +++
1 file changed, 57 insertions(+), 7 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c
b/src/amd/vulkan/radv_shader_info.c
index 5b31703f9cf..bdf30ead2f8 100644
--- a/src/amd/vulkan/radv_shader_info.c
+++ b/src/
---
src/amd/common/ac_nir_to_llvm.c | 39 ---
src/amd/vulkan/radv_shader_info.c | 13 +++
2 files changed, 44 insertions(+), 8 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 29a7ce8e2dc..c6c7af47630 100644
--
---
src/amd/vulkan/radv_meta_bufimage.c | 40 +--
src/amd/vulkan/radv_meta_fast_clear.c | 10 +++
src/amd/vulkan/radv_meta_resolve_cs.c | 10 +++
3 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/src/amd/vulkan/radv_meta_bufimage.c
b/src/amd/vulkan
---
src/amd/common/ac_nir_to_llvm.c | 404
1 file changed, 50 insertions(+), 354 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 762520a93a0..0fae6b799ca 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/c
---
src/amd/common/ac_nir_to_llvm.c | 33 +++--
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index d8cb33e26ed..762520a93a0 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/com
---
src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp
b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index 3fdfebdc1fe..8d80c8cae22 100644
--- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
+++ b/src/mesa/state_track
---
src/amd/common/ac_nir_to_llvm.c | 207
1 file changed, 160 insertions(+), 47 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 0f27ba66374..73ac6c482d3 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/c
---
src/amd/common/ac_nir_to_llvm.c | 26 +-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 73ac6c482d3..d8cb33e26ed 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_n
---
src/amd/vulkan/radv_meta.c| 20 ++
src/amd/vulkan/radv_meta_blit.c | 30 +++
src/amd/vulkan/radv_meta_blit2d.c | 21 ---
src/amd/vulkan/radv_meta_bufimage.c | 22
src/amd/vulkan/radv_meta_fast_
---
src/amd/vulkan/radv_shader.c | 4
1 file changed, 4 deletions(-)
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index d52471fe9e4..72c05afef4e 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -179,8 +179,6 @@ radv_shader_compile_to
---
src/gallium/drivers/radeonsi/si_shader_nir.c | 34 +++-
1 file changed, 4 insertions(+), 30 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 21551a76d6b..c46d0ab5a82 100644
--- a/src/gallium/drivers/ra
---
src/amd/vulkan/radv_shader_info.c | 98 ++-
1 file changed, 5 insertions(+), 93 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c
b/src/amd/vulkan/radv_shader_info.c
index bdf30ead2f8..ab424720de1 100644
--- a/src/amd/vulkan/radv_shader_info.c
+++ b/src/
---
src/gallium/drivers/radeonsi/si_shader_nir.c | 74
1 file changed, 59 insertions(+), 15 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
b/src/gallium/drivers/radeonsi/si_shader_nir.c
index b4fba8b8812..21551a76d6b 100644
--- a/src/gallium/drivers/r
---
src/amd/common/ac_nir_to_llvm.c | 130
1 file changed, 97 insertions(+), 33 deletions(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 1a22cadb750..0f27ba66374 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/co
https://bugs.freedesktop.org/show_bug.cgi?id=106315
soredake changed:
What|Removed |Added
CC||fds...@krutt.org
--
You are receiving this
57 matches
Mail list logo