OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 Intel Corporation. All Rights Reserved. | 2 * Copyright (c) 2012 Intel Corporation. All Rights Reserved. |
3 * | 3 * |
4 * Permission is hereby granted, free of charge, to any person obtaining a | 4 * Permission is hereby granted, free of charge, to any person obtaining a |
5 * copy of this software and associated documentation files (the | 5 * copy of this software and associated documentation files (the |
6 * "Software"), to deal in the Software without restriction, including | 6 * "Software"), to deal in the Software without restriction, including |
7 * without limitation the rights to use, copy, modify, merge, publish, | 7 * without limitation the rights to use, copy, modify, merge, publish, |
8 * distribute, sub license, and/or sell copies of the Software, and to | 8 * distribute, sub license, and/or sell copies of the Software, and to |
9 * permit persons to whom the Software is furnished to do so, subject to | 9 * permit persons to whom the Software is furnished to do so, subject to |
10 * the following conditions: | 10 * the following conditions: |
(...skipping 14 matching lines...) Expand all Loading... |
25 #define _VA_DRICOMMON_H_ | 25 #define _VA_DRICOMMON_H_ |
26 | 26 |
27 #ifndef ANDROID | 27 #ifndef ANDROID |
28 #include <X11/Xlib.h> | 28 #include <X11/Xlib.h> |
29 #include <xf86drm.h> | 29 #include <xf86drm.h> |
30 #include <drm.h> | 30 #include <drm.h> |
31 #include <drm_sarea.h> | 31 #include <drm_sarea.h> |
32 #endif | 32 #endif |
33 | 33 |
34 #include <va/va_backend.h> | 34 #include <va/va_backend.h> |
| 35 #include <va/va_drmcommon.h> |
35 | 36 |
36 #ifdef ANDROID | 37 #ifdef ANDROID |
37 #define XID unsigned int | 38 #define XID unsigned int |
38 #define Bool int | 39 #define Bool int |
39 #endif | 40 #endif |
40 | 41 |
41 enum | 42 enum { |
42 { | 43 /* Compatibility. Do not use for newly-written code. */ |
43 VA_NONE = 0, | 44 VA_NONE = VA_DRM_AUTH_NONE, |
44 VA_DRI1 = 1, | 45 VA_DRI1 = VA_DRM_AUTH_DRI1, |
45 VA_DRI2 = 2, | 46 VA_DRI2 = VA_DRM_AUTH_DRI2, |
46 VA_DUMMY = 3 | 47 VA_DUMMY = VA_DRM_AUTH_CUSTOM |
47 }; | 48 }; |
48 | 49 |
49 union dri_buffer | 50 union dri_buffer |
50 { | 51 { |
51 struct { | 52 struct { |
52 unsigned int attachment; | 53 unsigned int attachment; |
53 unsigned int name; | 54 unsigned int name; |
54 unsigned int pitch; | 55 unsigned int pitch; |
55 unsigned int cpp; | 56 unsigned int cpp; |
56 unsigned int flags; | 57 unsigned int flags; |
57 } dri2; | 58 } dri2; |
58 }; | 59 }; |
59 | 60 |
60 struct dri_drawable | 61 struct dri_drawable |
61 { | 62 { |
62 XID x_drawable; | 63 XID x_drawable; |
63 int is_window; | 64 int is_window; |
64 int x; | 65 int x; |
65 int y; | 66 int y; |
66 unsigned int width; | 67 unsigned int width; |
67 unsigned int height; | 68 unsigned int height; |
68 struct dri_drawable *next; | 69 struct dri_drawable *next; |
69 }; | 70 }; |
70 | 71 |
71 #define DRAWABLE_HASH_SZ 32 | 72 #define DRAWABLE_HASH_SZ 32 |
72 struct dri_state | 73 struct dri_state |
73 { | 74 { |
74 int fd; | 75 struct drm_state base; |
75 int driConnectedFlag; /* 0: disconnected, 1: DRI, 2: DRI2 */ | |
76 #ifndef ANDROID | 76 #ifndef ANDROID |
77 struct dri_drawable *drawable_hash[DRAWABLE_HASH_SZ]; | 77 struct dri_drawable *drawable_hash[DRAWABLE_HASH_SZ]; |
78 | 78 |
79 struct dri_drawable *(*createDrawable)(VADriverContextP ctx, XID x_drawable)
; | 79 struct dri_drawable *(*createDrawable)(VADriverContextP ctx, XID x_drawable)
; |
80 void (*destroyDrawable)(VADriverContextP ctx, struct dri_drawable *dri_drawa
ble); | 80 void (*destroyDrawable)(VADriverContextP ctx, struct dri_drawable *dri_drawa
ble); |
81 void (*swapBuffer)(VADriverContextP ctx, struct dri_drawable *dri_drawable); | 81 void (*swapBuffer)(VADriverContextP ctx, struct dri_drawable *dri_drawable); |
82 union dri_buffer *(*getRenderingBuffer)(VADriverContextP ctx, struct dri_dra
wable *dri_drawable); | 82 union dri_buffer *(*getRenderingBuffer)(VADriverContextP ctx, struct dri_dra
wable *dri_drawable); |
83 void (*close)(VADriverContextP ctx); | 83 void (*close)(VADriverContextP ctx); |
84 #endif | 84 #endif |
85 }; | 85 }; |
86 | 86 |
87 Bool isDRI2Connected(VADriverContextP ctx, char **driver_name); | 87 Bool isDRI2Connected(VADriverContextP ctx, char **driver_name); |
88 void free_drawable(VADriverContextP ctx, struct dri_drawable* dri_drawable); | 88 void free_drawable(VADriverContextP ctx, struct dri_drawable* dri_drawable); |
89 void free_drawable_hashtable(VADriverContextP ctx); | 89 void free_drawable_hashtable(VADriverContextP ctx); |
90 struct dri_drawable *dri_get_drawable(VADriverContextP ctx, XID drawable); | 90 struct dri_drawable *dri_get_drawable(VADriverContextP ctx, XID drawable); |
91 void dri_swap_buffer(VADriverContextP ctx, struct dri_drawable *dri_drawable); | 91 void dri_swap_buffer(VADriverContextP ctx, struct dri_drawable *dri_drawable); |
92 union dri_buffer *dri_get_rendering_buffer(VADriverContextP ctx, struct dri_draw
able *dri_drawable); | 92 union dri_buffer *dri_get_rendering_buffer(VADriverContextP ctx, struct dri_draw
able *dri_drawable); |
93 | 93 |
94 #endif /* _VA_DRICOMMON_H_ */ | 94 #endif /* _VA_DRICOMMON_H_ */ |
OLD | NEW |