summaryrefslogtreecommitdiff
path: root/cogl/driver/drm/cogl-texture-2d-drm-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'cogl/driver/drm/cogl-texture-2d-drm-private.h')
-rw-r--r--cogl/driver/drm/cogl-texture-2d-drm-private.h118
1 files changed, 118 insertions, 0 deletions
diff --git a/cogl/driver/drm/cogl-texture-2d-drm-private.h b/cogl/driver/drm/cogl-texture-2d-drm-private.h
new file mode 100644
index 00000000..2f7cfaaf
--- /dev/null
+++ b/cogl/driver/drm/cogl-texture-2d-drm-private.h
@@ -0,0 +1,118 @@
+/*
+ * Cogl
+ *
+ * An object oriented GL/GLES Abstraction/Utility Layer
+ *
+ * Copyright (C) 2012 Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ *
+ *
+ * Authors:
+ * Robert Bragg <robert@linux.intel.com>
+ */
+
+#ifndef _COGL_TEXTURE_2D_NOP_PRIVATE_H_
+#define _COGL_TEXTURE_2D_NOP_PRIVATE_H_
+
+#include "cogl-types.h"
+#include "cogl-context-private.h"
+#include "cogl-texture.h"
+
+void
+_cogl_texture_2d_drm_free (CoglTexture2D *tex_2d);
+
+CoglBool
+_cogl_texture_2d_drm_can_create (CoglContext *ctx,
+ int width,
+ int height,
+ CoglPixelFormat internal_format);
+
+void
+_cogl_texture_2d_drm_init (CoglTexture2D *tex_2d);
+
+CoglTexture2D *
+_cogl_texture_2d_drm_new_with_size (CoglContext *ctx,
+ int width,
+ int height,
+ CoglPixelFormat internal_format,
+ CoglError **error);
+CoglBool
+_cogl_texture_2d_drm_allocate (CoglTexture *tex,
+ CoglError **error);
+
+CoglTexture2D *
+_cogl_texture_2d_drm_new_from_bitmap (CoglBitmap *bmp,
+ CoglPixelFormat internal_format,
+ CoglError **error);
+
+#if defined (COGL_HAS_EGL_SUPPORT) && defined (EGL_KHR_image_base)
+CoglTexture2D *
+_cogl_egl_texture_2d_drm_new_from_image (CoglContext *ctx,
+ int width,
+ int height,
+ CoglPixelFormat format,
+ EGLImageKHR image,
+ CoglError **error);
+#endif
+
+void
+_cogl_texture_2d_drm_flush_legacy_texobj_filters (CoglTexture *tex,
+ GLenum min_filter,
+ GLenum mag_filter);
+
+void
+_cogl_texture_2d_drm_flush_legacy_texobj_wrap_modes (CoglTexture *tex,
+ GLenum wrap_mode_s,
+ GLenum wrap_mode_t,
+ GLenum wrap_mode_p);
+
+void
+_cogl_texture_2d_drm_copy_from_framebuffer (CoglTexture2D *tex_2d,
+ int src_x,
+ int src_y,
+ int width,
+ int height,
+ CoglFramebuffer *src_fb,
+ int dst_x,
+ int dst_y,
+ int level);
+
+unsigned int
+_cogl_texture_2d_drm_get_gl_handle (CoglTexture2D *tex_2d);
+
+void
+_cogl_texture_2d_drm_generate_mipmap (CoglTexture2D *tex_2d);
+
+CoglBool
+_cogl_texture_2d_drm_copy_from_bitmap (CoglTexture2D *tex_2d,
+ int src_x,
+ int src_y,
+ int width,
+ int height,
+ CoglBitmap *bitmap,
+ int dst_x,
+ int dst_y,
+ int level,
+ CoglError **error);
+
+void
+_cogl_texture_2d_drm_get_data (CoglTexture2D *tex_2d,
+ CoglPixelFormat format,
+ size_t rowstride,
+ uint8_t *data);
+
+#endif /* _COGL_TEXTURE_2D_NOP_PRIVATE_H_ */