summaryrefslogtreecommitdiff
path: root/intel.c
diff options
context:
space:
mode:
Diffstat (limited to 'intel.c')
-rw-r--r--intel.c81
1 files changed, 41 insertions, 40 deletions
diff --git a/intel.c b/intel.c
index b4aaa8e..d803f44 100644
--- a/intel.c
+++ b/intel.c
@@ -50,7 +50,7 @@ align_to(uint32_t value, uint32_t align)
}
static void
-nativeGetBuffers(EGLSurface surface, unsigned int *attachments, int count)
+intelGetBuffers(EGLSurface surface, unsigned int *attachments, int count)
{
EGLSurfaceNative nativeSurface = (EGLSurfaceNative) surface;
struct drm_i915_gem_create create;
@@ -114,7 +114,7 @@ nativeGetBuffers(EGLSurface surface, unsigned int *attachments, int count)
}
static EGLBoolean
-nativeDestroySurface(EGLDisplay display, EGLSurface surface)
+intelDestroySurface(EGLDisplay display, EGLSurface surface)
{
free(surface);
@@ -122,7 +122,7 @@ nativeDestroySurface(EGLDisplay display, EGLSurface surface)
}
static EGLBoolean
-nativeDRISwapBuffers(EGLDisplay display, EGLSurface surface)
+intelSwapBuffers(EGLDisplay display, EGLSurface surface)
{
EGLSurfaceNative nativeSurface = (EGLSurfaceNative) surface;
EGLContext context;
@@ -148,10 +148,43 @@ nativeDRISwapBuffers(EGLDisplay display, EGLSurface surface)
return EGL_TRUE;
}
-static const struct EagleBackend nativeDRIBackend = {
- nativeGetBuffers,
- nativeDRISwapBuffers,
- nativeDestroySurface,
+static EGLSurface
+intelCreateSurfaceForName(EGLDisplay display, EGLConfig config,
+ uint32_t name, uint32_t width,
+ uint32_t height, uint32_t stride, const EGLint *attribList)
+{
+ EGLSurfaceNative nativeSurface;
+ int i;
+
+ nativeSurface = malloc(sizeof *nativeSurface);
+ if (nativeSurface == NULL)
+ return NULL;
+
+ nativeSurface->backBuffer = EGL_FALSE;
+
+ nativeSurface->front.attachment = __DRI_BUFFER_FRONT_LEFT;
+ nativeSurface->front.name = name;
+ nativeSurface->front.pitch = stride;
+ nativeSurface->front.cpp = 4;
+ nativeSurface->front.flags = 0;
+ nativeSurface->frontHandle = 0;
+
+ eglInitSurface(&nativeSurface->base, display, config, width, height);
+
+ for (i = 0; attribList && attribList[i] != EGL_NONE; i += 2) {
+ if (attribList[i] == EGL_RENDER_BUFFER &&
+ attribList[i + 1] == EGL_BACK_BUFFER)
+ nativeSurface->backBuffer = EGL_TRUE;
+ }
+
+ return &nativeSurface->base;
+}
+
+static const struct EagleBackend intelBackend = {
+ intelGetBuffers,
+ intelSwapBuffers,
+ intelDestroySurface,
+ intelCreateSurfaceForName
};
static EGLDisplay
@@ -168,7 +201,7 @@ intelCreateDisplay(struct udev_device *device, const char *driver)
return NULL;
}
- display->backend = &nativeDRIBackend;
+ display->backend = &intelBackend;
return display;
}
@@ -184,35 +217,3 @@ i965CreateDisplay(struct udev_device *device)
{
return intelCreateDisplay(device, "i965");
}
-
-EGLSurface
-eglCreateSurfaceForName(EGLDisplay display, EGLConfig config,
- uint32_t name, uint32_t width,
- uint32_t height, uint32_t stride, const EGLint *attribList)
-{
- EGLSurfaceNative nativeSurface;
- int i;
-
- nativeSurface = malloc(sizeof *nativeSurface);
- if (nativeSurface == NULL)
- return NULL;
-
- nativeSurface->backBuffer = EGL_FALSE;
-
- nativeSurface->front.attachment = __DRI_BUFFER_FRONT_LEFT;
- nativeSurface->front.name = name;
- nativeSurface->front.pitch = stride;
- nativeSurface->front.cpp = 4;
- nativeSurface->front.flags = 0;
- nativeSurface->frontHandle = 0;
-
- eglInitSurface(&nativeSurface->base, display, config, width, height);
-
- for (i = 0; attribList && attribList[i] != EGL_NONE; i += 2) {
- if (attribList[i] == EGL_RENDER_BUFFER &&
- attribList[i + 1] == EGL_BACK_BUFFER)
- nativeSurface->backBuffer = EGL_TRUE;
- }
-
- return &nativeSurface->base;
-}