Commit 49c458e5 authored by Robert Noland's avatar Robert Noland Committed by Dave Airlie

drm/r600: avoid assigning vb twice in blit code

There is no need to assign vb before you know that space is available.

[agd5f: adapted for kernel tree.]
Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 9d8401fc
...@@ -582,8 +582,6 @@ r600_blit_copy(struct drm_device *dev, ...@@ -582,8 +582,6 @@ r600_blit_copy(struct drm_device *dev,
u64 vb_addr; u64 vb_addr;
u32 *vb; u32 *vb;
vb = r600_nomm_get_vb_ptr(dev);
if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) {
max_bytes = 8192; max_bytes = 8192;
...@@ -619,8 +617,8 @@ r600_blit_copy(struct drm_device *dev, ...@@ -619,8 +617,8 @@ r600_blit_copy(struct drm_device *dev,
if (!dev_priv->blit_vb) if (!dev_priv->blit_vb)
return; return;
set_shaders(dev); set_shaders(dev);
vb = r600_nomm_get_vb_ptr(dev);
} }
vb = r600_nomm_get_vb_ptr(dev);
vb[0] = i2f(dst_x); vb[0] = i2f(dst_x);
vb[1] = 0; vb[1] = 0;
...@@ -708,8 +706,8 @@ r600_blit_copy(struct drm_device *dev, ...@@ -708,8 +706,8 @@ r600_blit_copy(struct drm_device *dev,
return; return;
set_shaders(dev); set_shaders(dev);
vb = r600_nomm_get_vb_ptr(dev);
} }
vb = r600_nomm_get_vb_ptr(dev);
vb[0] = i2f(dst_x / 4); vb[0] = i2f(dst_x / 4);
vb[1] = 0; vb[1] = 0;
...@@ -777,8 +775,6 @@ r600_blit_swap(struct drm_device *dev, ...@@ -777,8 +775,6 @@ r600_blit_swap(struct drm_device *dev,
u64 vb_addr; u64 vb_addr;
u32 *vb; u32 *vb;
vb = r600_nomm_get_vb_ptr(dev);
if ((dev_priv->blit_vb->used + 48) > dev_priv->blit_vb->total) { if ((dev_priv->blit_vb->used + 48) > dev_priv->blit_vb->total) {
r600_nomm_put_vb(dev); r600_nomm_put_vb(dev);
...@@ -787,8 +783,8 @@ r600_blit_swap(struct drm_device *dev, ...@@ -787,8 +783,8 @@ r600_blit_swap(struct drm_device *dev,
return; return;
set_shaders(dev); set_shaders(dev);
vb = r600_nomm_get_vb_ptr(dev);
} }
vb = r600_nomm_get_vb_ptr(dev);
if (cpp == 4) { if (cpp == 4) {
cb_format = COLOR_8_8_8_8; cb_format = COLOR_8_8_8_8;
......
...@@ -610,7 +610,6 @@ void r600_kms_blit_copy(struct radeon_device *rdev, ...@@ -610,7 +610,6 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
DRM_DEBUG("emitting copy %16llx %16llx %d %d\n", src_gpu_addr, dst_gpu_addr, DRM_DEBUG("emitting copy %16llx %16llx %d %d\n", src_gpu_addr, dst_gpu_addr,
size_bytes, rdev->r600_blit.vb_used); size_bytes, rdev->r600_blit.vb_used);
vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used);
if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) { if ((size_bytes & 3) || (src_gpu_addr & 3) || (dst_gpu_addr & 3)) {
max_bytes = 8192; max_bytes = 8192;
...@@ -653,6 +652,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev, ...@@ -653,6 +652,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
vb = r600_nomm_get_vb_ptr(dev); vb = r600_nomm_get_vb_ptr(dev);
#endif #endif
} }
vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used);
vb[0] = i2f(dst_x); vb[0] = i2f(dst_x);
vb[1] = 0; vb[1] = 0;
...@@ -747,6 +747,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev, ...@@ -747,6 +747,7 @@ void r600_kms_blit_copy(struct radeon_device *rdev,
vb = r600_nomm_get_vb_ptr(dev); vb = r600_nomm_get_vb_ptr(dev);
} }
#endif #endif
vb = (u32 *)(rdev->r600_blit.vb_ib->ptr + rdev->r600_blit.vb_used);
vb[0] = i2f(dst_x / 4); vb[0] = i2f(dst_x / 4);
vb[1] = 0; vb[1] = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment