wined3d: Make resources 16 byte aligned.
authorStefan Dösinger <stefan@codeweavers.com>
Thu, 11 Mar 2010 14:41:31 +0000 (15:41 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 17 Mar 2010 12:36:39 +0000 (13:36 +0100)
dlls/d3d9/tests/buffer.c
dlls/wined3d/wined3d_private.h

index 57a64951eb28f04469a7e1bc0c93a4327355127d..719ce7e96f6a5c41c09d4f7953d21712aaa26e05 100644 (file)
@@ -137,6 +137,7 @@ static void test_vertex_buffer_alignment(IDirect3DDevice9 *device)
     DWORD sizes[] = {1, 4, 16, 17, 32, 33, 64, 65, 1024, 1025, 1048576, 1048577};
     unsigned int i, j;
     void *data;
+    unsigned int align = 16;
 
     for(i = 0; i < (sizeof(sizes) / sizeof(sizes[0])); i++)
     {
@@ -156,8 +157,8 @@ static void test_vertex_buffer_alignment(IDirect3DDevice9 *device)
 
             hr = IDirect3DVertexBuffer9_Lock(buffer, 0, 0, &data, 0);
             ok(SUCCEEDED(hr), "IDirect3DVertexBuffer9_Lock failed (0x%08x)\n", hr);
-            ok(((DWORD_PTR) data & 31) == 0, "Vertex buffer start address is not 32 byte aligned(size: %d, pool: %s, data: %p)\n",
-               sizes[i], debug_d3dpool(pools[j]), data);
+            ok(((DWORD_PTR) data & (align - 1)) == 0, "Vertex buffer start address is not %u byte aligned(size: %d, pool: %s, data: %p)\n",
+               align, sizes[i], debug_d3dpool(pools[j]), data);
             hr = IDirect3DVertexBuffer9_Unlock(buffer);
             ok(SUCCEEDED(hr), "IDirect3DVertexBuffer9_Unlock failed (0x%08x)\n", hr);
 
index 2271d4e3025d01fa6eee60715f5da5d832665b02..5c2e42d7b1a6bb8159c88e6d9b07c99d52252490 100644 (file)
@@ -1798,7 +1798,7 @@ HRESULT resource_set_private_data(IWineD3DResource *iface, REFGUID guid,
         const void *data, DWORD data_size, DWORD flags) DECLSPEC_HIDDEN;
 
 /* Tests show that the start address of resources is 32 byte aligned */
-#define RESOURCE_ALIGNMENT 32
+#define RESOURCE_ALIGNMENT 16
 
 /*****************************************************************************
  * IWineD3DBaseTexture D3D- > openGL state map lookups