summaryrefslogtreecommitdiff
path: root/libdrm
diff options
context:
space:
mode:
Diffstat (limited to 'libdrm')
-rw-r--r--libdrm/xf86drmMode.c56
-rw-r--r--libdrm/xf86drmMode.h19
2 files changed, 25 insertions, 50 deletions
diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c
index 04fb07dc..b695467b 100644
--- a/libdrm/xf86drmMode.c
+++ b/libdrm/xf86drmMode.c
@@ -106,7 +106,7 @@ void drmModeFreeResources(drmModeResPtr ptr)
}
-void drmModeFreeFrameBuffer(drmModeFrameBufferPtr ptr)
+void drmModeFreeFB(drmModeFBPtr ptr)
{
if (!ptr)
return;
@@ -215,51 +215,33 @@ int drmModeRmFB(int fd, uint32_t bufferId)
return ioctl(fd, DRM_IOCTL_MODE_RMFB, bufferId);
}
-#if 0
-int drmModeForceProbe(int fd, uint32_t outputId)
+drmModeFBPtr drmModeGetFB(int fd, uint32_t buf)
{
- /* TODO impl/keep? */
-}
+ struct drm_mode_fb_cmd info;
+ drmModeFBPtr r;
-drmModeFrameBufferPtr drmModeGetFrameBuffer(int fd, uint32_t buf)
-{
-// struct drm_mode_fb_cmd info;
- drmModeFrameBufferPtr r;
+ info.buffer_id = buf;
- // if (ioctl(fd, DRM_IOCTL_MODE_GETFRAMEBUFFER, &info))
- return 0;
+ if (ioctl(fd, DRM_IOCTL_MODE_GETFB, &info))
+ return NULL;
if (!(r = drmMalloc(sizeof(*r))))
- return 0;
+ return NULL;
- /* TODO change to new code
- r->minWidth = info.minWidth;
- r->maxWidth = info.maxWidth;
- r->minHeight = info.minHeight;
- r->maxHeight = info.maxHeight;*/
+ r->buffer_id = info.buffer_id;
+ r->width = info.width;
+ r->height = info.height;
+ r->pitch = info.pitch;
+ r->bpp = info.bpp;
+ r->handle = info.handle;
+ r->depth = info.depth;
return r;
}
-
-uint32_t drmModeNewFrameBuffer(int fd, uint32_t width, uint32_t height,
- uint8_t bpp, uint32_t pitch, drmBO *bo)
-{
- drm_mode_fb_cmd_t f;
-
- f.handle = bo->handle;
- f.width = width;
- f.height = height;
- f.pitch = pitch;
-
- // if (ioctl(fd, DRM_IOCTL_MODE_NEWFRAMEBUFFER, &f))
- return 0;
-
- return f.bufferId;
-}
-
-int drmModeDesFrameBuffer(int fd, uint32_t bufferId)
+#if 0
+int drmModeForceProbe(int fd, uint32_t outputId)
{
- // return ioctl(fd, DRM_IOCTL_MODE_DESFRAMEBUFFER, bufferId);
+ /* TODO impl/keep? */
}
#endif
@@ -294,7 +276,7 @@ drmModeCrtcPtr drmModeGetCrtc(int fd, uint32_t crtcId)
r->mode = crtc.mode;
// r->width = crtc.width;
// r->height = crtc.height;
- r->bufferId = crtc.fb_id;
+ r->buffer_id = crtc.fb_id;
r->gamma_size = crtc.gamma_size;
r->count_outputs = crtc.count_outputs;
r->count_possibles = crtc.count_possibles;
diff --git a/libdrm/xf86drmMode.h b/libdrm/xf86drmMode.h
index cdc82f7d..6aa104a9 100644
--- a/libdrm/xf86drmMode.h
+++ b/libdrm/xf86drmMode.h
@@ -76,18 +76,11 @@ typedef struct _drmModeRes {
} drmModeRes, *drmModeResPtr;
-typedef struct _drmModeFrameBuffer {
-
- uint32_t width;
- uint32_t height;
- uint32_t pitch;
- uint8_t bpp;
-
-} drmModeFrameBuffer, *drmModeFrameBufferPtr;
+typedef struct drm_mode_fb_cmd drmModeFB, *drmModeFBPtr;
typedef struct _drmModeCrtc {
- unsigned int bufferId; /**< Buffer currently connected to */
+ unsigned int buffer_id; /**< FB id to connect to 0 = disconnect*/
uint32_t x, y; /**< Position on the frameuffer */
uint32_t width, height;
@@ -187,7 +180,7 @@ typedef struct _drmModeOutput {
extern void drmModeFreeModeInfo( struct drm_mode_modeinfo *ptr );
extern void drmModeFreeResources( drmModeResPtr ptr );
-extern void drmModeFreeFrameBuffer( drmModeFrameBufferPtr ptr );
+extern void drmModeFreeFB( drmModeFBPtr ptr );
extern void drmModeFreeCrtc( drmModeCrtcPtr ptr );
extern void drmModeFreeOutput( drmModeOutputPtr ptr );
@@ -209,14 +202,14 @@ extern int drmModeForceProbe(int fd, uint32_t outputId);
/**
* Retrive information about framebuffer bufferId
*/
-extern drmModeFrameBufferPtr drmModeGetFB(int fd,
- uint32_t bufferId);
+extern drmModeFBPtr drmModeGetFB(int fd, uint32_t bufferId);
/**
* Creates a new framebuffer with an buffer object as its scanout buffer.
*/
extern int drmModeAddFB(int fd, uint32_t width, uint32_t height, uint8_t depth,
- uint8_t bpp, uint32_t pitch, drmBO *bo, uint32_t *buf_id);
+ uint8_t bpp, uint32_t pitch, drmBO *bo,
+ uint32_t *buf_id);
/**
* Destroies the given framebuffer.
*/