[Mesa-dev] [PATCH] i965/gen8: Fix antialiased line rendering with width < 1.5

2015-06-11 Thread Iago Toral Quiroga
The same fix Marius implemented for gen6 (commit a9b04d8a) and gen7 (commit 24ecf37a). --- src/mesa/drivers/dri/i965/gen8_sf_state.c | 22 -- 1 file changed, 20 insertions(+), 2 deletions(-) Ken, I don't have gen8 hardware available to test this so it would be nice if someone

[Mesa-dev] [PATCH v2] i965/gen8: Fix antialiased line rendering with width < 1.5

2015-06-11 Thread Iago Toral Quiroga
The same fix Marius implemented for gen6 (commit a9b04d8a) and gen7 (commit 24ecf37a). Also, we need the same code to handle special cases of line width in gen6, gen7 and now gen8, so put that in the helper function we use to compute the line width. --- src/mesa/drivers/dri/i965/brw_util.h |

[Mesa-dev] [PATCH] mesa: remove unnecessary checks in _mesa_readpixels_needs_slow_path

2015-06-23 Thread Iago Toral Quiroga
readpixels_can_use_memcpy will later call _mesa_format_matches_format_and_type which does much tighter checks than these to decide if we can use memcpy for readpixels. Also, the checks do not seem to be extensive enough anyway, since we are checking for signed/unsigned conversion only when the fra

[Mesa-dev] [PATCH] mesa/st: Add checks for signed/unsigned integer conversions in ReadPixels

2015-06-29 Thread Iago Toral Quiroga
These checks were in Mesa prior to commit fbba25bba, but they were not necessary for the purpose that Mesa intended (check if we could resolve ReadPixels via memcpy), so that commit took them away. Unfortunately, it seems that some Gallium drivers rely on these checks to make the decision of wheth

[Mesa-dev] [PATCH v3 (part1) 11/26] glsl: shader buffer variables cannot have initializers

2015-07-10 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Section 4.3.7 "Buffer Variables" of the GLSL 4.30 spec: "Buffer variables cannot have initializers." v2: - Rewrite error message (Jordan) Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen --- src/glsl/ast_to_hir.cpp | 9 + 1 file

[Mesa-dev] [PATCH v3 (part1) 02/26] glsl: Add ir_var_shader_storage

2015-07-10 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part1) 04/26] nir: add nir_var_shader_storage

2015-07-10 Thread Iago Toral Quiroga
Reviewed-by: Jordan Justen --- 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 fi

[Mesa-dev] [PATCH v3 (part1) 03/26] mesa: rename is_in_uniform_block to is_in_buffer_block

2015-07-10 Thread Iago Toral Quiroga
Since this now checks if a variable is inside a uniform or a shader storage block. Reviewed-by: Jordan Justen --- src/glsl/ast_to_hir.cpp| 2 +- src/glsl/ir.h | 5 +++-- src/glsl/link_uniform_block_active_visitor.cpp | 6 +++--- src/glsl/l

[Mesa-dev] [PATCH v3 (part1) 00/26] ARB_shader_storage_buffer_object (mesa)

2015-07-10 Thread Iago Toral Quiroga
ssing i965 backend implementation. With the full v3 series there are no regressions (except for the one we discussed with the v1 of this series that is actually a bogus UBO test for which we sent a fix to piglit). Iago Toral Quiroga (15): mesa: rename is_in_uniform_block to is_in_buffer_block

[Mesa-dev] [PATCH v3 (part1) 17/26] mesa: Implement _mesa_BindBuffersRange for target GL_SHADER_STORAGE_BUFFER

2015-07-10 Thread Iago Toral Quiroga
v2: - Fix error message (Jordan) Reviewed-by: Jordan Justen --- 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 27638ca..0a9ffe4 100644 --- a/src/mesa/main/

[Mesa-dev] [PATCH v3 (part1) 20/26] glsl: Don't do tree grafting on buffer variables

2015-07-10 Thread Iago Toral Quiroga
Otherwise we can lose writes into the buffers backing the variables. Reviewed-by: Jordan Justen --- 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 1

[Mesa-dev] [PATCH v3 (part1) 01/26] mesa: define ARB_shader_storage_buffer_object extension

2015-07-10 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen --- 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.

[Mesa-dev] [PATCH v3 (part1) 15/26] mesa: Implement _mesa_DeleteBuffers for target GL_SHADER_STORAGE_BUFFER

2015-07-10 Thread Iago Toral Quiroga
v2: - Remove the extra spaces (Jordan) Reviewed-by: Jordan Justen --- 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 2d70f7b..ee920a9 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main

[Mesa-dev] [PATCH v3 (part1) 13/26] glsl: fix error messages in invalid declarations of shader storage blocks

2015-07-10 Thread Iago Toral Quiroga
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 Reviewed-by: Jordan Justen --- src/glsl/ast_to_

[Mesa-dev] [PATCH v3 (part1) 08/26] mesa: Add shader storage buffer support to struct gl_context

2015-07-10 Thread Iago Toral Quiroga
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. v2: - Use spec values for the new defined constants (Jordan) Reviewed-by: Jordan Justen --- src/mesa/main/bufferobj.c |

[Mesa-dev] [PATCH v3 (part1) 14/26] mesa: Initialize and free shader storage buffers

2015-07-10 Thread Iago Toral Quiroga
v2: - Fix indention, used tabs instead of whitespaces. (Jordan) Reviewed-by: Jordan Justen --- 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..2d70f7b 100644 --- a/src/mesa/mai

[Mesa-dev] [PATCH v3 (part1) 10/26] glsl: enable binding layout qualifier usage for shader storage buffer objects

2015-07-10 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez See GLSL 4.30 spec, section 4.4.5 "Uniform and Shader Storage Block Layout Qualifiers". v2: - Add whitespace in an error message. Delete period '.' at the end of that error message (Jordan). Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen --

[Mesa-dev] [PATCH v3 (part1) 05/26] glsl: Implement parser support for 'buffer' qualifier

2015-07-10 Thread Iago Toral Quiroga
From: Kristian Høgsberg This is used to identify shader storage buffer interface blocks where buffer variables are declared. Reviewed-by: Jordan Justen --- src/glsl/ast.h | 1 + src/glsl/ast_to_hir.cpp | 14 ++ src/glsl/ast_type.cpp | 3 ++- src

[Mesa-dev] [PATCH v3 (part1) 12/26] glsl: buffer variables cannot be defined outside interface blocks

2015-07-10 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part1) 09/26] mesa: add MaxShaderStorageBlocks to struct gl_program_constants

2015-07-10 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez v2: - Set MaxShaderStorageBlocks to 8. Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen --- 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/mai

[Mesa-dev] [PATCH v3 (part1) 23/26] glsl: Don't do constant variable on buffer variables

2015-07-10 Thread Iago Toral Quiroga
Since the backing storage for these is shared we cannot ensure that the value won't change by writes from other threads. Normally SSBO accesses are not guaranteed to be syncronized with other threads, except when memoryBarrier is used. So, we might be able to optimize some SSBO accesses, but for no

[Mesa-dev] [PATCH v3 (part1) 24/26] glsl: Don't do copy propagation on buffer variables

2015-07-10 Thread Iago Toral Quiroga
Since the backing storage for these is shared we cannot ensure that the value won't change by writes from other threads. Normally SSBO accesses are not guaranteed to be syncronized with other threads, except when memoryBarrier is used. So, we might be able to optimize some SSBO accesses, but for no

[Mesa-dev] [PATCH v3 (part1) 07/26] glsl: Identify active uniform blocks that are buffer blocks as such.

2015-07-10 Thread Iago Toral Quiroga
Reviewed-by: Jordan Justen --- 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 --g

[Mesa-dev] [PATCH v3 (part1) 21/26] glsl: Do not kill dead assignments to buffer variables or SSBO declarations.

2015-07-10 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part1) 18/26] mesa: Implement _mesa_BindBufferBase for target GL_SHADER_STORAGE_BUFFER

2015-07-10 Thread Iago Toral Quiroga
Reviewed-by: Jordan Justen --- 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 0a9ffe4..c3548b5 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/buf

[Mesa-dev] [PATCH v3 (part1) 19/26] mesa: Implement _mesa_BindBufferRange for target GL_SHADER_STORAGE_BUFFER

2015-07-10 Thread Iago Toral Quiroga
Reviewed-by: Jordan Justen --- 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 c3548b5..4e25a72 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @

[Mesa-dev] [PATCH v3 (part1) 16/26] mesa: Implement _mesa_BindBuffersBase for target GL_SHADER_STORAGE_BUFFER

2015-07-10 Thread Iago Toral Quiroga
v2: - Add space before const (Jordan) Reviewed-by: Jordan Justen --- 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 e

[Mesa-dev] [PATCH v3 (part1) 06/26] glsl: link buffer variables and shader storage buffer interface blocks

2015-07-10 Thread Iago Toral Quiroga
From: Kristian Høgsberg Reviewed-by: Jordan Justen --- 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 insert

[Mesa-dev] [PATCH v3 (part1) 25/26] glsl: Lower shader storage buffer object writes to GLSL IR instrinsics

2015-07-10 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Extend the existing lower_ubo_reference pass to also detect SSBO writes and lower them to __intrinsic_store_ssbo intrinsics. Signed-off-by: Samuel Iglesias Gonsalvez --- src/glsl/lower_ubo_reference.cpp | 441 +++ 1 file chang

[Mesa-dev] [PATCH v3 (part1) 22/26] glsl: Don't do constant propagation on buffer variables

2015-07-10 Thread Iago Toral Quiroga
Since the backing storage for these is shared we cannot ensure that the value won't change by writes from other threads. Normally SSBO accesses are not guaranteed to be syncronized with other threads, except when memoryBarrier is used. So, we might be able to optimize some SSBO accesses, but for no

[Mesa-dev] [PATCH v3 (part1) 26/26] glsl: Lower shader storage buffer object loads to GLSL IR instrinsics

2015-07-10 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Extend the existing lower_ubo_reference pass to also detect SSBO loads and lower them to __intrinsic_load_ssbo intrinsics. Signed-off-by: Samuel Iglesias Gonsalvez --- src/glsl/lower_ubo_reference.cpp | 73 +++- 1 file changed

[Mesa-dev] [PATCH v3 (part2) 05/56] i965: Upload Shader Storage Buffer Object surfaces

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 47/56] glsl: Do not allow assignments to read-only variables

2015-07-14 Thread Iago Toral Quiroga
--- 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 ab62599..92391a0 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -762,8 +762,15 @@ do_assignment(exec_list *instruct

[Mesa-dev] [PATCH v3 (part2) 02/56] i965: Implement DriverFlags.NewShaderStorageBuffer

2015-07-14 Thread Iago Toral Quiroga
We use the same dirty state for SSBOs and UBOs because they share the same infrastructure. Reviewed-by: Jordan Justen --- 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/drive

[Mesa-dev] [PATCH v3 (part2) 44/56] glsl: Allow use of memory qualifiers with ARB_shader_storage_buffer_object.

2015-07-14 Thread Iago Toral Quiroga
--- 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

[Mesa-dev] [PATCH v3 (part2) 01/56] i965: Use 16-byte offset alignment for shader storage buffers

2015-07-14 Thread Iago Toral Quiroga
This is the same we do for other things like uniforms because it ensures optimal performance. Reviewed-by: Jordan Justen --- 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_contex

[Mesa-dev] [PATCH v3 (part2) 11/56] nir: add shader storage buffer's unsized array length calculation

2015-07-14 Thread Iago Toral Quiroga
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 66430f3..8b

[Mesa-dev] [PATCH v3 (part2) 16/56] i965/wm: surfaces should have the API buffer size, not the drm buffer size

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 14/56] i965/fs/nir: implement unsized array's length calculation

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 50 1 file changed, 50 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index

[Mesa-dev] [PATCH v3 (part2) 07/56] i965/fs: Do not split buffer variables

2015-07-14 Thread Iago Toral Quiroga
Buffer variables are the same as uniforms, only that read/write, so we want the same treatment. Reviewed-by: Jordan Justen --- 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/me

[Mesa-dev] [PATCH v3 (part2) 32/56] nir: ignore an instruction's dest if it hasn't any

2015-07-14 Thread Iago Toral Quiroga
--- 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 f5a664a..1d83a98 100644 --- a/src/glsl/nir/glsl_to_nir.cpp +++ b/src/glsl/nir/glsl_to_nir.cpp @@ -1011,7 +1011,8 @@ nir_visitor::

[Mesa-dev] [PATCH v3 (part2) 06/56] i965: handle visiting of ir_var_shader_storage variables

2015-07-14 Thread Iago Toral Quiroga
Reviewed-by: Jordan Justen --- 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 c7722c5..0c8b0bd 100644 --- a/src/mesa/driv

[Mesa-dev] [PATCH v3 (part2) 10/56] glsl: Lower unsized array's length calculation expression

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/glsl/lower_ubo_reference.cpp | 179 +++ 1 file changed, 179 insertions(+) diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp index 8b08107..9d0a796

[Mesa-dev] [PATCH v3 (part2) 00/56] ARB_shader_storage_buffer_object (mesa, i965)

2015-07-14 Thread Iago Toral Quiroga
tests have already been merged in piglit's master branch. Antia Puentes (1): glsl: Consider active all elements of a shared/std140 block array Iago Toral Quiroga (29): i965: Use 16-byte offset alignment for shader storage buffers i965: Implement DriverFlags.NewShaderStorageBuffer i965

[Mesa-dev] [PATCH v3 (part2) 13/56] i965/fs: Implement generator code for unsized array's length calculation

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 04/56] i965: set ARB_shader_storage_buffer_object related constant values

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_context.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 8a0ffbe..c4cc6f2 100644

[Mesa-dev] [PATCH v3 (part2) 31/56] i965/nir/fs: Implement SSBO reads

2015-07-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 62 1 file changed, 62 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index f3fcb4a..9bf41f7 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b

[Mesa-dev] [PATCH v3 (part2) 34/56] glsl: Rename atomic counter functions

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 28/56] i965/nir/fs: Implement SSBO writes

2015-07-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 71 1 file changed, 71 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index 5f2c4fa..f3fcb4a 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b

[Mesa-dev] [PATCH v3 (part2) 38/56] i965/nir/fs: Implement SSBO atomics

2015-07-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_fs.h | 2 + src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 77 2 files changed, 79 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index ea204d3..844f813 100644 --- a/src/mesa

[Mesa-dev] [PATCH v3 (part2) 41/56] mesa: add glShaderStorageBlockBinding()

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 30/56] nir: Implement __intrinsic_store_load

2015-07-14 Thread Iago Toral Quiroga
--- src/glsl/nir/glsl_to_nir.cpp| 67 - src/glsl/nir/nir_intrinsics.h | 2 +- src/glsl/nir/nir_lower_phis_to_scalar.c | 2 + 3 files changed, 69 insertions(+), 2 deletions(-) diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_n

[Mesa-dev] [PATCH v3 (part2) 21/56] glsl: a shader storage buffer must be smaller than the maximum size allowed

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 50/56] main/tests: add ARB_shader_storage_buffer_object tokens to enum_strings

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 20/56] glsl: add std430 interface packing support to ssbo store and unsized array length

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/glsl/lower_ubo_reference.cpp | 65 ++-- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/src/glsl/lower_ubo_reference.cpp b/src/glsl/lower_ubo_reference.cpp index

[Mesa-dev] [PATCH v3 (part2) 29/56] i965/vec4: Implement SSBO reads

2015-07-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_vec4.h | 1 + src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 76 ++ 2 files changed, 77 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 870946b..d5f5ef9 100644 ---

[Mesa-dev] [PATCH v3 (part2) 26/56] i965/vec4: Implement SSBO writes

2015-07-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_vec4.h | 2 + src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 157 + 2 files changed, 159 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 5f25a2c..870946b 100644 --

[Mesa-dev] [PATCH v3 (part2) 43/56] glsl: fix UNIFORM_BUFFER_START or UNIFORM_BUFFER_SIZE query when no buffer object is bound

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 39/56] i965/vec4: Implement lowered SSBO atomic intrinsics

2015-07-14 Thread Iago Toral Quiroga
The original GLSL IR intrinsics have been lowered to an internal version that accepts a block index and an offset instead of a SSBO reference. --- src/mesa/drivers/dri/i965/brw_vec4.h | 1 + src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 103 + 2 files changed

[Mesa-dev] [PATCH v3 (part2) 22/56] glsl: number of active shader storage blocks must be within allowed limits

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 08/56] glsl: add support for unsized arrays in shader storage blocks

2015-07-14 Thread Iago Toral Quiroga
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. v2: - Rework error condition and error messages

[Mesa-dev] [PATCH v3 (part2) 15/56] i965/wm: emit null buffer surfaces when null buffers are attached

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 33/56] glsl: atomic counters can be declared as buffer-qualified variables

2015-07-14 Thread Iago Toral Quiroga
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 a814b8a..f0c2e5b 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2764,7 +2764,7 @@ apply_ty

[Mesa-dev] [PATCH v3 (part2) 42/56] mesa: Add queries for GL_SHADER_STORAGE_BUFFER

2015-07-14 Thread Iago Toral Quiroga
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 3d6d639..1a29b2

[Mesa-dev] [PATCH v3 (part2) 18/56] glsl: propagate interface packing information to arrays of scalars, vectors.

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 17/56] glsl: Add parser/compiler support for std430 interface packing qualifier

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 19/56] glsl: propagate std430 packing qualifier to struct's members and array of structs

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 55/56] glsl: Consider active all elements of a shared/std140 block array

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 37/56] nir: Implement lowered SSBO atomic intrinsics

2015-07-14 Thread Iago Toral Quiroga
The original GLSL IR intrinsics have been lowered to an internal version that accepts a block index and an offset instead of a SSBO reference. --- src/glsl/nir/glsl_to_nir.cpp | 55 +++ src/glsl/nir/nir_intrinsics.h | 12 ++ 2 files changed, 67 inse

[Mesa-dev] [PATCH v3 (part2) 27/56] nir: Implement __intrinsic_store_ssbo

2015-07-14 Thread Iago Toral Quiroga
--- src/glsl/nir/glsl_to_nir.cpp | 36 src/glsl/nir/nir_intrinsics.h | 12 ++-- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/glsl/nir/glsl_to_nir.cpp b/src/glsl/nir/glsl_to_nir.cpp index 8b3a8ec..880b6c2 100644 --- a/src/glsl/nir

[Mesa-dev] [PATCH v3 (part2) 03/56] i965: Set MaxShaderStorageBuffers for compute shaders

2015-07-14 Thread Iago Toral Quiroga
Reviewed-by: Jordan Justen --- 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 d92d7c2..8a0ffbe 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/

[Mesa-dev] [PATCH v3 (part2) 23/56] glsl: ignore buffer variables when counting uniform components

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/glsl/link_uniforms.cpp | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp index 131e76c..eefe7dc 100644 --- a/src/glsl/link_

[Mesa-dev] [PATCH v3 (part2) 46/56] glsl: Allow memory layout qualifiers on shader storage buffer objects

2015-07-14 Thread Iago Toral Quiroga
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 +

[Mesa-dev] [PATCH v3 (part2) 52/56] mesa: Add getters for the GL_ARB_shader_storage_buffer_object max constants

2015-07-14 Thread Iago Toral Quiroga
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 4fc30e7..822bc17 100644 --- a

[Mesa-dev] [PATCH v3 (part2) 53/56] i965: Enable ARB_shader_storage_buffer_object extension for gen7+

2015-07-14 Thread Iago Toral Quiroga
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 6b3bd12..e3b1406 10064

[Mesa-dev] [PATCH v3 (part2) 48/56] glsl: Do not allow reads from write-only variables

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 40/56] glsl: First argument to atomic functions must be a buffer variable

2015-07-14 Thread Iago Toral Quiroga
--- 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 92e26bf..be6aba6 100644 --- a/src/glsl/ast_function.cpp +++ b/src/glsl/ast_function.cpp @@ -141,6 +141,31 @@ verify_i

[Mesa-dev] [PATCH v3 (part2) 25/56] i965/fs: Do not include the header with a pixel mask in untyped read messages

2015-07-14 Thread Iago Toral Quiroga
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 -

[Mesa-dev] [PATCH v3 (part2) 51/56] glapi: add ARB_shader_storage_block_buffer_object

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez v2: - Add ShaderStorageBlockBinding to static_data.py Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Jordan Justen --- .../glapi/gen/ARB_shader_storage_buffer_object.xml | 36 ++ src/mapi/glapi/gen/GL4x.xml| 18

[Mesa-dev] [PATCH v3 (part2) 12/56] i965/vec4: Implement unsized array's length calculation

2015-07-14 Thread Iago Toral Quiroga
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/mesa/drivers/dri/i965/brw_defines.h | 3 ++ src/mesa/drivers/dri/i965/brw_shader.cpp

[Mesa-dev] [PATCH v3 (part2) 36/56] glsl: lower SSBO atomic intrinsics

2015-07-14 Thread Iago Toral Quiroga
The first argument to SSBO atomics is a reference to a SSBO buffer variable so we want to compute its block index and offset and provide these values to an internal version of the intrinsic that takes them instead of the buffer variable reference. --- src/glsl/lower_ubo_reference.cpp | 141 +++

[Mesa-dev] [PATCH v3 (part2) 35/56] glsl: Add atomic functions from ARB_shader_storage_buffer_object

2015-07-14 Thread Iago Toral Quiroga
--- 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 4ba6d6f..c8ecefe 100644 --- a/src/glsl/builtin_functions.cpp +++ b/src/glsl/builtin_functions.cp

[Mesa-dev] [PATCH v3 (part2) 54/56] docs: Mark ARB_shader_storage_buffer_object as done for i965.

2015-07-14 Thread Iago Toral Quiroga
--- docs/GL3.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index 33a282e..6427616 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)

[Mesa-dev] [PATCH v3 (part2) 49/56] main: Add SHADER_STORAGE_BLOCK and BUFFER_VARIABLE support for ARB_program_interface_query

2015-07-14 Thread Iago Toral Quiroga
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 | 17 ++- src/glsl/linker.cpp | 10 +- src/mesa/main/program

[Mesa-dev] [PATCH v3 (part2) 45/56] glsl: Apply memory qualifiers to buffer variables

2015-07-14 Thread Iago Toral Quiroga
--- 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 f0c2e5b..92bf414 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -5587,

[Mesa-dev] [PATCH v3 (part2) 24/56] glsl: shader storage blocks use different max block size values than uniforms

2015-07-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/glsl/linker.cpp | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index e932b8d..330ef56 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/link

[Mesa-dev] [PATCH v3 (part2) 09/56] glsl: Add parser/compiler support for unsized array's length()

2015-07-14 Thread Iago Toral Quiroga
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

[Mesa-dev] [PATCH v3 (part2) 56/56] i965/vec4: Skip dependency control for opcodes emitting multiple instructions

2015-07-14 Thread Iago Toral Quiroga
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 443bf48..8876e02 100

[Mesa-dev] [PATCH] i965/vec4: Fix liveness analysis with BRW_OPCODE_SEL

2015-07-20 Thread Iago Toral Quiroga
We only consider a vgrf defined by a given block if the block writes to it unconditionally. So far we have been checking this by testing that the instruction is not predicated, however, in the case of BRW_OPCODE_SEL, the predication is used to select the value to write, not to decide if the write i

[Mesa-dev] [PATCH 0/4] i965: skip control-flow aware liveness analysis if we only have 1 block

2015-10-13 Thread Iago Toral Quiroga
und these. Iago Toral Quiroga (4): i965/fs: Fix indentation in fs_live_variables::compute_start_end i965/fs: skip control-flow aware liveness analysis if we only have 1 block i965/vec4: fix indentation in vec4_visitor::calculate_live_intervals i965/vec4: skip control-flow aware liveness ana

[Mesa-dev] [PATCH 4/4] i965/vec4: skip control-flow aware liveness analysis if we only have 1 block

2015-10-13 Thread Iago Toral Quiroga
Otherwise, what this is going to do is mark every variable alive in the single block we have, and thus, alive since its definition until the program ends, which is really bad in situations where register pressure is high. Of course, this does not address the real problem: that our liveness analysi

[Mesa-dev] [PATCH 3/4] i965/vec4: fix indentation in vec4_visitor::calculate_live_intervals

2015-10-13 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp index cc688ef..6782379 100644 --- a/src/mesa

[Mesa-dev] [PATCH 1/4] i965/fs: Fix indentation in fs_live_variables::compute_start_end

2015-10-13 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp b/src/mesa/drivers/dri/i965/brw_fs_live_variables.cpp index 19aec92..ce066a9 100644 --- a/src/mesa/driv

[Mesa-dev] [PATCH 2/4] i965/fs: skip control-flow aware liveness analysis if we only have 1 block

2015-10-13 Thread Iago Toral Quiroga
Otherwise, what this is going to do is mark every variable alive in the single block we have, and thus, alive since its definition until the program ends, which is really bad in situations where register pressure is high. Of course, this does not address the real problem: that our liveness analysi

[Mesa-dev] [PATCH 1/3] nir: Get the number of SSBOs and UBOs right

2015-10-15 Thread Iago Toral Quiroga
Before d31f98a272e429d and 56e2bdbca36a20 we had a sigle index space for UBOs and SSBOs, so NumBufferInterfaceBlocks would contain the combined number of blocks, not just one kind. This means that for shader programs using both UBOs and SSBOs, we were setting num_ssbos and num_ubos to a larger numb

[Mesa-dev] [PATCH 2/3] i965/fs: use the right number of UBOs

2015-10-15 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index 05f3f63..7afcd5b 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/

[Mesa-dev] [PATCH 3/3] i965/vec4: Use the right number of UBOs

2015-10-15 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp index 0025f36..ea1e3e7 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp +++ b/src/mesa/

[Mesa-dev] [PATCH 1/5] main: Use NumUniformBlocks to count UBOs

2015-10-16 Thread Iago Toral Quiroga
Now that we have separate index spaces for UBOs and SSBOs we do not need to iterate through BufferInterfaceBlocks any more, we can just take the UBO count directly from NumUniformBlocks. --- src/mesa/main/shaderapi.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/mesa

[Mesa-dev] [PATCH 2/5] main: GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH is about UBOS, not SSBOs

2015-10-16 Thread Iago Toral Quiroga
--- src/mesa/main/shaderapi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 26995ad..18e463d 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -713,10 +713,10 @@ get_programiv(struct gl_co

[Mesa-dev] [PATCH 5/5] glsl_to_tgsi: Use {Num}UniformBlocks instead of {Num}BufferInterfaceBlocks

2015-10-16 Thread Iago Toral Quiroga
The latter holds both UBOs and SSBOs, but here we only want UBOs. --- src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 06f510d..f481e89 1

  1   2   3   4   5   6   7   8   9   10   >