From: Kristian Høgsberg
This will be used to load the value of a buffer variable from an SSBO,
like ir_binop_ubo_load for UBOs.
---
src/glsl/ir.cpp | 1 +
src/glsl/ir.h| 8
src/glsl/ir_validate.cpp
From: Kristian Høgsberg
---
src/glsl/link_interface_blocks.cpp | 15 ---
src/glsl/link_uniform_initializers.cpp | 3 ++-
src/glsl/link_uniforms.cpp | 8 +---
src/glsl/linker.cpp| 4 ++--
4 files changed, 21 insertions(+), 9 deletions(-)
dif
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/glcpp/glcpp-parse.y| 3 ++
src/glsl/glsl_parser_extras.cpp | 63 +
src/glsl/glsl_parser_extras.h | 7 +
src/mesa/main/extensions.c | 1 +
src/mesa/main
From: Kristian Høgsberg
This is used to identify shader storage buffer interface blocks where
buffer variables are declared.
---
src/glsl/ast.h | 1 +
src/glsl/ast_to_hir.cpp | 14 ++
src/glsl/ast_type.cpp | 3 ++-
src/glsl/glsl_lexer.ll
From: Kristian Høgsberg
This will be used to identify buffer variables inside shader storage
buffer objects, which are very similar to uniforms except for a few
differences, most important of which is that they are writable.
Since buffer variables are so similar to uniforms, we will almost alway
---
src/glsl/link_uniform_block_active_visitor.cpp | 1 +
src/glsl/link_uniform_block_active_visitor.h | 1 +
src/glsl/link_uniform_blocks.cpp | 4
src/mesa/main/mtypes.h | 5 +
4 files changed, 11 insertions(+)
diff --git a/src/glsl/link_uniform_b
Link to v1:
http://lists.freedesktop.org/archives/mesa-dev/2015-May/084196.html
Changes in v2:
- Drop obsolete FS visitor support
- Add FS NIR implementation
- Use "is_shader_storage" flag names instead of "is_buffer" (Jordan)
- Modify lower_ubo_reference to merge emit_sso_writes and emit_ubo_load
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/main/context.c | 2 ++
src/mesa/main/mtypes.h | 3 +++
2 files changed, 5 insertions(+)
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 8577e43..5759045 100644
--- a/src/mesa/main/contex
SSBOs are read/write and this CSE pass only handles read-only variables.
---
src/glsl/opt_cse.cpp | 33 -
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/src/glsl/opt_cse.cpp b/src/glsl/opt_cse.cpp
index 4b8e9a0..a05ab46 100644
--- a/src/glsl/opt_cse.c
From: Samuel Iglesias Gonsalvez
See GLSL 4.30 spec, section 4.4.5 "Uniform and Shader Storage Block
Layout Qualifiers".
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/ast_to_hir.cpp | 29 -
src/glsl/glsl_parser.yy | 3 ++-
2 files changed, 26 insertions(+),
---
src/mesa/main/bufferobj.c | 11 +++
1 file changed, 11 insertions(+)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index a528787..0e762df 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -1264,6 +1264,17 @@ _mesa_DeleteBuffers(GLsizei n, c
---
src/mesa/main/bufferobj.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index fb5331e..4277880 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -3157,6 +3157,40 @@ bind_b
Since the backing storage for these is shared we cannot ensure that the
value won't change by writes from other threads.
---
src/glsl/opt_constant_propagation.cpp | 8
1 file changed, 8 insertions(+)
diff --git a/src/glsl/opt_constant_propagation.cpp
b/src/glsl/opt_constant_propagation.
From: Kristian Høgsberg
The same we do for UBO loads with ir_binop_ubo_load.
---
src/glsl/lower_ubo_reference.cpp | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp
index 4ea4ccb..4341c34 100644
--- a/src
Since these are a special kind of UBOs we emit them together reusing the
same infrastructure, however, we use a RAW surface so we can reuse
existing untyped read/write/atomic messages which include a pixel mask
header that we need to set to obtain correct behavior with helper
invocations of the fra
We have ir_rvalues for various fields within ir_ssbo_store, so we want
constant folding to know about them. Specifically, the offset of the
store operation can be computed as the addition of a constant offset
and a constant base offset, so we want that constant addition replaced
with its constant r
---
src/glsl/nir/glsl_to_nir.cpp | 4
src/glsl/nir/nir.h | 1 +
src/glsl/nir/nir_lower_atomics.c | 3 ++-
src/glsl/nir/nir_lower_io.c | 9 ++---
src/glsl/nir/nir_print.c | 5 +++--
src/glsl/nir/nir_validate.c | 6 --
6 files changed, 20 insertions(+
From: Samuel Iglesias Gonsalvez
They only can be defined in the last position of the shader
storage blocks.
When an unsized array is used in different shaders, it might be
converted in different sized arrays, avoid get a linker error
in that case.
Signed-off-by: Samuel Iglesias Gonsalvez
---
---
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index a2a75a4..13496a3 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visito
From: Samuel Iglesias Gonsalvez
Section 4.3.7 "Buffer Variables", GLSL 4.30 spec:
"Buffer variables may only be declared inside interface blocks
(section 4.3.9 “Interface Blocks”), which are then referred to as
shader storage blocks. It is a compile-time error to declare buffer
variables at glob
Shader storage buffer objects (SSBO) require special handling: when we
detect writes to any channel of a shader buffer variable we need to
emit the corresponding write to memory. We will later add a lowering pass
that detects these writes and injects ir_ssbo_store nodes in the IR so
drivers can ge
---
src/mesa/main/bufferobj.c | 110 ++
1 file changed, 110 insertions(+)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index c8b29a7..70ac638 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -3579,6 +3579,1
Buffer variables are the same as uniforms, only that read/write, so we want
the same treatment.
---
src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
b/src/mesa/drivers/dri/i965/brw_fs_ve
We use the same dirty state for SSBOs and UBOs because they share the
same infrastructure.
---
src/mesa/drivers/dri/i965/brw_state_upload.c | 1 +
src/mesa/drivers/dri/i965/intel_buffer_objects.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.
If we kill dead assignments we lose the buffer writes.
Also, we never kill UBO declarations even if they are never referenced
by the shader, they are always considered active. Although the spec
does not seem say this specifically for SSBOs, it is probably implied
since SSBOs are pretty much the sa
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/nir/glsl_to_nir.cpp | 10 ++
src/glsl/nir/nir_intrinsics.h | 9 +
2 files changed, 19 insertions(+)
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index f80481b..d2
Extend the existing lower_ubo_reference pass to also detect SSBO writes
and lower them to ir_ssbo_store nodes.
---
src/glsl/lower_ubo_reference.cpp | 421 ++-
1 file changed, 287 insertions(+), 134 deletions(-)
diff --git a/src/glsl/lower_ubo_reference.cpp b/sr
From: Samuel Iglesias Gonsalvez
Due to GL_ARB_shader_storage_buffer_object extension, shader storage blocks
have the same limitations as uniform blocks.
This patch fixes the corresponding error messages.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/ast_to_hir.cpp | 15 ---
---
src/mesa/main/bufferobj.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index c5d4ada..a528787 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -836,6 +836,9 @@ _mesa_init_buffer_objects(
---
src/mesa/drivers/dri/i965/brw_context.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c
b/src/mesa/drivers/dri/i965/brw_context.c
index 5d21747..dffb2d4 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context
Since the backing storage for these is shared we cannot ensure that the
value won't change by writes from other threads.
---
src/glsl/opt_copy_propagation.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/glsl/opt_copy_propagation.cpp
b/src/glsl/opt_copy_propagation.cpp
---
src/mesa/main/bufferobj.c | 142 ++
src/mesa/main/mtypes.h| 7 +++
2 files changed, 149 insertions(+)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 0e762df..c8b29a7 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/me
Since the backing storage for these is shared we cannot ensure that the
value won't change by writes from other threads.
---
src/glsl/opt_constant_variable.cpp | 7 +++
1 file changed, 7 insertions(+)
diff --git a/src/glsl/opt_constant_variable.cpp
b/src/glsl/opt_constant_variable.cpp
index
This includes the array of bindings, the current buffer bound to the
GL_SHADER_STORAGE_BUFFER target and a set of general limits and default
values for shader storage buffers.
---
src/mesa/main/bufferobj.c | 5 +
src/mesa/main/config.h| 2 ++
src/mesa/main/context.c | 6 ++
src/me
From: Samuel Iglesias Gonsalvez
Section 4.3.7 "Buffer Variables" of the GLSL 4.30 spec:
"Buffer variables cannot have initializers."
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/ast_to_hir.cpp | 9 +
1 file changed, 9 insertions(+)
diff --git a/src/glsl/ast_to_hir.cpp b/
---
src/glsl/nir/glsl_to_nir.cpp| 7 +--
src/glsl/nir/nir_intrinsics.h | 2 +-
src/glsl/nir/nir_lower_phis_to_scalar.c | 2 ++
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 647aa34..2fb4303
---
src/glsl/nir/glsl_to_nir.cpp | 58 +++
src/glsl/nir/nir_intrinsics.h | 12 +
2 files changed, 70 insertions(+)
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index dd6bee4..4b31a76 100644
--- a/src/glsl/nir/glsl_to_nir
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/main/tests/enum_strings.cpp | 15 +++
1 file changed, 15 insertions(+)
diff --git a/src/mesa/main/tests/enum_strings.cpp
b/src/mesa/main/tests/enum_strings.cpp
index dc5fe75..be11482 100644
--- a
---
src/glsl/nir/glsl_to_nir.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index 2fb4303..dd6bee4 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+++ b/src/glsl/nir/glsl_to_nir.cpp
@@ -932,7 +932,8 @@ nir_visitor::ad
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 74
1 file changed, 74 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index 186d77b..15c1500 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
+++ b
---
src/glsl/ast_to_hir.cpp | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index b26438c..19527b4 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -762,8 +762,15 @@ do_assignment(exec_list *instruct
From: Samuel Iglesias Gonsalvez
Defined in ARB_shader_storage_buffer_object extension.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/main/uniforms.c | 52
src/mesa/main/uniforms.h | 4
2 files changed, 56 insertions(+)
diff --git
These handle querying the buffer name attached to a giving binding point
as well as the start offset and size of that buffer.
---
src/mesa/main/get.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 8a6c81a..240f2f
From: Samuel Iglesias Gonsalvez
Otherwise, generate a link time error as per the
ARB_shader_storage_buffer_object spec.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/glsl_types.cpp | 9 +++--
src/glsl/link_uniform_blocks.cpp | 17 +
src/glsl/linker.cpp
We need our reads to provide well-defined results for all enabled
channels even for helper invocations, which means that we should not
use a pixel mask with them.
---
src/mesa/drivers/dri/i965/brw_eu_emit.c | 4 ++--
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 35 -
From: Samuel Iglesias Gonsalvez
Now std140 is not the only interface packing qualifier that can be used.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/ast.h | 10 +
src/glsl/ast_to_hir.cpp | 54 +
src/glsl/glsl_types.cpp
---
src/glsl/ast_to_hir.cpp | 25 +
src/glsl/glsl_types.h | 10 ++
2 files changed, 35 insertions(+)
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 77d8b9e..ab8eda7 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -5495,
Shader Storage Buffer Object will add new atomic functions that are not
associated with counters, so better have atomic counter-specific functions
explicitly include the word "counter" in their names.
---
src/glsl/builtin_functions.cpp | 30 +++---
1 file changed, 15 insert
---
src/glsl/nir/glsl_to_nir.cpp | 18 +-
src/glsl/nir/nir_intrinsics.h | 12 ++--
2 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp
index d2c474a..647aa34 100644
--- a/src/glsl/nir/glsl_to_nir.cpp
+
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/main/get.c | 1 +
src/mesa/main/get_hash_params.py | 12
2 files changed, 13 insertions(+)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index cd2bde9..6a52356 100644
--- a
From: Samuel Iglesias Gonsalvez
This commit also adds functions to calculate std430 base alignment and sizes
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/ast.h | 1 +
src/glsl/ast_to_hir.cpp | 20 +--
src/glsl/ast_type.cpp| 1 +
src/glsl
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/lower_ubo_reference.cpp | 64 +++-
1 file changed, 50 insertions(+), 14 deletions(-)
diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp
index
---
src/mesa/drivers/dri/i965/brw_fs.h | 1 +
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 82
2 files changed, 83 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h
b/src/mesa/drivers/dri/i965/brw_fs.h
index a02912f..b87fef0 100644
--- a/src/mesa
From: Samuel Iglesias Gonsalvez
Notice that Skylake needs to include a header in the sampler message
so it will need some tweaks to work there.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/lower_ubo_reference.cpp | 182 +++
src/mesa/drivers/dri/i965
From: Kristian Høgsberg
---
src/glsl/ast_to_hir.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index d6097ba..77d8b9e 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2764,7 +2764,7 @@ apply_ty
---
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 56 +-
1 file changed, 54 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index a2abc8f..dbdf0ac 100644
--- a/src/mesa/drivers/d
Otherwise we can lose writes into the buffers backing the variables.
---
src/glsl/opt_tree_grafting.cpp | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/glsl/opt_tree_grafting.cpp b/src/glsl/opt_tree_grafting.cpp
index d47613c..7f2ee6c 100644
--- a/src/glsl/opt_tree
The error location won't be right, but fixing that would require to check
for this as we process each type of AST node that can involve a variable
read.
---
src/glsl/ast_to_hir.cpp | 49 +
1 file changed, 49 insertions(+)
diff --git a/src/glsl/ast_t
From: Samuel Iglesias Gonsalvez
Notice that we should differentiate betweeb shader storage blocks and
uniform blocks, since they have different limits.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/linker.cpp | 43 +++
1 file changed, 39 insertio
This is the same we do for other things like uniforms because it ensures
optimal performance.
---
src/mesa/drivers/dri/i965/brw_context.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c
b/src/mesa/drivers/dri/i965/brw_context.c
index 274a237..5d21747 10
From: Samuel Iglesias Gonsalvez
Otherwise we can expect odd things to happen if, for example, we ask
for the size of the attached buffer from shader code, since that
might query this value from the surface we uploaded and get random
results.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mes
---
src/mesa/main/bufferobj.c | 56 +++
1 file changed, 56 insertions(+)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 70ac638..fb5331e 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -3092,6 +3092,37
---
src/glsl/builtin_functions.cpp | 185 +
1 file changed, 185 insertions(+)
diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp
index f220b86..63706b8 100644
--- a/src/glsl/builtin_functions.cpp
+++ b/src/glsl/builtin_functions.cp
From: Samuel Iglesias Gonsalvez
The returned drm buffer object has a size multiple of 4096 but that should not
be exposed to the API user, which is working with a different size.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 4 ++--
1 file chan
---
src/glsl/ast_function.cpp | 37 +
1 file changed, 37 insertions(+)
diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp
index 1e77124..b1f1bea 100644
--- a/src/glsl/ast_function.cpp
+++ b/src/glsl/ast_function.cpp
@@ -141,6 +141,31 @@ verify_i
From: Antia Puentes
Commmit 1ca25ab (glsl: Do not eliminate 'shared' or 'std140'
blocks or block members) considers active 'shared' and 'std140'
uniform blocks and uniform block arrays but did not include the
block array elements. It was possible to have an active uniform
block array without any
From: Kristian Høgsberg
We do the same with ubo load expressions.
---
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index db
From: Samuel Iglesias Gonsalvez
According to ARB_uniform_buffer_object spec:
"If the parameter (starting offset or size) was not specified when the
buffer object was bound (e.g. if bound with BindBufferBase), or if no
buffer object is bound to , zero is returned."
Signed-off-by: Samuel Iglesi
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 70
1 file changed, 70 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index 0cc6a4f..186d77b 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
+++ b
---
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 140 -
1 file changed, 138 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 95f6209..a2abc8f 100644
--- a/src/mesa/drivers/
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/link_uniforms.cpp | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index 715a8d5..b4b1181 100644
--- a/src/glsl/lin
---
docs/GL3.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/GL3.txt b/docs/GL3.txt
index f2d06f1..18d61d7 100644
--- a/docs/GL3.txt
+++ b/docs/GL3.txt
@@ -164,7 +164,7 @@ GL 4.3, GLSL 4.30:
GL_ARB_program_interface_query DONE (all drivers)
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/drivers/dri/i965/brw_defines.h| 1 +
src/mesa/drivers/dri/i965/brw_fs.cpp | 1 +
src/mesa/drivers/dri/i965/brw_fs.h | 3 ++
src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 47
From: Samuel Iglesias Gonsalvez
It also creates unop and triop expressions to tell the driver to
calculate the unsized array length.
It is needed two expressions to do the calculation:
* The unop expression saves the ir_rvalue* whose length should be
calculated.
* Afterwards, this unop is goi
The same we did for the fragment shader with commit 7452f18b.
---
src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 4
1 file changed, 4 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
index 7a4bbb4..e6c63ca 100
---
src/glsl/glsl_lexer.ll | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll
index 845deeb..82ad245 100644
--- a/src/glsl/glsl_lexer.ll
+++ b/src/glsl/glsl_lexer.ll
@@ -404,11 +404,11 @@ image2DShadow KEYWORD(13
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/drivers/dri/i965/intel_extensions.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c
b/src/mesa/drivers/dri/i965/intel_extensions.c
index cafb774..75ea75e 10064
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 51
1 file changed, 51 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index
---
src/mesa/drivers/dri/i965/brw_vec4.h | 1 +
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 103 +
2 files changed, 104 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h
b/src/mesa/drivers/dri/i965/brw_vec4.h
index 5a6c66f..5dbe4b5 100644
--
From: Samuel Iglesias Gonsalvez
Signed-off-by: Samuel Iglesias Gonsalvez
---
.../glapi/gen/ARB_shader_storage_buffer_object.xml | 36 ++
src/mapi/glapi/gen/GL4x.xml| 18 ++-
src/mapi/glapi/gen/Makefile.am | 1 +
src/mapi/g
From: Samuel Iglesias Gonsalvez
Including TOP_LEVEL_ARRAY_SIZE and TOP_LEVEL_ARRAY_STRIDE queries.
Signed-off-by: Samuel Iglesias Gonsalvez
---
src/glsl/ir_uniform.h| 5 +
src/glsl/link_uniforms.cpp | 16 ++-
src/glsl/linker.cpp | 10 +-
src/mesa/main/program
From: Samuel Iglesias Gonsalvez
When propagating std430 packing qualifier to the struct's members, new
glsl_types need to be created because the existing ones are const.
The new glsl_types are meant to replace the already defined one
taking into account that the field names cannot have different
Since memory qualifiers are also keywords we need to do the same
trick we use for other keywords that can be used as layout qualifiers
to handle alternate capitalizations in desktop GLSL, like row_major, etc.
---
src/glsl/ast_to_hir.cpp | 31
src/glsl/glsl_parser.yy | 75 +
On 06/02/2015 08:28 PM, Kenneth Graunke wrote:
> On Tuesday, June 02, 2015 03:23:35 PM Abdiel Janulgue wrote:
>>
>> On 06/02/2015 09:31 AM, Kenneth Graunke wrote:
>>> On Monday, June 01, 2015 03:14:30 PM Abdiel Janulgue wrote:
This is needed since kernel doesn't support RS context save and
>>
On Tuesday, June 02, 2015 11:41:56 PM Ben Widawsky wrote:
> On Tue, 02 Jun 2015 20:32:13 -0700
> Kenneth Graunke wrote:
>
> > On Tuesday, June 02, 2015 08:07:50 PM Ben Widawsky wrote:
> > > I'm very confused here. It seems pretty clear that since the
> > > command has been introduced with support
On Wed, Jun 03, 2015 at 10:05:25AM +0300, Abdiel Janulgue wrote:
>
> On 06/02/2015 08:28 PM, Kenneth Graunke wrote:
> > On Tuesday, June 02, 2015 03:23:35 PM Abdiel Janulgue wrote:
> >>
> >> On 06/02/2015 09:31 AM, Kenneth Graunke wrote:
> >>> On Monday, June 01, 2015 03:14:30 PM Abdiel Janulgue w
Hi Tom,
On 31 March 2015 at 15:29, Francisco Jerez wrote:
> Tom Stellard writes:
>
>> v2:
>> - Only call notification for build errors
>> - Fix clCompileProgram()
>>
>> Cc: 10.5 10.4
>> ---
>> src/gallium/state_trackers/clover/api/program.cpp | 16 ++--
>> 1 file changed, 14 in
Hi Tapani,
On 19 May 2015 at 13:01, Tapani Pälli wrote:
> Dynamic indexing of sampler arrays is prohibited by GLSL ES 3.00.
> Earlier versions allow 'constant-index-expression' indexing, where
> index can contain a loop induction variable.
>
> Patch allows dynamic indexing for sampler arrays when
Hello gents,
On 21 May 2015 at 14:03, Timothy Arceri wrote:
> On Thu, 2015-05-21 at 12:22 +0200, Alejandro Piñeiro wrote:
>>
>> On 20/05/15 23:39, Timothy Arceri wrote:
>> > On Thu, 2015-05-14 at 22:49 +0200, Alejandro Piñeiro wrote:
>> >> On 14/05/15 20:38, Ian Romanick wrote:
>> >>>
>> >>> I th
Looks perfect. Thanks!
Jose
On 03/06/15 00:35, srol...@vmware.com wrote:
From: Roland Scheidegger
Pretty trivial, fixes the issue that we're expected to be able to blit
stencil surfaces (as the blit just relies on util blitter code which needs
stencil export to do it).
2 piglits skip->pass, 1
Looks good to me. Thanks for fixing this. I guess I still have more to
learn about the ISA.
However, should we not also fix the vec4 version? With that,
Reviewed-by: Neil Roberts
If we wanted to play safe and avoid the MUL, we could change it to this
and still avoid having a temporary:
/
On 03/06/15 13:17, Emil Velikov wrote:
> Hello gents,
>
> On 21 May 2015 at 14:03, Timothy Arceri wrote:
>> On Thu, 2015-05-21 at 12:22 +0200, Alejandro Piñeiro wrote:
>>> On 20/05/15 23:39, Timothy Arceri wrote:
On Thu, 2015-05-14 at 22:49 +0200, Alejandro Piñeiro wrote:
> On 14/05/15
Emil Velikov writes:
> Hi Tom,
>
> On 31 March 2015 at 15:29, Francisco Jerez wrote:
>> Tom Stellard writes:
>>
>>> v2:
>>> - Only call notification for build errors
>>> - Fix clCompileProgram()
>>>
>>> Cc: 10.5 10.4
>>> ---
>>> src/gallium/state_trackers/clover/api/program.cpp | 16 +
Hi,
I think it is common to also add a small note in the release notes for
things like this?
--Thomas
On Jun 3, 2015 09:03, "Iago Toral Quiroga" wrote:
>
> ---
> docs/GL3.txt | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/docs/GL3.txt b/docs/GL3.txt
> index f2d06f1..1
Hello list,
The candidate for the Mesa 10.5.7 is now available. Currently we have:
- 24 queued
- 7 nominated (outstanding)
- and 2 rejected (obsolete) patches
The present queue consist of over a dozen nouveau fixes (mostly targeting
nv30/nv40 era hardware), i965 patches and a crash fix that co
On Wed, Jun 03, 2015 at 12:20:09AM -0700, Kenneth Graunke wrote:
> On Tuesday, June 02, 2015 11:41:56 PM Ben Widawsky wrote:
> > On Tue, 02 Jun 2015 20:32:13 -0700
> > Kenneth Graunke wrote:
> >
> > > On Tuesday, June 02, 2015 08:07:50 PM Ben Widawsky wrote:
> > > > I'm very confused here. It see
On Wed, Jun 03, 2015 at 01:09:50PM +0100, Neil Roberts wrote:
> Looks good to me. Thanks for fixing this. I guess I still have more to
> learn about the ISA.
>
> However, should we not also fix the vec4 version? With that,
>
> Reviewed-by: Neil Roberts
>
> If we wanted to play safe and avoid th
On Wed, Jun 03, 2015 at 12:45:12PM +0300, Ville Syrjälä wrote:
> On Wed, Jun 03, 2015 at 10:05:25AM +0300, Abdiel Janulgue wrote:
> >
> > On 06/02/2015 08:28 PM, Kenneth Graunke wrote:
> > > On Tuesday, June 02, 2015 03:23:35 PM Abdiel Janulgue wrote:
> > >>
> > >> On 06/02/2015 09:31 AM, Kenneth
On Wed, Jun 3, 2015 at 5:09 AM, Neil Roberts wrote:
> Looks good to me. Thanks for fixing this. I guess I still have more to
> learn about the ISA.
>
> However, should we not also fix the vec4 version? With that,
>
> Reviewed-by: Neil Roberts
Yes, I'll do that too. I started to... and then notic
The third release candidate for Mesa 10.6.0 is now available.
The release "hides" the ARB_direct_state_access extension from legacy
(Compatibility profile) GL contexts, plus addresses bugs in the i965 and
other dri modules.
Note: The final 10.6.0 release (planned for 5th of June) will be delayed
1 - 100 of 130 matches
Mail list logo