Rev 6115 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6115 | Rev 6137 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | #include "EGL/egl.h" |
7 | #include "EGL/egl.h" |
8 | #include "EGL/eglext.h" |
8 | #include "EGL/eglext.h" |
9 | #include "EGL/eglmesaext.h" |
9 | #include "EGL/eglmesaext.h" |
10 | #include "GL/gl.h" |
10 | #include "GL/gl.h" |
Line -... | Line 11... | ||
- | 11 | ||
- | 12 | enum wl_drm_format { |
|
- | 13 | WL_DRM_FORMAT_C8 = 0x20203843, |
|
- | 14 | WL_DRM_FORMAT_RGB332 = 0x38424752, |
|
- | 15 | WL_DRM_FORMAT_BGR233 = 0x38524742, |
|
- | 16 | WL_DRM_FORMAT_XRGB4444 = 0x32315258, |
|
- | 17 | WL_DRM_FORMAT_XBGR4444 = 0x32314258, |
|
- | 18 | WL_DRM_FORMAT_RGBX4444 = 0x32315852, |
|
- | 19 | WL_DRM_FORMAT_BGRX4444 = 0x32315842, |
|
- | 20 | WL_DRM_FORMAT_ARGB4444 = 0x32315241, |
|
- | 21 | WL_DRM_FORMAT_ABGR4444 = 0x32314241, |
|
- | 22 | WL_DRM_FORMAT_RGBA4444 = 0x32314152, |
|
- | 23 | WL_DRM_FORMAT_BGRA4444 = 0x32314142, |
|
- | 24 | WL_DRM_FORMAT_XRGB1555 = 0x35315258, |
|
- | 25 | WL_DRM_FORMAT_XBGR1555 = 0x35314258, |
|
- | 26 | WL_DRM_FORMAT_RGBX5551 = 0x35315852, |
|
- | 27 | WL_DRM_FORMAT_BGRX5551 = 0x35315842, |
|
- | 28 | WL_DRM_FORMAT_ARGB1555 = 0x35315241, |
|
- | 29 | WL_DRM_FORMAT_ABGR1555 = 0x35314241, |
|
- | 30 | WL_DRM_FORMAT_RGBA5551 = 0x35314152, |
|
- | 31 | WL_DRM_FORMAT_BGRA5551 = 0x35314142, |
|
- | 32 | WL_DRM_FORMAT_RGB565 = 0x36314752, |
|
- | 33 | WL_DRM_FORMAT_BGR565 = 0x36314742, |
|
- | 34 | WL_DRM_FORMAT_RGB888 = 0x34324752, |
|
- | 35 | WL_DRM_FORMAT_BGR888 = 0x34324742, |
|
- | 36 | WL_DRM_FORMAT_XRGB8888 = 0x34325258, |
|
- | 37 | WL_DRM_FORMAT_XBGR8888 = 0x34324258, |
|
- | 38 | WL_DRM_FORMAT_RGBX8888 = 0x34325852, |
|
- | 39 | WL_DRM_FORMAT_BGRX8888 = 0x34325842, |
|
- | 40 | WL_DRM_FORMAT_ARGB8888 = 0x34325241, |
|
- | 41 | WL_DRM_FORMAT_ABGR8888 = 0x34324241, |
|
- | 42 | WL_DRM_FORMAT_RGBA8888 = 0x34324152, |
|
- | 43 | WL_DRM_FORMAT_BGRA8888 = 0x34324142, |
|
- | 44 | WL_DRM_FORMAT_XRGB2101010 = 0x30335258, |
|
- | 45 | WL_DRM_FORMAT_XBGR2101010 = 0x30334258, |
|
- | 46 | WL_DRM_FORMAT_RGBX1010102 = 0x30335852, |
|
- | 47 | WL_DRM_FORMAT_BGRX1010102 = 0x30335842, |
|
- | 48 | WL_DRM_FORMAT_ARGB2101010 = 0x30335241, |
|
- | 49 | WL_DRM_FORMAT_ABGR2101010 = 0x30334241, |
|
- | 50 | WL_DRM_FORMAT_RGBA1010102 = 0x30334152, |
|
- | 51 | WL_DRM_FORMAT_BGRA1010102 = 0x30334142, |
|
- | 52 | WL_DRM_FORMAT_YUYV = 0x56595559, |
|
- | 53 | WL_DRM_FORMAT_YVYU = 0x55595659, |
|
- | 54 | WL_DRM_FORMAT_UYVY = 0x59565955, |
|
- | 55 | WL_DRM_FORMAT_VYUY = 0x59555956, |
|
- | 56 | WL_DRM_FORMAT_AYUV = 0x56555941, |
|
- | 57 | WL_DRM_FORMAT_NV12 = 0x3231564e, |
|
- | 58 | WL_DRM_FORMAT_NV21 = 0x3132564e, |
|
- | 59 | WL_DRM_FORMAT_NV16 = 0x3631564e, |
|
- | 60 | WL_DRM_FORMAT_NV61 = 0x3136564e, |
|
- | 61 | WL_DRM_FORMAT_YUV410 = 0x39565559, |
|
- | 62 | WL_DRM_FORMAT_YVU410 = 0x39555659, |
|
- | 63 | WL_DRM_FORMAT_YUV411 = 0x31315559, |
|
- | 64 | WL_DRM_FORMAT_YVU411 = 0x31315659, |
|
- | 65 | WL_DRM_FORMAT_YUV420 = 0x32315559, |
|
- | 66 | WL_DRM_FORMAT_YVU420 = 0x32315659, |
|
- | 67 | WL_DRM_FORMAT_YUV422 = 0x36315559, |
|
- | 68 | WL_DRM_FORMAT_YVU422 = 0x36315659, |
|
- | 69 | WL_DRM_FORMAT_YUV444 = 0x34325559, |
|
- | 70 | WL_DRM_FORMAT_YVU444 = 0x34325659, |
|
- | 71 | }; |
|
11 | 72 | ||
12 | struct bitmap |
73 | struct bitmap |
13 | { |
74 | { |
14 | uint32_t width; |
75 | uint32_t width; |
15 | uint32_t height; |
76 | uint32_t height; |
Line 37... | Line 98... | ||
37 | { |
98 | { |
38 | TEX_SCREEN = 0, |
99 | TEX_SCREEN = 0, |
39 | TEX_MASK = 1 |
100 | TEX_MASK = 1 |
40 | }; |
101 | }; |
Line -... | Line 102... | ||
- | 102 | ||
- | 103 | struct shader |
|
- | 104 | { |
|
- | 105 | GLuint blit_prog; |
|
- | 106 | GLint sampler0; /* rgba or y texture */ |
|
- | 107 | GLint sampler1; /* u or uv texture */ |
|
- | 108 | GLint sampler2; /* v texture */ |
|
- | 109 | GLint sm_mask; /* alpha texture */ |
|
- | 110 | }; |
|
41 | 111 | ||
42 | struct render |
112 | struct render |
43 | { |
113 | { |
44 | int fd; |
114 | int fd; |
45 | EGLDisplay dpy; |
115 | EGLDisplay dpy; |
Line 54... | Line 124... | ||
54 | GLuint framebuffer; |
124 | GLuint framebuffer; |
55 | EGLImageKHR screen; |
125 | EGLImageKHR screen; |
56 | struct bitmap mask; |
126 | struct bitmap mask; |
Line 57... | Line 127... | ||
57 | 127 | ||
- | 128 | int mask_size; |
|
- | 129 | struct shader shader_rgba; |
|
Line 58... | Line -... | ||
58 | int mask_size; |
- | |
59 | - | ||
60 | GLuint blit_prog; |
130 | struct shader shader_y_uv; |
61 | GLint sampler, sm_mask; |
131 | |
Line 62... | Line 132... | ||
62 | float vertices[8],tc_src[8]; |
132 | float vertices[8],tc_src[8]; |
63 | }; |
133 | }; |