[Nouveau] [mesa 5/9] nouveau: fix screen creation failure paths

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs The winsys layer would attempt to cleanup the nouveau_device if screen init failed, however, in most paths the pipe driver would have already destroyed it, resulting in accesses to freed memory etc. This commit fixes the problem by allowing the winsys to detect whether the pipe

[Nouveau] [mesa 9/9] nouveau: enable use of new kernel interfaces

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c | 2 -- src/mesa/drivers/dri/nouveau/nouveau_screen.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c b/src/gallium/winsys/nouveau/

[Nouveau] [mesa 1/9] nouveau: bump required libdrm version to 2.4.66

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4016871..c02ee61 100644 --- a/configure.ac +++ b/configure.ac @@ -73,7 +73,7 @@ LIBDRM_RADEON_REQUIRED=2.4.56 LIBDRM_AMDGPU_REQUIRED

[Nouveau] [mesa 7/9] nv50: fix g98+ vdec class allocation

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs The kernel previously exposed incorrect classes for some of the chipsets that this code supports. It no longer does, but the older object ioctls have compatibility to avoid breaking userspace. This needs to be fixed before switching over to the newer interfaces. Rather than ha

[Nouveau] [mesa 8/9] nvc0: remove allocation of unused sw class

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs This would need to be fixed before NVIF can be switched on, but since we don't use it anyway, just remove it. Signed-off-by: Ben Skeggs --- src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 8 src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 1 - 2 files changed, 9 del

[Nouveau] [mesa 2/9] nouveau: remove use of deprecated nouveau_device::fd

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- src/gallium/drivers/nouveau/nouveau_screen.c| 1 + src/gallium/drivers/nouveau/nouveau_screen.h| 1 + src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gall

[Nouveau] [mesa 3/9] nouveau: remove use of deprecated nouveau_device::drm_version

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 3 ++- src/gallium/drivers/nouveau/nv50/nv50_screen.c | 4 ++-- src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c | 3 ++- src/gallium/drivers/nouveau/nvc0/nvc0_query.c

[Nouveau] [mesa 6/9] nouveau: remove use of deprecated nouveau_device_wrap()

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Switching to the newer libdrm entry-points tells libdrm that it's OK to make use of newer kernel interfaces. We want to be able to isolate any bugs to either the interfaces changes, or the use of NVIF itself. As such, this commit has a slight hack which forces libdrm to continu

[Nouveau] [mesa 4/9] nouveau: return nouveau_screen from hw-specific creation functions

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Kills off a void cast. Signed-off-by: Ben Skeggs --- src/gallium/drivers/nouveau/nouveau_winsys.h| 6 +++--- src/gallium/drivers/nouveau/nv30/nv30_screen.c | 4 ++-- src/gallium/drivers/nouveau/nv50/nv50_screen.c | 4 ++-- src/gallium/drivers/nouveau/nvc0/nvc

[Nouveau] [libdrm 08/13] nouveau: make use of nouveau_drm::fd instead of nouveau_device::fd

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs The latter is deprecated, and will not be valid for newer clients. Signed-off-by: Ben Skeggs --- nouveau/abi16.c | 32 +++- nouveau/nouveau-symbol-check | 1 - nouveau/nouveau.c| 43 +

[Nouveau] [libdrm 01/13] nouveau: move more abi16-specific logic into abi16.c

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- nouveau/abi16.c | 62 ++- nouveau/nouveau.c | 56 +++-- nouveau/private.h | 7 ++- 3 files changed, 67 insertions(+), 58 deletions(-) diff --git

[Nouveau] [libdrm 10/13] nouveau: add new interface to create a nouveau_device

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- nouveau/nouveau-symbol-check | 1 + nouveau/nouveau.c| 133 --- nouveau/nouveau.h| 2 + 3 files changed, 89 insertions(+), 47 deletions(-) diff --git a/nouveau/nouveau-symbol-chec

[Nouveau] [libdrm 07/13] nouveau: stack legacy nouveau_device on top of nouveau_drm

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- nouveau/nouveau.c | 46 +- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 9f82fde..e304a1b 100644 --- a/nouveau/nouveau.c +++ b/nouveau/nouveau

[Nouveau] [libdrm 02/13] nouveau: move object functions up, to avoid future foward decls

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- nouveau/nouveau.c | 112 +++--- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c index 8a0be2f..8035c6a 100644 --- a/nouveau/nouveau.c +++ b/nouvea

[Nouveau] [libdrm 06/13] nouveau: introduce object to represent the kernel client

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Because NVIF intentionally lacks some of the paths necessary to be compatible with various mistakes we've made over the years, libdrm needs to know whether a client has been updated and that it's safe to make use of the new kernel interfaces. Clients still using nouveau_device_o

[Nouveau] [libdrm 04/13] nouveau: add interface to call an object's methods

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs This will expose functionality supported by newer kernel interfaces, giving access to things such as ZBC controls, perfmon, etc. Signed-off-by: Ben Skeggs --- nouveau/nouveau-symbol-check | 1 + nouveau/nouveau.c| 7 +++ nouveau/nouveau.h| 2 ++ 3 f

[Nouveau] [libdrm 13/13] Bump version for release

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index b929d36..7678572 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_PREREQ([2.63]) AC_INIT([libdrm], -[2.4

[Nouveau] [libdrm 12/13] nouveau: clean up nouveau.h, noting deprecated members/functions

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- nouveau/nouveau.h | 220 +++--- 1 file changed, 110 insertions(+), 110 deletions(-) diff --git a/nouveau/nouveau.h b/nouveau/nouveau.h index 4658198..b09415e 100644 --- a/nouveau/nouveau.h +++ b/nouv

[Nouveau] [libdrm 03/13] nouveau: make it possible to init object in pre-allocated memory

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Required for an upcoming patch, not exposed to library clients. Signed-off-by: Ben Skeggs --- nouveau/nouveau.c | 64 +-- 1 file changed, 48 insertions(+), 16 deletions(-) diff --git a/nouveau/nouveau.c b/nouveau/nouveau.c i

[Nouveau] [libdrm 11/13] nouveau: add support for newer kernel interfaces

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- nouveau/abi16.c | 5 +- nouveau/nouveau.c | 157 -- 2 files changed, 155 insertions(+), 7 deletions(-) diff --git a/nouveau/abi16.c b/nouveau/abi16.c index 5ba2690..328ffb4 100644 --- a/nouve

[Nouveau] [libdrm 05/13] nouveau: add interfaces to query information about supported classes

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs This will expose functionality supported by newer kernel interfaces. Current userspace uses the chipset to determine which classes are likely exposed, which generally works pretty well, but isn't as flexible as it could be. Unfortunately, the G98:GF100 video code in Mesa is sti

[Nouveau] [libdrm 09/13] nouveau: import and install a selection of nvif headers from the kernel

2015-11-25 Thread Ben Skeggs
From: Ben Skeggs Signed-off-by: Ben Skeggs --- include/drm/nouveau_drm.h| 1 + nouveau/Makefile.am | 11 +++- nouveau/libdrm_nouveau.pc.in | 2 +- nouveau/nvif/cl0080.h| 45 ++ nouveau/nvif/cl9097.h| 44 ++ nouveau/nvif/class.h

[Nouveau] [Bug 93110] New: [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call

2015-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=93110 Bug ID: 93110 Summary: [NVE4] textureSize() and textureQueryLevels() uses a texture bound during the previous draw call Product: Mesa Version: 10.5 Hardware: x86-64 (AMD64)

Re: [Nouveau] NV50 compute support questions

2015-11-25 Thread Ilia Mirkin
On Wed, Nov 25, 2015 at 11:50 AM, Samuel Pitoiset wrote: >> So I tried to run src/gallium/tests/trivial/compute.c, >> with a recent mesa master, but that does not work either. >> >> I get the following when I try to run this: >> >> compute: nvc0/nvc0_resource.c:41: nvc0_surface_create: Assertion >

Re: [Nouveau] NV50 compute support questions

2015-11-25 Thread Samuel Pitoiset
On 11/25/2015 03:43 PM, Hans de Goede wrote: Hi, On 20-11-15 17:07, Samuel Pitoiset wrote: On 11/20/2015 11:36 AM, Hans de Goede wrote: Hi Samual, et al, Hi Hans, In http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd

Re: [Nouveau] NV50 compute support questions

2015-11-25 Thread Hans de Goede
Hi, On 20-11-15 17:07, Samuel Pitoiset wrote: On 11/20/2015 11:36 AM, Hans de Goede wrote: Hi Samual, et al, Hi Hans, In http://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/nouveau?id=ff72440b40211326eda118232fabd53965410afd you write: "This compute support has been tested