i915: Re-initialize BPL before each render.

This commit is contained in:
Michel Dänzer 2007-04-09 16:09:26 +02:00
parent 989e9229a4
commit e4e4b92dc0
2 changed files with 5 additions and 8 deletions

View file

@ -867,7 +867,6 @@ static void i915_bin_free(drm_device_t *dev)
drm_free(dev_priv->bins[i], dev_priv->num_bins *
sizeof(drm_dma_handle_t*), DRM_MEM_DRIVER);
dev_priv->bins[i] = NULL;
dev_priv->bins_inited[i] = FALSE;
}
}
@ -1000,13 +999,11 @@ static int i915_hwz_render(drm_device_t *dev, struct drm_i915_hwz_render *render
int i;
for (i = 0; i < dev_priv->num_bpls; i++) {
if (!dev_priv->bins_inited[i]) {
int ret = i915_bin_init(dev, i);
int ret = i915_bin_init(dev, i);
if (ret) {
DRM_ERROR("Failed to initialize BPL %d\n", i);
return ret;
}
if (ret) {
DRM_ERROR("Failed to initialize BPL %d\n", i);
return ret;
}
}

View file

@ -135,7 +135,7 @@ typedef struct drm_i915_private {
drm_i915_vbl_swap_t vbl_swaps;
unsigned int swaps_pending;
unsigned int num_bpls, num_bins, bins_inited[3];
unsigned int num_bpls, num_bins;
drm_dma_handle_t *bmp, **bmp_pool, *bpl[3], **bins[3];
unsigned short bin_x1, bin_x2, bin_pitch, bin_y1, bin_y2;
} drm_i915_private_t;