summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/ecore_drm/ecore_drm_fb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/ecore_drm/ecore_drm_fb.c b/src/lib/ecore_drm/ecore_drm_fb.c
index 234b06f17c..b5e64b8a6a 100644
--- a/src/lib/ecore_drm/ecore_drm_fb.c
+++ b/src/lib/ecore_drm/ecore_drm_fb.c
@@ -16,6 +16,7 @@ _ecore_drm_fb_create2(int fd, Ecore_Drm_Fb *fb)
16{ 16{
17 struct drm_mode_fb_cmd2 cmd; 17 struct drm_mode_fb_cmd2 cmd;
18 uint32_t hdls[4], pitches[4], offsets[4], fmt; 18 uint32_t hdls[4], pitches[4], offsets[4], fmt;
19 uint64_t modifiers[4];
19 20
20#define _fourcc_code(a,b,c,d) \ 21#define _fourcc_code(a,b,c,d) \
21 ((uint32_t)(a) | ((uint32_t)(b) << 8) | \ 22 ((uint32_t)(a) | ((uint32_t)(b) << 8) | \
@@ -25,6 +26,7 @@ _ecore_drm_fb_create2(int fd, Ecore_Drm_Fb *fb)
25 hdls[0] = fb->hdl; 26 hdls[0] = fb->hdl;
26 pitches[0] = fb->stride; 27 pitches[0] = fb->stride;
27 offsets[0] = 0; 28 offsets[0] = 0;
29 modifiers[0] = 0;
28 30
29 memset(&cmd, 0, sizeof(struct drm_mode_fb_cmd2)); 31 memset(&cmd, 0, sizeof(struct drm_mode_fb_cmd2));
30 cmd.fb_id = 0; 32 cmd.fb_id = 0;
@@ -35,6 +37,7 @@ _ecore_drm_fb_create2(int fd, Ecore_Drm_Fb *fb)
35 memcpy(cmd.handles, hdls, 4 * sizeof(hdls[0])); 37 memcpy(cmd.handles, hdls, 4 * sizeof(hdls[0]));
36 memcpy(cmd.pitches, pitches, 4 * sizeof(pitches[0])); 38 memcpy(cmd.pitches, pitches, 4 * sizeof(pitches[0]));
37 memcpy(cmd.offsets, offsets, 4 * sizeof(offsets[0])); 39 memcpy(cmd.offsets, offsets, 4 * sizeof(offsets[0]));
40 memcpy(cmd.modifier, modifiers, 4 * sizeof(modifiers[0]));
38 41
39 if (drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &cmd)) 42 if (drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &cmd))
40 return EINA_FALSE; 43 return EINA_FALSE;