Rev 5068 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5068 | Rev 6110 | ||
---|---|---|---|
Line 60... | Line 60... | ||
60 | const char *name, |
60 | const char *name, |
61 | unsigned long size, |
61 | unsigned long size, |
62 | unsigned int alignment); |
62 | unsigned int alignment); |
Line 63... | Line 63... | ||
63 | 63 | ||
- | 64 | /** |
|
- | 65 | * Allocate a buffer object from an existing user accessible |
|
- | 66 | * address malloc'd with the provided size. |
|
- | 67 | * Alignment is used when mapping to the gtt. |
|
- | 68 | * Flags may be I915_VMAP_READ_ONLY or I915_USERPTR_UNSYNCHRONIZED |
|
- | 69 | */ |
|
- | 70 | drm_intel_bo *(*bo_alloc_userptr)(drm_intel_bufmgr *bufmgr, |
|
- | 71 | const char *name, void *addr, |
|
- | 72 | uint32_t tiling_mode, uint32_t stride, |
|
- | 73 | unsigned long size, |
|
- | 74 | unsigned long flags); |
|
- | 75 | ||
64 | /** |
76 | /** |
65 | * Allocate a tiled buffer object. |
77 | * Allocate a tiled buffer object. |
66 | * |
78 | * |
67 | * Alignment for tiled objects is set automatically; the 'flags' |
79 | * Alignment for tiled objects is set automatically; the 'flags' |
68 | * argument provides a hint about how the object will be used initially. |
80 | * argument provides a hint about how the object will be used initially. |
Line 120... | Line 132... | ||
120 | * Read data from an object |
132 | * Read data from an object |
121 | * |
133 | * |
122 | * This is an optional function, if missing, |
134 | * This is an optional function, if missing, |
123 | * drm_intel_bo will map/memcpy/unmap. |
135 | * drm_intel_bo will map/memcpy/unmap. |
124 | */ |
136 | */ |
125 | // int (*bo_get_subdata) (drm_intel_bo *bo, unsigned long offset, |
137 | int (*bo_get_subdata) (drm_intel_bo *bo, unsigned long offset, |
126 | // unsigned long size, void *data); |
138 | unsigned long size, void *data); |
Line 127... | Line 139... | ||
127 | 139 | ||
128 | /** |
140 | /** |
129 | * Waits for rendering to an object by the GPU to have completed. |
141 | * Waits for rendering to an object by the GPU to have completed. |
130 | * |
142 | * |
Line 138... | Line 150... | ||
138 | * Tears down the buffer manager instance. |
150 | * Tears down the buffer manager instance. |
139 | */ |
151 | */ |
140 | void (*destroy) (drm_intel_bufmgr *bufmgr); |
152 | void (*destroy) (drm_intel_bufmgr *bufmgr); |
Line 141... | Line 153... | ||
141 | 153 | ||
- | 154 | /** |
|
- | 155 | * Indicate if the buffer can be placed anywhere in the full ppgtt |
|
- | 156 | * address range (2^48). |
|
- | 157 | * |
|
- | 158 | * Any resource used with flat/heapless (0x00000000-0xfffff000) |
|
- | 159 | * General State Heap (GSH) or Intructions State Heap (ISH) must |
|
- | 160 | * be in a 32-bit range. 48-bit range will only be used when explicitly |
|
- | 161 | * requested. |
|
- | 162 | * |
|
- | 163 | * \param bo Buffer to set the use_48b_address_range flag. |
|
- | 164 | * \param enable The flag value. |
|
- | 165 | */ |
|
- | 166 | void (*bo_use_48b_address_range) (drm_intel_bo *bo, uint32_t enable); |
|
- | 167 | ||
142 | /** |
168 | /** |
143 | * Add relocation entry in reloc_buf, which will be updated with the |
169 | * Add relocation entry in reloc_buf, which will be updated with the |
144 | * target buffer's real offset on on command submission. |
170 | * target buffer's real offset on on command submission. |
145 | * |
171 | * |
146 | * Relocations remain in place for the lifetime of the buffer object. |
172 | * Relocations remain in place for the lifetime of the buffer object. |
Line 213... | Line 239... | ||
213 | */ |
239 | */ |
214 | int (*bo_get_tiling) (drm_intel_bo *bo, uint32_t * tiling_mode, |
240 | int (*bo_get_tiling) (drm_intel_bo *bo, uint32_t * tiling_mode, |
215 | uint32_t * swizzle_mode); |
241 | uint32_t * swizzle_mode); |
Line 216... | Line 242... | ||
216 | 242 | ||
- | 243 | /** |
|
- | 244 | * Set the offset at which this buffer will be softpinned |
|
- | 245 | * \param bo Buffer to set the softpin offset for |
|
- | 246 | * \param offset Softpin offset |
|
- | 247 | */ |
|
- | 248 | int (*bo_set_softpin_offset) (drm_intel_bo *bo, uint64_t offset); |
|
- | 249 | ||
217 | /** |
250 | /** |
218 | * Create a visible name for a buffer which can be used by other apps |
251 | * Create a visible name for a buffer which can be used by other apps |
219 | * |
252 | * |
220 | * \param buf Buffer to create a name for |
253 | * \param buf Buffer to create a name for |
221 | * \param name Returned name |
254 | * \param name Returned name |