Subversion Repositories Kolibri OS

Rev

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
{