nouveau_winsys.h revision beb3d030a1a23b827535e7c5845e53f9a77e716a
1#ifndef NOUVEAU_WINSYS_H 2#define NOUVEAU_WINSYS_H 3 4#include <stdint.h> 5#include "pipe/p_defines.h" 6 7#include "nouveau/nouveau_bo.h" 8#include "nouveau/nouveau_channel.h" 9#include "nouveau/nouveau_device.h" 10#include "nouveau/nouveau_grobj.h" 11#include "nouveau/nouveau_notifier.h" 12#include "nouveau/nouveau_resource.h" 13#include "nouveau/nouveau_pushbuf.h" 14 15static INLINE uint32_t 16nouveau_screen_transfer_flags(unsigned pipe) 17{ 18 uint32_t flags = 0; 19 20 if (pipe & PIPE_TRANSFER_READ) 21 flags |= NOUVEAU_BO_RD; 22 if (pipe & PIPE_TRANSFER_WRITE) 23 flags |= NOUVEAU_BO_WR; 24 if (pipe & PIPE_TRANSFER_DISCARD) 25 flags |= NOUVEAU_BO_INVAL; 26 if (pipe & PIPE_TRANSFER_UNSYNCHRONIZED) 27 flags |= NOUVEAU_BO_NOSYNC; 28 else if (pipe & PIPE_TRANSFER_DONTBLOCK) 29 flags |= NOUVEAU_BO_NOWAIT; 30 31 return flags; 32} 33 34extern struct pipe_screen * 35nvfx_screen_create(struct pipe_winsys *ws, struct nouveau_device *); 36 37extern struct pipe_screen * 38nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *); 39 40#endif 41