Lines Matching refs:screen
49 struct nv30_screen *screen = nv30_screen(pscreen); in nv30_screen_get_param() local
50 struct nouveau_object *eng3d = screen->eng3d; in nv30_screen_get_param()
134 struct nv30_screen *screen = nv30_screen(pscreen); in nv30_screen_get_paramf() local
135 struct nouveau_object *eng3d = screen->eng3d; in nv30_screen_get_paramf()
158 struct nv30_screen *screen = nv30_screen(pscreen); in nv30_screen_get_shader_param() local
159 struct nouveau_object *eng3d = screen->eng3d; in nv30_screen_get_shader_param()
272 struct nv30_screen *screen = nv30_screen(pscreen); in nv30_screen_fence_emit() local
273 struct nouveau_pushbuf *push = screen->base.pushbuf; in nv30_screen_fence_emit()
275 *sequence = ++screen->base.fence.sequence; in nv30_screen_fence_emit()
285 struct nv30_screen *screen = nv30_screen(pscreen); in nv30_screen_fence_update() local
286 struct nv04_notify *fence = screen->fence->data; in nv30_screen_fence_update()
287 return *(uint32_t *)((char *)screen->notify->map + fence->offset); in nv30_screen_fence_update()
293 struct nv30_screen *screen = nv30_screen(pscreen); in nv30_screen_destroy() local
295 if (screen->base.fence.current && in nv30_screen_destroy()
296 screen->base.fence.current->state >= NOUVEAU_FENCE_STATE_EMITTED) { in nv30_screen_destroy()
297 nouveau_fence_wait(screen->base.fence.current); in nv30_screen_destroy()
298 nouveau_fence_ref (NULL, &screen->base.fence.current); in nv30_screen_destroy()
301 nouveau_object_del(&screen->query); in nv30_screen_destroy()
302 nouveau_object_del(&screen->fence); in nv30_screen_destroy()
303 nouveau_object_del(&screen->ntfy); in nv30_screen_destroy()
305 nouveau_object_del(&screen->sifm); in nv30_screen_destroy()
306 nouveau_object_del(&screen->swzsurf); in nv30_screen_destroy()
307 nouveau_object_del(&screen->surf2d); in nv30_screen_destroy()
308 nouveau_object_del(&screen->m2mf); in nv30_screen_destroy()
309 nouveau_object_del(&screen->eng3d); in nv30_screen_destroy()
310 nouveau_object_del(&screen->null); in nv30_screen_destroy()
312 nouveau_screen_fini(&screen->base); in nv30_screen_destroy()
313 FREE(screen); in nv30_screen_destroy()
326 struct nv30_screen *screen = CALLOC_STRUCT(nv30_screen); in nv30_screen_create() local
333 if (!screen) in nv30_screen_create()
367 pscreen = &screen->base.base; in nv30_screen_create()
376 screen->base.fence.emit = nv30_screen_fence_emit; in nv30_screen_create()
377 screen->base.fence.update = nv30_screen_fence_update; in nv30_screen_create()
379 ret = nouveau_screen_init(&screen->base, dev); in nv30_screen_create()
383 screen->base.vidmem_bindings |= PIPE_BIND_VERTEX_BUFFER; in nv30_screen_create()
384 screen->base.sysmem_bindings |= PIPE_BIND_VERTEX_BUFFER; in nv30_screen_create()
386 screen->base.vidmem_bindings |= PIPE_BIND_INDEX_BUFFER; in nv30_screen_create()
387 screen->base.sysmem_bindings |= PIPE_BIND_INDEX_BUFFER; in nv30_screen_create()
390 fifo = screen->base.channel->data; in nv30_screen_create()
391 push = screen->base.pushbuf; in nv30_screen_create()
394 ret = nouveau_object_new(screen->base.channel, 0x00000000, NV01_NULL_CLASS, in nv30_screen_create()
395 NULL, 0, &screen->null); in nv30_screen_create()
404 ret = nouveau_object_new(screen->base.channel, 0xbeef1e00, in nv30_screen_create()
407 &screen->fence); in nv30_screen_create()
412 ret = nouveau_object_new(screen->base.channel, 0xbeef0301, in nv30_screen_create()
415 &screen->ntfy); in nv30_screen_create()
423 ret = nouveau_object_new(screen->base.channel, 0xbeef0351, in nv30_screen_create()
426 &screen->query); in nv30_screen_create()
430 ret = nouveau_heap_init(&screen->query_heap, 0, 4096 - 128); in nv30_screen_create()
434 LIST_INITHEAD(&screen->queries); in nv30_screen_create()
440 nouveau_heap_init(&screen->vp_exec_heap, 0, 256); in nv30_screen_create()
441 nouveau_heap_init(&screen->vp_data_heap, 6, 256 - 6); in nv30_screen_create()
443 nouveau_heap_init(&screen->vp_exec_heap, 0, 512); in nv30_screen_create()
444 nouveau_heap_init(&screen->vp_data_heap, 6, 468 - 6); in nv30_screen_create()
447 ret = nouveau_bo_wrap(screen->base.device, fifo->notify, &screen->notify); in nv30_screen_create()
449 nouveau_bo_map(screen->notify, 0, screen->base.client); in nv30_screen_create()
453 ret = nouveau_object_new(screen->base.channel, 0xbeef3097, oclass, in nv30_screen_create()
454 NULL, 0, &screen->eng3d); in nv30_screen_create()
459 PUSH_DATA (push, screen->eng3d->handle); in nv30_screen_create()
461 PUSH_DATA (push, screen->ntfy->handle); in nv30_screen_create()
465 PUSH_DATA (push, screen->null->handle); /* UNK190 */ in nv30_screen_create()
470 PUSH_DATA (push, screen->fence->handle); /* FENCE */ in nv30_screen_create()
471 PUSH_DATA (push, screen->query->handle); /* QUERY - intr 0x80 if nullobj */ in nv30_screen_create()
472 PUSH_DATA (push, screen->null->handle); /* UNK1AC */ in nv30_screen_create()
473 PUSH_DATA (push, screen->null->handle); /* UNK1B0 */ in nv30_screen_create()
474 if (screen->eng3d->oclass < NV40_3D_CLASS) { in nv30_screen_create()
525 ret = nouveau_object_new(screen->base.channel, 0xbeef3901, NV03_M2MF_CLASS, in nv30_screen_create()
526 NULL, 0, &screen->m2mf); in nv30_screen_create()
531 PUSH_DATA (push, screen->m2mf->handle); in nv30_screen_create()
533 PUSH_DATA (push, screen->ntfy->handle); in nv30_screen_create()
535 ret = nouveau_object_new(screen->base.channel, 0xbeef6201, in nv30_screen_create()
536 NV10_SURFACE_2D_CLASS, NULL, 0, &screen->surf2d); in nv30_screen_create()
541 PUSH_DATA (push, screen->surf2d->handle); in nv30_screen_create()
543 PUSH_DATA (push, screen->ntfy->handle); in nv30_screen_create()
550 ret = nouveau_object_new(screen->base.channel, 0xbeef5201, oclass, in nv30_screen_create()
551 NULL, 0, &screen->swzsurf); in nv30_screen_create()
556 PUSH_DATA (push, screen->swzsurf->handle); in nv30_screen_create()
558 PUSH_DATA (push, screen->ntfy->handle); in nv30_screen_create()
565 ret = nouveau_object_new(screen->base.channel, 0xbeef7701, oclass, in nv30_screen_create()
566 NULL, 0, &screen->sifm); in nv30_screen_create()
571 PUSH_DATA (push, screen->sifm->handle); in nv30_screen_create()
573 PUSH_DATA (push, screen->ntfy->handle); in nv30_screen_create()
579 nouveau_fence_new(&screen->base, &screen->base.fence.current, FALSE); in nv30_screen_create()