st/nine: Refactor surface GetSystemMemPointer
authorAxel Davy <davyaxel0@gmail.com>
Wed, 10 Apr 2019 20:48:51 +0000 (22:48 +0200)
committerAxel Davy <davyaxel0@gmail.com>
Tue, 30 Apr 2019 17:18:50 +0000 (19:18 +0200)
It will make it easier to reuse in another place.

Signed-off-by: Axel Davy <davyaxel0@gmail.com>
src/gallium/state_trackers/nine/surface9.c

index 3266588e478bcf08a80e8092e64a8fc191bb9f46..853e5a66f4c21b24a7224359a6d4476f7b0d709d 100644 (file)
@@ -394,15 +394,15 @@ NineSurface9_AddDirtyRect( struct NineSurface9 *This,
     }
 }
 
-static inline uint8_t *
-NineSurface9_GetSystemMemPointer(struct NineSurface9 *This, int x, int y)
+static inline unsigned
+NineSurface9_GetSystemMemOffset(enum pipe_format format, unsigned stride,
+                                int x, int y)
 {
-    unsigned x_offset = util_format_get_stride(This->base.info.format, x);
+    unsigned x_offset = util_format_get_stride(format, x);
 
-    y = util_format_get_nblocksy(This->base.info.format, y);
+    y = util_format_get_nblocksy(format, y);
 
-    assert(This->data);
-    return This->data + (y * This->stride + x_offset);
+    return y * stride + x_offset;
 }
 
 HRESULT NINE_WINAPI
@@ -497,9 +497,11 @@ NineSurface9_LockRect( struct NineSurface9 *This,
             pLockedRect->pBits = This->data + box.y * This->desc.Width + box.x;
         } else {
             pLockedRect->Pitch = This->stride;
-            pLockedRect->pBits = NineSurface9_GetSystemMemPointer(This,
-                                                                  box.x,
-                                                                  box.y);
+            pLockedRect->pBits = This->data +
+                NineSurface9_GetSystemMemOffset(This->base.info.format,
+                                                This->stride,
+                                                box.x,
+                                                box.y);
         }
     } else {
         bool no_refs = !p_atomic_read(&This->base.base.bind) &&
@@ -721,7 +723,7 @@ NineSurface9_CopyDefaultToMem( struct NineSurface9 *This,
     p_src = pipe->transfer_map(pipe, r_src, From->level,
                                PIPE_TRANSFER_READ,
                                &src_box, &transfer);
-    p_dst = NineSurface9_GetSystemMemPointer(This, 0, 0);
+    p_dst = This->data;
 
     assert (p_src && p_dst);