Re: [Mesa-dev] [PATCH] gallivm: disable f16c when not using AVX

2015-10-24 Thread Nicolai Hähnle
128bit vectors... Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/gallium/auxiliary/gallivm/lp_bld_init.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c index 017d075..e6eede8 1006

Re: [Mesa-dev] [PATCH 1/3] radeonsi: simplify DCC handling in si_initialize_color_surface

2015-10-24 Thread Nicolai Hähnle
With the remark on patch 2 (radeonsi: properly check if DCC is enabled and allocated), the series is Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 24.10.2015 17:49, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/drivers/radeonsi/si_

Re: [Mesa-dev] [PATCH 2/3] radeonsi: properly check if DCC is enabled and allocated

2015-10-24 Thread Nicolai Hähnle
On 24.10.2015 17:49, Marek Olšák wrote: From: Marek Olšák --- src/gallium/drivers/radeon/r600_texture.c | 2 +- src/gallium/drivers/radeonsi/cik_sdma.c | 2 +- src/gallium/drivers/radeonsi/si_blit.c| 6 +++--- src/gallium/drivers/radeonsi/si_dma.c | 2 +-

[Mesa-dev] [PATCH] mesa: clamp MaxLevel for immutable textures at initialization

2015-10-22 Thread Nicolai Hähnle
The same clamping already happens for glTexParameteri. This change also fixes a bug in mipmap generation, see https://bugs.freedesktop.org/show_bug.cgi?id=91993 piglit test cases have been submitted for review (as additions to arb_texture_storage-texture-storage and arb_texture_view-max-level).

[Mesa-dev] [PATCH] st/mesa: fix mipmap generation for immutable textures with incomplete pyramids

2015-10-22 Thread Nicolai Hähnle
(This is an alternative to my previous patch, "mesa: clamp MaxLevel for immutable textures at initialization"; this patch has no opinion about how the spec should be interpreted.) Without the clamping by NumLevels, the state tracker would reallocate the texture storage (incorrect) and even fail

Re: [Mesa-dev] [PATCH 21/40] pipe-loader: wire up the 'static' drm pipe-loader

2015-10-22 Thread Nicolai Hähnle
On 18.10.2015 00:57, Emil Velikov wrote: Add a list of driver descriptors and select one from the list, during probe time. As we'll need to have all the driver pipe_foo_screen_create() functions provided externally (i.e. from another static lib) we need a separate (non-inline) drm_helper, which

Re: [Mesa-dev] [PATCH] r600: Fix special negative immediate constants when using ABS modifier.

2015-10-26 Thread Nicolai Hähnle
Hi Ivan, On 25.10.2015 02:00, Ivan Kalvachev wrote: Some constants (like 1.0 and 0.5) could be inlined as immediate inputs without using their literal value. The r600_bytecode_special_constants() function emulates the negative of these constants by using NEG modifier. However some shaders

Re: [Mesa-dev] [PATCH 3/3] st/mesa: implement ARB_copy_image

2015-10-27 Thread Nicolai Hähnle
On 25.10.2015 18:25, Marek Olšák wrote: +/** + * Handle complex format conversions using 2 blits with a temporary texture + * in between, e.g. blitting from B10G10R10A2 to G16R16. + * + * This example is implemented this way: + * 1) First, blit from B10G10R10A2 to R10G10B10A2, which is

[Mesa-dev] [PATCH v2] st/mesa: fix mipmap generation for immutable textures with incomplete pyramids

2015-10-28 Thread Nicolai Hähnle
Without the clamping by NumLevels, the state tracker would reallocate the texture storage (incorrect) and even fail to copy the base level image after reallocation, leading to the graphical glitch of https://bugs.freedesktop.org/show_bug.cgi?id=91993 . A piglit test has been submitted for review

Re: [Mesa-dev] [PATCH v2] st/mesa: fix mipmap generation for immutable textures with incomplete pyramids

2015-10-29 Thread Nicolai Hähnle
On 29.10.2015 14:13, Marek Olšák wrote: On Wed, Oct 28, 2015 at 1:00 PM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: Without the clamping by NumLevels, the state tracker would reallocate the texture storage (incorrect) and even fail to copy the base level image after reallocation, l

[Mesa-dev] Patchwork/mesa-stable question (was: Re: [PATCH v3] r600g: Fix special negative immediate constants when using ABS modifier.)

2015-10-29 Thread Nicolai Hähnle
On 29.10.2015 10:24, Ivan Kalvachev wrote: [snip] On 10/29/15, Nicolai Hähnle <nhaeh...@gmail.com> wrote: On 29.10.2015 01:52, Ivan Kalvachev wrote: On 10/26/15, Nicolai Hähnle <nhaeh...@gmail.com> wrote: On 25.10.2015 02:00, Ivan Kalvachev wrote: Some constants (like 1.0 an

Re: [Mesa-dev] [PATCH v3] r600g: Fix special negative immediate constants when using ABS modifier.

2015-10-29 Thread Nicolai Hähnle
On 29.10.2015 01:52, Ivan Kalvachev wrote: -- Forwarded message -- From: Ivan Kalvachev <ikalvac...@gmail.com> Date: Wed, 28 Oct 2015 23:46:44 +0200 Subject: [PATCH v3] r600g: Fix special negative immediate constants when using ABS modifier. To: Nicolai Hähnle <nhaeh...@

Re: [Mesa-dev] [PATCH] winsys/amdgpu: remove the dcc_enable surface flag

2015-10-26 Thread Nicolai Hähnle
winsys/amdgpu/drm/amdgpu_surface.c | 13 ++--- 3 files changed, 7 insertions(+), 10 deletions(-) Agreed, this is an even better solution. Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r6

Re: [Mesa-dev] [PATCH] mesa: clamp MaxLevel for immutable textures at initialization

2015-10-22 Thread Nicolai Hähnle
On 22.10.2015 15:57, Fredrik Höglund wrote: On Thursday 22 October 2015, Nicolai Hähnle wrote: The same clamping already happens for glTexParameteri. This change also fixes a bug in mipmap generation, see https://bugs.freedesktop.org/show_bug.cgi?id=91993 I don't think this patch is correct

Re: [Mesa-dev] [PATCH 21/40] pipe-loader: wire up the 'static' drm pipe-loader

2015-10-22 Thread Nicolai Hähnle
On 22.10.2015 17:32, Emil Velikov wrote: On 22 October 2015 at 15:07, Nicolai Hähnle <nhaeh...@gmail.com> wrote: On 18.10.2015 00:57, Emil Velikov wrote: Add a list of driver descriptors and select one from the list, during probe time. As we'll need to have all the

[Mesa-dev] [PATCH 9/9] st/mesa: add support for batch driver queries to perfmon

2015-11-13 Thread Nicolai Hähnle
--- src/mesa/state_tracker/st_cb_perfmon.c | 75 ++ src/mesa/state_tracker/st_cb_perfmon.h | 6 +++ 2 files changed, 74 insertions(+), 7 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_perfmon.c b/src/mesa/state_tracker/st_cb_perfmon.c index

[Mesa-dev] [PATCH 2/9] gallium/hud: remove unused field in query_info

2015-11-13 Thread Nicolai Hähnle
--- src/gallium/auxiliary/hud/hud_driver_query.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gallium/auxiliary/hud/hud_driver_query.c b/src/gallium/auxiliary/hud/hud_driver_query.c index f14305e..3198ab3 100644 --- a/src/gallium/auxiliary/hud/hud_driver_query.c +++

[Mesa-dev] [PATCH 1/9] gallium: remove pipe_driver_query_group_info field type

2015-11-13 Thread Nicolai Hähnle
This was only used to implement an unnecessarily restrictive interpretation of the spec of AMD_performance_monitor. The spec says A performance monitor consists of a number of hardware and software counters that can be sampled by the GPU and reported back to the application. I guess one

[Mesa-dev] [PATCH 10/10] radeon: count cs dwords separately for query begin and end

2015-11-13 Thread Nicolai Hähnle
This will be important for perfcounter queries. --- src/gallium/drivers/radeon/r600_query.c | 33 +++-- src/gallium/drivers/radeon/r600_query.h | 3 ++- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_query.c

[Mesa-dev] [PATCH 08/10] radeon: implement r600_query_hw_get_result via function pointers

2015-11-13 Thread Nicolai Hähnle
We will need the clear_result override for the batch query implementation. --- src/gallium/drivers/radeon/r600_query.c | 189 +++- src/gallium/drivers/radeon/r600_query.h | 4 + 2 files changed, 94 insertions(+), 99 deletions(-) diff --git

[Mesa-dev] [PATCH 00/10] radeon: cleanup and refactor the query implementation

2015-11-13 Thread Nicolai Hähnle
Hi, in preparation for performance counters, this series makes the implementation of queries pluggable, and separates query buffer handling from CS emit and result collection for hardware queries. Aside from two PIPE_QUERY_GPU_FINISHED-related fixes (using context flush, picked up from Marek,

[Mesa-dev] [PATCH 05/10] radeon: convert software queries to the new style

2015-11-13 Thread Nicolai Hähnle
Software queries are all queries that do not require suspend/resume and explicit handling of result buffers. Note that this fixes a fence leak with PIPE_QUERY_GPU_FINISHED, and it contains Marek's fix to GPU_FINISHED's end_query() handling. --- src/gallium/drivers/radeon/r600_query.c | 366

[Mesa-dev] [PATCH 04/10] radeon: add query handler function pointers

2015-11-13 Thread Nicolai Hähnle
The goal here is to be able to move the implementation details of hardware- specific queries (in particular, performance counters) out of the common code. --- src/gallium/drivers/radeon/r600_query.c | 73 + src/gallium/drivers/radeon/r600_query.h | 16 2

[Mesa-dev] [PATCH 01/10] radeon: move get_driver_query_info to r600_query.c

2015-11-13 Thread Nicolai Hähnle
--- src/gallium/drivers/radeon/r600_pipe_common.c | 46 + src/gallium/drivers/radeon/r600_pipe_common.h | 1 + src/gallium/drivers/radeon/r600_query.c | 49 +++ 3 files changed, 51 insertions(+), 45 deletions(-) diff --git

[Mesa-dev] [PATCH 06/10] radeon: convert hardware queries to the new style

2015-11-13 Thread Nicolai Hähnle
Move r600_query and r600_query_hw into the header because we will want to reuse the buffer handling and suspend/resume logic outside of the common radeon code. --- src/gallium/drivers/radeon/r600_query.c | 281 +++- src/gallium/drivers/radeon/r600_query.h | 39 +

[Mesa-dev] [PATCH 07/10] radeon: split hw query buffer handling from cs emit

2015-11-13 Thread Nicolai Hähnle
The idea here is that driver queries implemented outside of common code will use the same query buffer handling with different logic for starting and stopping the corresponding counters. --- src/gallium/drivers/radeon/r600_query.c | 198 +++-

[Mesa-dev] [PATCH 09/10] radeon: expose r600_query_hw functions for reuse

2015-11-13 Thread Nicolai Hähnle
--- src/gallium/drivers/radeon/r600_query.c | 30 +- src/gallium/drivers/radeon/r600_query.h | 10 ++ 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c index

[Mesa-dev] [PATCH 02/10] radeon: cleanup driver query list

2015-11-13 Thread Nicolai Hähnle
--- src/gallium/drivers/radeon/r600_query.c | 84 + 1 file changed, 55 insertions(+), 29 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c index 8aa8774..60381b2 100644 ---

[Mesa-dev] [PATCH 03/10] radeon: move R600_QUERY_* constants into a new query header file

2015-11-13 Thread Nicolai Hähnle
HETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Authors: + * Nicolai Hähnle <nicolai.haeh...@amd.com> + * + */ + +#ifndef R600_QUERY_H +#def

[Mesa-dev] [PATCH 8/9] gallium/hud: add support for batch queries

2015-11-13 Thread Nicolai Hähnle
--- src/gallium/auxiliary/hud/hud_context.c | 24 ++- src/gallium/auxiliary/hud/hud_driver_query.c | 248 +++ src/gallium/auxiliary/hud/hud_private.h | 13 +- 3 files changed, 240 insertions(+), 45 deletions(-) diff --git

[Mesa-dev] [PATCH 6/9] st/mesa: maintain active perfmon counters in an array

2015-11-13 Thread Nicolai Hähnle
It is easy enough to pre-determine the required size, and arrays are generally better behaved especially when they get large. --- src/mesa/state_tracker/st_cb_perfmon.c | 78 -- src/mesa/state_tracker/st_cb_perfmon.h | 18 2 files changed, 55

[Mesa-dev] [PATCH 3/9] st/mesa: map semantic driver query types to underlying type

2015-11-13 Thread Nicolai Hähnle
--- src/gallium/include/pipe/p_defines.h | 2 ++ src/mesa/state_tracker/st_cb_perfmon.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 7f241c8..7ed9f6d 100644 --- a/src/gallium/include/pipe/p_defines.h

[Mesa-dev] [PATCH 5/9] st/mesa: use BITSET_FOREACH_SET to loop through active perfmon counters

2015-11-13 Thread Nicolai Hähnle
--- src/mesa/state_tracker/st_cb_perfmon.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_perfmon.c b/src/mesa/state_tracker/st_cb_perfmon.c index 80ff170..ec12eb2 100644 --- a/src/mesa/state_tracker/st_cb_perfmon.c +++

[Mesa-dev] [PATCH 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Nicolai Hähnle
Hi, the main point of this patch series is to introduce batch query objects. For AMD_performance_monitor, hardware may not be able to start and stop performance counters independently of each other. The current query interface does not fit such hardware well. With this series, drivers can mark

[Mesa-dev] [PATCH 4/9] st/mesa: store mapping from perfmon counter to query type

2015-11-13 Thread Nicolai Hähnle
Previously, when a performance monitor was initialized, an inner loop through all driver queries with string comparisons for each enabled performance monitor counter was used. This hurts when a driver exposes lots of queries. --- src/mesa/state_tracker/st_cb_perfmon.c | 74

[Mesa-dev] [PATCH 7/9] gallium: add the concept of batch queries

2015-11-13 Thread Nicolai Hähnle
Some drivers (in particular radeon[si], but also freedreno judging from a quick grep) may want to expose performance counters that cannot be individually enabled or disabled. Allow such drivers to mark driver-specific queries as requiring a new type of batch query object that is used to start and

[Mesa-dev] [PATCH v2 4/9] st/mesa: store mapping from perfmon counter to query type

2015-11-13 Thread Nicolai Hähnle
Previously, when a performance monitor was initialized, an inner loop through all driver queries with string comparisons for each enabled performance monitor counter was used. This hurts when a driver exposes lots of queries. Reviewed-by: Samuel Pitoiset ---

[Mesa-dev] [PATCH v2 7/9] gallium: add the concept of batch queries

2015-11-13 Thread Nicolai Hähnle
Some drivers (in particular radeon[si], but also freedreno judging from a quick grep) may want to expose performance counters that cannot be individually enabled or disabled. Allow such drivers to mark driver-specific queries as requiring a new type of batch query object that is used to start and

[Mesa-dev] [PATCH v2 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Nicolai Hähnle
Hi, I have updated patches 6 - 9. Samuel, thank you for your input and I hope you find your points to be resolved satisfactorily ;) Cheers, Nicolai --- nha@deadlights:~/amd/mesa$ git diff master | diffstat gallium/auxiliary/hud/hud_context.c | 24 +-

[Mesa-dev] [PATCH v2 5/9] st/mesa: use BITSET_FOREACH_SET to loop through active perfmon counters

2015-11-13 Thread Nicolai Hähnle
Reviewed-by: Samuel Pitoiset --- src/mesa/state_tracker/st_cb_perfmon.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_perfmon.c b/src/mesa/state_tracker/st_cb_perfmon.c index 80ff170..ec12eb2 100644 ---

Re: [Mesa-dev] [PATCH 0/9] gallium: batch query objects and related cleanups

2015-11-13 Thread Nicolai Hähnle
exposes GL_AMD_performance_monitor? In case you didn't, I'll test it myself in the next few days. You might not have the hardware. :-) Sorry, I don't have the hardware. Thanks, Nicolai Thanks. On 11/13/2015 04:57 PM, Nicolai Hähnle wrote: Hi, the main point of this patch series is to introduce

Re: [Mesa-dev] [PATCH 1/9] gallium: remove pipe_driver_query_group_info field type

2015-11-13 Thread Nicolai Hähnle
On 13.11.2015 19:27, Ilia Mirkin wrote: On Fri, Nov 13, 2015 at 1:23 PM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: So really, this is a question for everybody who cares about nouveau, because nouveau is the only driver that (if a #define is enabled) advertises a CPU driver_query_group.

[Mesa-dev] [PATCH v2 3/9] st/mesa: map semantic driver query types to underlying type

2015-11-13 Thread Nicolai Hähnle
Reviewed-by: Samuel Pitoiset --- src/gallium/include/pipe/p_defines.h | 2 ++ src/mesa/state_tracker/st_cb_perfmon.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index

[Mesa-dev] [PATCH v2 1/9] gallium: remove pipe_driver_query_group_info field type

2015-11-13 Thread Nicolai Hähnle
This was only used to implement an unnecessarily restrictive interpretation of the spec of AMD_performance_monitor. The spec says A performance monitor consists of a number of hardware and software counters that can be sampled by the GPU and reported back to the application. I guess one

[Mesa-dev] [PATCH v2 9/9] st/mesa: add support for batch driver queries to perfmon

2015-11-13 Thread Nicolai Hähnle
v2: forgot a null-pointer check (spotted by Samuel Pitoiset) --- src/mesa/state_tracker/st_cb_perfmon.c | 78 +++--- src/mesa/state_tracker/st_cb_perfmon.h | 6 +++ 2 files changed, 77 insertions(+), 7 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_perfmon.c

[Mesa-dev] [PATCH v2 8/9] gallium/hud: add support for batch queries

2015-11-13 Thread Nicolai Hähnle
v2: be more defensive about allocations --- src/gallium/auxiliary/hud/hud_context.c | 24 ++- src/gallium/auxiliary/hud/hud_driver_query.c | 265 +++ src/gallium/auxiliary/hud/hud_private.h | 13 +- 3 files changed, 256 insertions(+), 46 deletions(-) diff

[Mesa-dev] [PATCH v2 2/9] gallium/hud: remove unused field in query_info

2015-11-13 Thread Nicolai Hähnle
Reviewed-by: Samuel Pitoiset --- src/gallium/auxiliary/hud/hud_driver_query.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gallium/auxiliary/hud/hud_driver_query.c b/src/gallium/auxiliary/hud/hud_driver_query.c index f14305e..3198ab3 100644 ---

[Mesa-dev] [PATCH v2 6/9] st/mesa: maintain active perfmon counters in an array

2015-11-13 Thread Nicolai Hähnle
It is easy enough to pre-determine the required size, and arrays are generally better behaved especially when they get large. v2: make sure init_perf_monitor returns true when no counters are active (spotted by Samuel Pitoiset) --- src/mesa/state_tracker/st_cb_perfmon.c | 81

Re: [Mesa-dev] [PATCH] r600g: Support TGSI_SEMANTIC_HELPER_INVOCATION

2015-11-13 Thread Nicolai Hähnle
On 13.11.2015 00:14, Glenn Kennard wrote: Signed-off-by: Glenn Kennard --- Maybe there is a better way to check if a thread is a helper invocation? Is ctx->face_gpr guaranteed to be initialized when load_helper_invocation is called? Aside, I'm not sure I understand

Re: [Mesa-dev] [PATCH 1/9] gallium: remove pipe_driver_query_group_info field type

2015-11-13 Thread Nicolai Hähnle
On 13.11.2015 18:35, Samuel Pitoiset wrote: On 11/13/2015 04:57 PM, Nicolai Hähnle wrote: This was only used to implement an unnecessarily restrictive interpretation of the spec of AMD_performance_monitor. The spec says A performance monitor consists of a number of hardware and software

Re: [Mesa-dev] [PATCH 3/9] st/mesa: map semantic driver query types to underlying type

2015-11-13 Thread Nicolai Hähnle
On 13.11.2015 18:34, Samuel Pitoiset wrote: On 11/13/2015 04:57 PM, Nicolai Hähnle wrote: --- src/gallium/include/pipe/p_defines.h | 2 ++ src/mesa/state_tracker/st_cb_perfmon.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium

[Mesa-dev] [PATCH] st/mesa: maintain active perfmon counters in an array (v2)

2015-11-13 Thread Nicolai Hähnle
It is easy enough to pre-determine the required size, and arrays are generally better behaved especially when they get large. v2: make sure init_perf_monitor returns true when no counters are active (spotted by Samuel Pitoiset) --- Thanks Samuel, good catch! I did test with piglit and the tests

Re: [Mesa-dev] [PATCH] r600g: Support TGSI_SEMANTIC_HELPER_INVOCATION

2015-11-16 Thread Nicolai Hähnle
Hi Glenn, On 14.11.2015 00:11, Glenn Kennard wrote: On Fri, 13 Nov 2015 18:57:28 +0100, Nicolai Hähnle <nhaeh...@gmail.com> wrote: On 13.11.2015 00:14, Glenn Kennard wrote: Signed-off-by: Glenn Kennard <glenn.kenn...@gmail.com> --- Maybe there is a better way to check if a thread

Re: [Mesa-dev] [PATCH 5/5] radeonsi: calculate optimal GS ring sizes to fix GS hangs on Tonga

2015-11-09 Thread Nicolai Hähnle
+*/ + bool update_esgs = esgs_ring_size && + (!sctx->esgs_ring || + sctx->esgs_ring->width0 < esgs_ring_size); + bool update_gsvs = gsvs_ring_size && + (!sctx->gsvs_ring || +

Re: [Mesa-dev] [PATCH 6/7] gallium/radeon: remove predicate_drawing flag

2015-11-09 Thread Nicolai Hähnle
On 08.11.2015 22:48, Marek Olšák wrote: From: Marek Olšák --- src/gallium/drivers/r600/r600_hw_context.c| 2 +- src/gallium/drivers/r600/r600_state_common.c | 2 +- src/gallium/drivers/radeon/r600_pipe_common.h | 1 - src/gallium/drivers/radeon/r600_query.c

Re: [Mesa-dev] [PATCH 6/6] radeonsi: add glClearBufferSubData acceleration

2015-11-09 Thread Nicolai Hähnle
dwords are done in software. With this, the whole series is Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/gallium/drivers/radeonsi/si_blit.c | 60 ++ 1 file changed, 60 insertions(+) diff --git a/src/gallium/drivers/radeonsi/si_blit.c b

Re: [Mesa-dev] [PATCH 7/7] gallium/radeon: inline the r600_rings structure

2015-11-09 Thread Nicolai Hähnle
The series is Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 08.11.2015 22:45, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/drivers/r600/evergreen_compute.c| 14 ++--- src/gallium/drivers/r600/evergreen_hw_context.c | 10 ++--

Re: [Mesa-dev] [PATCH 4/7] gallium/radeon: simplify restoring render condition after flush

2015-11-09 Thread Nicolai Hähnle
On 09.11.2015 10:43, Nicolai Hähnle wrote: On 08.11.2015 22:48, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/drivers/radeon/r600_pipe_common.c | 22 +- src/gallium/drivers/radeon/r600_pipe_common.h | 4 2 files changed, 5 inse

Re: [Mesa-dev] [PATCH 4/7] gallium/radeon: simplify restoring render condition after flush

2015-11-09 Thread Nicolai Hähnle
On 08.11.2015 22:48, Marek Olšák wrote: From: Marek Olšák --- src/gallium/drivers/radeon/r600_pipe_common.c | 22 +- src/gallium/drivers/radeon/r600_pipe_common.h | 4 2 files changed, 5 insertions(+), 21 deletions(-) diff --git

Re: [Mesa-dev] [PATCH 7/7] gallium/radeon: shorten render_cond variable names

2015-11-09 Thread Nicolai Hähnle
The series is Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 08.11.2015 22:48, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> and ..._cond -> ..._invert --- src/gallium/drivers/r600/r600_hw_context.c| 2 +- src/gallium/drivers/r600/r600_state

Re: [Mesa-dev] [PATCH] radeonsi: add basic glClearBufferSubData acceleration

2015-11-05 Thread Nicolai Hähnle
On 04.11.2015 00:47, Marek Olšák wrote: From: Marek Olšák --- src/gallium/drivers/radeonsi/si_blit.c | 55 ++ 1 file changed, 55 insertions(+) diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c

Re: [Mesa-dev] [PATCH] u_vbuf: fix vb slot assignment for translated buffers

2015-10-12 Thread Nicolai Hähnle
catch. Please add this to the commit message: Cc: mesa-sta...@lists.freedesktop.org It will be automatically picked for 11.0 after you push it. Marek On Sun, Oct 4, 2015 at 12:09 PM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: Vertex attributes of different categories (constant/per-instance/ per-v

[Mesa-dev] [PATCH] radeon: ensure that timing/profiling queries are suspended on flush

2015-11-18 Thread Nicolai Hähnle
The queries_suspended_for_flush flag is redundant because suspended queries are not removed from their respective linked list. --- src/gallium/drivers/radeon/r600_pipe_common.c | 13 ++--- src/gallium/drivers/radeon/r600_pipe_common.h | 2 -- 2 files changed, 6 insertions(+), 9

Re: [Mesa-dev] [PATCH 1/2] util: move brw_env_var_as_boolean() to util

2015-11-19 Thread Nicolai Hähnle
Hi Rob, On 18.11.2015 23:20, Rob Clark wrote: From: Rob Clark Kind of a handy function. And I'll what it available outside of i965 for common nir-pass helpers. Signed-off-by: Rob Clark --- src/mesa/drivers/dri/i965/brw_context.c | 5

[Mesa-dev] [PATCH] u_vbuf: fix vb slot assignment for translated buffers

2015-10-04 Thread Nicolai Hähnle
Vertex attributes of different categories (constant/per-instance/ per-vertex) go into different buffers for translation, and this is now properly reflected in the vertex buffers passed to the driver. Fixes e.g. piglit's point-vertex-id divisor test. --- src/gallium/auxiliary/util/u_vbuf.c | 1 +

Re: [Mesa-dev] [PATCH 01/10] gallium/pb_cache: add a copy of cache bufmgr independent of pb_manager

2015-12-08 Thread Nicolai Hähnle
On 06.12.2015 19:00, Marek Olšák wrote: From: Marek Olšák This simplified (basically duplicated) version of pb_cache_manager will allow removing some ugly hacks from radeon and amdgpu winsyses and flatten simplify their design. The difference is that winsyses must

Re: [Mesa-dev] [PATCH 09/10] winsys/radeon: use pb_cache instead of pb_cache_manager

2015-12-08 Thread Nicolai Hähnle
On 06.12.2015 19:01, Marek Olšák wrote: From: Marek Olšák This is a prerequisite for the removal of radeon_winsys_cs_handle. --- src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 212 +++--- src/gallium/winsys/radeon/drm/radeon_drm_bo.h | 14 +-

Re: [Mesa-dev] [PATCH 00/10] Rework of pb_cache_manager for removal of radeon_winsys_cs_handle

2015-12-08 Thread Nicolai Hähnle
cal remark about #3 & #9 (those two patches are also a bit awkward because they combine several seemingly unrelated changes, though I don't mind *that* much). Modulo the comments mentioned above, the series is Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> Cheers, Nicolai Pl

[Mesa-dev] [PATCH] radeonsi: last_gfx_fence is a winsys fence

2015-12-07 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> Cc: "11.1" <mesa-sta...@lists.freedesktop.org> --- src/gallium/drivers/radeonsi/si_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/rad

[Mesa-dev] [PATCH 1/2] gallium/ddebug: add GALLIUM_DDEBUG_SKIP option

2015-12-09 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> When we know that hangs occur only very late in a reproducible run (e.g. apitrace), we can save a lot of debugging time by skipping the flush and hang detection for earlier draw calls. --- src/gallium/drivers/ddebug/dd_draw.c

[Mesa-dev] [PATCH 2/2] gallium/ddebug: regularly log the total number of draw calls

2015-12-09 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This helps in the use of GALLIUM_DDEBUG_SKIP: first run a target application with skip set to a very large number and note how many draw calls happen before the bug. Then re-run, skipping the corresponding number of calls. Despite the addition

Re: [Mesa-dev] gallium r300 driver for PowerPC

2015-12-14 Thread Nicolai Hähnle
On 14.12.2015 04:10, Eero Tamminen wrote: On 12/14/2015 10:44 AM, Herminio Hernandez, Jr. wrote: I am new to this list. I have been trying to see if I can fix or at least pin point an issue with Radeon r300 driver failing on PowerPC systems. This has been a problem for a while and I would like

[Mesa-dev] [PATCH 1/3] mesa/main: use BITSET_FOREACH_SET in perf_monitor_result_size

2015-12-14 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This should make the code both faster and slightly clearer. --- src/mesa/main/performance_monitor.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/mesa/main/performance_monitor.c b/src/mesa/main/performance_mon

[Mesa-dev] [PATCH 3/3] radeonsi: fix perfcounter selection for SI_PC_MULTI_BLOCK layouts

2015-12-14 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> The incorrectly computed register count caused lockups. --- src/gallium/drivers/radeonsi/si_perfcounter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_perfcounter.c b/src/gallium/d

[Mesa-dev] [PATCH 2/3] gallium/radeon: remove unnecessary test in r600_pc_query_add_result

2015-12-14 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This test is a left-over of the initial development. It is unneeded and misleading, so let's get rid of it. --- src/gallium/drivers/radeon/r600_perfcounter.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/gallium/drivers/

[Mesa-dev] [PATCH 2/2] radeonsi: add RADEON_REPLACE_SHADERS debug option

2015-12-17 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This option allows replacing a single shader by a pre-compiled ELF object as generated by LLVM's llc, for example. This can be useful for debugging a deterministically occuring error in shaders (and has in fact helped find the causes of

[Mesa-dev] [PATCH 1/2] radeonsi: count compilations in si_compile_llvm

2015-12-17 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This changes the count slightly (because of si_generate_gs_copy_shader), but this is only relevant for the driver-specific num-compilations query. It sets the stage for the next commit. --- src/gallium/drivers/radeonsi/si_shader.c| 2 +

[Mesa-dev] [PATCH] gallium/radeon: only dispose locally created target machine in radeon_llvm_compile

2015-12-17 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> Unify the cleanup paths of the function rather than duplicating code. --- src/gallium/drivers/radeon/radeon_llvm_emit.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.c

Re: [Mesa-dev] [OT] some contribution statistics

2015-12-15 Thread Nicolai Hähnle
On 15.12.2015 16:22, Kenneth Graunke wrote: On Tuesday, December 15, 2015 02:23:07 PM Giuseppe Bilotta wrote: The only problem with these numbers is actually the lack of a .mailmap to normalize contributor name/emails, which obviously skews the results a little bit towards the lower end. I

[Mesa-dev] [PATCH] st/mesa: make KHR_debug output independent of context creation flags

2016-01-04 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> Instead, keep track of GL_DEBUG_OUTPUT and (un)install the pipe_debug_callback accordingly. Hardware drivers can still use the absence of the callback to skip more expensive operations in the normal case, and users can no longer be sur

[Mesa-dev] [PATCH v2] st/mesa: make KHR_debug output independent of context creation flags (v2)

2016-01-04 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> Instead, keep track of GL_DEBUG_OUTPUT and (un)install the pipe_debug_callback accordingly. Hardware drivers can still use the absence of the callback to skip more expensive operations in the normal case, and users can no longer be sur

[Mesa-dev] [PATCH 5/6] gallium/radeon: send LLVM diagnostics as debug messages

2015-12-30 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> Diagnostics sent during code generation and the every error message reported by LLVMTargetMachineEmitToMemoryBuffer are disjoint reporting mechanisms. We take care of both and also send an explicit message indicating failure at the end, so th

[Mesa-dev] [PATCH 6/6] gallium/radeon: cleanup dump parameters to radeon_llvm_compile

2015-12-30 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> Now that the functions gets a context pointer, it can determine IR and ASM dumping by itself. The dump parameter is still required because we cannot easily tell the shader type at this point (one might argue that the separate enable

[Mesa-dev] [PATCH 4/6] gallium/radeon: pass r600_common_context into radeon_llvm_compile

2015-12-30 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This will allow us to send shader debug info via the context's debug callback. --- src/gallium/drivers/r600/evergreen_compute.c | 2 +- src/gallium/drivers/r600/r600_llvm.c | 3 ++- src/gallium/drivers/r600/r600_llvm.h | 2 +

[Mesa-dev] [PATCH 3/6] radeonsi: send shader info as debug messages in addition to stderr output

2015-12-30 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> The output via stderr is very helpful for ad-hoc debugging tasks, so that remains unchanged, but having the information available via debug messages as well will allow the use of parallel shader-db runs. Shader stats are always pr

[Mesa-dev] [PATCH 1/6] gallium/radeon: implement set_debug_callback

2015-12-30 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/gallium/drivers/radeon/r600_pipe_common.c | 12 src/gallium/drivers/radeon/r600_pipe_common.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/

[Mesa-dev] [shader-db PATCH 2/5] si-report.py: speed up and adjust to debug message reporting, allowing multi-threaded runs

2015-12-30 Thread Nicolai Hähnle
Benefit from recent changes to Mesa master which allows correct reporting in multi-threaded runs, and generally more robust reporting when comparing different runs, e.g. that differ in the set of tests that were run. Parsing also becomes much faster because we (a) do not recompile regexes in the

Re: [Mesa-dev] [PATCH] gallium/r600: Replace ALIGN_DIVUP with DIV_ROUND_UP

2015-12-30 Thread Nicolai Hähnle
On 30.12.2015 13:44, Krzysztof A. Sobiecki wrote: Nicolai Hähnle <nhaeh...@gmail.com> writes: On 30.12.2015 08:42, Krzysztof A. Sobiecki wrote: Nicolai Hähnle <nhaeh...@gmail.com> writes: On 29.12.2015 14:27, Krzysztof A. Sobiecki wrote: From: Krzysztof Sobiecki <s

[Mesa-dev] [shader-db PATCH 3/5] si-report.py: report LLVM compile errors

2015-12-30 Thread Nicolai Hähnle
No need to report details of those errors, but complain when errors are encountered so they aren't ignored. --- si-report.py | 38 +- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/si-report.py b/si-report.py index e4aea40..9df2012 100755 ---

[Mesa-dev] [shader-db PATCH 4/5] si-report.py: reduce code duplication in the definition of metrics

2015-12-30 Thread Nicolai Hähnle
--- si-report.py | 90 +--- 1 file changed, 32 insertions(+), 58 deletions(-) diff --git a/si-report.py b/si-report.py index 9df2012..bb6ea6d 100755 --- a/si-report.py +++ b/si-report.py @@ -43,34 +43,6 @@ def get_value_str(value, prefix,

[Mesa-dev] [shader-db PATCH 5/5] si-report.py: report the tests causing max increase/decrease

2015-12-30 Thread Nicolai Hähnle
--- si-report.py | 51 +-- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/si-report.py b/si-report.py index bb6ea6d..3156639 100755 --- a/si-report.py +++ b/si-report.py @@ -37,12 +37,6 @@ def get_str(value, suffix = ' %'):

[Mesa-dev] [shader-db PATCH 1/5] run: create debug contexts

2015-12-30 Thread Nicolai Hähnle
For Gallium-based drivers, this is required for receiving shader information via debug messages. --- run.c | 1 + 1 file changed, 1 insertion(+) diff --git a/run.c b/run.c index 82d8c91..685f830 100644 --- a/run.c +++ b/run.c @@ -435,6 +435,7 @@ main(int argc, char **argv)

Re: [Mesa-dev] [PATCH 5/9] gallium/radeon: always add +DumpCode to the LLVM target machine for LLVM <= 3.5

2016-01-02 Thread Nicolai Hähnle
What's the reason for always having +DumpCode? Generating the assembly is some overhead that's usually unnecessary. Even if it's a small part of the profiles I've seen, it still seems like a natural thing to just skip. From what I can tell it should be dependent on any of the shader dumping

Re: [Mesa-dev] [PATCH 0/9] RadeonSI: Some shaders cleanups

2016-01-02 Thread Nicolai Hähnle
This looks much better now :) For the series: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 01.01.2016 09:13, Marek Olšák wrote: Hi, These are shader cleanups mostly around si_compile_llvm. You may wonder why the "move si_shader_binary_upload out of xxx" patches

Re: [Mesa-dev] [PATCH 3/3] tgsi/scan: set which color components are read by a fragment shader

2016-01-06 Thread Nicolai Hähnle
x]; Move index down into the TGSI_SEMANTIC_COLOR branch? Either way, Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> + + if (name == TGSI_SEMANTIC_POSITION && + (src->Register.SwizzleX == TGSI_SWIZZLE_Z || +

Re: [Mesa-dev] [PATCH 2/3] tgsi/scan: fix tgsi_shader_info::reads_z

2016-01-06 Thread Nicolai Hähnle
Patches 1 & 2 are Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 05.01.2016 20:46, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> This has no users in Mesa. --- src/gallium/auxiliary/tgsi/tgsi_scan.c | 5 +++-- 1 file changed, 3 insertions(+), 2 de

Re: [Mesa-dev] [PATCH 05/23] radeonsi: simplify setting the DONE bit for PS exports

2016-01-06 Thread Nicolai Hähnle
Patches 1-5 are Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 06.01.2016 07:41, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> First find out what the last export is and simply set the DONE bit there. --- src/gallium/drivers/radeonsi/si_shader.c

[Mesa-dev] [PATCH 1/5] mesa/bufferobj: make _mesa_delete_buffer_object externally accessible

2016-01-05 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> gl_buffer_object has grown more complicated and requires cleanup. Using this function from drivers will be more future-proof. --- src/mesa/main/bufferobj.c | 2 +- src/mesa/main/bufferobj.h | 4 2 files changed, 5 insertions(+), 1 de

[Mesa-dev] [PATCH 5/5] i965: use _mesa_delete_buffer_object

2016-01-05 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This is more future-proof, plugs the memory leak of Label and properly destroys the buffer mutex. --- src/mesa/drivers/dri/i965/intel_buffer_objects.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dr

[Mesa-dev] [PATCH 4/5] i915: use _mesa_delete_buffer_object

2016-01-05 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> This is more future-proof, plugs the memory leak of Label and properly destroys the buffer mutex. --- src/mesa/drivers/dri/i915/intel_buffer_objects.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dr

  1   2   3   4   5   6   7   8   9   10   >