winsys/amdgpu: clean up code around BO VM alignment
[mesa.git] / src / gallium / winsys / i915 / drm / i915_drm_batchbuffer.c
index 7cc5af89639ec16565279dadb656b3f34a0c7246..93ce6f224fedfa3c556f655e803e45d624d42039 100644 (file)
@@ -26,7 +26,7 @@ struct i915_drm_batchbuffer
    drm_intel_bo *bo;
 };
 
-static INLINE struct i915_drm_batchbuffer *
+static inline struct i915_drm_batchbuffer *
 i915_drm_batchbuffer(struct i915_winsys_batchbuffer *batch)
 {
    return (struct i915_drm_batchbuffer *)batch;
@@ -63,7 +63,6 @@ i915_drm_batchbuffer_create(struct i915_winsys *iws)
    batch->base.size = 0;
 
    batch->base.relocs = 0;
-   batch->base.max_relocs = 300;/*INTEL_DEFAULT_RELOCS;*/
 
    batch->base.iws = iws;
 
@@ -104,8 +103,6 @@ i915_drm_batchbuffer_reloc(struct i915_winsys_batchbuffer *ibatch,
    unsigned offset;
    int ret = 0;
 
-   assert(batch->base.relocs < batch->base.max_relocs);
-
    switch (usage) {
    case I915_USAGE_SAMPLER:
       write_domain = 0;
@@ -154,7 +151,7 @@ i915_drm_batchbuffer_reloc(struct i915_winsys_batchbuffer *ibatch,
    return ret;
 }
 
-static void 
+static void
 i915_drm_throttle(struct i915_drm_winsys *idws)
 {
    drmIoctl(idws->fd, DRM_IOCTL_I915_GEM_THROTTLE, NULL);
@@ -162,7 +159,8 @@ i915_drm_throttle(struct i915_drm_winsys *idws)
 
 static void
 i915_drm_batchbuffer_flush(struct i915_winsys_batchbuffer *ibatch,
-                            struct pipe_fence_handle **fence)
+                           struct pipe_fence_handle **fence,
+                           enum i915_winsys_flush_flags flags)
 {
    struct i915_drm_batchbuffer *batch = i915_drm_batchbuffer(ibatch);
    unsigned used;
@@ -183,7 +181,8 @@ i915_drm_batchbuffer_flush(struct i915_winsys_batchbuffer *ibatch,
    if (ret == 0 && i915_drm_winsys(ibatch->iws)->send_cmd)
       ret = drm_intel_bo_exec(batch->bo, used, NULL, 0, 0);
 
-   i915_drm_throttle(i915_drm_winsys(ibatch->iws));
+   if (flags & I915_FLUSH_END_OF_FRAME)
+      i915_drm_throttle(i915_drm_winsys(ibatch->iws));
 
    if (ret != 0 || i915_drm_winsys(ibatch->iws)->dump_cmd) {
       i915_dump_batchbuffer(ibatch);