search for: nv04_notify

Displaying 12 results from an estimated 12 matches for "nv04_notify".

2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
...@@ -300,10 +303,14 @@ nv30_screen_fence_emit(struct pipe_screen *pscreen, uint32_t *sequence) } static uint32_t -nv30_screen_fence_update(struct pipe_screen *pscreen) +nv30_screen_fence_update(struct nouveau_fence_mgr *mgr) { - struct nv30_screen *screen = nv30_screen(pscreen); - struct nv04_notify *fence = screen->fence->data; + struct nv30_screen *screen = NULL; + struct nv04_notify *fence; + + screen = container_of(mgr, screen, base.fence); + fence = screen->fence->data; + return *(uint32_t *)((char *)screen->notify->map + fence->offset); } @@ -404,6 +41...
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
.../nv30_query.c index 01b3817..6b27267 100644 --- a/src/gallium/drivers/nouveau/nv30/nv30_query.c +++ b/src/gallium/drivers/nouveau/nv30/nv30_query.c @@ -39,7 +39,7 @@ struct nv30_query_object { static volatile void * nv30_ntfy(struct nv30_screen *screen, struct nv30_query_object *qo) { - struct nv04_notify *query = screen->query->data; + struct nv04_notify *query = screen->ntfy->data; struct nouveau_bo *notify = screen->notify; volatile void *ntfy = NULL; @@ -76,6 +76,10 @@ nv30_query_object_new(struct nv30_screen *screen) * spin waiting for one to become free */...
2014 Jun 16
2
[PATCH 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
...@ -300,10 +303,14 @@ nv30_screen_fence_emit(struct pipe_screen *pscreen, uint32_t *sequence) } static uint32_t -nv30_screen_fence_update(struct pipe_screen *pscreen) +nv30_screen_fence_update(struct nouveau_fence_mgr *mgr) { - struct nv30_screen *screen = nv30_screen(pscreen); - struct nv04_notify *fence = screen->fence->data; + struct nv30_screen *screen = NULL; + struct nv04_notify *fence; + + screen = container_of(mgr, screen, base.fence); + fence = screen->fence->data; + return *(uint32_t *)((char *)screen->notify->map + fence->offset); } @@ -404,6...
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...7 100644 > --- a/src/gallium/drivers/nouveau/nv30/nv30_query.c > +++ b/src/gallium/drivers/nouveau/nv30/nv30_query.c > @@ -39,7 +39,7 @@ struct nv30_query_object { > static volatile void * > nv30_ntfy(struct nv30_screen *screen, struct nv30_query_object *qo) > { > - struct nv04_notify *query = screen->query->data; > + struct nv04_notify *query = screen->ntfy->data; > struct nouveau_bo *notify = screen->notify; > volatile void *ntfy = NULL; > > @@ -76,6 +76,10 @@ nv30_query_object_new(struct nv30_screen *screen) > * spin waiting for...
2015 Dec 16
0
[libdrm v3 13/14] nouveau: clean up nouveau.h, noting deprecated members/functions
..._PPP 0x00000004 -#define NVE0_FIFO_ENGINE_BSP 0x00000008 -#define NVE0_FIFO_ENGINE_CE0 0x00000010 -#define NVE0_FIFO_ENGINE_CE1 0x00000020 -#define NVE0_FIFO_ENGINE_ENC 0x00000040 - -struct nve0_fifo { - struct { - struct nouveau_fifo base; - uint32_t notify; - }; - uint32_t engine; -}; - -struct nv04_notify { - struct nouveau_object *object; - uint32_t offset; - uint32_t length; -}; - -/* Supported class information, provided by the kernel */ -struct nouveau_sclass { - int32_t oclass; - int minver; - int maxver; -}; - -/* Client-provided array describing class versions that are desired. - * - * These...
2014 May 22
1
nouveau_object_new beginner question
I'm sorry for this beginner question but I can't understand. File ../nouveau/nouveau.c, function nouveau_object_new. Assuming data has content. First, obj->data = obj + 1. This is perfect after the memcpy call. But when: *(struct nouveau_object **)obj->data = obj; I can't understand because now obj and obj->data has the same address, while previously obj->data pointed
2015 Nov 26
0
[libdrm 05/13] nouveau: add interfaces to query information about supported classes
...+ } + } + } + + nouveau_object_sclass_put(&sclass); + return ret; +} + static void nouveau_object_fini(struct nouveau_object *obj) { diff --git a/nouveau/nouveau.h b/nouveau/nouveau.h index 4c95409..9f774ab 100644 --- a/nouveau/nouveau.h +++ b/nouveau/nouveau.h @@ -63,12 +63,29 @@ struct nv04_notify { uint32_t length; }; +struct nouveau_sclass { + int32_t oclass; + int minver; + int maxver; +}; + +struct nouveau_mclass { + int32_t oclass; + int version; + void *data; +}; + int nouveau_object_new(struct nouveau_object *parent, uint64_t handle, uint32_t oclass, void *data, uint32_t le...
2015 Nov 26
18
[libdrm 01/13] nouveau: move more abi16-specific logic into abi16.c
...ct *obj) return 0; } -drm_private int +static int abi16_engobj(struct nouveau_object *obj) { struct drm_nouveau_grobj_alloc req = { @@ -125,7 +125,7 @@ abi16_engobj(struct nouveau_object *obj) return 0; } -drm_private int +static int abi16_ntfy(struct nouveau_object *obj) { struct nv04_notify *ntfy = obj->data; @@ -149,6 +149,58 @@ abi16_ntfy(struct nouveau_object *obj) } drm_private void +abi16_delete(struct nouveau_object *obj) +{ + struct nouveau_device *dev = + nouveau_object_find(obj, NOUVEAU_DEVICE_CLASS); + if (obj->oclass == NOUVEAU_FIFO_CHANNEL_CLASS) { + struct drm...
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 ++++++++++++++
2015 Jun 22
12
[RFC PATCH 0/8] nv50: expose global performance counters
Hello there, This series exposes NVIDIA's global performance counters for Tesla through the Gallium's HUD and the GL_AMD_performance_monitor extension. This adds support for 24 hardware events which have been reverse engineered with PerfKit (Windows) and CUPTI (Linux). These hardware events will allow developers to profile OpenGL applications. To reduce latency and to improve accuracy,
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 ++++++++++++++
2015 Nov 26
0
[libdrm 08/13] nouveau: make use of nouveau_drm::fd instead of nouveau_device::fd
...LLOC, + ret = drmCommandWrite(drm->fd, DRM_NOUVEAU_GROBJ_ALLOC, &req, sizeof(req)); if (ret) return ret; @@ -129,17 +128,16 @@ abi16_engobj(struct nouveau_object *obj) static int abi16_ntfy(struct nouveau_object *obj) { + struct nouveau_drm *drm = nouveau_drm(obj); struct nv04_notify *ntfy = obj->data; struct drm_nouveau_notifierobj_alloc req = { .channel = obj->parent->handle, .handle = ntfy->object->handle, .size = ntfy->length, }; - struct nouveau_device *dev; int ret; - dev = nouveau_object_find(obj, NOUVEAU_DEVICE_CLASS); - ret = drmComma...