2158{
2160 BOOL testdummy_ok, testbitmap_ok;
2161 IDirect3DTexture9 *tex;
2165 static const WORD pixdata_a8r3g3b2[] = { 0x57df, 0x98fc, 0xacdd, 0xc891 };
2166 static const WORD pixdata_a1r5g5b5[] = { 0x46b5, 0x99c8, 0x06a2, 0x9431 };
2167 static const WORD pixdata_r5g6b5[] = { 0x9ef6, 0x658d, 0x0aee, 0x42ee };
2168 static const WORD pixdata_a8l8[] = { 0xff00, 0x00ff, 0xff30, 0x7f7f };
2169 static const DWORD pixdata_g16r16[] = { 0x07d23fbe, 0xdc7f44a4, 0xe4d8976b, 0x9a84fe89 };
2170 static const DWORD pixdata_a8b8g8r8[] = { 0xc3394cf0, 0x235ae892, 0x09b197fd, 0x8dc32bf6 };
2171 static const DWORD pixdata_a2r10g10b10[] = { 0x57395aff, 0x5b7668fd, 0xb0d856b5, 0xff2c61d6 };
2172 static const uint32_t pixdata_a8r8g8b8[] = { 0x00102030, 0x40506070, 0x8090a0b0, 0xc0d0e0ff };
2173 static const uint32_t pixdata_a8b8g8r8_2[] = { 0x30201000, 0x70605040, 0xb0a09080, 0xffe0d0c0 };
2174 static const uint32_t pixdata_x8l8v8u8[] = { 0x00003000, 0x00557f40, 0x00aa8180, 0x00ffffc0 };
2175 static const uint32_t pixdata_a2w10v10u10[] = { 0x0ba17400, 0x5ff5d117, 0xae880600, 0xfffe8b45 };
2176 static const uint32_t pixdata_q8w8v8u8[] = { 0x30201000, 0x7f605040, 0xb0a08180, 0xffe0d0c0 };
2177 static const float pixdata_a32b32g32r32f[] = { 0.0f, 0.1f,
NAN,
INFINITY, 1.0f, 1.1f, 1.2f, 1.3f,
2178 -0.1f, -0.2f, -
NAN, -
INFINITY, -1.0f, -1.1f, -1.2f, -1.3f };
2179 static const uint16_t pixdata_v8u8[] = { 0x3000, 0x7f40, 0x8180, 0xffc0 };
2182
2185
2188
2191 skip(
"Failed to create a surface (%#lx)\n",
hr);
2194 return;
2195 }
2196
2197
2198 if(testbitmap_ok) {
2200 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFile returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2201
2204 }
else skip(
"Couldn't create \"testbitmap.bmp\"\n");
2205
2206 if(testdummy_ok) {
2209 }
else skip(
"Couldn't create \"testdummy.bmp\"\n");
2210
2213
2216
2217
2218
2221 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromResource returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2222
2225 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromResource returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2226
2229
2233
2237
2238
2239
2241 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFileInMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2242
2245
2248
2251
2254
2257
2260
2261
2262
2264
2266 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2267
2269 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2270
2273
2276
2279
2281 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
E_FAIL);
2282
2283 SetRect(&destrect, -1, -1, 1, 1);
2286
2287 SetRect(&destrect, 255, 255, 257, 257);
2290
2291 SetRect(&destrect, 1, 1, 0, 0);
2294
2295 SetRect(&destrect, 1, 2, 1, 2);
2297
2299
2300 SetRect(&destrect, 257, 257, 257, 257);
2303
2304
2305
2309 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2310
2313
2316
2318 }
else skip(
"Failed to create a second surface\n");
2319
2322 {
2324
2326 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2327
2330 }
else skip(
"Failed to create texture\n");
2331
2332
2338
2339
2342 {
2344
2345
2349
2350
2357
2358
2359
2360
2361
2365
2372
2373
2374
2375
2376
2379
2386
2387
2390
2397
2399 }
2400 else
2401 {
2402 skip(
"Failed to create multisampled render target.\n");
2403 }
2404
2406 ok(
hr ==
D3D_OK,
"IDirect3DDevice9_GetRenderTarget returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2407
2409 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2411 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2413 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2415 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2417 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2418
2419
2433 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2435 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2437 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
E_FAIL);
2439 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
E_FAIL);
2440 if (0)
2441 {
2442
2443
2445 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
E_FAIL);
2446 }
2448 SetRect(&destrect, 1, 1, 2, 2);
2450 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2452 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2454 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#lx, expected %#lx.\n",
hr,
D3D_OK);
2455
2457 {
2459
2462
2464 }
2465
2467
2469
2479
2480
2481
2482
2483
2484 if (sizeof(void *) != 8)
2485 {
2493 }
2494 else
2495 skip(
"Skipping test for negative source rectangle values on 64-bit.\n");
2496
2498
2499
2501
2504 else {
2506
2509 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2516
2519 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2526
2529 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2536
2539 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2543 }
2548
2559
2561 SetRect(&destrect, 1, 1, 2, 2);
2571
2573
2583 }
2585
2597
2598
2602
2604 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
2610 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
2611
2616 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
2622 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
2623
2624
2625 if (0)
2626 {
2627
2634 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFileInMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2638 "Pixel color mismatch: got %#lx, expected 0x80f3f2f1\n", *(
DWORD*)lockrect.
pBits);
2641 }
2642
2643
2645 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFileInMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2648 ok(*(
DWORD*)lockrect.
pBits == 0xfff3f2f1,
"Pixel color mismatch: got %#lx, expected 0xfff3f2f1\n", *(
DWORD*)lockrect.
pBits);
2651
2654 {
2656
2660
2664
2666 }
2667
2668
2672 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
2678 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
2679
2683 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
2689 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
2690
2692 }
2693
2694
2697 else {
2700 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2707
2710 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2717
2720 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2727
2730 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2734 }
2739
2742 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2747 }
2751
2754 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2759 }
2763
2775
2777 }
2778
2779
2782 skip(
"Failed to create A8L8 texture, hr %#lx.\n",
hr);
2783 else
2784 {
2787
2799
2802 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#lx, expected %#lx\n",
hr,
D3D_OK);
2811
2823
2835
2847
2859
2871
2875
2877 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
2883 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
2884
2889 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
2895 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
2896
2899 }
2900
2901
2904 skip(
"Failed to create A8R8G8B8 surface, hr %#lx.\n",
hr);
2905 else
2906 {
2909
2912 skip(
"Failed to create DXT2 texture, hr %#lx.\n",
hr);
2913 else
2914 {
2918 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT2 format.\n");
2921 }
2922
2925 skip(
"Failed to create DXT3 texture, hr %#lx.\n",
hr);
2926 else
2927 {
2931 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT3 format.\n");
2934 }
2935
2938 skip(
"Failed to create DXT4 texture, hr %#lx.\n",
hr);
2939 else
2940 {
2944 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT4 format.\n");
2947 }
2948
2951 skip(
"Failed to create DXT5 texture, hr %#lx.\n",
hr);
2952 else
2953 {
2955
2959 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT5 format.\n");
2960
2969
2970
2975 SetRect(&destrect, 0, 0, 4, 8);
2981
2984
2985
2989
2992
2993
3002
3005
3006
3011
3016
3020
3024
3027
3028
3033
3038
3040
3049
3051
3052
3053
3054
3055
3056
3058 SetRect(&destrect, 2, 2, 6, 6);
3062
3064
3073
3075
3076
3077
3078
3079
3081 SetRect(&destrect, 4, 0, 6, 2);
3085
3087
3089
3090
3091
3092
3094
3096
3099 }
3100
3103 skip(
"Failed to create DXT1 texture, hr %#lx.\n",
hr);
3104 else
3105 {
3109 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT1 format.\n");
3110
3112 ok(
SUCCEEDED(
hr),
"Failed to convert pixels from DXT1 format.\n");
3113
3116 }
3117
3119 }
3120
3123 skip(
"Failed to create a D3DFMT_A32B32G32R32F surface, hr %#lx.\n",
hr);
3124 else
3125 {
3126
3131
3133 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3134 check_pixel_float4(&lockrect, 0, 0, pixdata_a32b32g32r32f[0], pixdata_a32b32g32r32f[1],
3135 pixdata_a32b32g32r32f[2], pixdata_a32b32g32r32f[3], 0,
FALSE);
3136 check_pixel_float4(&lockrect, 1, 0, pixdata_a32b32g32r32f[4], pixdata_a32b32g32r32f[5],
3137 pixdata_a32b32g32r32f[6], pixdata_a32b32g32r32f[7], 0,
FALSE);
3138 check_pixel_float4(&lockrect, 0, 1, pixdata_a32b32g32r32f[8], pixdata_a32b32g32r32f[9],
3139 pixdata_a32b32g32r32f[10], pixdata_a32b32g32r32f[11], 0,
FALSE);
3140 check_pixel_float4(&lockrect, 1, 1, pixdata_a32b32g32r32f[12], pixdata_a32b32g32r32f[13],
3141 pixdata_a32b32g32r32f[14], pixdata_a32b32g32r32f[15], 0,
FALSE);
3143 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3144
3145
3149
3151 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3152 check_pixel_float4(&lockrect, 0, 0, 0.00000000e+000f, 1.25984251e-001f, 2.51968503e-001f, 3.77952754e-001f, 0,
FALSE);
3153 check_pixel_float4(&lockrect, 1, 0, 5.03937006e-001f, 6.29921257e-001f, 7.55905509e-001f, 1.00000000e+000f, 0,
FALSE);
3154 check_pixel_float4(&lockrect, 0, 1, -1.00000000e+000f, -1.00000000e+000f, -7.55905509e-001f, -6.29921257e-001f, 0,
FALSE);
3155 check_pixel_float4(&lockrect, 1, 1, -5.03937006e-001f, -3.77952754e-001f, -2.51968503e-001f, -7.87401572e-003f, 0,
FALSE);
3157 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3158
3159
3163
3165 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3166 check_pixel_float4(&lockrect, 0, 0, 0.00000000e+000f, 6.27451017e-002f, 1.25490203e-001f, 1.88235313e-001f, 1,
FALSE);
3167 check_pixel_float4(&lockrect, 1, 0, 2.50980407e-001f, 3.13725501e-001f, 3.76470625e-001f, 4.39215720e-001f, 1,
FALSE);
3168 check_pixel_float4(&lockrect, 0, 1, 5.01960814e-001f, 5.64705908e-001f, 6.27451003e-001f, 6.90196097e-001f, 0,
FALSE);
3169 check_pixel_float4(&lockrect, 1, 1, 7.52941251e-001f, 8.15686345e-001f, 8.78431439e-001f, 1.00000000e+000f, 1,
FALSE);
3171 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3172
3173
3177
3179 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3185 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3186
3187
3191
3193 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3199 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3200
3201
3205
3206
3208 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3214 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3215
3217 }
3218
3221 skip(
"Failed to create D3DFMT_Q8W8V8U8 texture, hr %#lx.\n",
hr);
3222 else
3223 {
3225 ok(
hr ==
D3D_OK,
"Failed to get the surface, hr %#lx.\n",
hr);
3226
3227
3233 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3239 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3240
3241
3245
3247 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3253 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3254
3255
3259
3261 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3267 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3268
3269
3272
3274 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3280 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3281
3284 }
3285
3288 skip(
"Failed to create D3DFMT_X8L8V8U8 texture, hr %#lx.\n",
hr);
3289 else
3290 {
3292 ok(
hr ==
D3D_OK,
"Failed to get the surface, hr %#lx.\n",
hr);
3293
3298
3299
3300
3301
3302
3303
3305 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3311 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3312
3313
3314
3315
3316
3317
3321
3323 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3329 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3330
3333 }
3334
3337 skip(
"Failed to create D3DFMT_V8U8 texture, hr %#lx.\n",
hr);
3338 else
3339 {
3341 ok(
hr ==
D3D_OK,
"Failed to get the surface, hr %#lx.\n",
hr);
3342
3343
3348
3350 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3356 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3357
3358
3359
3360
3361
3362
3366
3368 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3371
3372
3373
3374
3375
3379 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3380
3383 }
3384
3387
3391
3393 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3394
3399
3401 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3402
3406
3408 ok(
hr ==
D3D_OK,
"Failed to lock surface, hr %#lx.\n",
hr);
3409
3414
3416 ok(
hr ==
D3D_OK,
"Failed to unlock surface, hr %#lx.\n",
hr);
3418
3422
3423
3426}
@ D3DMULTISAMPLE_2_SAMPLES
#define IDirect3DTexture9_GetSurfaceLevel(p, a, b)
#define IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
#define IDirect3DTexture9_Release(p)
#define IDirect3DDevice9_CreateRenderTarget(p, a, b, c, d, e, f, g, h)
#define IDirect3DDevice9_GetRenderTarget(p, a, b)
static const uint8_t pixdata[]
static const uint8_t dds_a8p8[]
static const uint8_t dxt5_8_8[]
static const struct @1911 test_filter_values[]
static const uint8_t dds_dxt5_8_8[]
static const uint8_t dds_dxt5[]
HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, const void *src_memory, D3DFORMAT src_format, UINT src_pitch, const PALETTEENTRY *src_palette, const RECT *src_rect, DWORD filter, D3DCOLOR color_key)
HRESULT WINAPI D3DXLoadSurfaceFromFileA(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, const char *src_file, const RECT *src_rect, DWORD filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info)
HRESULT WINAPI D3DXLoadSurfaceFromResourceA(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, HMODULE src_module, const char *resource, const RECT *src_rect, DWORD filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info)
HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(IDirect3DSurface9 *pDestSurface, const PALETTEENTRY *pDestPalette, const RECT *pDestRect, const void *pSrcData, UINT SrcDataSize, const RECT *pSrcRect, DWORD dwFilter, D3DCOLOR Colorkey, D3DXIMAGE_INFO *pSrcInfo)
#define D3DX_FILTER_MIRROR
#define D3DX_FILTER_LINEAR
#define D3DX_FILTER_TRIANGLE
#define D3DX_FILTER_POINT
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl void winetest_pop_context(void)
void __cdecl void __cdecl void __cdecl void __cdecl void __cdecl winetest_push_context(const char *fmt,...) __WINE_PRINTF_ATTR(1
static void test_load_surface_from_tga(IDirect3DDevice9 *device)
static void test_format_conversion(IDirect3DDevice9 *device)
#define check_readback_pixel_4bpp(rb, x, y, color, todo)
#define check_pixel_2bpp(lockrect, x, y, color)
#define check_pixel_float4(lockrect, x, y, fx, fy, fz, fw, ulps, todo)
#define check_pixel_8bpp(lockrect, x, y, color)
static void release_surface_readback(struct surface_readback *rb)
#define check_pixel_4bpp(lockrect, x, y, color)
static void test_dxt_premultiplied_alpha(IDirect3DDevice9 *device)
static void get_surface_decompressed_readback(IDirect3DDevice9 *device, IDirect3DSurface9 *compressed_surface, struct surface_readback *rb)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)