[Mesa-dev] [PATCH 2/2] amd/common/vi+: enable SMEM loads with GLC=1

2019-01-10 Thread Nicolai Hähnle
From: Nicolai Hähnle Only on LLVM 8.0+, which supports the new intrinsic. --- src/amd/common/ac_llvm_build.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 4d7f15901e3..6aa96ee86d4 100644

[Mesa-dev] [PATCH 1/2] amd/common: use llvm.amdgcn.s.buffer.load for LLVM 8.0

2019-01-10 Thread Nicolai Hähnle
From: Nicolai Hähnle llvm.SI.load.const is deprecated. --- src/amd/common/ac_llvm_build.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 76047148a6a..4d7f15901e3 100644 --- a/src/amd/common

Re: [Mesa-dev] [PATCH] winsys/amdgpu: Pull in LLVM CFLAGS

2018-12-19 Thread Nicolai Hähnle
On 19.12.18 16:05, Michel Dänzer wrote: From: Michel Dänzer Fixes build failure if the LLVM headers aren't in a standard include directory. Huh, interesting that I didn't run into this. Anyway: Reviewed-by: Nicolai Hähnle Fixes: ec22dd34c88f "radeonsi: move SI_FORCE_F

Re: [Mesa-dev] last call for autotools

2018-12-18 Thread Nicolai Hähnle
On 17.12.18 23:46, Dylan Baker wrote: Quoting Marek Olšák (2018-12-17 12:25:29) On Mon, Dec 17, 2018 at 1:18 PM Eric Anholt wrote: Eero Tamminen writes: > Hi, > > On 17.12.2018 8.08, Marek Olšák wrote: > [...] >> I think one of the serious usability issues is

[Mesa-dev] [PATCH] amd/surface: fix setting of ADDR2_SURFACE_FLAGS::color

2018-12-18 Thread Nicolai Hähnle
From: Nicolai Hähnle In the gfx9 addrlib, this bit has been clarified as meaning that the surface can be used as a color buffer (render target). Setting this for compressed surfaces triggers a workaround that is only required for surfaces that can be render targets, and ends up breaking the 16

Re: [Mesa-dev] [PATCH v2] docs: Document GitLab merge request process (email alternative)

2018-12-06 Thread Nicolai Hähnle
On 06.12.18 00:32, Jordan Justen wrote: This documents a process for using GitLab Merge Requests as an second way to submit code changes for Mesa. Only one of the two methods is allowed for each patch series. We will *not* require all patches to be emailed. Some code changes may be reviewed and

[Mesa-dev] [PATCH 22/25] radeonsi: move query suspend logic into the top-level si_query struct

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_perfcounter.c | 13 ++-- src/gallium/drivers/radeonsi/si_query.c | 75 ++- src/gallium/drivers/radeonsi/si_query.h | 18 +++-- 3 files changed, 62 insertions(+), 44 deletions(-) diff --git a/src/gallium

[Mesa-dev] [PATCH 24/25] radeonsi: split perfcounter queries from si_query_hw

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Remove a level of indirection to make the code more explicit -- should make it easier to follow what's going on. --- src/gallium/drivers/radeonsi/si_perfcounter.c | 143 -- 1 file changed, 93 insertions(+), 50 deletions(-) diff --git a/src/gallium/drivers

[Mesa-dev] [PATCH 20/25] radeonsi: track constant buffer bind history in si_pipe_set_constant_buffer

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Other callers of si_set_constant_buffer don't need it. --- src/gallium/drivers/radeonsi/si_descriptors.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c

[Mesa-dev] [PATCH 21/25] radeonsi: move remaining perfcounter code into si_perfcounter.c

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeon/r600_perfcounter.c | 639 src/gallium/drivers/radeonsi/Makefile.sources | 1 - src/gallium/drivers/radeonsi/meson.build | 1 - src/gallium/drivers/radeonsi/si_perfcounter.c | 688 -- src/gallium

[Mesa-dev] [PATCH 17/25] radeonsi: avoid using hard-coded SI_NUM_RW_BUFFERS

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_debug.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/radeonsi/si_debug.c index 22019741d80..fe2970a0ea3 100644 --- a/src/gallium/drivers/radeonsi

[Mesa-dev] [PATCH 23/25] radeonsi: factor si_query_buffer logic out of si_query_hw

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle This is a move towards using composition instead of inheritance for different query types. This change weakens out-of-memory error reporting somewhat, though this should be acceptable since we didn't consistently report such errors in the first place. --- src/gallium

[Mesa-dev] [PATCH 25/25] radeonsi: const-ify the si_query_ops

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_perfcounter.c | 2 +- src/gallium/drivers/radeonsi/si_query.c | 6 +++--- src/gallium/drivers/radeonsi/si_query.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/radeonsi

[Mesa-dev] [PATCH 19/25] radeonsi: use si_set_rw_shader_buffer for setting streamout buffers

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Reduce the number of places that encode buffer descriptors. --- .../drivers/radeonsi/si_state_streamout.c | 61 --- 1 file changed, 11 insertions(+), 50 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_state_streamout.c b/src/gallium/drivers

[Mesa-dev] [PATCH 18/25] radeonsi: add an si_set_rw_shader_buffer convenience function

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_descriptors.c | 107 ++ src/gallium/drivers/radeonsi/si_state.h | 2 + 2 files changed, 64 insertions(+), 45 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi

[Mesa-dev] [PATCH 16/25] radeonsi: show the fixed function TCS in debug dumps

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle This is rather important for merged VS/TCS as LSHS shaders... --- src/gallium/drivers/radeonsi/si_debug.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/radeonsi/si_debug.c index

[Mesa-dev] [PATCH 09/25] radeonsi: move SI_FORCE_FAMILY functionality to winsys

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle This helps some debugging cases by initializing addrlib with slightly more appropriate settings. --- src/gallium/drivers/radeonsi/si_pipe.c| 34 -- src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 36 +++ 2 files changed, 36 insertions

[Mesa-dev] [PATCH 08/25] ac/surface: 3D and cube surfaces are never displayable

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/amd/common/ac_surface.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index d8d927ee1c5..aeba5e161c9 100644 --- a/src/amd/common/ac_surface.c +++ b/src/amd/common/ac_surface.c

[Mesa-dev] [PATCH 10/25] radeonsi: extract declare_vs_blit_inputs

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Prepare for some later refactoring. --- src/gallium/drivers/radeonsi/si_shader.c | 43 ++-- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index

[Mesa-dev] [PATCH 06/25] amd/common: scan/reduce across waves of a workgroup

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Order-aware scan/reduce can trade-off LDS traffic for external atomics memory traffic in producer/consumer compute shaders. --- src/amd/common/ac_llvm_build.c | 195 - src/amd/common/ac_llvm_build.h | 36 ++ 2 files changed, 227

[Mesa-dev] [PATCH 13/25] radeonsi: don't set RAW_WAIT for CP DMA clears

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle There is never a read-after-write hazard because the command doesn't read. --- src/gallium/drivers/radeonsi/si_cp_dma.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_cp_dma.c b/src/gallium/drivers/radeonsi/si_cp_dma.c

[Mesa-dev] [PATCH 15/25] radeonsi: const-ify si_set_tesseval_regs

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_state_shaders.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c index ad7d21e7816..0d4e1956037 100644 --- a/src

[Mesa-dev] [PATCH 14/25] radeonsi: rename SI_RESOURCE_FLAG_FORCE_TILING to clarify its purpose

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_blit.c| 2 +- src/gallium/drivers/radeonsi/si_pipe.h| 2 +- src/gallium/drivers/radeonsi/si_texture.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium

[Mesa-dev] [PATCH 02/25] amd/sid_tables: add additional python3 compatibility imports

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle This happened to bite me while doing some experiments. --- src/amd/common/sid_tables.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/common/sid_tables.py b/src/amd/common/sid_tables.py index 7b5e626e3e1..f12bed4b209 100644 --- a/src/amd/common

[Mesa-dev] [PATCH 07/25] amd/common: add i1 special case to ac_build_{inclusive, exclusive}_scan

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Allow for a unified but efficient treatment of adding a bitmask over a wave or an entire threadgroup. --- src/amd/common/ac_llvm_build.c | 27 +-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd

[Mesa-dev] [PATCH 00/25] amd/common, radeonsi: misc cleanups, refactorings, etc.

2018-12-06 Thread Nicolai Hähnle
this is a grab bag of random patches that I've been accumulating, without any real unifying theme. The main highlights are: - finally move the perfcounter code into the radeonsi directory - unify some RW buffer handling - new helpers for cross-wave scans and reductions Please review! Thanks,

[Mesa-dev] [PATCH 03/25] amd/common: cleanup DATA_FORMAT/NUM_FORMAT field names

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle The definition wasn't actually changed in gfx9, so having the suffix makes no sense. --- src/amd/common/ac_nir_to_llvm.c | 2 +- src/amd/common/gfx9d.h| 12 ++-- src/amd/common/sid.h | 12

[Mesa-dev] [PATCH 12/25] radeonsi/gfx9: use SET_UCONFIG_REG_INDEX packets when available

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/amd/common/ac_debug.c| 2 ++ src/amd/common/sid.h | 1 + src/gallium/drivers/radeonsi/si_build_pm4.h | 8 +++- src/gallium/drivers/radeonsi/si_state_draw.c | 12 4 files changed, 18 insertions(+), 5

[Mesa-dev] [PATCH 04/25] amd/common: whitespace fixes

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/amd/common/ac_llvm_build.c | 18 -- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index abc18da13db..fba90205a2e 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src

[Mesa-dev] [PATCH 11/25] radeonsi: add si_init_draw_functions and make some functions static

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/radeonsi/si_pipe.c | 4 +-- src/gallium/drivers/radeonsi/si_state.c | 2 -- src/gallium/drivers/radeonsi/si_state.h | 10 +-- src/gallium/drivers/radeonsi/si_state_draw.c | 28 +--- 4 files changed, 22 insertions

[Mesa-dev] [PATCH 05/25] amd/common: add ac_build_ifcc

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/amd/common/ac_llvm_build.c | 7 +++ src/amd/common/ac_llvm_build.h | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index fba90205a2e..68c8bad9e83 100644 --- a/src/amd/common

[Mesa-dev] [PATCH 01/25] r600: remove redundant semicolon

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/drivers/r600/sb/sb_ir.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sb/sb_ir.h b/src/gallium/drivers/r600/sb/sb_ir.h index c7a94fcb930..ef0fbd4e68f 100644 --- a/src/gallium/drivers/r600/sb/sb_ir.h +++ b/src

[Mesa-dev] [PATCH] meson: link LLVM 'native' component when LLVM is available

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle Linking against LLVM built with BUILD_SHARED_LIBS fails otherwise, as the component is required for the draw module. --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 1aeef95f722..0177716c476 100644

[Mesa-dev] [PATCH 2/2] ddebug: always flush when requested, even when hang detection is disabled

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/gallium/auxiliary/driver_ddebug/dd_draw.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gallium/auxiliary/driver_ddebug/dd_draw.c b/src/gallium/auxiliary/driver_ddebug/dd_draw.c index a930299ebb7..f5b94356119 100644 --- a/src/gallium/auxiliary

[Mesa-dev] [PATCH 1/2] ddebug: simplify watchdog loop and fix crash in the no-timeout case

2018-12-06 Thread Nicolai Hähnle
From: Nicolai Hähnle The following race condition could occur in the no-timeout case: API thread Gallium threadWatchdog -- -- dd_before_draw u_threaded_context draw dd_after_draw add to dctx->reco

Re: [Mesa-dev] Make Jordan an Owner of the mesa project?

2018-12-04 Thread Nicolai Hähnle
+1 On 04.12.18 08:26, Marek Olšák wrote: Ack. On Mon, Dec 3, 2018, 7:49 PM Jason Ekstrand wrote: Jordan has requested to be made an Owner of the mesa project.  As much as I may be the guy who pushed to get everything set up, I don't want to do this

[Mesa-dev] [PATCH v2] winsys/amdgpu: explicitly declare whether buffer_map is permanent or not

2018-11-22 Thread Nicolai Hähnle
From: Nicolai Hähnle Introduce a new driver-private transfer flag RADEON_TRANSFER_TEMPORARY that specifies whether the caller will use buffer_unmap or not. The default behavior is set to permanent maps, because that's what drivers do for Gallium buffer maps. This should eliminate the need

Re: [Mesa-dev] [PATCH 2/2] winsys/amdgpu: explicitly declare whether buffer_map is permanent or not

2018-11-22 Thread Nicolai Hähnle
On 21.11.18 21:27, Marek Olšák wrote: On Wed, Nov 21, 2018 at 12:57 PM Nicolai Hähnle <mailto:nhaeh...@gmail.com>> wrote: From: Nicolai Hähnle mailto:nicolai.haeh...@amd.com>> Introduce a new driver-private transfer flag RADEON_TRANSFER_TEMPORARY that specifies whe

[Mesa-dev] [PATCH 1/2] winsys/amdgpu: add amdgpu_winsys_bo::lock

2018-11-21 Thread Nicolai Hähnle
From: Nicolai Hähnle We'll use it in the upcoming mapping change. Sparse buffers have always had one. --- src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 19 +-- src/gallium/winsys/amdgpu/drm/amdgpu_bo.h | 4 ++-- src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 10 +- 3 files

[Mesa-dev] [PATCH 2/2] winsys/amdgpu: explicitly declare whether buffer_map is permanent or not

2018-11-21 Thread Nicolai Hähnle
From: Nicolai Hähnle Introduce a new driver-private transfer flag RADEON_TRANSFER_TEMPORARY that specifies whether the caller will use buffer_unmap or not. The default behavior is set to permanent maps, because that's what drivers do for Gallium buffer maps. This should eliminate the need

[Mesa-dev] [PATCH 1.5/2] ac/surface/gfx9: let addrlib choose the preferred swizzle kind

2018-11-21 Thread Nicolai Hähnle
From: Nicolai Hähnle Our choices here are simply redundant as long as sin.flags is set correctly. -- This is the change I was talking about. --- src/amd/common/ac_surface.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c

Re: [Mesa-dev] [PATCH 2/2] amd/addrlib: update Mesa's copy of addrlib

2018-11-21 Thread Nicolai Hähnle
On 20.11.18 07:46, Marek Olšák wrote: On Tue, Nov 20, 2018 at 12:08 AM Dave Airlie > wrote: On Tue, 20 Nov 2018 at 14:42, Marek Olšák mailto:mar...@gmail.com>> wrote: > > On Mon, Nov 19, 2018 at 7:15 PM Bas Nieuwenhuizen

[Mesa-dev] [PATCH v2] radv: remove dependency on addrlib gfx9_enum.h

2018-11-19 Thread Nicolai Hähnle
From: Nicolai Hähnle v2: - use SI_CONTEXT_REG_OFFSET Reviewed-by: Dave Airlie --- src/amd/common/sid.h | 3 +++ src/amd/vulkan/radv_cmd_buffer.c | 6 ++ src/amd/vulkan/radv_device.c | 9 - 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/amd

[Mesa-dev] [PATCH 0/2] amd/addrlib: update Mesa's copy of addrlib

2018-11-19 Thread Nicolai Hähnle
Hi all, nothing special here, just updating addrlib from the internal version. This is bigger than usual because they decided to reorganize the source a bit. It does make a bit more sense this way. There's also a whole lot of churn in whitespace because for the first time I've used the same

[Mesa-dev] [PATCH 1/2] radv: remove dependency on addrlib gfx9_enum.h

2018-11-19 Thread Nicolai Hähnle
From: Nicolai Hähnle --- src/amd/common/sid.h | 3 +++ src/amd/vulkan/radv_cmd_buffer.c | 6 ++ src/amd/vulkan/radv_device.c | 9 - 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/amd/common/sid.h b/src/amd/common/sid.h index 35782046dd5

[Mesa-dev] [PATCH] radeonsi: fix an out-of-bounds read reported by ASAN

2018-11-16 Thread Nicolai Hähnle
From: Nicolai Hähnle We read 4 values out of sample_locs_8x, so make sure the array is big enough. Fixes: ac76aeef20 ("radeonsi: switch back to standard DX sample positions") --- src/gallium/drivers/radeonsi/si_state_msaa.c | 4 1 file changed, 4 insertions(+) diff --git a/s

[Mesa-dev] [PATCH] radv: include LLVM IR in the VK_AMD_shader_info "disassembly"

2018-11-08 Thread Nicolai Hähnle
From: Nicolai Hähnle Helpful for debugging compiler backend problems: this allows us to easily retrieve the LLVM IR from RenderDoc. -- For the peanut gallery: AMD's official stance on radv hasn't changed. But we take regressions for radv caused by our changes in LLVM seriously. After all

Re: [Mesa-dev] [PATCH 4/4] util: Get program name based on path when possible

2018-09-12 Thread Nicolai Hähnle
On 12.09.2018 14:31, Kazlauskas, Nicholas wrote: On 09/12/2018 12:26 AM, Timothy Arceri wrote: On 12/9/18 2:24 am, Nicholas Kazlauskas wrote: Some programs start with the path and command line arguments in argv[0] (program_invocation_name). Chromium is an example of an application using mesa

Re: [Mesa-dev] EGL_MESA_query_renderer

2018-08-21 Thread Nicolai Hähnle
In a separate email, Rob wrote: > so, it was earlier discussed that > glXGetScreenDriver()/glXGetDriverConfig() equivalents could be lumped > into this extension, which is I guess not what you have done. I'm fairly agnostic on this, but if you do lump it into one extension, please make the

Re: [Mesa-dev] [PATCH 4/6] ddebug: use util_snprintf() in dd_get_debug_filename_and_mkdir

2018-08-01 Thread Nicolai Hähnle
Reviewed-by: Nicolai Hähnle On 01.08.2018 20:53, Andres Gomez wrote: Instead of plain snprintf(). To fix the MSVC 2013 build: Compiling src\gallium\auxiliary\driver_ddebug\dd_draw.c ... dd_draw.c c:\projects\mesa\src\gallium\auxiliary\driver_ddebug\dd_util.h(60) : warning C4013: 'snprintf

Re: [Mesa-dev] Getting started on DriConf replacement - EVoC 2018

2018-06-06 Thread Nicolai Hähnle
Hi Veluri, glad to see you're interested. There have been several attempts at a DriConf replacement over the years. I believe the most advanced one currently is by Jean Hertel at https://github.com/jlHertel/adriconf -- so your best bet is probably to check that out, see what if anything is

Re: [Mesa-dev] [PATCH] radv: Implement alternate GFX9 scissor workaround.

2018-05-28 Thread Nicolai Hähnle
On 28.05.2018 12:21, Bas Nieuwenhuizen wrote: On Mon, May 28, 2018 at 12:19 PM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: On 27.05.2018 18:57, Bas Nieuwenhuizen wrote: This improves dota2 performance for me by 11% when I force the GPU DPM level to low (otherwise dota2 is CPU limited

Re: [Mesa-dev] [PATCH] radv: Implement alternate GFX9 scissor workaround.

2018-05-28 Thread Nicolai Hähnle
On 27.05.2018 18:57, Bas Nieuwenhuizen wrote: This improves dota2 performance for me by 11% when I force the GPU DPM level to low (otherwise dota2 is CPU limited for 4k on my threadripper), which should be a large part of the radv-amdvlk gap. (For me with that was radv 60.3 -> 66.6, while AMDVLK

Re: [Mesa-dev] Gitlab migration

2018-05-28 Thread Nicolai Hähnle
On 27.05.2018 18:03, Marek Olšák wrote: On Sun, May 27, 2018 at 10:47 AM, Jason Ekstrand > wrote: On May 26, 2018 21:03:39 Marek Olšák > wrote: On Sat, May 26, 2018 at 11:13 AM, Jason

Re: [Mesa-dev] [PATCH 2/2] st/mesa: handle GL_UNSIGNED_INT64_ARB in st_pipe_vertex_format

2018-05-28 Thread Nicolai Hähnle
On 25.05.2018 23:03, Marek Olšák wrote: From: Marek Olšák Bindless texture handles can be passed via vertex attribs using this type. This fixes a bunch of bindless piglit tests on radeonsi. Cc: 18.0 18.1 ---

[Mesa-dev] [PATCH] radeonsi: set GLC on stores to write-only memory

2018-05-28 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> The only effect this has is that written cache lines are immediately freed in L1$. We're not going to read the data again, so it's better to leave room for other things in the cache. --- src/gallium/drivers/radeonsi/si_shader_tgsi_mem.

Re: [Mesa-dev] [PATCH 8/8] mesa: expose ARB_tessellation_shader in the compatibility profile

2018-05-24 Thread Nicolai Hähnle
On 24.05.2018 15:32, Timothy Arceri wrote: On 24/05/18 18:41, Nicolai Hähnle wrote: What about selection and feedback mode for geometry shaders and tessellation? For now this will only enable the extension in compat when using env overrides. So this patch should be ok as is IMO. Fair

Re: [Mesa-dev] [PATCH 4/8] gallium: add PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY

2018-05-24 Thread Nicolai Hähnle
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 23.05.2018 22:58, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> --- src/gallium/docs/source/screen.rst | 6 ++ src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + src/gallium/drive

Re: [Mesa-dev] Gitlab migration

2018-05-24 Thread Nicolai Hähnle
On 24.05.2018 08:46, Tapani Pälli wrote: * [Optional] Merge-request workflow.  With the rise of github, there are many developers out there who are used to the merge-request workflow and switching to that may lower the barrier to entry for new contributors. I admit that it's been a while

Re: [Mesa-dev] [PATCH] st/mesa: simplify lastLevel determination in st_finalize_texture

2018-05-24 Thread Nicolai Hähnle
Seems plausible, although that code tends to be tricky as hell. Assuming no piglit / CTS regressions: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 23.05.2018 22:43, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> This fixes shader images where we always bi

Re: [Mesa-dev] [PATCH 3/8] mesa: update fixed-func state constants for TCS, TES, GS

2018-05-24 Thread Nicolai Hähnle
FragmentProgram._Current->Parameters; + if (prog) { It may be slightly better to put this check into the caller to avoid the function call overhead. But admittedly that's just a hunch, and it's your call. Apart from that, patches 1-3: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@a

Re: [Mesa-dev] [PATCH 1/6] ac/surface/gfx6: don't overallocate mipmapped HTILE

2018-05-24 Thread Nicolai Hähnle
For the series: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 23.05.2018 23:29, Marek Olšák wrote: ping On Wed, May 16, 2018 at 9:47 PM, Marek Olšák <mar...@gmail.com <mailto:mar...@gmail.com>> wrote: From: Marek Olšák <marek.ol...@amd.com <ma

Re: [Mesa-dev] [PATCH 7/8] mesa: expose AMD_vertex_shader_layer in the compatibility profile

2018-05-24 Thread Nicolai Hähnle
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 23.05.2018 22:58, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> This requires layered FBOs from GL 3.2. Gallium drivers don't expose this yet due to: "st/mesa: use PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATI

Re: [Mesa-dev] [PATCH 8/8] mesa: expose ARB_tessellation_shader in the compatibility profile

2018-05-24 Thread Nicolai Hähnle
What about selection and feedback mode for geometry shaders and tessellation? Cheers, Nicolai On 23.05.2018 22:58, Marek Olšák wrote: From: Marek Olšák Gallium drivers don't expose this yet due to: "st/mesa: use PIPE_CAP_GLSL_FEATURE_LEVEL_COMPATIBILITY" ---

Re: [Mesa-dev] [RFC PATCH] gallium: add interface for advanced MSAA

2018-05-24 Thread Nicolai Hähnle
On 18.05.2018 06:05, Marek Olšák wrote: From: Marek Olšák The interface only uses general MSAA terms, so it's "advanced MSAA" and not something vendor-specific. It's a proper subset of EQAA, and a proper superset of CSAA, so it's neither. Changes: - pipe_resource is

Re: [Mesa-dev] [PATCH 3/3] radeonsi: fix passing gl_ClipVertex for GS and tess

2018-05-24 Thread Nicolai Hähnle
hat, the series is Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> assert(!"invalid semantic name"); return 0; } } /** * Get the value of a shader input parameter and extract a bitfield. */ static LLVMValueRef unp

Re: [Mesa-dev] Gitlab migration

2018-05-23 Thread Nicolai Hähnle
Hi Jason, On 23.05.2018 21:34, Jason Ekstrand wrote: Mesa developers, tl;dr.  Please go to gitlab.freedesktop.org , create your account, and upload your SSH keys.  Instructions are the bottom of this e-mail. The freedesktop.org admins

Re: [Mesa-dev] [PATCH v2] ac: Use DPP for build_ddxy where possible.

2018-05-23 Thread Nicolai Hähnle
the older chips, right? So all the code below can be removed once we drop support for LLVM < 7 (which will of course be quite some time in the future, but hey!) Apart from that, Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> + unsigned tl_lanes[4], trbl_lanes[4]; +

Re: [Mesa-dev] [PATCH] ac: Use DPP for build_ddxy where possible.

2018-05-23 Thread Nicolai Hähnle
On 23.05.2018 11:48, Bas Nieuwenhuizen wrote: WQM is pretty reliable now on LLVM 7, so let us just use DPP + WQM. This gives approximately a 1.5% performance increase on the vrcompositor built-in benchmark. --- src/amd/common/ac_llvm_build.c | 243 ++--- 1 file

Re: [Mesa-dev] [PATCH 00/16] RadeonSI: A bunch of random changes

2018-05-08 Thread Nicolai Hähnle
I don't quite understand patch 8. All the rest (v2 of patch 2) are: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 02.05.2018 06:00, Marek Olšák wrote: Hi, These are pretty random. Please review. Thanks, Marek ___ mesa-dev mailin

Re: [Mesa-dev] [PATCH 08/16] ac/surface/gfx6: don't overallocate mipmapped HTILE

2018-05-08 Thread Nicolai Hähnle
On 02.05.2018 06:00, Marek Olšák wrote: From: Marek Olšák --- src/amd/common/ac_surface.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index b2af1f70b69..341a7854fe5 100644 ---

Re: [Mesa-dev] [PATCH 14/14] ac/gpu_info: add has_read_registers_query

2018-05-08 Thread Nicolai Hähnle
For the series: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 03.05.2018 02:19, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> --- src/amd/common/ac_gpu_info.c | 2 ++ src/amd/common/ac_gpu_info.h | 1 + src/gal

Re: [Mesa-dev] [PATCH 1/2] ac: add subgroup scan functions for SI

2018-05-07 Thread Nicolai Hähnle
tmp1 = LLVMBuildSelect(ctx->builder, active, tmp2, tmp1, ""); + active = LLVMBuildICmp(ctx->builder, LLVMIntEQ, tid, LLVMConstInt(ctx->i32, 0, 0), ""); + result = LLVMBuildSelect(ctx->builder,

Re: [Mesa-dev] [PATCH 2/2] eg/compute: Drop reference on code_bo in destructor.

2018-05-07 Thread Nicolai Hähnle
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 04.05.2018 08:34, Jan Vesely wrote: Signed-off-by: Jan Vesely <jan.ves...@rutgers.edu> --- src/gallium/drivers/r600/evergreen_compute.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/gallium/

Re: [Mesa-dev] [PATCH 1/2] eg/compute: Use reference counting to handle compute memory pool.

2018-05-07 Thread Nicolai Hähnle
On 04.05.2018 08:34, Jan Vesely wrote: The original bug/corruption was by util_unreference_framebuffer_state, trying to drop reference on cbuf[0] (global AS for OCL). Adding reference counting to set_rat uncovered problems with acessing the pool->bo. Also drops leaked memory from 7,4kB to

Re: [Mesa-dev] Ryzen 2500U lockup, HP Envy 360

2018-05-07 Thread Nicolai Hähnle
Based on reports from other Raven users, it may be worth trying to update your kernel. Apart from that, the only way to help you would be if you submit a proper bugreport on freedesktop bugzilla where you clearly explain - when the lockup happened and how to reproduce it - exactly which

Re: [Mesa-dev] [RFC PATCH] gallium: add interface for EQAA

2018-05-07 Thread Nicolai Hähnle
On 01.05.2018 22:48, Marek Olšák wrote: +**nr_color_samples**: This is the number of color samples for EQAA, while +``nr_samples`` is the number of coverage samples. If the format is Z/S, +``nr_color_samples`` is ignored. Constraints: +*

Re: [Mesa-dev] [PATCH 9/9] radeonsi: add an environment variable that forces EQAA for MSAA allocations

2018-05-07 Thread Nicolai Hähnle
, the environment variable *will* have an effect on radeon, but it'll likely just not work correctly because the surfaces aren't computed correctly. So it seems a good idea to have an explicit check for that. With that, patches 5-9: Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>

Re: [Mesa-dev] [PATCH 4/9] radeonsi: use better sample locations for 8x EQAA

2018-05-07 Thread Nicolai Hähnle
On 02.05.2018 06:13, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> Verified with the piglit MSAA accuracy test. Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/gallium/drivers/radeonsi/si_state_msaa.c | 32 +++- 1 file changed, 1

Re: [Mesa-dev] [PATCH 3/9] radeonsi: improve quality of 16 sample locations

2018-05-07 Thread Nicolai Hähnle
On 02.05.2018 06:13, Marek Olšák wrote: From: Marek Olšák <marek.ol...@amd.com> This results in better 16x and 8x quality when using these locations. Verified with the piglit MSAA accuracy test. How did you come up with those? :) Reviewed-by: Nicolai Hähnle <nicolai.haeh..

Re: [Mesa-dev] [PATCH 2/9] radeonsi: use better sample locations for 4x MSAA

2018-05-07 Thread Nicolai Hähnle
itions, but they are prettier to the eye and GL doesn't care. Curious. Can you actually tell the difference? Anyway, Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/gallium/drivers/radeonsi/si_state_msaa.c | 21 ++-- 1 file changed, 10 insertions(+), 11 deletions(-) diff

Re: [Mesa-dev] [PATCH 1/9] radeonsi: reorder sample locations as required by EQAA

2018-05-07 Thread Nicolai Hähnle
ant. + * (sample I={2,3} adds more detail to the vicinity of sample I-2) Isn't technically the requirement only that 0/1 are in opposite quadrants and 2/3 fill in the rest. Anyway, Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> + * + * Sample 4 is approx. in the same quadra

Re: [Mesa-dev] [PATCH v3 05/13] mesa/st: Add helper classes for array merging and interleaving

2018-05-07 Thread Nicolai Hähnle
On 01.05.2018 17:46, Gert Wollny wrote: Am Dienstag, den 01.05.2018, 12:38 +0200 schrieb Nicolai Hähnle: First some high-level remarks: Why is `finalized` necessary? The `finalize` operation should be idempotent, i.e. if you call if twice in a row, the second time should be a no-op

Re: [Mesa-dev] [PATCH v3 02/13] mesa/st: glsl_to_tgsi: Split arrays who's elements are only accessed directly

2018-05-07 Thread Nicolai Hähnle
On 01.05.2018 18:13, Gert Wollny wrote: Am Dienstag, den 01.05.2018, 11:57 +0200 schrieb Nicolai Hähnle: So the GLSL transforms don't already do this? Interesting... anyway, seems a nice improvement, When I first sent this patch stand-alone there were some comments about this: https

[Mesa-dev] [PATCH] amd/common: use llvm.amdgcn.wqm for explicit derivatives

2018-05-03 Thread Nicolai Hähnle
From: Nicolai Hähnle <nicolai.haeh...@amd.com> To comply with an upcoming change in LLVM, see https://reviews.llvm.org/D46051 --- src/amd/common/ac_llvm_build.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c

Re: [Mesa-dev] [RFC PATCH] gallium: add interface for EQAA

2018-05-01 Thread Nicolai Hähnle
On 01.05.2018 16:48, Roland Scheidegger wrote: -**nr_samples** the nr of msaa samples. 0 (or 1) specifies a resource -which isn't multisampled. +**nr_samples**: For Z/S, this is the number of samples. For color, if EQAA +is unsupported, this is the number of both coverage samples and color

Re: [Mesa-dev] [PATCH v3 13/13] mesa/st/glsl_to_tgsi: Expose array live range tracking and merging

2018-05-01 Thread Nicolai Hähnle
On 28.04.2018 21:30, Gert Wollny wrote: This patch ties in the array split, merge, and interleave code. shader-wb changes in the TGSI code are: You mean shader-db? Cheers, Nicolai original code | array-merge | change in % mean max | meanmax | mean

Re: [Mesa-dev] [PATCH v3 10/13] mesa/st/glsl_to_tgsi: move evaluation of read mask up in the call hierarchy

2018-05-01 Thread Nicolai Hähnle
Again, I don't think having separate classes for tracking temporaries and tracking arrays is a good idea. They do require some semantic differences, but the only one I can really think of can be summarized as "there are no unconditional writes into arrays". If you think about it that way, it

Re: [Mesa-dev] [PATCH v3 09/13] mesa/st/glsl_to_tgsi: rename access_record to register_merge_record and some more renames

2018-05-01 Thread Nicolai Hähnle
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 28.04.2018 21:30, Gert Wollny wrote: Signed-off-by: Gert Wollny <gw.foss...@gmail.com> --- .../state_tracker/st_glsl_to_tgsi_temprename.cpp | 61 +++--- .../state_tracker/st_glsl_to_tgsi_temprename.h

Re: [Mesa-dev] [PATCH v3 05/13] mesa/st: Add helper classes for array merging and interleaving

2018-05-01 Thread Nicolai Hähnle
First some high-level remarks: Why is `finalized` necessary? The `finalize` operation should be idempotent, i.e. if you call if twice in a row, the second time should be a no-op. So you can just call finalize on the target array unconditionally. That would make the code cleaner. Similarly,

Re: [Mesa-dev] [PATCH v3 06/13] mesa/st/glsl_to_tgsi: Add class to track array live range

2018-05-01 Thread Nicolai Hähnle
On 28.04.2018 21:30, Gert Wollny wrote: todo explain Indeed... how is that different from the tracking of ordinary registers? Cheers, Nicolai Signed-off-by: Gert Wollny --- .../state_tracker/st_glsl_to_tgsi_array_merge.cpp | 69 ++

Re: [Mesa-dev] [PATCH v3 04/13] mesa/st/glsl_to_tgsi:rename lifetime to register_live_range

2018-05-01 Thread Nicolai Hähnle
; "]\n"); + live_ranges[i] = acc[i].get_required_live_range(); + RENAME_DEBUG(debug_log << ": [" <<live_ranges[i].begin << ", " +<<live_ranges[i].end << "]\n"); Inconsistent indentatio

Re: [Mesa-dev] [PATCH v3 03/13] mesa/st/glsl_to_tgsi: Properly resolve life times simple if/else + use constructs

2018-05-01 Thread Nicolai Hähnle
On 28.04.2018 21:30, Gert Wollny wrote: in constructs like below, currently the live range estimation extends the live range of t unecessarily to the whole loop because it was not detected that t is unconditional written and later read only in the "if (a)" scope. while (foo) { ...

Re: [Mesa-dev] [PATCH v3 02/13] mesa/st: glsl_to_tgsi: Split arrays who's elements are only accessed directly

2018-05-01 Thread Nicolai Hähnle
So the GLSL transforms don't already do this? Interesting... anyway, seems a nice improvement, I just have some stylistic nitpicks below. On 28.04.2018 21:30, Gert Wollny wrote: Array who's elements are only accessed directly are replaced by the according number of temporary registers. By

Re: [Mesa-dev] [PATCH v3 01/13] mesa/st/glsl_to_tgsi: Add method to collect some statistics

2018-05-01 Thread Nicolai Hähnle
Please make this thread-safe. Thanks, Nicolai On 28.04.2018 21:30, Gert Wollny wrote: When mesa is compiled in debug mode then this adds the possibility to print out some statistics about the translated shaders to a file. The functionality is enabled by setting the environment variable

Re: [Mesa-dev] [RFC PATCH] gallium: add interface for EQAA

2018-05-01 Thread Nicolai Hähnle
On 01.05.2018 01:43, Marek Olšák wrote: From: Marek Olšák This is a hypothetical interface for EQAA (a superset of CSAA). CSAA could be exposed via GL_NV_framebuffer_multisample_coverage. EQAA additionally removes the restriction that the number of samples in all FBO

Re: [Mesa-dev] [PATCH 1/1] main: fail texture_storage() call if the size is not okay

2018-05-01 Thread Nicolai Hähnle
Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> On 27.04.2018 17:34, James Xiong wrote: From: "Xiong, James" <james.xi...@intel.com> Signed-off-by: Xiong, James <james.xi...@intel.com> --- src/mesa/main/texstorage.c | 1 + 1 file changed, 1 insertion(+)

Re: [Mesa-dev] [PATCH 1/7] ac/surface: handle DCC subresource fast clear restriction on VI

2018-04-27 Thread Nicolai Hähnle
On 27.04.2018 19:23, Marek Olšák wrote: On Fri, Apr 27, 2018 at 4:14 AM, Nicolai Hähnle <nhaeh...@gmail.com <mailto:nhaeh...@gmail.com>> wrote: Sorry, but I still don't understand the logic of this :/ What we want to check for is that all the DCC bytes of

Re: [Mesa-dev] [PATCH 02/10] dri_interface: add __DRI_IMAGE_TRANSFER_USER_STRIDE

2018-04-27 Thread Nicolai Hähnle
On 27.04.2018 19:21, Gurchetan Singh wrote: On Fri, Apr 27, 2018 at 2:00 AM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: That was the whole point of the USER_STRIDE business. There are two alternatives I can see: 1. Change minigbm so that it always maps the entire texture regardless o

Re: [Mesa-dev] [PATCH 02/10] dri_interface: add __DRI_IMAGE_TRANSFER_USER_STRIDE

2018-04-27 Thread Nicolai Hähnle
On 27.04.2018 17:55, Marek Olšák wrote: Even if ChromeOS doesn't map the whole texture, we still need the stride change, because the hw can't use the display stride for mappings (it's an unsupported user stride). You're right. They're two separate issues, but both need fixing (or not, but it

  1   2   3   4   5   6   7   8   9   10   >