Rev 2351 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2351 | Rev 2352 | ||
---|---|---|---|
Line 176... | Line 176... | ||
176 | 176 | ||
177 | struct drm_i915_gem_exec_object2 exec[256]; |
177 | struct drm_i915_gem_exec_object2 exec[256]; |
178 | struct drm_i915_gem_relocation_entry reloc[384]; |
178 | struct drm_i915_gem_relocation_entry reloc[384]; |
Line -... | Line 179... | ||
- | 179 | }; |
|
- | 180 | ||
- | 181 | typedef struct |
|
- | 182 | { |
|
- | 183 | struct drm_i915_gem_object *batch; |
|
- | 184 | struct list_head objects; |
|
- | 185 | u32 exec_start; |
|
- | 186 | u32 exec_len; |
|
- | 187 | ||
179 | }; |
188 | }batchbuffer_t; |
180 | 189 | ||
181 | #define KGEM_BATCH_RESERVED 1 |
190 | #define KGEM_BATCH_RESERVED 1 |
Line 182... | Line 191... | ||
182 | #define KGEM_RELOC_RESERVED 4 |
191 | #define KGEM_RELOC_RESERVED 4 |
Line 235... | Line 244... | ||
235 | uint32_t kgem_bo_get_binding(struct kgem_bo *bo, uint32_t format); |
244 | uint32_t kgem_bo_get_binding(struct kgem_bo *bo, uint32_t format); |
236 | void kgem_bo_set_binding(struct kgem_bo *bo, uint32_t format, uint16_t offset); |
245 | void kgem_bo_set_binding(struct kgem_bo *bo, uint32_t format, uint16_t offset); |
Line 237... | Line 246... | ||
237 | 246 | ||
Line 238... | Line 247... | ||
238 | bool kgem_retire(struct kgem *kgem); |
247 | bool kgem_retire(struct kgem *kgem); |
239 | 248 | ||
240 | void _kgem_submit(struct kgem *kgem); |
249 | void _kgem_submit(struct kgem *kgem, batchbuffer_t *exb); |
241 | static inline void kgem_submit(struct kgem *kgem) |
250 | //static inline void kgem_submit(struct kgem *kgem) |
242 | { |
251 | //{ |
243 | if (kgem->nbatch) |
252 | // if (kgem->nbatch) |
Line 244... | Line 253... | ||
244 | _kgem_submit(kgem); |
253 | // _kgem_submit(kgem); |
245 | } |
254 | //} |
246 | 255 | ||
247 | /* |
256 | /* |
Line 326... | Line 335... | ||
326 | kgem_check_reloc(kgem, num_surfaces); |
335 | kgem_check_reloc(kgem, num_surfaces); |
327 | } |
336 | } |
Line 328... | Line 337... | ||
328 | 337 | ||
329 | static inline uint32_t *kgem_get_batch(struct kgem *kgem, int num_dwords) |
338 | static inline uint32_t *kgem_get_batch(struct kgem *kgem, int num_dwords) |
330 | { |
339 | { |
331 | if (!kgem_check_batch(kgem, num_dwords)) |
340 | // if (!kgem_check_batch(kgem, num_dwords)) |
Line 332... | Line 341... | ||
332 | _kgem_submit(kgem); |
341 | // _kgem_submit(kgem); |
333 | 342 | ||
Line 334... | Line 343... | ||
334 | return kgem->batch + kgem->nbatch; |
343 | return kgem->batch + kgem->nbatch; |