search for: nouveau_pushbuf_space

Displaying 20 results from an estimated 28 matches for "nouveau_pushbuf_space".

2015 Nov 02
2
help with push
But at the time the mesa3d file src/gallium/drivers/nouveau/nv30/nv30_screen.c is called and when the various PUSH_DATA begin to be called there is not yet a call to nouveau_pushbuf_space. So it would generate a seg fault in push->curr. Again, sorry for the confusion and thanks for the reply. Awaiting for an answer if possible. Thanks in advance. 2015-11-02 14:44 GMT-03:00 Ilia Mirkin <imirkin at alum.mit.edu>: > See libdrm's pushbuf.c -- iirc push->cur points t...
2012 Apr 20
3
[Bug 48954] New: nv25 PGRAPH error and X freeze
https://bugs.freedesktop.org/show_bug.cgi?id=48954 Bug #: 48954 Summary: nv25 PGRAPH error and X freeze Classification: Unclassified Product: xorg Version: git Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Driver/nouveau
2015 Nov 02
0
help with push
...->eng3d->handle); And as you can see in nv30_winsys.h: static inline void BEGIN_NV04(struct nouveau_pushbuf *push, int subc, int mthd, int size) { PUSH_SPACE(push, size + 1); PUSH_DATA (push, 0x00000000 | (size << 18) | (subc << 13) | mthd); } and PUSH_SPACE in turn calls nouveau_pushbuf_space. -ilia On Mon, Nov 2, 2015 at 1:36 PM, Daniel Melo Jorge da Cunha <dmjcunha at gmail.com> wrote: > But at the time the mesa3d file > src/gallium/drivers/nouveau/nv30/nv30_screen.c > is called and when the various PUSH_DATA begin to be called there is not yet > a call to nouvea...
2010 Jan 29
2
[PATCH 1/2] libdrm/nouveau: new optimized libdrm pushbuffer ABI
...f_priv { int current_offset; unsigned *pushbuf; - unsigned size; unsigned marker; unsigned marker_relocs; diff --git a/nouveau/nouveau_pushbuf.c b/nouveau/nouveau_pushbuf.c index 7da3a47..b6af216 100644 --- a/nouveau/nouveau_pushbuf.c +++ b/nouveau/nouveau_pushbuf.c @@ -37,12 +37,13 @@ nouveau_pushbuf_space_call(struct nouveau_channel *chan, unsigned min) struct nouveau_pushbuf_priv *nvpb = &nvchan->pb; struct nouveau_bo *bo; int ret; + unsigned size; if (min < PB_MIN_USER_DWORDS) min = PB_MIN_USER_DWORDS; - nvpb->current_offset = nvpb->base.cur - nvpb->pushbuf; - if...
2016 Mar 28
19
[Bug 94727] New: nouveau/pushbuf.c:238: pushbuf_krel: Assertion `bkref` failed.
https://bugs.freedesktop.org/show_bug.cgi?id=94727 Bug ID: 94727 Summary: nouveau/pushbuf.c:238: pushbuf_krel: Assertion `bkref` failed. Product: Mesa Version: unspecified Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium
2015 Dec 16
0
[libdrm v3 13/14] nouveau: clean up nouveau.h, noting deprecated members/functions
...channel, - int nr, uint32_t size, bool immediate, - struct nouveau_pushbuf **); +int nouveau_pushbuf_new(struct nouveau_client *, struct nouveau_object *chan, + int nr, uint32_t size, bool immediate, + struct nouveau_pushbuf **); void nouveau_pushbuf_del(struct nouveau_pushbuf **); -int nouveau_pushbuf_space(struct nouveau_pushbuf *, uint32_t dwords, - uint32_t relocs, uint32_t pushes); +int nouveau_pushbuf_space(struct nouveau_pushbuf *, uint32_t dwords, + uint32_t relocs, uint32_t pushes); void nouveau_pushbuf_data(struct nouveau_pushbuf *, struct nouveau_bo *, uint64_t offset, uint64...
2018 Jan 11
0
[PATCH libdrm] nouveau: Support fence FDs
...nouveau_pushbuf_data(push, NULL, 0, 0); krec->next = malloc(sizeof(*krec)); @@ -472,7 +527,7 @@ pushbuf_refn(struct nouveau_pushbuf *push, bool retry, if (ret) { pushbuf_refn_fail(push, sref, krec->nr_reloc); if (retry) { - pushbuf_flush(push); + pushbuf_flush(push, NULL); nouveau_pushbuf_space(push, 0, 0, 0); return pushbuf_refn(push, false, refs, nr); } @@ -524,7 +579,7 @@ pushbuf_validate(struct nouveau_pushbuf *push, bool retry) if (ret) { pushbuf_refn_fail(push, sref, srel); if (retry) { - pushbuf_flush(push); + pushbuf_flush(push, NULL); return pushbuf_validat...
2014 Jul 31
1
[libdrm PATCH 1/3] nouveau: Only export public functions.
...truct nouveau_bufctx * nouveau_pushbuf_bufctx(struct nouveau_pushbuf *push, struct nouveau_bufctx *ctx) { struct nouveau_bufctx *prev = push->bufctx; @@ -634,7 +634,7 @@ nouveau_pushbuf_bufctx(struct nouveau_pushbuf *push, struct nouveau_bufctx *ctx) return prev; } -int +drm_public int nouveau_pushbuf_space(struct nouveau_pushbuf *push, uint32_t dwords, uint32_t relocs, uint32_t pushes) { @@ -698,7 +698,7 @@ nouveau_pushbuf_space(struct nouveau_pushbuf *push, return flushed ? pushbuf_validate(push, false) : 0; } -void +drm_public void nouveau_pushbuf_data(struct nouveau_pushbuf *push,...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...t;target != PIPE_BUFFER); + pipe_mutex_lock(nv50->screen->base.push_mutex); + BEGIN_NV04(push, NV50_3D(CLEAR_COLOR(0)), 4); PUSH_DATAf(push, color->f[0]); PUSH_DATAf(push, color->f[1]); PUSH_DATAf(push, color->f[2]); PUSH_DATAf(push, color->f[3]); - if (nouveau_pushbuf_space(push, 32 + sf->depth, 1, 0)) + if (nouveau_pushbuf_space(push, 32 + sf->depth, 1, 0)) { + pipe_mutex_unlock(nv50->screen->base.push_mutex); return; + } PUSH_REFN(push, bo, mt->base.domain | NOUVEAU_BO_WR); @@ -353,6 +362,8 @@ nv50_clear_render_target(struct pi...
2012 Apr 06
1
[WIP PATCH] dri/nouveau: Add S3TC support for nv20.
...esa/drivers/dri/nouveau/nv04_surface.c index b2b260d..bc3cace 100644 --- a/src/mesa/drivers/dri/nouveau/nv04_surface.c +++ b/src/mesa/drivers/dri/nouveau/nv04_surface.c @@ -291,7 +291,7 @@ nv04_surface_copy_m2mf(struct gl_context *ctx, while (h) { int count = (h > 2047) ? 2047 : h; - if (nouveau_pushbuf_space(push, 16, 4, 0) || + if (nouveau_pushbuf_space(push, 18, 4, 0) || nouveau_pushbuf_refn (push, refs, 2)) return; @@ -307,6 +307,10 @@ nv04_surface_copy_m2mf(struct gl_context *ctx, PUSH_DATA (push, count); PUSH_DATA (push, 0x0101); PUSH_DATA (push, 0); + BEGIN_NV04(push, NV04...
2012 Jul 27
1
[PATCH] nvc0: Add and enable vblank support
...ush, NV84_SUBCHAN_SEMAPHORE_TRIGGER_ACQUIRE_EQUAL); +} + Bool NVAccelInitM2MF_NVC0(ScrnInfoPtr pScrn) { @@ -153,12 +183,27 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) if (ret) return FALSE; + ret = nouveau_object_new(pNv->channel, 0x906e, 0x906e, + NULL, 0, &pNv->NvSW); + if (nouveau_pushbuf_space(push, 512, 0, 0) || nouveau_pushbuf_refn (push, &(struct nouveau_pushbuf_refn) { pNv->scratch, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR }, 1)) return FALSE; + if (!ret) { + BEGIN_NVC0(push, NV01_SUBC(NVSW, OBJECT), 1); + PUSH_DATA (push, pNv->NvSW->handle); + BEGIN_NVC...
2015 Mar 14
1
[PATCH ddx] Add support for VRAM-less devices to the ddx
...struct nouveau_object *ce_channel; struct nouveau_pushbuf *ce_pushbuf; struct nouveau_object *NvCopy; diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c index 848ca87..7188230 100644 --- a/src/nvc0_accel.c +++ b/src/nvc0_accel.c @@ -242,7 +242,7 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) if (nouveau_pushbuf_space(push, 512, 0, 0) || nouveau_pushbuf_refn (push, &(struct nouveau_pushbuf_refn) { - pNv->scratch, NOUVEAU_BO_VRAM | + pNv->scratch, NOUVEAU_BO_APER | NOUVEAU_BO_WR }, 1)) return FALSE; diff --git a/src/nvc0_exa.c b/src/nvc0_exa.c index 1f33353..596361e 100644 --- a...
2015 Feb 10
0
[Bug 88822] X freezes after watching videos
...:1[604]: (EE) 10: /usr/lib/libdrm.so.2 (drmCommandWrite+0x1b) [0x7f5bdcd7139b] févr. 10 22:55:57 maisondubonheur gdm-Xorg-:1[604]: (EE) 11: /usr/lib/libdrm_nouveau.so.2 (nouveau_bo_wait+0x99) [0x7f5bd64d1829] févr. 10 22:55:57 maisondubonheur gdm-Xorg-:1[604]: (EE) 12: /usr/lib/libdrm_nouveau.so.2 (nouveau_pushbuf_space+0xde) [0x7f5bd64d2b4e] févr. 10 22:55:57 maisondubonheur gdm-Xorg-:1[604]: (EE) 13: /usr/lib/xorg/modules/drivers/nouveau_drv.so (0x7f5bd66d6000+0x1f669) [0x7f5bd66f5669] févr. 10 22:55:57 maisondubonheur gdm-Xorg-:1[604]: (EE) 14: /usr/lib/xorg/modules/libexa.so (0x7f5bd5c87000+0xe1ae) [0x7f5bd5c9...
2015 Nov 02
2
help with push
Hi, sorry if I misunderstood everything... In the file src/gallium/drivers/nouveau/nv30/nv30_screen.c there is loans of PUSH_DATA which is basically *push->curr = data; I'm thinking that somehow push->curr is the bo->map = drm_mmap(...) that is called in nouveau_bo_map. But I cannot see how they are linked... Because when nouveau_bo_map calls nouveau_bo_wait push =
2013 Sep 19
0
Intermittent crashing X.
...lib64/libc.so.6 (ioctl+0x7) [0x7f56a113d897] (EE) 7: /usr/lib64/libdrm.so.2 (drmIoctl+0x30) [0x7f56a1ffc230] (EE) 8: /usr/lib64/libdrm.so.2 (drmCommandWrite+0x1b) [0x7f56a1ffe77b] (EE) 9: /usr/lib64/libdrm_nouveau.so.2 (nouveau_bo_wait+0x89) [0x7f569faaa989] (EE) 10: /usr/lib64/libdrm_nouveau.so.2 (nouveau_pushbuf_space+0xc8) [0x7f569faabba8] (EE) 11: /usr/lib64/xorg/modules/drivers/nouveau_drv.so (0x7f569fcb0000+0x1db89) [0x7f569fccdb89] (EE) 12: /usr/lib64/xorg/modules/libexa.so (0x7f569f668000+0xebb7) [0x7f569f676bb7] (EE) 13: /usr/lib64/xorg/modules/libexa.so (0x7f569f668000+0xf4a0) [0x7f569f6774a0] (EE) 14: /...
2010 Jun 14
0
NV30 (FX 5200 Ultra) OUT_RINGp and initial four GEM objects are mapped to the GART instead of System RAM - is that proper?
...ory and we end up ioremapping the first 16 pages of the GART?? 3). That ioctl is done. Xorg driver makes a couple of other ioctls, ends up in nouveau_pushbuf_init_call, invokes the DRM_NOUVEAU_GEM_PUSHBUF ioctl. Then sets up four bo objects doing four DRM_NOUVEAU_GEM_NEW ioctls. Then nouveau_pushbuf_space picks the second (not the first), of those allocated objects and mmaps it. That triggers the kernel 'ttm_bo_mmap' function which happily sets up the proper VMA. 4). Then 'NVAccelCommonInit' is called which ends up calling 'NVAccelInitContextSurfaces' function t...
2016 Nov 13
1
[Bug 98701] New: [NVE6] Desktop freeze, fifo read fault at 0000000000 engine 00 [GR] client 14 [SCC] reason 02 [PTE] on channel 21
...b64/libc.so.6 (ioctl+0x5) [0x7f527abdba55] (EE) 9: /usr/lib64/libdrm.so.2 (drmIoctl+0x28) [0x7f527bc7dc68] (EE) 10: /usr/lib64/libdrm.so.2 (drmCommandWrite+0x1b) [0x7f527bc8098b] (EE) 11: /usr/lib64/libdrm_nouveau.so.2 (nouveau_bo_wait+0xbc) [0x7f5276a6c44c] (EE) 12: /usr/lib64/libdrm_nouveau.so.2 (nouveau_pushbuf_space+0xde) [0x7f5276a6d85e] (EE) 13: /usr/lib64/xorg/modules/drivers/nouveau_drv.so (0x7f5276c71000+0x23b21) [0x7f5276c94b21] (EE) 14: /usr/lib64/xorg/modules/drivers/nouveau_drv.so (0x7f5276c71000+0x7c91) [0x7f5276c78c91] (EE) 15: /usr/lib64/xorg/modules/libexa.so (0x7f527642a000+0x9de4) [0x7f5276433de...
2016 Feb 20
2
[Bug 94225] New: Mesa crash with "nouveau" driver and Minetest
...kick_notify (push=0x8614038) at nvc0/nvc0_context.c:170 #5 0xb5b8a04e in pushbuf_submit (push=push at entry=0x8614038, chan=<optimized out>, chan=<optimized out>) at pushbuf.c:325 #6 0xb5b8a39a in pushbuf_flush (push=push at entry=0x8614038) at pushbuf.c:402 #7 0xb5b8ad27 in nouveau_pushbuf_space (push=push at entry=0x8614038, dwords=0, relocs=0, pushes=<optimized out>, pushes at entry=0) at pushbuf.c:676 #8 0xb5b8ade3 in pushbuf_validate (push=0x8614038, retry=<optimized out>) at pushbuf.c:492 #9 0xb5b8b13e in nouveau_pushbuf_validate (push=0x8614038) at pushbuf.c:74...
2013 Aug 11
10
[PATCH 00/10] Add support for MPEG2 and VC-1 on VP3/VP4 for NV98-NVAF
As it turns out, with the proprietary firmware, the VP3 and VP4 interfaces are identical. Furthermore, this is all already implemented for nvc0. So these patches (a) move the easily sharable bits of the nvc0 implementation into the nouveau directory, and then (b) implement the other parts in nv50. The non-shared parts are still largely copies, but there are some differences, not the least of which
2018 May 15
2
[Bug 106530] New: [Wayland+Nouveau] KDE Desktop crashed after login.
...ata (push=push at entry=0x564e651158c0, bo=0x564e65115a80, offset=19700, length=928) at pushbuf.c:727 #11 0x00007fe0a48a40f0 in nouveau_pushbuf_data (push=push at entry=0x564e651158c0, bo=bo at entry=0x0, offset=offset at entry=0, length=length at entry=0) at pushbuf.c:719 #12 0x00007fe0a48a4b4e in nouveau_pushbuf_space (push=push at entry=0x564e651158c0, dwords=dwords at entry=26, relocs=relocs at entry=0, pushes=<optimized out>, pushes at entry=0) at pushbuf.c:689 #13 0x00007fe0a50d05b6 in PUSH_SPACE (size=26, push=0x564e651158c0) at ./nouveau_winsys.h:31 #14 BEGIN_1IC0 (size=17, mthd=9100, subc=0, push=0x...