On Sat, Oct 10, 2015 at 4:24 AM, Alejandro Piñeiro wrote:
> vec4 port of fs_cmod_propagation.
>
> Shader-db results:
> total instructions in shared programs: 6241226 -> 6224469 (-0.27%)
> instructions in affected programs: 498213 -> 481456 (-3.36%)
> helped:
This is really an input into the shader compiler so it kind of makes sense
in the key. Also, given where it's placed into the key, it doesn't
actually make it any bigger.
v2 (Jason Ekstrand):
- Rebase on top of the compiler clean-ups so the affects of this patch
can better be studied
On 10/10/2015 17:49, Marek Olšák wrote:
On Sat, Oct 10, 2015 at 4:15 PM, Bas Nieuwenhuizen
wrote:
Hi Marek,
The revised series is mostly done. I wanted to do more testing and to
try to make sure that the added cache flushes I am doing now (a
CACHE_FLUSH event before
On Sat, Oct 10, 2015 at 6:12 PM, Axel Davy wrote:
> On 10/10/2015 17:49, Marek Olšák wrote:
>>
>> On Sat, Oct 10, 2015 at 4:15 PM, Bas Nieuwenhuizen
>> wrote:
>>>
>>> Hi Marek,
>>>
>>> The revised series is mostly done. I wanted to do more testing and
On Sat, Oct 10, 2015 at 3:09 PM, Matt Turner wrote:
> On Sat, Oct 10, 2015 at 11:47 AM, Rob Clark wrote:
>> From: Rob Clark
>>
>> Needed in NIR too, so move out of mesa/main/imports.c
>>
>> Signed-off-by: Rob Clark
On Sat, Oct 10, 2015 at 3:41 PM, Samuel Pitoiset
wrote:
> This patch looks fine except that it should be a bit more normalized. I
> mean, sometimes you break when PUSH_SPACE fails, sometimes not. Same for
> PUSH_SPACE calls, sometimes you add it sometimes not.
Meh. We
Looking at the docs a bit, it looks like we should never have been
using predicate_normal for if's in the first place
Reviewed-by: Jason Ekstrand
On Sat, Oct 10, 2015 at 4:24 AM, Alejandro Piñeiro wrote:
> ---
>
> I already talked about this with
On Sat, Oct 10, 2015 at 5:49 PM, Marek Olšák wrote:
> On Sat, Oct 10, 2015 at 4:15 PM, Bas Nieuwenhuizen
> wrote:
>> Hi Marek,
>>
>> The revised series is mostly done. I wanted to do more testing and to
>> try to make sure that the added cache flushes
Mesa 11.0.3 is now available.
In the current release we have a bunch of EGL patches, mangledGL build fixes
and a healthy amount of driver bugfixes - radeonsi, nouveau, i915 and i965.
Last but not least, the KDE/Weston regression introduced with 11.0.2 has also
been resolved.
Brian Paul (1):
https://bugs.freedesktop.org/show_bug.cgi?id=92361
cprigent changed:
What|Removed |Added
Summary|[BSW] Regression: |[BSW SKL]
https://bugs.freedesktop.org/show_bug.cgi?id=92368
--- Comment #1 from cprigent ---
Reproduced on SKL-Y.
Following tests were Pass with Mesa 10.6.4:
glx@glx_arb_sync_control@timing -divisor 1
glx@glx_arb_sync_control@timing -fullscreen -msc-delta 1
Curro added this in commit 3ee2daf23d (before the vec4/NIR backend was
added) but it was missed in the new NIR backend. Add it there as well.
instructions in affected programs: 1857 -> 1810 (-2.53%)
helped:15
---
src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 8
On Sat, Oct 10, 2015 at 3:55 PM, Samuel Pitoiset
wrote:
>
>
> On 10/10/2015 09:42 PM, Ilia Mirkin wrote:
>>
>> On Sat, Oct 10, 2015 at 3:41 PM, Samuel Pitoiset
>> wrote:
>>>
>>> This patch looks fine except that it should be a bit more
Hi Marek,
The revised series is mostly done. I wanted to do more testing and to
try to make sure that the added cache flushes I am doing now (a
CACHE_FLUSH event before a fast clear and on switching framebuffers)
are the minimal needed.
> Also, it looks like we don't need DCC decompression at
This has the better name to use. Aparently, sh->Name is usually 0.
---
src/glsl/nir/glsl_to_nir.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 6e1dd84..3284bdc 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++
I reworked this patch to patch use_legacy_snorm_formula through as a
function argument rather than trying to go through the key. This
should make landing this series independent of finding strange
meta-related gpu hangs on HSW. I reworked the patch to move
use_legacy_snorm_formula into the key
Does this fix those texelFetch piglit tests ? Or is it the second patch ?
Anyway, this patch is :
Reviewed-by: Samuel Pitoiset
On 10/10/2015 08:12 AM, Ilia Mirkin wrote:
Right now we emit on every kick, but this is only necessary if something
will ever be able to
This patch looks fine except that it should be a bit more normalized. I
mean, sometimes you break when PUSH_SPACE fails, sometimes not. Same for
PUSH_SPACE calls, sometimes you add it sometimes not.
Did you run a full piglit test this time ? :)
See my comment below.
On 10/10/2015 11:09 AM,
Ignore this. It's just an accidental re-send.
On Sat, Oct 10, 2015 at 8:04 AM, Jason Ekstrand wrote:
> This commit removes all dependence on GL state by getting rid of the
> brw_context parameter and the GL data structures.
> ---
> src/mesa/drivers/dri/i965/brw_fs.cpp |
This commit removes all dependence on GL state by getting rid of the
brw_context parameter and the GL data structures.
v2 (Jason Ekstrand):
- Patch use_legacy_snorm_formula through as a function argument rather
than trying to go through the shader key.
---
On Sat, Oct 10, 2015 at 4:15 PM, Bas Nieuwenhuizen
wrote:
> Hi Marek,
>
> The revised series is mostly done. I wanted to do more testing and to
> try to make sure that the added cache flushes I am doing now (a
> CACHE_FLUSH event before a fast clear and on switching
Hi Timothy,
One of these 3 commits breaks compilation for Talos shaders with
gallium. My piglit patch "glsl-1.30/sampler-bug: ..." contains a
minimal test case. I can't say which commit, because Mesa fails to
build between them. It has something to do with uniforms, structures,
and samplers.
On Sat, Oct 10, 2015 at 4:24 AM, Alejandro Piñeiro wrote:
> ---
>
> I already talked about this with Jason Ekstrand and Matt Turner
> privately, but just in case somebody else jump to the review:
>
> When using BRW_PREDICATE_NORMAL, the if will use all the channels of
> the
On Sat, Oct 10, 2015 at 11:47 AM, Rob Clark wrote:
> From: Rob Clark
>
> Needed in NIR too, so move out of mesa/main/imports.c
>
> Signed-off-by: Rob Clark
> ---
> src/glsl/Makefile.am | 1 +
>
Matt Turner writes:
> Curro added this in commit 3ee2daf23d (before the vec4/NIR backend was
> added) but it was missed in the new NIR backend. Add it there as well.
>
> instructions in affected programs: 1857 -> 1810 (-2.53%)
> helped:15
>
On 10/10/2015 09:42 PM, Ilia Mirkin wrote:
On Sat, Oct 10, 2015 at 3:41 PM, Samuel Pitoiset
wrote:
This patch looks fine except that it should be a bit more normalized. I
mean, sometimes you break when PUSH_SPACE fails, sometimes not. Same for
PUSH_SPACE calls,
This commit removes all dependence on GL state by getting rid of the
brw_context parameter and the GL data structures.
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 59
src/mesa/drivers/dri/i965/brw_wm.c | 14 +++--
src/mesa/drivers/dri/i965/brw_wm.h | 13
On Sat, Oct 10, 2015 at 2:47 PM, Rob Clark wrote:
> From: Rob Clark
>
> This patchset removes the NIR dependency on GLSL (and includes resend
> of shader_enums cleanups w/ addition of STATIC_ASSERT()'s)
>
> Split up glsl_types so the builtin-types
On Sat, Oct 10, 2015 at 3:41 PM, Samuel Pitoiset
wrote:
> Does this fix those texelFetch piglit tests ? Or is it the second patch ?
This patch "fixes" the initial texelFetch piglit failures. However it
creates some fresh texelFetch piglit failures -- that test is
This commit removes all dependence on GL state by getting rid of the
brw_context parameter and the GL data structures.
---
src/mesa/drivers/dri/i965/brw_vec4.cpp | 67 +-
src/mesa/drivers/dri/i965/brw_vs.c | 14 ++-
src/mesa/drivers/dri/i965/brw_vs.h |
From: Rob Clark
Add missing enum to gl_system_value_name() and move VARYING_SLOT_MAX /
FRAG_RESULT_MAX / etc into shader_enums.h as suggested by Emil.
v2: add STATIC_ASSERT()'s
Reported-by: Emil Velikov
Signed-off-by: Rob Clark
From: Rob Clark
Needed in NIR too, so move out of mesa/main/imports.c
Signed-off-by: Rob Clark
---
src/glsl/Makefile.am | 1 +
src/mesa/main/imports.c | 148 --
src/mesa/main/imports.h | 38
From: Rob Clark
First step at untangling NIR's dependency on glsl_types without bringing
in the dependency on glsl_symbol_table. The builtin types are now in
glsl_types (which will end up in NIR), but adding them to the symbol-
table stays in builtin_types.cpp (which
From: Rob Clark
This patchset removes the NIR dependency on GLSL (and includes resend
of shader_enums cleanups w/ addition of STATIC_ASSERT()'s)
Split up glsl_types so the builtin-types go w/ glsl_types but the parts
that add them to glsl_symbol_table stay with glsl.
From: Rob Clark
Now that NIR does not depend on glsl, we can (mostly[*]) get rid of the
libglsl_util hack.
[*] glsl_compiler is the one remaining user of libglsl_util
Signed-off-by: Rob Clark
---
src/gallium/drivers/freedreno/Makefile.am
From: Rob Clark
Signed-off-by: Rob Clark
---
src/glsl/nir/nir_constant_expressions.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/glsl/nir/nir_constant_expressions.py
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 39 +
1 file changed, 13 insertions(+), 26 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index
From: Marek Olšák
---
src/gallium/auxiliary/tgsi/tgsi_ureg.c | 26 ++
src/gallium/auxiliary/util/u_inlines.h | 22 ++
2 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_compute.c | 4 ++--
src/gallium/drivers/radeonsi/si_shader.c| 4 ++--
src/gallium/drivers/radeonsi/si_shader.h| 2 +-
src/gallium/drivers/radeonsi/si_state_shaders.c | 2 +-
4 files changed, 6
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 109a805..789b1b7 100644
---
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 84 +
1 file changed, 17 insertions(+), 67 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_shader.c | 76 ++--
1 file changed, 34 insertions(+), 42 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index 32a702f..109a805
Nothing special here other than cleanups. One patch disables NaNs for LS and
HS, and there's also one GS shader leak fix.
Please review.
Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
From: Marek Olšák
They're disabled for all other shaders except compute, but I forgot
to do this for tess stages.
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git
From: Marek Olšák
Cc: mesa-sta...@lists.freedesktop.org
---
src/gallium/drivers/radeonsi/si_shader.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c
b/src/gallium/drivers/radeonsi/si_shader.c
index
From: Marek Olšák
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 23 ---
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index
From: Marek Olšák
The shader specifies the processor type, so use that instead.
---
src/gallium/drivers/radeonsi/si_state_shaders.c | 49 +
1 file changed, 9 insertions(+), 40 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c
From: Marek Olšák
The increase in VGPRs in unfortunate, but the decrease in the scratch size
is always welcome.
Totals:
SGPRS: 344552 -> 344368 (-0.05 %)
VGPRS: 197132 -> 197552 (0.21 %)
Code Size: 7375376 -> 7366304 (-0.12 %) bytes
LDS: 91 -> 91 (0.00 %) blocks
Scratch:
From: Marek Olšák
Include compute shaders too, which includes OpenGL, but not OpenCL.
LLVM doesn't use this much according to shader-db:
Totals:
SGPRS: 344944 -> 344944 (0.00 %)
VGPRS: 197024 -> 197024 (0.00 %)
Code Size: 7325688 -> 7325624 (-0.00 %) bytes
LDS: 91 -> 91
Hi,
This patch series improves IR generation for radeonsi. Most of it removes uses
of AMDGPU intrinsics.
There is one piglit regression caused by aggressive handling of "undef" in
LLVM, breaking piglit/glsl-routing. I have a lit test which I'll send later.
Complete stats from shader-db are
From: Marek Olšák
Required for 1/sqrt ==> rsq.
We should finally fix the hang instead of running away from the issue. This
assumes the bug is in LLVM and we have time to fix it before the release.
Include compute shaders as well, which only affects TGSI and thus OpenGL.
From: Marek Olšák
Intel and Nouveau use IEEE opcodes, so we should too.
If there is a bug caused by not using the clamped RSQ variant, there must
be another way to fix it. I don't think the RSQ behavior matters much now
that NaNs are disabled.
Nine and Wine should implement
FWIW I'm still baffled by this shader bit.
NaNs are absolutely required to be generated and handled as NaNs in
shaders (albeit conversion to ints will make them 0) by DX10 (there's
plenty of tests which actually check for this). And generally, you
really want to generate NaNs for newer glsl
On Sat, Oct 10, 2015 at 4:21 PM, Samuel Pitoiset
wrote:
>
>
> On 10/10/2015 09:58 PM, Ilia Mirkin wrote:
>>
>> On Sat, Oct 10, 2015 at 3:55 PM, Samuel Pitoiset
>> wrote:
>>>
>>>
>>> On 10/10/2015 09:42 PM, Ilia Mirkin wrote:
On Sat,
From: Marek Olšák
The previous version has precision issues. This can be a problem
with tessellation. Sadly, I can't find the article where I read it
anymore. I'm not sure if the unsafe-fp-math flag would be enough to revert
this.
---
From: Marek Olšák
This removes "v_mov v0, 0" which typically occurs before exports.
Totals:
SGPRS: 345216 -> 344552 (-0.19 %)
VGPRS: 197684 -> 197132 (-0.28 %)
Code Size: 7390408 -> 7375376 (-0.20 %) bytes
LDS: 91 -> 91 (0.00 %) blocks
Scratch: 1842176 -> 1679360 (-8.84 %)
From: Marek Olšák
This is useful only when emit functions use it.
The new radeonsi min/max opcode implementation requires this.
---
src/gallium/auxiliary/gallivm/lp_bld_tgsi.c | 5 +
1 file changed, 5 insertions(+)
diff --git
From: Marek Olšák
---
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index 23ea23a..c22ea7c 100644
---
From: Marek Olšák
No difference according to shader-db. (with the new S_ABS_I32 pattern)
---
.../drivers/radeon/radeon_setup_tgsi_llvm.c| 60 ++
1 file changed, 50 insertions(+), 10 deletions(-)
diff --git
From: Marek Olšák
No difference according to shader-db.
---
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
FWIW, this isn't quite correct with ARB_shader_precision or GL4.1 --
it specifies that infinities should be correctly generated through
division by 0, which unsafe-fp-math doesn't guarantee. At least,
that's assuming this is similar to the "fast" per-instruction flag
Am 11.10.2015 um 03:29 schrieb Marek Olšák:
> From: Marek Olšák
>
> This is useful only when emit functions use it.
> The new radeonsi min/max opcode implementation requires this.
> ---
> src/gallium/auxiliary/gallivm/lp_bld_tgsi.c | 5 +
> 1 file changed, 5
From: Marek Olšák
The "current" shader pointer is moved from the CSO to the context, so that
the CSO is mostly immutable.
The only drawback is that the "current" pointer isn't saved when unbinding
a shader and it must be looked up when the shader is bound again.
This is
From: Marek Olšák
This is only supported in the compatibility profile (without GS and tess).
---
src/gallium/drivers/radeonsi/si_pipe.c | 2 +-
src/gallium/drivers/radeonsi/si_shader.c| 42 +
src/gallium/drivers/radeonsi/si_shader.h
Hi,
This patch series implements all features needed for st/mesa to send shaders to
the driver immediately.
The good thing about thread-safe shader CSOs is that multithreaded shader
compilation suddenly seems easy.
Please review.
Marek
___
mesa-dev
From: Marek Olšák
using the shader key for now.
---
src/gallium/drivers/radeonsi/si_pipe.c | 2 +-
src/gallium/drivers/radeonsi/si_shader.c| 13 +
src/gallium/drivers/radeonsi/si_shader.h| 1 +
src/gallium/drivers/radeonsi/si_state.c
On 10/10/15 16:54, Jason Ekstrand wrote:
> On Sat, Oct 10, 2015 at 4:24 AM, Alejandro Piñeiro
> wrote:
>> vec4 port of fs_cmod_propagation.
>>
>> Shader-db results:
>> total instructions in shared programs: 6241226 -> 6224469 (-0.27%)
>> instructions in affected programs:
Signed-off-by: Rhys Kidd
---
.gitignore | 1 +
Makefile | 14 +++---
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore
index f69750a..cffa19c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
bin
run
+*.o
diff --git
Patchset adds Makefile and documentation improvements.
I aimed to write these as I would have found most helpful when seeking to
understand shader-db's operation, as a new Mesa developer.
First patch resolves the build errors [0] experienced on Ubuntu 15.04 and
permit a simple 'make' to work if
Signed-off-by: Rhys Kidd
---
README | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/README b/README
index e301d0e..6ed3244 100644
--- a/README
+++ b/README
@@ -47,7 +47,18 @@ ST_DEBUG=precompile R600_DEBUG=ps,vs,gs,precompile ./run
shaders
Signed-off-by: Rhys Kidd
---
README | 5 +
1 file changed, 5 insertions(+)
diff --git a/README b/README
index 6ed3244..03be4e7 100644
--- a/README
+++ b/README
@@ -60,6 +60,11 @@ Build with:
make
```
+run.py relies on a symbolic link to a built piglit bin directory,
On 10/10/2015 09:58 PM, Ilia Mirkin wrote:
On Sat, Oct 10, 2015 at 3:55 PM, Samuel Pitoiset
wrote:
On 10/10/2015 09:42 PM, Ilia Mirkin wrote:
On Sat, Oct 10, 2015 at 3:41 PM, Samuel Pitoiset
wrote:
This patch looks fine except that it
From: Marek Olšák
I'll let drivers figure out how to do it.
---
src/gallium/docs/source/screen.rst | 2 ++
src/gallium/drivers/freedreno/freedreno_screen.c | 1 +
src/gallium/drivers/i915/i915_screen.c | 1 +
src/gallium/drivers/ilo/ilo_screen.c
From: Marek Olšák
---
src/mesa/state_tracker/st_cb_program.c | 5 +++--
src/mesa/state_tracker/st_context.c| 14 ++
src/mesa/state_tracker/st_context.h| 7 +++
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git
From: Marek Olšák
---
src/mesa/state_tracker/st_atom_shader.c | 10 +-
src/mesa/state_tracker/st_cb_bitmap.c | 2 +-
src/mesa/state_tracker/st_cb_drawpixels.c | 2 +-
src/mesa/state_tracker/st_context.c | 3 ++-
src/mesa/state_tracker/st_context.h
Hi,
This is a continuation of the previous series. It allows drivers to have only 1
shader variant for every user shader in st/mesa, not counting glDrawPixels and
glBitmap variants.
In such case, the shader variant is created in LinkShader or
ProgramStringNotify.
Please review.
Marek
On Friday, October 09, 2015 07:45:20 AM Jason Ekstrand wrote:
> This has the better name to use. Aparently, sh->Name is usually 0.
> ---
> src/glsl/nir/glsl_to_nir.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/glsl/nir/glsl_to_nir.cpp
On 10/10/2015 10:17 PM, Ilia Mirkin wrote:
On Sat, Oct 10, 2015 at 4:21 PM, Samuel Pitoiset
wrote:
On 10/10/2015 09:58 PM, Ilia Mirkin wrote:
On Sat, Oct 10, 2015 at 3:55 PM, Samuel Pitoiset
wrote:
On 10/10/2015 09:42 PM, Ilia Mirkin
Hi Marek,
I don't get the hang on Dota 2 Reborn with this patch and LLVM/Mesa git.
Tested-by: Nick Sarnie
Thanks!
On Sat, Oct 10, 2015 at 10:12 PM, Connor Abbott wrote:
> FWIW, this isn't quite correct with ARB_shader_precision or GL4.1 --
> it
We still have to push everything out, might as well kick earlier and
flip pushbufs when we know we'll need it. This resolves some issues with
the new policy of making sure that we always leave a bit of room at the
end for fences.
Signed-off-by: Ilia Mirkin
Cc:
GNU make predefines RM to rm -f but this is not required by POSIX
so ensure that RM is set. This fixes "make clean" on OpenBSD.
v2: use AC_CHECK_PROG
Signed-off-by: Jonathan Gray
CC: "10.6 11.0"
---
configure.ac | 2 ++
1 file changed, 2
Deliver consistency with all other shader-db scripts, which are Python scripts.
No change in features or output strings.
Passed pep8, except for two comment lines suggesting commands to add
dependencies to the [require] section of *.shader_test files.
Although not a performance critical
Right now we emit on every kick, but this is only necessary if something
will ever be able to observe that the fence completed. If there are no
refs, leave the fence alone and emit it another day.
This also happens to work around an issue for the kick handler -- a kick
can be a result of e.g.
This series implements a vec4 equivalent to fs_cmod_propagation optimization.
The last two commits are not really needed for the optimization, are just
nice-to-have (imho) that I added while implementing the optimization.
Alejandro Piñeiro (5):
i965/vec4: nir_emit_if doesn't need to predicate
This include the same tests coming from test_fs_cmod_propagation, (non
vector glsl types included) plus some new with vec4 types, inspired on
the regressions found while the optimization was a work in progress.
Additionally, the check of number of instructions after the
optimization was changed
The complete way to do this would be parse INTEL_DEBUG and
print the output if DEBUG_VS (or a new one) is present
(see intel_debug.c).
But that seems like an overkill for the unit tests, that
after all, the most common use case is being run when
calling make check.
---
Just added the envvar
vec4 port of fs_cmod_propagation.
Shader-db results:
total instructions in shared programs: 6241226 -> 6224469 (-0.27%)
instructions in affected programs: 498213 -> 481456 (-3.36%)
helped:3082
HURT: 0
---
The final outcome is
---
I found this useful while I was using INTEL_DEBUG=optimizer after
changing how the ifs are emitted. And after all, that info is
also included by brw_disasm.c
I assumed that at the vec4_visitor we would not need to handle
pred_ctrl_align1, but Im not totally sure.
---
I already talked about this with Jason Ekstrand and Matt Turner
privately, but just in case somebody else jump to the review:
When using BRW_PREDICATE_NORMAL, the if will use all the channels of
the register flag. But nir_if only reads from one channel, so that
is not needed. Another hint
https://bugs.freedesktop.org/show_bug.cgi?id=91643
Dennis Schridde changed:
What|Removed |Added
CC||devuran...@gmx.net
On Thu, Oct 8, 2015 at 11:50 AM, Emil Velikov wrote:
> Hello list,
>
> The candidate for the Mesa 11.0.3 is now available. Currently we have:
> - 46 queued
> - 18 nominated (outstanding)
> - and 7 rejected/obsolete patches
>
> This time around we have a bunch of EGL
91 matches
Mail list logo