Subversion Repositories Kolibri OS

Rev

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;