Lines Matching refs:ibuf
224 struct vmwgfx_int_dmabuf *ibuf;
227 ibuf = calloc(1, sizeof(*ibuf));
228 if (!ibuf)
231 buf = &ibuf->buf;
240 ibuf = vmwgfx_int_dmabuf(buf);
241 ibuf->map_handle = arg.rep.map_handle;
242 ibuf->drm_fd = drm_fd;
257 struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
259 if (ibuf->addr)
260 return ibuf->addr;
262 ibuf->addr = mmap(NULL, buf->size, PROT_READ | PROT_WRITE, MAP_SHARED,
263 ibuf->drm_fd, ibuf->map_handle);
265 if (ibuf->addr == MAP_FAILED) {
266 ibuf->addr = NULL;
270 ibuf->map_count++;
271 return ibuf->addr;
277 struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
279 if (--ibuf->map_count)
292 struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
295 if (ibuf->addr) {
296 munmap(ibuf->addr, buf->size);
297 ibuf->addr = NULL;
303 (void) drmCommandWrite(ibuf->drm_fd, DRM_VMW_UNREF_DMABUF, &arg,
322 struct vmwgfx_int_dmabuf *ibuf = vmwgfx_int_dmabuf(buf);
398 ret = drmCommandWrite(ibuf->drm_fd, DRM_VMW_EXECBUF, &arg, sizeof(arg));
407 ret = vmwgfx_fence_wait(ibuf->drm_fd, rep.handle, TRUE);
412 vmwgfx_fence_unref(ibuf->drm_fd, rep.handle);