51{
57 IDirect3DVolumeTexture9 *volume_texture;
58 const DWORD pixels[] = { 0xc3394cf0, 0x235ae892, 0x09b197fd, 0x8dc32bf6,
59 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
60 0x00000000, 0x00000000, 0x00000000, 0xffffffff,
61 0xffffffff, 0x00000000, 0xffffffff, 0x00000000 };
62
64 &volume_texture,
NULL);
66 {
67 skip(
"Failed to create volume texture.\n");
68 return;
69 }
70
72
73 set_box(&src_box, 0, 0, 4, 1, 0, 4);
74 set_box(&dst_box, 0, 0, 4, 1, 0, 4);
75
76 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
78 {
79 win_skip(
"D3DXLoadVolumeFromMemory failed with error %#lx, skipping some tests.\n",
hr);
80 return;
81 }
82
86
87 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_UNKNOWN, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
88 ok(
hr ==
E_FAIL,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
E_FAIL);
89
90 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL,
NULL,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
91 ok(
hr ==
D3D_OK,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
92
93 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
NULL,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
95
96 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL,
NULL,
D3DX_DEFAULT, 0);
98
99 set_box(&src_box, 0, 0, 4, 4, 0, 1);
100 set_box(&dst_box, 0, 0, 4, 4, 0, 1);
101 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16,
sizeof(
pixels),
NULL, &src_box,
D3DX_DEFAULT, 0);
102 ok(
hr ==
D3D_OK,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
103
107
108 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL,
NULL,
pixels,
D3DFMT_A8R8G8B8, 16,
sizeof(
pixels),
NULL, &src_box,
D3DX_FILTER_NONE, 0);
109 ok(
hr ==
D3D_OK,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
110
113 for (
z = 0;
z < 4;
z++)
114 {
115 for (
y = 0;
y < 256;
y++)
116 {
117 for (
x = 0;
x < 256;
x++)
119 }
120 }
122
123 set_box(&src_box, 0, 0, 2, 2, 1, 2);
124 set_box(&dst_box, 0, 0, 2, 2, 0, 1);
125 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 8, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
126 ok(
hr ==
D3D_OK,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
127
131
132 set_box(&src_box, 0, 0, 2, 2, 2, 3);
133 set_box(&dst_box, 0, 0, 2, 2, 1, 2);
134 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 8, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
135 ok(
hr ==
D3D_OK,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
136
140
141 set_box(&src_box, 0, 0, 4, 1, 0, 4);
142
143 set_box(&dst_box, -1, -1, 3, 0, 0, 4);
144 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
146
147 set_box(&dst_box, 254, 254, 258, 255, 0, 4);
148 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
150
151 set_box(&dst_box, 4, 1, 0, 0, 0, 4);
152 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
154
155 set_box(&dst_box, 0, 0, 0, 0, 0, 0);
156 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
158
159 set_box(&dst_box, 0, 0, 0, 0, 0, 1);
160 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
162
163 set_box(&dst_box, 300, 300, 300, 300, 0, 0);
164 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
166
169
172 {
173 skip(
"Failed to create volume texture\n");
174 return;
175 }
176
178
179 set_box(&src_box, 0, 0, 4, 1, 0, 4);
180 set_box(&dst_box, 0, 0, 4, 1, 0, 4);
181 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 16,
NULL, &src_box,
D3DX_DEFAULT, 0);
183
186
189 {
190 skip(
"Failed to create volume texture\n");
191 return;
192 }
193
195
196 set_box(&src_box, 1, 1, 7, 7, 0, 1);
197 set_box(&dst_box, 1, 1, 7, 7, 0, 1);
198 hr =
D3DXLoadVolumeFromMemory(
volume,
NULL, &dst_box,
pixels,
D3DFMT_A8R8G8B8, 16, 32,
NULL, &src_box,
D3DX_DEFAULT, 0);
199 ok(
hr ==
D3D_OK,
"D3DXLoadVolumeFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
200
202 {
204
208
210 }
211
214}
HRESULT WINAPI D3DXLoadVolumeFromMemory(IDirect3DVolume9 *dst_volume, const PALETTEENTRY *dst_palette, const D3DBOX *dst_box, const void *src_memory, D3DFORMAT src_format, UINT src_row_pitch, UINT src_slice_pitch, const PALETTEENTRY *src_palette, const D3DBOX *src_box, DWORD filter, D3DCOLOR color_key)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
#define check_pixel_4bpp(box, x, y, z, color)