Lines Matching defs:kgem
67 static void gen4_update_vertex_buffer(struct kgem *kgem, const uint32_t *data)
69 uint32_t reloc = sizeof(uint32_t) * (&data[1] - kgem->batch);
74 for (i = 0; i < kgem->nreloc; i++)
75 if (kgem->reloc[i].offset == reloc)
77 assert(i < kgem->nreloc);
78 reloc = kgem->reloc[i].target_handle;
81 base = kgem->batch;
83 list_for_each_entry(bo, &kgem->next_request->buffers, request)
86 assert(&bo->request != &kgem->next_request->buffers);
87 base = kgem_bo_map__debug(kgem, bo);
89 ptr = (char *)base + kgem->reloc[i].delta;
105 static void gen4_update_vertex_elements(struct kgem *kgem, int id, const uint32_t *data)
221 static void indirect_vertex_out(struct kgem *kgem, uint32_t v)
243 static void primitive_out(struct kgem *kgem, uint32_t *data)
252 indirect_vertex_out(kgem, v);
381 get_reloc(struct kgem *kgem,
390 uint32_t handle = sizeof(uint32_t) * (reloc - kgem->batch);
394 for (i = 0; i < kgem->nreloc; i++)
395 if (kgem->reloc[i].offset == handle)
397 assert(i < kgem->nreloc);
398 handle = kgem->reloc[i].target_handle;
399 delta = kgem->reloc[i].delta;
402 base = kgem->batch;
404 list_for_each_entry(bo, &kgem->next_request->buffers, request)
407 assert(&bo->request != &kgem->next_request->buffers);
408 base = kgem_bo_map__debug(kgem, bo);
418 int kgem_gen4_decode_3d(struct kgem *kgem, uint32_t offset)
459 uint32_t *data = kgem->batch + offset;
535 gen4_update_vertex_buffer(kgem, data + i);
554 gen4_update_vertex_elements(kgem, (i - 1)/2, data + i);
660 primitive_out(kgem, data);
685 void kgem_gen4_finish_state(struct kgem *kgem)