On 1 October 2016 at 02:46, Roland Scheidegger wrote:
> I'm not familiar with this code but presumably the xlib code is less
> tested than dri one, so if it differs there changing it probably
> wouldn't hurt.
> IIRC in the past there were actually apps which were quite sensitive to
> this stuff (
On 02/10/16 08:28 PM, Jakub Hlusička wrote:
> I ended up having to use `env LLVM_CONFIG=llvm-config-3.9` in order to
> get it to compile.
FWIW, passing --with-llvm-prefix=/usr/lib/llvm-3.9 to the configure
script might do the trick as well. That'll be recorded in the
config.status file (not sure a
(warning: 'const' type qualifier on return type has no effect)
Signed-off-by: Tapani Pälli
---
src/intel/common/gen_device_info.c | 2 +-
src/intel/common/gen_device_info.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/intel/common/gen_device_info.c
b/src/intel/comm
Pointers will have different lengths so we simply create a different
sha1 for each platform.
In theory we should be able to share cached shaders as we cache all
pointer as uint64_t however if a pointer is ever added to one of the
structs we write to file with blob_write_bytes() we run the risk of
This will allow us to make use of the hash_table_call_foreach()
function from outside the object.
---
src/util/string_to_uint_map.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/string_to_uint_map.h b/src/util/string_to_uint_map.h
index e0533ec..18f5166 100644
--
A number of things can happen that change the shader source after it is
compiled or linked.
For example:
- Source changed after it is first compiled
- Source changed after linking
- Shader detached after linking
In order to be able to fallback to a full rebuild on a cache miss we
make a copy of t
There are a number of reasons we can get to the program upload stage
and have neither IR nor a valid cached binary. For example the binary
may have been randomly evicted from the cache to make room or the
binary may have been created with an old version of Mesa.
This environment variable enabled u
---
src/compiler/glsl/shader_cache.cpp | 8
1 file changed, 8 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 304f80e..c4ead81 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -1061,6 +10
Pointers will have different lengths so we simply create a different
sha1 for each platform.
In theory we should be able to share cached shaders as we cache all
pointer as uint64_t however if a pointer is ever added to one of the
structs we write to file with blob_write_bytes() we run the risk of
---
src/compiler/glsl/shader_cache.cpp | 8
1 file changed, 8 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index c4ead81..18a338c 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -1042,6 +10
The old linked shader is deleted so we need to make sure we hold onto
these values.
---
src/compiler/glsl/linker.cpp | 8
1 file changed, 8 insertions(+)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index df02198..ecdf7ef 100644
--- a/src/compiler/glsl/linker.
---
src/compiler/glsl/linker.cpp | 70
1 file changed, 45 insertions(+), 25 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index ac03283..df02198 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/l
---
src/compiler/glsl/shader_cache.cpp | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index fdd1b98..304f80e 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cac
---
src/mesa/drivers/dri/i965/brw_compiler.h | 4 ++
src/mesa/drivers/dri/i965/brw_shader_cache.c | 66
src/mesa/drivers/dri/i965/brw_tcs.c | 24 --
src/mesa/drivers/dri/i965/brw_tes.c | 23 --
4 files changed, 109 insertions(+),
In order for this struct to have the same size on 64bit and 32bit
platforms we uses unions to make sure the pointers always take up
at least 64bits. This is useful for making sure we always write
the same size data to disk in the shader cache.
---
src/mesa/drivers/dri/i965/brw_compiler.h | 6 +++--
If the shader cache falls back to doing a compile and link we need the
original attribute bindings as they could have changed after the program
was first linked.
---
src/compiler/glsl/linker.cpp | 5 -
src/compiler/glsl/shader_cache.cpp | 11 +++
src/mesa/main/mtypes.h
---
src/compiler/glsl/linker.cpp | 14 --
src/mesa/main/shaderobj.c| 16 +---
2 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 1b4a87a..6e05cad 100644
--- a/src/compiler/glsl/linker.cpp
++
---
src/compiler/glsl/shader_cache.cpp | 23 +++
1 file changed, 23 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 002b8c3..fdd1b98 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.c
---
src/compiler/glsl/shader_cache.cpp | 18 --
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 9b37155..c26974c 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/sha
We already have the struct and paramlist we don't want to recreate
them as this is unnecessary and would mean we would need to remap
anything using the old paramlist to the addresses of the new one.
---
src/compiler/glsl/linker.cpp | 5
src/mesa/drivers/dri/i965/brw_link.cpp
---
src/mesa/drivers/dri/i965/brw_compiler.h | 2 ++
src/mesa/drivers/dri/i965/brw_gs.c | 23 ++
src/mesa/drivers/dri/i965/brw_shader_cache.c | 29 +++-
3 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/src/mesa/drivers/dri/i
Also add an assert to catch buffer overflows.
---
src/compiler/glsl/shader_cache.cpp | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index a8ca719..fe553df 100644
--- a/src/compiler/glsl/sha
Previously we ended up with the same param list but in a different
location, which will mess up the pointers stored in the new cache
object if all stages were not fully rebuilt e.g. after a fragment
program cache miss.
This also stops the list from being leaked on fallback.
---
src/mesa/drivers/d
---
src/compiler/glsl/shader_cache.cpp | 4
1 file changed, 4 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index c26974c..002b8c3 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -1016,6 +1016,8
Remove incompatiable binaries of a program before attempting
to store a new one.
A previous commit already handles deleting an incompatiable
binary for shader variants this handles the case for an initial
shader compile. Without this a variant would delete the binary
then fallback to a full recomp
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
b/src/mesa/drivers/dri/i965/brw_shader_cache.c
index 3d06c2b..6b75303 100644
--- a/src/mesa/drivers/dri/i965/brw_shader_cache.c
+++ b/src/mesa/dr
---
src/mesa/drivers/dri/i965/brw_link.cpp | 22 --
src/mesa/main/shaderobj.c | 2 +-
2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp
b/src/mesa/drivers/dri/i965/brw_link.cpp
index aa92321..9acbaa3 100644
--
Also remove cache item and fallback to full recompile if current Mesa
version differs.
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 16
1 file changed, 16 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
b/src/mesa/drivers/dri/i965/brw_shader_cache.c
---
src/compiler/glsl/cache.c | 4
1 file changed, 4 insertions(+)
diff --git a/src/compiler/glsl/cache.c b/src/compiler/glsl/cache.c
index 88c1dbb..d4945b4 100644
--- a/src/compiler/glsl/cache.c
+++ b/src/compiler/glsl/cache.c
@@ -142,6 +142,10 @@ cache_create(void)
struct stat sb;
This will be used to remove cache items created with an old version
of Mesa from the cache.
---
src/compiler/glsl/cache.c | 22 ++
src/compiler/glsl/cache.h | 12
2 files changed, 34 insertions(+)
diff --git a/src/compiler/glsl/cache.c b/src/compiler/glsl/cache.c
Caching SSO requires us to be a little more careful so disable
it for now.
---
src/compiler/glsl/linker.cpp | 7 ++-
src/mesa/drivers/dri/i965/brw_shader_cache.c | 2 +-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/g
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 53 ++--
1 file changed, 51 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
b/src/mesa/drivers/dri/i965/brw_shader_cache.c
index 0452641..bd9306b 100644
--- a/src/mesa/drivers/dri/i
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 43 ++--
1 file changed, 40 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
b/src/mesa/drivers/dri/i965/brw_shader_cache.c
index d003c71..12b3db2 100644
--- a/src/mesa/drivers/dri/i
---
src/compiler/glsl/link_uniforms.cpp | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/link_uniforms.cpp
b/src/compiler/glsl/link_uniforms.cpp
index ad7e8b7..37cc8d4 100644
--- a/src/compiler/glsl/link_uniforms.cpp
+++ b/src/compiler/glsl/link_uniforms
---
src/compiler/glsl/shader_cache.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 1e49fbc..a8ca719 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -69,6 +69,7 @@ en
Here we skip the recreation of uniform storage if we are relinking
after a cache miss.
---
src/compiler/glsl/link_uniforms.cpp | 38
src/compiler/glsl/linker.cpp | 9 ---
src/compiler/glsl/linker.h | 3 ++-
src/compiler/
Since we know how big the list will be we can allocate the storage
upfront.
---
src/compiler/glsl/shader_cache.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index fe553df..9b37155 100644
--- a/src/compiler/glsl/shad
This allows up to skip certain linking tasks such as building the
resource list when we are falling back to a full compile after a
cache miss.
---
src/mesa/drivers/dri/i965/brw_link.cpp | 3 ++-
src/mesa/drivers/dri/i965/brw_shader.h | 4 +++-
src/mesa/main/dd.h | 3
We already pull these values from the metadata cache so no need to
recreate them.
---
src/compiler/glsl/linker.cpp | 29 +++--
src/mesa/main/shaderobj.c| 8 +---
2 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/com
---
src/compiler/glsl/shader_cache.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 11ce512..ae3633e 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -1004,6 +1004,7 @
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 31 +++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
b/src/mesa/drivers/dri/i965/brw_shader_cache.c
index 8b31e71..a3dc2a3 100644
--- a/src/mesa/drivers/dri/i9
Also remove cache item and fallback to full recompile if current Mesa
version differs.
V2: don't leak buffer`
---
src/compiler/glsl/shader_cache.cpp | 13 +
1 file changed, 13 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index ae
---
src/compiler/glsl/link_uniforms.cpp | 2 +-
src/compiler/glsl/linker.h | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/link_uniforms.cpp
b/src/compiler/glsl/link_uniforms.cpp
index c9bb6ad..067db8d 100644
--- a/src/compiler/glsl/link_uniforms.
---
src/compiler/glsl/shader_cache.cpp | 7 +++
1 file changed, 7 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index db31788..774b904 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -80,6 +80,11
---
src/compiler/glsl/shader_cache.cpp | 100 +
1 file changed, 100 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 774b904..793a909 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/gls
These may be lowered constant arrays or uniform values that we set before
linking
so we need to cache the actual uniform values.
---
src/compiler/glsl/shader_cache.cpp | 31 +++
1 file changed, 31 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/co
---
src/compiler/glsl/shader_cache.cpp | 12
1 file changed, 12 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index ddf0c5d..3e2e2f1 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -990,
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 28 +++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
b/src/mesa/drivers/dri/i965/brw_shader_cache.c
index a3dc2a3..0452641 100644
--- a/src/mesa/drivers/dri/i9
---
src/compiler/glsl/shader_cache.cpp | 55 +-
1 file changed, 49 insertions(+), 6 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 793a909..cd18edc 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/s
---
src/compiler/glsl/shader_cache.cpp | 87 ++
1 file changed, 87 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 0937accd..6213d63 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/gls
The scenario is a program has been linked for the first time and we
cache the program metadata, then glLinkProgram() is called for a second
time. Since we will now retrieve the program metadata from cache we need
to skip linking.
---
src/compiler/glsl/shader_cache.cpp | 1 +
1 file changed, 1 inse
---
src/compiler/glsl/shader_cache.cpp | 4
1 file changed, 4 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 1d71068..ddf0c5d 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -988,6 +988,8 @
---
src/compiler/glsl/shader_cache.cpp | 15 +--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index a64f6e5..0937accd 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shade
---
src/compiler/glsl/shader_cache.cpp | 8
1 file changed, 8 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 1c5c4f5..a64f6e5 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -86,6 +86,1
This initially adds support for simple uniforms and varyings.
---
src/compiler/glsl/shader_cache.cpp | 114 +
1 file changed, 114 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 854a21c..abbd696 100644
-
---
src/compiler/glsl/shader_cache.cpp | 154 +
1 file changed, 154 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index cd18edc..1c5c4f5 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/gls
---
src/compiler/glsl/shader_cache.cpp | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 6213d63..1d71068 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -98
We may have seen the individual shaders before and skipped compiling
but they may not have been used together in this combination before.
We could probably only compile the shaders which were skipped here
but we need to be careful because the source may also have been
changed since the last compil
For now this disables the shader cache when transform feedback is enabled
via the GL API.
---
src/compiler/glsl/linker.cpp | 15 -
src/compiler/glsl/shader_cache.cpp | 89
src/mesa/drivers/dri/i965/brw_shader_cache.c | 7 +++
3 files chan
---
src/compiler/glsl/shader_cache.cpp | 34 +-
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 08927d9..529ec71 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/c
---
src/compiler/glsl/shader_cache.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index b4b7ee6..854a21c 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -149,6 +149,8 @@
---
src/compiler/glsl/linker.cpp | 5 +++--
src/compiler/glsl/program.h | 3 ++-
src/compiler/glsl/standalone.cpp | 2 +-
src/mesa/main/ff_fragment_shader.cpp | 2 +-
src/mesa/main/shaderapi.c| 2 +-
src/mesa/program/ir_to_mesa.cpp | 5 +++--
src/mesa/program/
This will be used to store all pointers in the cache as 64bit ints
allowing us to avoid issues when a 32bit program reads a cached
shader that was created by a 64bit application.
---
src/compiler/glsl/shader_cache.h | 10 ++
1 file changed, 10 insertions(+)
diff --git a/src/compiler/glsl/
---
src/compiler/glsl/shader_cache.cpp | 34 ++
1 file changed, 30 insertions(+), 4 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index abbd696..4903980 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/c
The hash key for glsl metadata is a hash of the hashes of each GLSL
source string.
This commit uses the put_key/get_key support in the cache put the SHA-1
hash of the source string for each successfully compiled shader into the
cache. This allows for early, optimistic returns from glCompileShader
Whoops these three patches where sent by mistake.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
This uses the recently-added cache.c to write out a serialization of
various state that's required in order to successfully load and use a
binary written out by a drivers backend, this state is referred to as
"metadata" throughout the implementation.
This patch is based on the initial work done by
---
src/compiler/glsl/shader_cache.cpp | 14 ++
1 file changed, 14 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 529ec71..2fb8330 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -53
---
src/compiler/glsl/shader_cache.cpp | 16 ++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 2fb8330..b0a7876 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shade
---
src/compiler/glsl/shader_cache.cpp | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index b0a7876..b4b7ee6 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -148,6 +148,1
From: Carl Worth
Signed-off-by: Timothy Arceri
---
src/compiler/glsl/link_uniforms.cpp | 4
src/mesa/main/mtypes.h | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/link_uniforms.cpp
b/src/compiler/glsl/link_uniforms.cpp
index b3c3c5a..c
From: Carl Worth
The three additional tables are AttributeBindings, FragDataBindings,
and FragDataIndexBindings.
The first table (AttributeBindings) was identified as missing by
trying to test the shader cache with a program that called
glGetAttribLocation.
Many thanks to Tapani Pälli , as it w
---
docs/shading.html | 1 +
src/mesa/main/mtypes.h| 1 +
src/mesa/main/shaderapi.c | 2 ++
3 files changed, 4 insertions(+)
diff --git a/docs/shading.html b/docs/shading.html
index cf989ce..51d0986 100644
--- a/docs/shading.html
+++ b/docs/shading.html
@@ -49,6 +49,7 @@ execution. T
This will be used to skip checking the cache and force a recompile.
---
src/compiler/glsl/glsl_parser_extras.cpp | 22 --
src/compiler/glsl/program.h | 2 +-
src/compiler/glsl/standalone.cpp | 3 ++-
src/mesa/main/shaderapi.c| 2 +-
4 fil
The shader cache will start calling these from the compiler.
---
src/compiler/glsl/standalone_scaffolding.cpp | 8
src/compiler/glsl/standalone_scaffolding.h | 4
2 files changed, 12 insertions(+)
diff --git a/src/compiler/glsl/standalone_scaffolding.cpp
b/src/compiler/glsl/stand
This uses the recently-added cache.c to write out the final linked
binary for vertex and fragment shader programs.
This is based off the initial implementation done by Carl.
---
src/mesa/drivers/dri/i965/Makefile.sources | 1 +
src/mesa/drivers/dri/i965/brw_shader_cache.c | 375 ++
From: Carl Worth
This will be used by the on disk shader cache.
Signed-off-by: Timothy Arceri
---
src/mesa/drivers/dri/i965/brw_compiler.h | 4
src/mesa/drivers/dri/i965/brw_vs.c | 2 ++
src/mesa/drivers/dri/i965/brw_wm.c | 2 ++
3 files changed, 8 insertions(+)
diff --git a/
From: Carl Worth
V2: dont leak cache
Signed-off-by: Timothy Arceri
---
src/mesa/main/context.c | 6 ++
src/mesa/main/mtypes.h | 5 +
2 files changed, 11 insertions(+)
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 697b518..a7c4a58 100644
--- a/src/mesa/main/cont
From: Carl Worth
The shader cache is expected to be developed incrementally over a
fairly long series of commits. For that period of instability, we
require users to opt into the shader cache by setting:
MESA_GLSL_CACHE_ENABLE=1
In the future, when the shader cache is complete, we can r
This generates the program ids at cache upload time rather than at
program creation time.
Moving the id generation here will be useful for on-disk shader
cache support because it means we don't generate ids if there was
a cache miss and we had to fall back to compiling from source.
This increases
Reviewed-by: Eric Anholt
---
docs/envvars.html | 11 +++
1 file changed, 11 insertions(+)
diff --git a/docs/envvars.html b/docs/envvars.html
index cf57ca5..f0f18b3 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -112,6 +112,17 @@ glGetString(GL_VERSION) for OpenGL ES.
glGetStr
This code provides for an on-disk cache of objects. Objects are stored
and retrieved via names that are arbitrary 20-byte sequences,
(intended to be SHA-1 hashes of something identifying for the
content). The directory used for the cache can be specified by means
of environment variables in the fol
The last two patches are not needed but it seems safer to just store
separate shaders for different platform to avoid any future bugs which
we are unlikely to do regression testing for since there is no real
advantage in sharing the cached shaders.
V6:
- rewrote a bunch of the i965 shader cache fu
Reviewed-by: Kenneth Graunke
---
src/mesa/drivers/dri/i965/brw_link.cpp | 14 ++
src/mesa/main/shaderapi.c | 9 +++--
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp
b/src/mesa/drivers/dri/i965/brw_link.cpp
inde
From: Chad Versace
---
src/compiler/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/compiler/.gitignore b/src/compiler/.gitignore
index c0e6299..5d30b4e 100644
--- a/src/compiler/.gitignore
+++ b/src/compiler/.gitignore
@@ -1,4 +1,5 @@
glsl_compiler
+spirv2nir
subtest-cr
su
On Thursday, September 8, 2016 10:33:06 PM PDT Francisco Jerez wrote:
[snip]
> Heh, right, my concern was that this smells strongly like a test relying
> on not terribly well-defined behavior... AFAICT the problem addressed
> here is ultimately caused by the discontinuity that the COLORBURN
> blen
With the trivial comment fix in patch 6, either way, this series is,
Reviewed-by: Edward O'Callaghan
On 10/03/2016 08:09 AM, Marek Olšák wrote:
> Hi,
>
> These are random patches that I wrote or picked from my private branches.
> Some of them are useful improvements or cleanups, others are less
On 10/03/2016 08:09 AM, Marek Olšák wrote:
> From: Marek Olšák
>
> not used anymore. It was used when the polygon stipple texture was constant.
> ---
> src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++--
> src/gallium/drivers/radeonsi/si_state.c | 11 +--
> 2 files changed,
On Wednesday, September 28, 2016 4:04:05 PM PDT Timothy Arceri wrote:
> ---
> src/compiler/glsl/linker.cpp | 807
> +--
> src/compiler/glsl/linker.h | 8 +-
> 2 files changed, 407 insertions(+), 408 deletions(-)
May as well. I didn't read any of these
On Tuesday, September 27, 2016 11:51:20 PM PDT Chad Versace wrote:
> Cacheing the signal status complicates the code for questionable
> performance benefit. I added the cacheing long ago, and I now think it
> was the wrong decision.
>
> When we later add support for fences based on sync fds (that
On Monday, October 3, 2016 10:39:28 AM PDT Timothy Arceri wrote:
> Using consistent naming allows us to create macros more easily.
I suppose it would :)
Both are
Reviewed-by: Kenneth Graunke
signature.asc
Description: This is a digitally signed message part.
___
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/egl/drivers/dri2/platform_android.c | 3 ++-
src/gallium/auxiliary/
Add the miptree level/slice x/y_offset when count the surface offset
in brw_emit_surface_state. The surface offset has two parts, one is
from mt->offset, which should be 32 aligned in width/height for tiled
buffer; another is from mt->level[current_level].slice[current_slice].
x/y_offset.
This fix
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/egl/drivers/dri2/platform_android.c | 3 ++-
1 file changed, 2 insertions(+), 1
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/auxiliary/vl/vl_winsys_drm.c | 3 ++-
1 file changed, 2 insertions(+),
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/state_trackers/dri/dri2.c | 5 +++--
1 file changed, 3 insertions(+), 2
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c | 3 ++-
src/gallium/winsys/rad
Without this fix, duplicated file descriptors leak into child processes.
See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
where the same fix was employed.
Cc:
Signed-off-by: Matt Whitlock
---
src/gallium/state_trackers/xa/xa_tracker.c | 3 ++-
1 file changed, 2 insertions(+)
On Friday, 30 September 2016, at 2:35 pm, Emil Velikov wrote:
> On 30 September 2016 at 06:47, Matt Whitlock
> wrote:
> > Without this fix, duplicated file descriptors leak into child processes.
> > See commit aaac913e901229d11a1894f6aaf646de6b1a542c for one instance
> > where the same fix was em
Add the miptree level/slice x/y_offset when count the surface offset
in brw_emit_surface_state. The surface offset has two parts, one is
from mt->offset, which should be 32 aligned in width/height for tiled
buffer; another is from mt->level[current_level].slice[current_slice].
x/y_offset.
This fix
1 - 100 of 156 matches
Mail list logo