int devid;
size_t aperture_total;
size_t aperture_mappable;
- int max_batch_size;
bool has_llc;
bool has_address_swizzling;
bool has_logical_context;
{
struct ilo_screen *is = ilo_screen(screen);
struct ilo_context *ilo;
- int cp_size;
ilo = CALLOC_STRUCT(ilo_context);
if (!ilo)
sizeof(struct ilo_transfer), 64, UTIL_SLAB_SINGLETHREADED);
/* 8192 DWords */
- cp_size = 8192;
- if (cp_size * 4 > is->dev.max_batch_size)
- cp_size = is->dev.max_batch_size / 4;
-
- ilo->cp = ilo_cp_create(ilo->winsys, cp_size, is->dev.has_llc);
+ ilo->cp = ilo_cp_create(ilo->winsys, 8192, is->dev.has_llc);
ilo->shader_cache = ilo_shader_cache_create();
if (ilo->cp)
ilo->hw3d = ilo_3d_create(ilo->cp, ilo->dev);
dev->devid = info->devid;
dev->aperture_total = info->aperture_total;
dev->aperture_mappable = info->aperture_mappable;
- dev->max_batch_size = info->max_batch_size;
dev->has_llc = info->has_llc;
dev->has_address_swizzling = info->has_address_swizzling;
dev->has_logical_context = info->has_logical_context;
#include "util/u_debug.h"
#include "../intel_winsys.h"
-#define BATCH_SZ (8192 * sizeof(uint32_t))
-
struct intel_winsys {
int fd;
drm_intel_bufmgr *bufmgr;
return false;
}
- info->max_batch_size = BATCH_SZ;
-
get_param(winsys, I915_PARAM_HAS_LLC, &val);
info->has_llc = val;
info->has_address_swizzling = test_address_swizzling(winsys);
struct intel_winsys *
intel_winsys_create_for_fd(int fd)
{
+ /* so that we can have enough (up to 4094) relocs per bo */
+ const int batch_size = sizeof(uint32_t) * 8192;
struct intel_winsys *winsys;
winsys = CALLOC_STRUCT(intel_winsys);
winsys->fd = fd;
- winsys->bufmgr = drm_intel_bufmgr_gem_init(winsys->fd, BATCH_SZ);
+ winsys->bufmgr = drm_intel_bufmgr_gem_init(winsys->fd, batch_size);
if (!winsys->bufmgr) {
debug_error("failed to create GEM buffer manager");
FREE(winsys);
size_t aperture_total;
size_t aperture_mappable;
- int max_batch_size;
bool has_llc;
bool has_address_swizzling;
bool has_logical_context;