diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2010-01-21 21:47:42 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2010-01-21 21:47:42 -0500 |
commit | 0bdc1f71b7706f0139e835e205551f6e31beb9b3 (patch) | |
tree | 546f93b312a648fc70478ca911ad71b4a6e75476 /native.c | |
parent | 7b9db343f8e90bebcddcb9d7176d00b136c6acc4 (diff) |
Use INTEL_object_external and INTEL_context_none
Diffstat (limited to 'native.c')
-rw-r--r-- | native.c | 94 |
1 files changed, 0 insertions, 94 deletions
@@ -346,97 +346,3 @@ r300CreateDisplay(struct udev_device *device) { return nativeCreateDisplay(device, "r300", &radeonBackend.base); } - -EAGLE_EXPORT EGLSurface -eglCreateSurface(EGLDisplay display, EGLConfig config, - uint32_t width, uint32_t height, - uint32_t colorBufferCount, const EGLint *attribList) -{ - EGLSurfaceNative nativeSurface; - int i; - - if (colorBufferCount < 1 || colorBufferCount > 2) - return NULL; - - nativeSurface = malloc(sizeof *nativeSurface); - if (nativeSurface == NULL) - return NULL; - - nativeSurface->current = &nativeSurface->colorBuffers[0]; - nativeSurface->colorBufferCount = colorBufferCount; - for (i = 0; i < colorBufferCount; i++) { - nativeSurface->colorBufferHandles[i] = - intelCreateBuffer(display->fd, - width, - height, - &nativeSurface->colorBuffers[i]); - } - - eglInitSurface(&nativeSurface->base, display, config, width, height); - - return &nativeSurface->base; -} - -EAGLE_EXPORT EGLSurface -eglCreateSurfaceForName(EGLDisplay display, EGLConfig config, - uint32_t name, uint32_t width, - uint32_t height, uint32_t stride, const EGLint *attribList) -{ - EGLSurfaceNative nativeSurface; - struct drm_gem_open open_arg; - int ret; - - nativeSurface = malloc(sizeof *nativeSurface); - if (nativeSurface == NULL) - return NULL; - - nativeSurface->current = &nativeSurface->colorBuffers[0]; - nativeSurface->colorBufferCount = 1; - nativeSurface->colorBuffers[0].attachment = __DRI_BUFFER_FRONT_LEFT; - nativeSurface->colorBuffers[0].name = name; - nativeSurface->colorBuffers[0].pitch = stride; - nativeSurface->colorBuffers[0].cpp = 4; - nativeSurface->colorBuffers[0].flags = 0; - - open_arg.name = name; - ret = ioctl(display->fd, DRM_IOCTL_GEM_OPEN, &open_arg); - if (ret < 0) { - free(nativeSurface); - return NULL; - } - nativeSurface->colorBufferHandles[0] = open_arg.handle; - - eglInitSurface(&nativeSurface->base, display, config, width, height); - - return &nativeSurface->base; -} - -EAGLE_EXPORT EGLBoolean -eglGetColorBuffer(EGLSurface surface, uint32_t index, - uint32_t *name, uint32_t *handle, uint32_t *stride) -{ - EGLSurfaceNative nativeSurface = (EGLSurfaceNative) surface; - - if (index >= nativeSurface->colorBufferCount) - return EGL_FALSE; - - *name = nativeSurface->colorBuffers[index].name; - *handle = nativeSurface->colorBufferHandles[index]; - *stride = nativeSurface->colorBuffers[index].pitch; - - return EGL_TRUE; -} - -EAGLE_EXPORT EGLBoolean -eglBindColorBuffer(EGLDisplay display, EGLSurface surface, uint32_t index) -{ - EGLSurfaceNative nativeSurface = (EGLSurfaceNative) surface; - - if (index >= nativeSurface->colorBufferCount) - return EGL_FALSE; - - display->flush->flushInvalidate(surface->driDrawable); - nativeSurface->current = &nativeSurface->colorBuffers[index]; - - return EGL_TRUE; -} |