search for: nouveau_pushbuf_kick

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

2015 Oct 10
2
[PATCH] nouveau: avoid emitting new fences unnecessarily
...EAU_FENCE_STATE_EMITTING); - if (fence->state < NOUVEAU_FENCE_STATE_EMITTED) + if (fence->state < NOUVEAU_FENCE_STATE_EMITTED) { + PUSH_SPACE(screen->pushbuf, 8); nouveau_fence_emit(fence); + } if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED) if (nouveau_pushbuf_kick(screen->pushbuf, screen->pushbuf->channel)) @@ -224,8 +226,12 @@ nouveau_fence_wait(struct nouveau_fence *fence) void nouveau_fence_next(struct nouveau_screen *screen) { - if (screen->fence.current->state < NOUVEAU_FENCE_STATE_EMITTING) - nouveau_fence_emit(screen->fe...
2018 Jan 11
0
[PATCH libdrm] nouveau: Support fence FDs
From: Thierry Reding <treding at nvidia.com> Add a new nouveau_pushbuf_kick_fence() function that takes and emits a sync fence FD. The fence FD can be waited on, or merged with other fence FDs, or passed back to the kernel as a prerequisite for a subsequent HW operation. Based heavily on work by Lauri Peltonen <lpeltonen at nvidia.com> Signed-off-by: Thierry Reding...
2015 Dec 16
0
[libdrm v3 13/14] nouveau: clean up nouveau.h, noting deprecated members/functions
...f *, struct nouveau_bo *, uint32_t data, uint32_t flags, uint32_t vor, uint32_t tor); -int nouveau_pushbuf_validate(struct nouveau_pushbuf *); +int nouveau_pushbuf_validate(struct nouveau_pushbuf *); uint32_t nouveau_pushbuf_refd(struct nouveau_pushbuf *, struct nouveau_bo *); -int nouveau_pushbuf_kick(struct nouveau_pushbuf *, struct nouveau_object *channel); +int nouveau_pushbuf_kick(struct nouveau_pushbuf *, struct nouveau_object *chan); struct nouveau_bufctx * nouveau_pushbuf_bufctx(struct nouveau_pushbuf *, struct nouveau_bufctx *); +#define NOUVEAU_DEVICE_CLASS 0x80000000 +#define...
2014 Jun 16
2
[PATCH 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
...*mgr = fence->mgr; uint32_t spins = 0; /* wtf, someone is waiting on a fence in flush_notify handler? */ @@ -193,19 +193,19 @@ nouveau_fence_wait(struct nouveau_fence *fence) nouveau_fence_emit(fence); if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED) - if (nouveau_pushbuf_kick(screen->pushbuf, screen->pushbuf->channel)) + if (mgr->flush(mgr)) return FALSE; - if (fence == screen->fence.current) - nouveau_fence_next(screen); + if (fence == mgr->current) + nouveau_fence_next(mgr); do { - nouveau_fence_update(sc...
2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
...ce_mgr *mgr = fence->mgr; uint32_t spins = 0; /* wtf, someone is waiting on a fence in flush_notify handler? */ @@ -193,19 +193,19 @@ nouveau_fence_wait(struct nouveau_fence *fence) nouveau_fence_emit(fence); if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED) - if (nouveau_pushbuf_kick(screen->pushbuf, screen->pushbuf->channel)) + if (mgr->flush(mgr)) return FALSE; - if (fence == screen->fence.current) - nouveau_fence_next(screen); + if (fence == mgr->current) + nouveau_fence_next(mgr); do { - nouveau_fence_update(screen...
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...e "nouveau_winsys.h" #include "nouveau_fence.h" @@ -30,6 +31,15 @@ #include <sched.h> #endif +int nouveau_context_fence_kick(struct nouveau_fence_mgr *mgr) +{ + struct nouveau_context *context = NULL; + + context = container_of(mgr, context, fence); + + return nouveau_pushbuf_kick(context->pushbuf, context->pushbuf->channel); +} + boolean nouveau_fence_new(struct nouveau_fence_mgr *mgr, struct nouveau_fence **fence, boolean emit) diff --git a/src/gallium/drivers/nouveau/nouveau_fence.h b/src/gallium/drivers/nouveau/nouveau_fence.h index cb44dd3....
2015 Feb 24
0
[PATCH 2/2] nouveau: Do not add most bo's to the global bo list.
...vice->fd, nvbo->base.handle, DRM_CLOEXEC, prime_fd); if (ret) return ret; - if (!nvbo->name) - nvbo->name = ~0; + + nouveau_bo_make_global(nvbo); return 0; } @@ -578,8 +577,8 @@ nouveau_bo_wait(struct nouveau_bo *bo, uint32_t access, if (push && push->channel) nouveau_pushbuf_kick(push, push->channel); - if (!nvbo->name && !(nvbo->access & NOUVEAU_BO_WR) && - !( access & NOUVEAU_BO_WR)) + if (!nvbo->head.next && !(nvbo->access & NOUVEAU_BO_WR) && + !(access & NOUVEAU_BO_WR)) return 0; req.ha...
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...ence.h" > > @@ -30,6 +31,15 @@ > #include <sched.h> > #endif > > +int nouveau_context_fence_kick(struct nouveau_fence_mgr *mgr) > +{ > + struct nouveau_context *context = NULL; > + > + context = container_of(mgr, context, fence); > + > + return nouveau_pushbuf_kick(context->pushbuf, context->pushbuf->channel); > +} > + > boolean > nouveau_fence_new(struct nouveau_fence_mgr *mgr, struct nouveau_fence **fence, > boolean emit) > diff --git a/src/gallium/drivers/nouveau/nouveau_fence.h b/src/gallium/drivers/nouveau/...
2013 Nov 30
1
[PATCH 1/2] nouveau: avoid leaking fences while waiting
...MITTED) nouveau_fence_emit(fence); - if (fence == screen->fence.current) - nouveau_fence_new(screen, &screen->fence.current, FALSE); - } - if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED) { + if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED) if (nouveau_pushbuf_kick(screen->pushbuf, screen->pushbuf->channel)) return FALSE; - } + + if (fence == screen->fence.current) + nouveau_fence_next(screen); do { nouveau_fence_update(screen, FALSE); -- 1.8.3.2
2012 May 23
1
[PATCH (nouveau)] Add xwayland support
...XORG_WAYLAND + pScrn->driverPrivate = xwl_screen; +#endif + xf86SetEntitySharable(entity_num); pEnt = xf86GetEntityInfo(entity_num); @@ -376,6 +438,11 @@ NVFlushCallback(CallbackListPtr *list, pointer user_data, pointer call_data) if (pScrn->vtSema && !pNv->NoAccel) nouveau_pushbuf_kick(pNv->pushbuf, pNv->pushbuf->channel); +#ifdef XORG_WAYLAND + if (pNv->xwl_screen) + xwl_screen_post_damage(pNv->xwl_screen); +#endif + } static void @@ -399,6 +466,11 @@ NVBlockHandler ( if (pNv->VideoTimerCallback) (*pNv->VideoTimerCallback)(pScrn, currentTime.mi...
2014 May 20
14
[PATCH 00/12] Cherry-pick nv50/nvc0 patches from gallium-nine
I went through the gallium-nine tree and picked out nouveau patches that are general bug-fixes. The first bunch I'd like to also get into 10.2. I've reviewed all of them and they make sense to me, but sending them out for public review as well in case there are any objections. Unless I hear objections, I'd like to push this by Friday. Christoph Bumiller (11): nv50,nvc0: always pull
2014 Jul 31
1
[libdrm PATCH 1/3] nouveau: Only export public functions.
...rue); } -uint32_t +drm_public uint32_t nouveau_pushbuf_refd(struct nouveau_pushbuf *push, struct nouveau_bo *bo) { struct drm_nouveau_gem_pushbuf_bo *kref; @@ -766,7 +766,7 @@ nouveau_pushbuf_refd(struct nouveau_pushbuf *push, struct nouveau_bo *bo) return flags; } -int +drm_public int nouveau_pushbuf_kick(struct nouveau_pushbuf *push, struct nouveau_object *chan) { if (!push->channel) -- 2.0.0
2013 Jul 22
0
[RFC PATCH] Support running nested in a Mir compositor
..._ARGS_DECL) { @@ -516,6 +628,11 @@ NVBlockHandler (BLOCKHANDLER_ARGS_DECL) nouveau_dirty_update(pScreen); #endif +#ifdef XMIR + if (pNv->xmir) + xmir_screen_for_each_damaged_window(pNv->xmir, nouveau_submit_dirty_window); +#endif + if (pScrn->vtSema && !pNv->NoAccel) nouveau_pushbuf_kick(pNv->pushbuf, pNv->pushbuf->channel); @@ -535,7 +652,10 @@ NVCreateScreenResources(ScreenPtr pScreen) return FALSE; pScreen->CreateScreenResources = NVCreateScreenResources; - drmmode_fbcon_copy(pScreen); + if (!xorgMir) + drmmode_fbcon_copy(pScreen); + else if (!xf86SetDesire...
2013 Aug 28
11
[Bug 68665] New: Crashing games when set AA to x2 on GTX760
...hat.com/show_bug.cgi?id=1001698 https://bugzilla.redhat.com/show_bug.cgi?id=1001740 I see always problem w/ pushbuf_dump. It's crashing w/ SIGSEGV. The same of: Thread no. 1 (10 frames) #0 pushbuf_dump at pushbuf.c:296 #1 pushbuf_submit at pushbuf.c:361 #2 pushbuf_flush at pushbuf.c:402 #3 nouveau_pushbuf_kick at pushbuf.c:773 #4 PUSH_KICK at ../../../../src/gallium/drivers/nouveau/nouveau_winsys.h:56 #5 nvc0_flush at nvc0_context.c:45 #6 st_glFlush at ../../src/mesa/state_tracker/st_cb_flush.c:121 #7 _mesa_make_current at ../../src/mesa/main/context.c:1455 #8 st_api_make_current at ../../src/mesa/s...
2012 Jul 04
0
[PATCH] Add xwayland support (v2)
...) { + ret = 0; + } else { + ret = drmDropMaster(pNv->dev->fd); + } if (ret) ErrorF("Error dropping master: %d\n", ret); } @@ -374,6 +428,9 @@ NVFlushCallback(CallbackListPtr *list, pointer user_data, pointer call_data) if (pScrn->vtSema && !pNv->NoAccel) nouveau_pushbuf_kick(pNv->pushbuf, pNv->pushbuf->channel); + if (pNv->xwl_screen) + xwl_screen_post_damage(pNv->xwl_screen); + } static void @@ -392,6 +449,9 @@ NVBlockHandler (BLOCKHANDLER_ARGS_DECL) if (pNv->VideoTimerCallback) (*pNv->VideoTimerCallback)(pScrn, currentTime.milliseco...
2015 Aug 14
15
[Bug 91632] New: Crash in nouveau
...hbuf.c:718 #6 0x00007fffe1d762ea in pushbuf_submit (push=push at entry=0x598d40, chan=<optimized out>, chan=<optimized out>) at ../../nouveau/pushbuf.c:329 #7 0x00007fffe1d7656e in pushbuf_flush (push=push at entry=0x598d40) at ../../nouveau/pushbuf.c:404 #8 0x00007fffe1d77180 in nouveau_pushbuf_kick (push=0x598d40, chan=<optimized out>) at ../../nouveau/pushbuf.c:778 #9 0x00007fffe246d766 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so #10 0x00007fffe2182024 in ?? () from /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so <snip> #15 0x00007ffff1cda345 in glXMakeCurrentReadSGI...
2015 Feb 26
4
[PATCH v2 1/4] Add atomic_inc_return to atomics.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at ubuntu.com> --- xf86atomic.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xf86atomic.h b/xf86atomic.h index 8c4b696..17fb088 100644 --- a/xf86atomic.h +++ b/xf86atomic.h @@ -49,6 +49,7 @@ typedef struct { # define atomic_read(x) ((x)->atomic) # define atomic_set(x, val) ((x)->atomic = (val)) # define atomic_inc(x)
2012 May 10
12
[Bug 49727] New: wine 1.5.2 and 3Dmark2001se displays only black screen with FPS, on nv43/AGP
https://bugs.freedesktop.org/show_bug.cgi?id=49727 Bug #: 49727 Summary: wine 1.5.2 and 3Dmark2001se displays only black screen with FPS, on nv43/AGP Classification: Unclassified Product: Mesa Version: git Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal
2014 Sep 26
14
[RFC] Explicit synchronization for Nouveau
Hi guys, I'd like to start a new thread about explicit fence synchronization. This time with a Nouveau twist. :-) First, let me define what I understand by implicit/explicit sync: Implicit synchronization * Fences are attached to buffers * Kernel manages fences automatically based on buffer read/write access Explicit synchronization * Fences are passed around independently * Kernel takes
2015 Nov 26
9
[mesa 1/9] nouveau: bump required libdrm version to 2.4.66
From: Ben Skeggs <bskeggs at redhat.com> Signed-off-by: Ben Skeggs <bskeggs at redhat.com> --- 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=2.4.63 LIBDRM_INTEL_REQUIRED=2.4.61