wined3d: Fix mipmap level count.
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 12d759b..e337b8d 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -811,7 +811,7 @@
         object->baseTexture.levels++;
         tmpW = Width;
         tmpH = Height;
-        while (tmpW > 1 && tmpH > 1) {
+        while (tmpW > 1 || tmpH > 1) {
             tmpW = max(1, tmpW >> 1);
             tmpH = max(1, tmpH >> 1);
             object->baseTexture.levels++;
@@ -889,7 +889,7 @@
         tmpW = Width;
         tmpH = Height;
         tmpD = Depth;
-        while (tmpW > 1 && tmpH > 1 && tmpD > 1) {
+        while (tmpW > 1 || tmpH > 1 || tmpD > 1) {
             tmpW = max(1, tmpW >> 1);
             tmpH = max(1, tmpH >> 1);
             tmpD = max(1, tmpD >> 1);