Rev 3299 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3299 | Rev 3769 | ||
---|---|---|---|
Line 283... | Line 283... | ||
283 | 283 | ||
284 | return NULL; |
284 | return NULL; |
Line 285... | Line 285... | ||
285 | } |
285 | } |
286 | - | ||
287 | retry_mmap: |
286 | |
288 | // ptr = mmap(0, bytes(bo), PROT_READ | PROT_WRITE, MAP_SHARED, |
287 | retry_mmap: |
289 | // kgem->fd, mmap_arg.offset); |
288 | ptr = (void*)(int)mmap_arg.offset; |
290 | // if (ptr == 0) { |
289 | if (ptr == NULL) { |
291 | printf("%s: failed to mmap %d, %d bytes, into GTT domain: %d\n", |
- | |
292 | __FUNCTION__, bo->handle, bytes(bo), 0); |
- | |
293 | // if (__kgem_throttle_retire(kgem, 0)) |
- | |
294 | // goto retry_mmap; |
- | |
295 | - | ||
296 | // if (kgem->need_expire) { |
- | |
297 | // kgem_cleanup_cache(kgem); |
- | |
Line 298... | Line -... | ||
298 | // goto retry_mmap; |
- | |
299 | // } |
290 | printf("%s: failed to mmap %d, %d bytes, into GTT domain: %d\n", |
Line 300... | Line 291... | ||
300 | 291 | __FUNCTION__, bo->handle, bytes(bo), 0); |
|
301 | ptr = NULL; |
292 | |
Line 302... | Line 293... | ||
302 | // } |
293 | } |
Line 648... | Line 639... | ||
648 | return gem_param(kgem, LOCAL_I915_PARAM_HAS_HANDLE_LUT) > 0; |
639 | return gem_param(kgem, LOCAL_I915_PARAM_HAS_HANDLE_LUT) > 0; |
649 | } |
640 | } |
Line 650... | Line 641... | ||
650 | 641 | ||
651 | static bool test_has_semaphores_enabled(struct kgem *kgem) |
642 | static bool test_has_semaphores_enabled(struct kgem *kgem) |
652 | { |
- | |
653 | FILE *file; |
643 | { |
654 | bool detected = false; |
644 | bool detected = false; |
Line 655... | Line 645... | ||
655 | int ret; |
645 | int ret; |
656 | 646 | ||
Line 1126... | Line 1116... | ||
1126 | unsigned flags) |
1116 | unsigned flags) |
1127 | { |
1117 | { |
1128 | width = ALIGN(width, 2) * bpp >> 3; |
1118 | width = ALIGN(width, 2) * bpp >> 3; |
1129 | return ALIGN(width, kgem_pitch_alignment(kgem, flags)); |
1119 | return ALIGN(width, kgem_pitch_alignment(kgem, flags)); |
1130 | } |
1120 | } |
- | 1121 | ||
1131 | static uint32_t kgem_surface_size(struct kgem *kgem, |
1122 | uint32_t kgem_surface_size(struct kgem *kgem, |
1132 | bool relaxed_fencing, |
1123 | bool relaxed_fencing, |
1133 | unsigned flags, |
1124 | unsigned flags, |
1134 | uint32_t width, |
1125 | uint32_t width, |
1135 | uint32_t height, |
1126 | uint32_t height, |
1136 | uint32_t bpp, |
1127 | uint32_t bpp, |
Line 4208... | Line 4199... | ||
4208 | // fb->width, fb->height, fb->pitch, fb->fb_bo); |
4199 | // fb->width, fb->height, fb->pitch, fb->fb_bo); |
Line 4209... | Line 4200... | ||
4209 | 4200 | ||
4210 | return 1; |
4201 | return 1; |
Line -... | Line 4202... | ||
- | 4202 | }; |
|
- | 4203 | ||
- | 4204 | ||
- | 4205 | int kgem_update_fb(struct kgem *kgem, struct sna_fb *fb) |
|
- | 4206 | { |
|
- | 4207 | struct kgem_bo *bo; |
|
- | 4208 | size_t size; |
|
- | 4209 | int ret; |
|
- | 4210 | ||
- | 4211 | bo = fb->fb_bo; |
|
- | 4212 | ||
- | 4213 | ret = drmIoctl(kgem->fd, SRV_FBINFO, fb); |
|
- | 4214 | if( ret != 0 ) |
|
- | 4215 | return 0; |
|
- | 4216 | ||
- | 4217 | fb->fb_bo = bo; |
|
- | 4218 | ||
- | 4219 | size = fb->pitch * fb->height / PAGE_SIZE; |
|
- | 4220 | ||
- | 4221 | if((size != bo->size.pages.count) || |
|
- | 4222 | (fb->pitch != bo->pitch)) |
|
- | 4223 | { |
|
- | 4224 | bo->size.pages.count = size; |
|
- | 4225 | bo->pitch = fb->pitch; |
|
- | 4226 | ||
- | 4227 | printf("fb width %d height %d pitch %d bo %p\n", |
|
- | 4228 | fb->width, fb->height, fb->pitch, fb->fb_bo); |
|
- | 4229 | ||
- | 4230 | return 1; |
|
- | 4231 | } |
|
- | 4232 | ||
- | 4233 | return 0; |
|
- | 4234 | }; |
|
- | 4235 | ||
- | 4236 | void sna_bo_destroy(struct kgem *kgem, struct kgem_bo *bo) |
|
- | 4237 | { |
|
- | 4238 | kgem_bo_destroy(kgem, bo); |
|
- | 4239 | kgem_bo_free(kgem, bo); |
|
- | 4240 | } |
|
4211 | }; |
4241 | |
4212 | 4242 | ||
4213 | void kgem_close_batches(struct kgem *kgem) |
4243 | void kgem_close_batches(struct kgem *kgem) |
Line 4214... | Line 4244... | ||
4214 | { |
4244 | { |