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
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_
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 +-
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).
(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
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
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
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
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
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
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
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...@
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
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
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
---
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
---
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
+++
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
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
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
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,
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
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
---
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
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 +
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 +++-
---
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
---
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
---
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
---
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
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
---
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
---
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
+++
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
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
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
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
---
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
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 +-
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
---
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
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.
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
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
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
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
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
---
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
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
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
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
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
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
+*/
+ 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 ||
+
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
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
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 ++--
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
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
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
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
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
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
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
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 +
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
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 +-
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
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
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
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
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
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
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
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/
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
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 +
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
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
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
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
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
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
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 +
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
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/
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
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
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
---
---
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,
---
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 = ' %'):
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)
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
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
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 ||
+
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
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
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
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
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 - 100 of 4139 matches
Mail list logo