Signed-off-by: Bas Nieuwenhuizen
---
src/amd/common/ac_nir_to_llvm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index c9b0106..d9eef57 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++
Meta was using it before it was set. I suspect we typically don't
want to dump meta shaders, so just set it to false in the beginning.
Signed-off-by: Bas Nieuwenhuizen
---
src/amd/vulkan/radv_device.c | 1 +
1 file changed, 1 insertion(+)
diff --git
> >>> if (dri2_surf->dri_image_front) {
> >>> - _eglLog(_EGL_DEBUG, "%s : %d : destroy dri_image_front", __func__,
> __LINE__);
> >>> + _eglLog(_EGL_DEBUG, "destroy dri_image_front");
> >>>dri2_dpy->image->destroyImage(dri2_surf->dri_image_front);
> >>>
On Monday, November 28, 2016 7:28:12 PM PST Jason Ekstrand wrote:
> Previously, we had an OFFSET_VALUE source for logical texture instructions
> that was intended to mean exactly what it says, "offset". In reality, we
> only fully used it for tg4 offsets. We used offset_value.file == IMM to
>
On Mon, 2016-11-28 at 18:59 -0800, Ian Romanick wrote:
> On 11/20/2016 05:28 AM, Timothy Arceri wrote:
> >
> > Now that we have a linked_stages bitfield we can use this
> > to check if the program is used at a later stage.
> >
> > This change is also required to be able to use gl_program
> >
On Mon, 2016-11-28 at 08:38 -0200, Alejandro Piñeiro wrote:
> On 26/11/16 21:31, Timothy Arceri wrote:
> >
> > 07fe2d565b introduced a big hack in order to return
> > NumSubroutineUniforms when querying ACTIVE_RESOURCES for
> > _SUBROUTINE_UNIFORM interfaces.
>
> I wouldn't call that a big
Also remove cache item and fallback to full recompile if current Mesa
version differs.
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c
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
---
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 4798809..cf90b0e 100644
---
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 | 89 ++
1 file changed, 89 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index d865c0c..3ecdced 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++
---
src/util/disk_cache.c | 4
1 file changed, 4 insertions(+)
diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index ce35e9a..1be5376 100644
--- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c
@@ -142,6 +142,10 @@ disk_cache_create(void)
struct stat sb;
size_t size;
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
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
---
src/compiler/glsl/shader_cache.cpp | 57 ++
1 file changed, 51 insertions(+), 6 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 6ae8f7e..37afbc0 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++
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/shader_cache.cpp | 15 +++
src/mesa/main/mtypes.h | 7 +++
src/mesa/main/shaderobj.c
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 cdb3665..168652d 100644
---
---
src/mesa/drivers/dri/i965/brw_gs.c | 15 ---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 25 +
2 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_gs.c
b/src/mesa/drivers/dri/i965/brw_gs.c
index
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 168652d..4d84842 100644
---
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 enables
This initially adds support for simple uniforms and varyings.
---
src/compiler/glsl/shader_cache.cpp | 121 +
1 file changed, 121 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 30884c7..e255c88 100644
---
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 1c6a75b..bb57e9a 100644
---
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 48
src/mesa/drivers/dri/i965/brw_tcs.c | 16 --
src/mesa/drivers/dri/i965/brw_tes.c | 15 +++--
3 files changed, 73 insertions(+), 6 deletions(-)
diff --git
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 | 33 +
1 file changed, 33 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
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/compiler/glsl/shader_cache.cpp | 107 +
1 file changed, 107 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 44f5946..6ae8f7e 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++
---
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 fb8500d..93e38d5 100644
---
src/compiler/glsl/shader_cache.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 4d84842..c244c53 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
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 | 14 +++-
This will allow us to skip certain things when falling back to
a full recompile on a cache miss such as avoiding reinitialising
uniforms.
In this chage we use it to avoid reading the program metadata
from the cache and skipping linking during a fallback.
---
src/compiler/glsl/shader_cache.cpp |
---
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 c244c53..fe976b0 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++
We already pull these values from the metadata cache so no need to
recreate them.
---
src/compiler/glsl/linker.cpp | 20
src/mesa/main/shaderobj.c| 8 +---
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp
Here we skip the recreation of uniform storage if we are relinking
after a cache miss. This is improtant because uniform values may
have already been set by the application and we don't want to reset
them.
---
src/compiler/glsl/link_uniforms.cpp | 31 +++
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
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
If the shader cache falls back to doing a compile and link we need the
original FragData bindings as they could have changed after the program
was first linked.
---
src/compiler/glsl/shader_cache.cpp | 8
src/mesa/main/mtypes.h | 2 ++
src/mesa/main/shaderobj.c |
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
This is fairly simple, if we have no IR we compile the fallback
shaders then copy the other fallback data such as attibute bindings
to a temp shader program struct, then we link the program and clean
up the mess. The IR will be attached to the existing gl_program.
---
We already have a reference.
---
src/compiler/glsl/linker.cpp | 3 ++-
src/mesa/main/shaderobj.c| 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index b67a7e9..0dcf00d 100644
--- a/src/compiler/glsl/linker.cpp
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 29 +++-
1 file changed, 28 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 cf90b0e..7345242 100644
---
---
src/compiler/glsl/shader_cache.cpp | 10 ++
1 file changed, 10 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 3ecdced..7ab9280 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@
---
src/compiler/glsl/linker.cpp | 62 +++-
src/mesa/main/shaderobj.c| 16 +++-
2 files changed, 42 insertions(+), 36 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index b609c86..b73bb6c 100644
---
This will be used to disable the shader cache when xfb is enabled
via the api as we don't currently allow for it when generating the
sha for the shader.
---
src/compiler/glsl/link_varyings.cpp | 5 -
src/mesa/main/mtypes.h | 3 +++
2 files changed, 7 insertions(+), 1 deletion(-)
---
src/compiler/glsl/shader_cache.cpp | 163 +
1 file changed, 163 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 37afbc0..d865c0c 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++
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
---
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 9c0387c..770fc3f 100644
---
This uses the recently-added disk_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 | 369
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
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
---
src/compiler/glsl/shader_cache.cpp | 18 ++
1 file changed, 18 insertions(+)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index e255c88..85ced0c 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
From: Carl Worth
We also add a flag for detecting shaders written to shader cache.
V2: dont leak cache
Signed-off-by: Timothy Arceri
---
src/mesa/main/context.c | 6 ++
src/mesa/main/mtypes.h | 9 +
2 files changed, 15
For now this disables the shader cache when transform feedback is
enabled via the GL API as we don't currently allow for it when
generating the sha for the shader.
---
src/compiler/glsl/linker.cpp | 14 +++-
src/compiler/glsl/shader_cache.cpp | 108
This will be used to skip checking the cache and force a recompile.
---
src/compiler/glsl/glsl_parser_extras.cpp | 2 +-
src/compiler/glsl/program.h | 2 +-
src/compiler/glsl/standalone.cpp | 3 ++-
src/mesa/main/shaderapi.c| 2 +-
4 files changed, 5
This uses disk_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 initial version is intended to work with vertex and
---
src/compiler/glsl/shader_cache.cpp | 36 ++--
1 file changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/compiler/glsl/shader_cache.cpp
b/src/compiler/glsl/shader_cache.cpp
index 98fec27..30884c7 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++
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
---
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.
From: Carl Worth
Signed-off-by: Timothy Arceri
---
src/compiler/glsl/link_uniforms.cpp | 4
src/mesa/main/mtypes.h | 4
2 files changed, 8 insertions(+)
diff --git a/src/compiler/glsl/link_uniforms.cpp
This will be used to remove cache items created with old versions
of Mesa or other invalid cache items from the cache.
---
src/util/disk_cache.c | 22 ++
src/util/disk_cache.h | 12
2 files changed, 34 insertions(+)
diff --git a/src/util/disk_cache.c
This series applies on top of these to clean-up series [1] and [2] please
reviews those patches first.
[1] https://patchwork.freedesktop.org/series/15613/
[2] https://patchwork.freedesktop.org/series/15775/
V7:
- support for SSO added.
- rebased/reworked on top of my work to rework the gl
Reviewed-by: Eric Anholt
---
docs/envvars.html | 11 +++
1 file changed, 11 insertions(+)
diff --git a/docs/envvars.html b/docs/envvars.html
index 5dd7bab..2f013bf 100644
--- a/docs/envvars.html
+++ b/docs/envvars.html
@@ -114,6 +114,17 @@ glGetString(GL_VERSION) for
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
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 | 8
src/mesa/drivers/dri/i965/brw_gs.c | 2 ++
src/mesa/drivers/dri/i965/brw_tcs.c |
Seems reasonable,
Reviewed-by: Jason Ekstrand
On Mon, Nov 28, 2016 at 7:25 PM, Ian Romanick wrote:
> From: Ian Romanick
>
> Noticed while adding support for 64-bit integer types.
>
> Signed-off-by: Ian Romanick
Previously, we had an OFFSET_VALUE source for logical texture instructions
that was intended to mean exactly what it says, "offset". In reality, we
only fully used it for tg4 offsets. We used offset_value.file == IMM to
mean, "you have a constant offset, go look in instr->offset" and didn't
From: Ian Romanick
The lowering passes 64-bit integer operations will generate a lot of
these.
v2: Modify the HANDLE_PACK_UNPACK_INVERSE so that the breaks apply to
the switch instead of the 'do { } while(true)' loop.
Signed-off-by: Ian Romanick
From: Ian Romanick
v2 (idr): Make the "from" type in a cast unsized. This reduces the
number of required cast operations at the expensive slightly more
complex code. However, this will be a dramatic improvement when other
sized integer types are added. Suggested by
From: Ian Romanick
Signed-off-by: Ian Romanick
---
src/compiler/glsl/ir_optimization.h | 1 +
src/compiler/glsl/lower_64bit.cpp | 7 +++
2 files changed, 8 insertions(+)
diff --git a/src/compiler/glsl/ir_optimization.h
From: Ian Romanick
Signed-off-by: Ian Romanick
---
src/compiler/glsl/ir_optimization.h | 1 +
src/compiler/glsl/lower_64bit.cpp | 11 +++
2 files changed, 12 insertions(+)
diff --git a/src/compiler/glsl/ir_optimization.h
From: Dave Airlie
These are all the allowed 64-bit functions from ARB_gpu_shader_int64
spec.
v2: restrict int64/double functions better.
v3 (idr): Delete spurious blank lines. Suggested by Matt.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
From: Ian Romanick
It seems like maybe this should return a different type based on Gen. Q
and UQ only exist on Gen8+, but, based on the old comment, I believe
previous Gens can generate 64-bit moves.
Signed-off-by: Ian Romanick
---
From: Ian Romanick
These functions are directly available in shaders. A #define is added
to detect the presence. This allows these functions to be tested using
piglit regardless of whether the driver uses them for lowering. The
GLSL spec says that functions and
From: Ian Romanick
Signed-off-by: Ian Romanick
Reviewed-by: Connor Abbott
---
src/compiler/nir/nir_split_var_copies.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/compiler/nir/nir_split_var_copies.c
From: Ian Romanick
It's much easier to do this in the generator rather than while coming
out of NIR. brw_type_for_nir_type doesn't know the Gen, so we'd have to
add a bunch of plumbing. The alternate fix is to not emit int64 moves
for doubles in the first place... but
From: Ian Romanick
Signed-off-by: Ian Romanick
---
src/compiler/Makefile.glsl.am| 1 +
src/compiler/Makefile.sources| 1 +
src/compiler/glsl/ir_optimization.h | 6 +
From: Ian Romanick
These functions are directly available in shaders. A #define is added
to detect the presence. This allows these functions to be tested using
piglit regardless of whether the driver uses them for lowering. The
GLSL spec says that functions and
From: Ian Romanick
This is basically the same as happens for doubles.
Signed-off-by: Ian Romanick
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 43 +---
1 file changed, 29 insertions(+), 14 deletions(-)
diff
From: Ian Romanick
If ARB_gpu_shader_int64 is supported, ARB_shader_clock also adds
clockARB() that returns a uint64_t. Rather than add new opcodes and
intrinsics for this, just wrap the existing intrinsic with a
packUint2x32.
Signed-off-by: Ian Romanick
From: Ian Romanick
These functions are directly available in shaders. A #define is added
to detect the presence. This allows these functions to be tested using
piglit regardless of whether the driver uses them for lowering. The
GLSL spec says that functions and
From: Ian Romanick
Signed-off-by: Ian Romanick
---
src/compiler/Makefile.sources | 1 +
src/compiler/glsl/ast_function.cpp | 1 +
src/compiler/glsl/ast_to_hir.cpp | 1 +
From: Ian Romanick
Signed-off-by: Ian Romanick
Reviewed-by: Connor Abbott
---
src/compiler/nir_types.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/compiler/nir_types.h b/src/compiler/nir_types.h
index
From: Ian Romanick
Integer comparison functions (e.g., nir_op_ilt) are handled in the next
commit.
Signed-off-by: Ian Romanick
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 10 --
1 file changed, 10 deletions(-)
diff --git
From: Dave Airlie
This just adds the usual boilerplate in mesa core.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
Reviewed-by: Matt Turner
---
src/mesa/main/extensions_table.h | 1 +
From: Dave Airlie
This adds support for 64-bit integer constants to the parser,
ast and ir.
v2: fix a few issues found in testing.
v3: Add missing ir_constant copy contructor support.
v4: Use PRIu64 and PRId64 in printfs in glsl_parser_extras.cpp.
Suggested by Nicolai.
From: Dave Airlie
Just add types into unsupported or double equivalent spots.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
Reviewed-by: Iago Toral Quiroga
Reviewed-by: Matt Turner
From: Ian Romanick
Signed-off-by: Ian Romanick
---
src/compiler/glsl/ir_builder_print_visitor.cpp | 16 +---
src/compiler/glsl/standalone_scaffolding.cpp | 1 +
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git
From: Dave Airlie
Just add support in two more places in ast parsing.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
Reviewed-by: Matt Turner
---
src/compiler/glsl/ast_to_hir.cpp | 5 +
1 file
From: Ian Romanick
These functions are directly available in shaders. A #define is added
to detect the presence. This allows these functions to be tested using
piglit regardless of whether the driver uses them for lowering. The
GLSL spec says that functions and
From: Ian Romanick
This change makes me wonder whether double packing should be
reimplemented as int64BitsToDouble(packInt2x32(v)). I'm a little on the
fence since not all platforms that support fp64 natively support int64.
Signed-off-by: Ian Romanick
From: Dave Airlie
This adds all the conversions in the world, I'm not 100% sure of all of
these are needed, but add all of them and we can cut them down later.
v2: fix issue with packing output types.
v3 (idr): Rebase on top of idr's series to generate
From: Ian Romanick
v2: Fixup assertion in brw_reg_type_to_hw_type to allow
BRW_REGISTER_TYPE_{UQ,Q} on Gen8+.
Signed-off-by: Ian Romanick
---
src/mesa/drivers/dri/i965/brw_eu_emit.c | 5 -
src/mesa/drivers/dri/i965/brw_inst.h| 8
From: Ian Romanick
Signed-off-by: Ian Romanick
---
src/mesa/drivers/dri/i965/brw_reg.h | 1 +
src/mesa/drivers/dri/i965/brw_shader.cpp | 26 +++---
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git
From: Ian Romanick
v2: Don't up-convert the shift count parameter if shift instructions.
Suggested by Connor. Add type_is_singed() function. This will make
adding 8- and 16-bit types easier.
Signed-off-by: Ian Romanick
Reviewed-by: Connor
From: Ian Romanick
Signed-off-by: Ian Romanick
Reviewed-by: Connor Abbott
---
src/compiler/glsl/glsl_to_nir.cpp | 10 ++
src/compiler/nir/nir.c| 4
src/compiler/nir/nir.h| 2 ++
From: Dave Airlie
This just adds the new operations and add 64-bit integer support to all
the existing cases where it is needed.
v2: fix some issues found in testing.
v2.1: add unreachable (Ian), add missing int/uint pack/unpack (Dave).
v3 (idr): Rebase on top of idr's
From: Dave Airlie
This adds 64-bit integer support to some AST and IR operations where
it is needed.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
---
src/compiler/glsl/ast_to_hir.cpp | 12 ++--
From: Ian Romanick
Noticed while adding support for 64-bit integer types.
Signed-off-by: Ian Romanick
Reviewed-by: Connor Abbott
Cc: Jason Ekstrand
---
src/compiler/nir/nir_split_var_copies.c
From: Dave Airlie
We need builder support to implement some of the builtins.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
Reviewed-by: Matt Turner
---
src/compiler/glsl/ir_builder.cpp | 24
From: Dave Airlie
This adds 64-bit ints to the link_varyings 64-bit support.
Signed-off-by: Dave Airlie
Reviewed-by: Ian Romanick
Reviewed-by: Matt Turner
---
src/compiler/glsl/link_varyings.h | 8
From: Ian Romanick
Signed-off-by: Ian Romanick
Reviewed-by: Matt Turner
---
src/compiler/glsl/ir_print_visitor.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/compiler/glsl/ir_print_visitor.cpp
1 - 100 of 186 matches
Mail list logo