Displaying 13 results from an estimated 13 matches for "nvpb".
Did you mean:
nvfb
2010 Jan 29
2
[PATCH 1/2] libdrm/nouveau: new optimized libdrm pushbuffer ABI
..._bo.c
index 10cc8a6..ac1b37f 100644
--- a/nouveau/nouveau_bo.c
+++ b/nouveau/nouveau_bo.c
@@ -565,7 +565,7 @@ nouveau_bo_pending(struct nouveau_bo *bo)
struct drm_nouveau_gem_pushbuf_bo *
nouveau_bo_emit_buffer(struct nouveau_channel *chan, struct nouveau_bo *bo)
{
- struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(chan->pushbuf);
+ struct nouveau_pushbuf_priv *nvpb = &nouveau_channel(chan)->pb;
struct nouveau_bo_priv *nvbo = nouveau_bo(bo);
struct drm_nouveau_gem_pushbuf_bo *pbbo;
struct nouveau_bo *ref = NULL;
diff --git a/nouveau/nouveau_channel.h b/nouveau/nouveau_channel...
2015 Nov 02
2
help with push
...02 14:44 GMT-03:00 Ilia Mirkin <imirkin at alum.mit.edu>:
> See libdrm's pushbuf.c -- iirc push->cur points to a GART-mapped bo.
>
> http://cgit.freedesktop.org/mesa/drm/tree/nouveau/pushbuf.c#n682
>
> nouveau_pushbuf_data(push, NULL, 0, 0);
> nouveau_bo_ref(bo, &nvpb->bo);
> nouveau_bo_ref(NULL, &bo);
>
> nvpb->bgn = nvpb->bo->map;
> nvpb->ptr = nvpb->bgn;
> push->cur = nvpb->bgn;
> push->end = push->cur + (nvpb->bo->size / 4);
> push->end -= 2 + push->rsvd_kick; /* space for suffix */
>
>...
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 =
2018 Jan 11
0
[PATCH libdrm] nouveau: Support fence FDs
...pushbuf_dump(struct nouveau_pushbuf_krec *krec, int krec_id, int chid)
}
static int
-pushbuf_submit(struct nouveau_pushbuf *push, struct nouveau_object *chan)
+pushbuf_submit(struct nouveau_pushbuf *push, struct nouveau_object *chan,
+ int *fence)
{
struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
struct nouveau_pushbuf_krec *krec = nvpb->list;
@@ -315,9 +317,9 @@ pushbuf_submit(struct nouveau_pushbuf *push, struct nouveau_object *chan)
struct nouveau_drm *drm = nouveau_drm(&dev->object);
struct drm_nouveau_gem_pushbuf_bo_presumed *info;
struct drm_...
2015 Nov 02
0
help with push
See libdrm's pushbuf.c -- iirc push->cur points to a GART-mapped bo.
http://cgit.freedesktop.org/mesa/drm/tree/nouveau/pushbuf.c#n682
nouveau_pushbuf_data(push, NULL, 0, 0);
nouveau_bo_ref(bo, &nvpb->bo);
nouveau_bo_ref(NULL, &bo);
nvpb->bgn = nvpb->bo->map;
nvpb->ptr = nvpb->bgn;
push->cur = nvpb->bgn;
push->end = push->cur + (nvpb->bo->size / 4);
push->end -= 2 + push->rsvd_kick; /* space for suffix */
Not sure what problem you're trying to...
2015 Nov 02
0
help with push
...lt;imirkin at alum.mit.edu>:
>>
>> See libdrm's pushbuf.c -- iirc push->cur points to a GART-mapped bo.
>>
>> http://cgit.freedesktop.org/mesa/drm/tree/nouveau/pushbuf.c#n682
>>
>> nouveau_pushbuf_data(push, NULL, 0, 0);
>> nouveau_bo_ref(bo, &nvpb->bo);
>> nouveau_bo_ref(NULL, &bo);
>>
>> nvpb->bgn = nvpb->bo->map;
>> nvpb->ptr = nvpb->bgn;
>> push->cur = nvpb->bgn;
>> push->end = push->cur + (nvpb->bo->size / 4);
>> push->end -= 2 + push->rsvd_kick; /* s...
2015 Nov 26
0
[libdrm 08/13] nouveau: make use of nouveau_drm::fd instead of nouveau_device::fd
...veau_device {
struct nouveau_object object;
diff --git a/nouveau/pushbuf.c b/nouveau/pushbuf.c
index 8e7dcdf..035e301 100644
--- a/nouveau/pushbuf.c
+++ b/nouveau/pushbuf.c
@@ -312,6 +312,7 @@ pushbuf_submit(struct nouveau_pushbuf *push, struct nouveau_object *chan)
struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(push);
struct nouveau_pushbuf_krec *krec = nvpb->list;
struct nouveau_device *dev = push->client->device;
+ struct nouveau_drm *drm = nouveau_drm(&dev->object);
struct drm_nouveau_gem_pushbuf_bo_presumed *info;
struct drm_nouveau_gem_pushbuf_bo *kref;
str...
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 27
14
[libdrm v2 01/14] nouveau: import and install a selection of nvif headers from the kernel
From: Ben Skeggs <bskeggs at redhat.com>
This commit also modifies the install path of the main libdrm_nouveau
header to be under a nouveau/ subdirectory.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
---
include/drm/nouveau_drm.h | 1 +
nouveau/Makefile.am | 11 +++-
nouveau/libdrm_nouveau.pc.in | 2 +-
nouveau/nvif/cl0080.h | 45 ++++++++++++++
2014 Jul 31
1
[libdrm PATCH 1/3] nouveau: Only export public functions.
...r, uint32_t size, bool immediate,
struct nouveau_pushbuf **ppush)
@@ -600,7 +600,7 @@ nouveau_pushbuf_new(struct nouveau_client *client, struct nouveau_object *chan,
return 0;
}
-void
+drm_public void
nouveau_pushbuf_del(struct nouveau_pushbuf **ppush)
{
struct nouveau_pushbuf_priv *nvpb = nouveau_pushbuf(*ppush);
@@ -626,7 +626,7 @@ nouveau_pushbuf_del(struct nouveau_pushbuf **ppush)
*ppush = NULL;
}
-struct nouveau_bufctx *
+drm_public struct nouveau_bufctx *
nouveau_pushbuf_bufctx(struct nouveau_pushbuf *push, struct nouveau_bufctx *ctx)
{
struct nouveau_bufctx *prev =...
2015 Nov 26
18
[libdrm 01/13] nouveau: move more abi16-specific logic into abi16.c
From: Ben Skeggs <bskeggs at redhat.com>
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
---
nouveau/abi16.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
nouveau/nouveau.c | 56 +++++++------------------------------------------
nouveau/private.h | 7 ++-----
3 files changed, 67 insertions(+), 58 deletions(-)
diff --git a/nouveau/abi16.c b/nouveau/abi16.c
index
2015 Dec 16
16
[libdrm v3 01/14] nouveau: import and install a selection of nvif headers from the kernel
From: Ben Skeggs <bskeggs at redhat.com>
This commit also modifies the install path of the main libdrm_nouveau
header to be under a nouveau/ subdirectory.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
---
include/drm/nouveau_drm.h | 1 +
nouveau/Makefile.am | 11 +++-
nouveau/libdrm_nouveau.pc.in | 2 +-
nouveau/nvif/cl0080.h | 45 ++++++++++++++
2012 Mar 14
13
[Bug 47306] New: segfault in nouveau_fence_update
https://bugs.freedesktop.org/show_bug.cgi?id=47306
Bug #: 47306
Summary: segfault in nouveau_fence_update
Classification: Unclassified
Product: xorg
Version: unspecified
Platform: x86 (IA32)
OS/Version: Linux (All)
Status: NEW
Severity: blocker
Priority: medium
Component: Driver/nouveau