ReactOS  0.4.13-dev-563-g0561610
wined3d.h
Go to the documentation of this file.
1 /*
2  * Copyright 2002-2003 The wine-d3d team
3  * Copyright 2002-2003 Jason Edmeades
4  * Copyright 2002-2003 Raphael Junqueira
5  * Copyright 2005 Oliver Stieber
6  * Copyright 2006 Stefan Dösinger
7  * Copyright 2006 Stefan Dösinger for CodeWeavers
8  * Copyright 2007 Henri Verbeet
9  * Copyright 2008 Henri Verbeet for CodeWeavers
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public
13  * License as published by the Free Software Foundation; either
14  * version 2.1 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public
22  * License along with this library; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24  */
25 
26 #ifndef __WINE_WINED3D_H
27 #define __WINE_WINED3D_H
28 
29 #ifndef __WINE_CONFIG_H
30 # error You must include config.h to use this header
31 #endif
32 
33 #include "wine/list.h"
34 
35 DEFINE_GUID(IID_IWineD3DDevice, 0xd56e2a4c, 0x5127, 0x8437, 0x65, 0x8a, 0x98, 0xc5, 0xbb, 0x78, 0x94, 0x98);
36 
37 #define WINED3D_OK S_OK
38 
39 #define _FACWINED3D 0x876
40 #define MAKE_WINED3DSTATUS(code) MAKE_HRESULT(0, _FACWINED3D, code)
41 #define WINED3DOK_NOMIPGEN MAKE_WINED3DSTATUS(2159)
42 
43 #define MAKE_WINED3DHRESULT(code) MAKE_HRESULT(1, _FACWINED3D, code)
44 #define WINED3DERR_CONFLICTINGRENDERSTATE MAKE_WINED3DHRESULT(2081)
45 #define WINED3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_WINED3DHRESULT(2082)
46 #define WINED3DERR_NOTAVAILABLE MAKE_WINED3DHRESULT(2154)
47 #define WINED3DERR_OUTOFVIDEOMEMORY MAKE_WINED3DHRESULT(380)
48 #define WINED3DERR_INVALIDCALL MAKE_WINED3DHRESULT(2156)
49 #define WINEDDERR_NOTAOVERLAYSURFACE MAKE_WINED3DHRESULT(580)
50 #define WINEDDERR_NOTLOCKED MAKE_WINED3DHRESULT(584)
51 #define WINEDDERR_SURFACEBUSY MAKE_WINED3DHRESULT(430)
52 #define WINEDDERR_INVALIDRECT MAKE_WINED3DHRESULT(150)
53 #define WINEDDERR_OVERLAYNOTVISIBLE MAKE_WINED3DHRESULT(577)
54 
55 #define WINED3D_RESOURCE_ACCESS_GPU 0x1u
56 #define WINED3D_RESOURCE_ACCESS_CPU 0x2u
57 #define WINED3D_RESOURCE_ACCESS_MAP_R 0x4u
58 #define WINED3D_RESOURCE_ACCESS_MAP_W 0x8u
59 
61 {
65  WINED3D_LIGHT_PARALLELPOINT = 4, /* < D3D7 */
66  WINED3D_LIGHT_GLSPOT = 5, /* < D3D5, not actually usable */
67 };
68 
70 {
83 };
84 
86 {
91 };
92 
94 {
99 };
100 
101 #define WINEMAKEFOURCC(ch0, ch1, ch2, ch3) \
102  ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
103  ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))
104 
106 {
235  /* FOURCC formats. */
236  WINED3DFMT_UYVY = WINEMAKEFOURCC('U','Y','V','Y'),
237  WINED3DFMT_YUY2 = WINEMAKEFOURCC('Y','U','Y','2'),
238  WINED3DFMT_YV12 = WINEMAKEFOURCC('Y','V','1','2'),
239  WINED3DFMT_DXT1 = WINEMAKEFOURCC('D','X','T','1'),
240  WINED3DFMT_DXT2 = WINEMAKEFOURCC('D','X','T','2'),
241  WINED3DFMT_DXT3 = WINEMAKEFOURCC('D','X','T','3'),
242  WINED3DFMT_DXT4 = WINEMAKEFOURCC('D','X','T','4'),
243  WINED3DFMT_DXT5 = WINEMAKEFOURCC('D','X','T','5'),
247  WINED3DFMT_ATI1N = WINEMAKEFOURCC('A','T','I','1'),
248  WINED3DFMT_ATI2N = WINEMAKEFOURCC('A','T','I','2'),
249  WINED3DFMT_INST = WINEMAKEFOURCC('I','N','S','T'),
250  WINED3DFMT_NVDB = WINEMAKEFOURCC('N','V','D','B'),
251  WINED3DFMT_NVHU = WINEMAKEFOURCC('N','V','H','U'),
252  WINED3DFMT_NVHS = WINEMAKEFOURCC('N','V','H','S'),
253  WINED3DFMT_INTZ = WINEMAKEFOURCC('I','N','T','Z'),
254  WINED3DFMT_RESZ = WINEMAKEFOURCC('R','E','S','Z'),
255  WINED3DFMT_NULL = WINEMAKEFOURCC('N','U','L','L'),
256  WINED3DFMT_R16 = WINEMAKEFOURCC(' ','R','1','6'),
257  WINED3DFMT_AL16 = WINEMAKEFOURCC('A','L','1','6'),
258  WINED3DFMT_NV12 = WINEMAKEFOURCC('N','V','1','2'),
259 
261 };
262 
264 {
396 };
397 #define WINEHIGHEST_RENDER_STATE WINED3D_RS_COLORWRITEENABLE7
398 
400 {
401  if (index == 0) return WINED3D_RS_COLORWRITEENABLE;
402  if (index <= 3) return WINED3D_RS_COLORWRITEENABLE1 + index - 1;
403  if (index <= 7) return WINED3D_RS_COLORWRITEENABLE4 + index - 4;
405 }
406 
408 {
428 };
429 
431 {
437 };
438 
440 {
447 };
448 
450 {
459 };
460 
462 {
466 };
467 
469 {
474 };
475 
477 {
481 };
482 
484 {
488 };
489 
491 {
495 };
496 
498 {
507 };
508 
510 {
514 };
515 
517 {
520 };
521 
523 {
531 };
532 
534 {
541 };
542 
544 {
558 };
559 #define WINED3D_HIGHEST_SAMPLER_STATE WINED3D_SAMP_DMAP_OFFSET
560 
562 {
580 };
581 
583 {
603 };
604 #define WINED3D_HIGHEST_TEXTURE_STATE WINED3D_TSS_CONSTANT
605 
607 {
614 };
615 
617 {
644 };
645 
647 {
653 };
654 
656 {
667  WINED3D_TS_WORLD = 256, /* WINED3D_TS_WORLD_MATRIX(0) */
671 };
672 
673 #define WINED3D_TS_WORLD_MATRIX(index) (enum wined3d_transform_state)(index + 256)
674 
676 {
680 };
681 
683 {
690 };
691 
693 {
702 };
703 
705 {
711 };
712 
714 {
741 };
742 
744 {
747 };
748 
750 {
753 };
754 
756 {
768 };
769 
770 #define WINED3DISSUE_BEGIN (1u << 1)
771 #define WINED3DISSUE_END (1u << 0)
772 #define WINED3DGETDATA_FLUSH (1u << 0)
773 
775 {
779  WINED3D_SBT_RECORDED = 4, /* WineD3D private */
780 };
781 
783 {
791 };
792 
794 {
809 };
810 
812 {
829 };
830 
832 {
837 };
838 
840 {
844 };
845 
847 {
853 };
854 
856 {
859 };
860 
861 #define WINED3DCOLORWRITEENABLE_RED (1u << 0)
862 #define WINED3DCOLORWRITEENABLE_GREEN (1u << 1)
863 #define WINED3DCOLORWRITEENABLE_BLUE (1u << 2)
864 #define WINED3DCOLORWRITEENABLE_ALPHA (1u << 3)
865 
866 #define WINED3DADAPTER_DEFAULT 0
867 #define WINED3DENUM_NO_WHQL_LEVEL 2
868 
869 #define WINED3DTSS_TCI_PASSTHRU 0x00000
870 #define WINED3DTSS_TCI_CAMERASPACENORMAL 0x10000
871 #define WINED3DTSS_TCI_CAMERASPACEPOSITION 0x20000
872 #define WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
873 #define WINED3DTSS_TCI_SPHEREMAP 0x40000
874 
875 #define WINED3DTA_SELECTMASK 0x0000000f
876 #define WINED3DTA_DIFFUSE 0x00000000
877 #define WINED3DTA_CURRENT 0x00000001
878 #define WINED3DTA_TEXTURE 0x00000002
879 #define WINED3DTA_TFACTOR 0x00000003
880 #define WINED3DTA_SPECULAR 0x00000004
881 #define WINED3DTA_TEMP 0x00000005
882 #define WINED3DTA_CONSTANT 0x00000006
883 #define WINED3DTA_COMPLEMENT 0x00000010
884 #define WINED3DTA_ALPHAREPLICATE 0x00000020
885 
886 #define WINED3D_SWAPCHAIN_LOCKABLE_BACKBUFFER 0x00000001u
887 #define WINED3D_SWAPCHAIN_DISCARD_DEPTHSTENCIL 0x00000002u
888 #define WINED3D_SWAPCHAIN_DEVICECLIP 0x00000004u
889 #define WINED3D_SWAPCHAIN_VIDEO 0x00000010u
890 #define WINED3D_SWAPCHAIN_NOAUTOROTATE 0x00000020u
891 #define WINED3D_SWAPCHAIN_UNPRUNEDMODE 0x00000040u
892 #define WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH 0x00001000u
893 #define WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE 0x00002000u
894 #define WINED3D_SWAPCHAIN_RESTORE_WINDOW_RECT 0x00004000u
895 #define WINED3D_SWAPCHAIN_GDI_COMPATIBLE 0x00008000u
896 
897 #define WINED3DDP_MAXTEXCOORD 8
898 
899 #define WINED3D_BIND_VERTEX_BUFFER 0x00000001
900 #define WINED3D_BIND_INDEX_BUFFER 0x00000002
901 #define WINED3D_BIND_CONSTANT_BUFFER 0x00000004
902 #define WINED3D_BIND_SHADER_RESOURCE 0x00000008
903 #define WINED3D_BIND_STREAM_OUTPUT 0x00000010
904 #define WINED3D_BIND_RENDER_TARGET 0x00000020
905 #define WINED3D_BIND_DEPTH_STENCIL 0x00000040
906 #define WINED3D_BIND_UNORDERED_ACCESS 0x00000080
907 
908 #define WINED3DUSAGE_RENDERTARGET 0x00000001
909 #define WINED3DUSAGE_DEPTHSTENCIL 0x00000002
910 #define WINED3DUSAGE_WRITEONLY 0x00000008
911 #define WINED3DUSAGE_SOFTWAREPROCESSING 0x00000010
912 #define WINED3DUSAGE_DONOTCLIP 0x00000020
913 #define WINED3DUSAGE_POINTS 0x00000040
914 #define WINED3DUSAGE_RTPATCHES 0x00000080
915 #define WINED3DUSAGE_NPATCHES 0x00000100
916 #define WINED3DUSAGE_DYNAMIC 0x00000200
917 #define WINED3DUSAGE_RESTRICTED_CONTENT 0x00000800
918 #define WINED3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER 0x00001000
919 #define WINED3DUSAGE_RESTRICT_SHARED_RESOURCE 0x00002000
920 #define WINED3DUSAGE_DMAP 0x00004000
921 #define WINED3DUSAGE_TEXTAPI 0x10000000
922 #define WINED3DUSAGE_MASK 0x10007bff
923 
924 #define WINED3DUSAGE_SCRATCH 0x00200000
925 #define WINED3DUSAGE_PRIVATE 0x00400000
926 #define WINED3DUSAGE_LEGACY_CUBEMAP 0x00800000
927 #define WINED3DUSAGE_TEXTURE 0x01000000
928 #define WINED3DUSAGE_OWNDC 0x02000000
929 #define WINED3DUSAGE_STATICDECL 0x04000000
930 #define WINED3DUSAGE_OVERLAY 0x08000000
931 
932 #define WINED3DUSAGE_QUERY_GENMIPMAP 0x00000400
933 #define WINED3DUSAGE_QUERY_LEGACYBUMPMAP 0x00008000
934 #define WINED3DUSAGE_QUERY_FILTER 0x00020000
935 #define WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING 0x00080000
936 #define WINED3DUSAGE_QUERY_SRGBREAD 0x00010000
937 #define WINED3DUSAGE_QUERY_SRGBWRITE 0x00040000
938 #define WINED3DUSAGE_QUERY_VERTEXTEXTURE 0x00100000
939 #define WINED3DUSAGE_QUERY_WRAPANDMIP 0x00200000
940 #define WINED3DUSAGE_QUERY_MASK 0x003f8400
941 
942 #define WINED3D_MAP_NOSYSLOCK 0x00000800
943 #define WINED3D_MAP_NOOVERWRITE 0x00001000
944 #define WINED3D_MAP_DISCARD 0x00002000
945 #define WINED3D_MAP_DONOTWAIT 0x00004000
946 #define WINED3D_MAP_NO_DIRTY_UPDATE 0x00008000
947 #define WINED3D_MAP_WRITE 0x40000000
948 #define WINED3D_MAP_READ 0x80000000
949 
950 #define WINED3DPRESENT_RATE_DEFAULT 0x00000000
951 
952 #define WINED3DCLIPPLANE0 (1u << 0)
953 #define WINED3DCLIPPLANE1 (1u << 1)
954 #define WINED3DCLIPPLANE2 (1u << 2)
955 #define WINED3DCLIPPLANE3 (1u << 3)
956 #define WINED3DCLIPPLANE4 (1u << 4)
957 #define WINED3DCLIPPLANE5 (1u << 5)
958 
959 /* FVF (Flexible Vertex Format) codes */
960 #define WINED3DFVF_RESERVED0 0x0001
961 #define WINED3DFVF_POSITION_MASK 0x400e
962 #define WINED3DFVF_XYZ 0x0002
963 #define WINED3DFVF_XYZRHW 0x0004
964 #define WINED3DFVF_XYZB1 0x0006
965 #define WINED3DFVF_XYZB2 0x0008
966 #define WINED3DFVF_XYZB3 0x000a
967 #define WINED3DFVF_XYZB4 0x000c
968 #define WINED3DFVF_XYZB5 0x000e
969 #define WINED3DFVF_XYZW 0x4002
970 #define WINED3DFVF_NORMAL 0x0010
971 #define WINED3DFVF_PSIZE 0x0020
972 #define WINED3DFVF_DIFFUSE 0x0040
973 #define WINED3DFVF_SPECULAR 0x0080
974 #define WINED3DFVF_TEXCOUNT_MASK 0x0f00
975 #define WINED3DFVF_TEXCOUNT_SHIFT 8
976 #define WINED3DFVF_TEX0 0x0000
977 #define WINED3DFVF_TEX1 0x0100
978 #define WINED3DFVF_TEX2 0x0200
979 #define WINED3DFVF_TEX3 0x0300
980 #define WINED3DFVF_TEX4 0x0400
981 #define WINED3DFVF_TEX5 0x0500
982 #define WINED3DFVF_TEX6 0x0600
983 #define WINED3DFVF_TEX7 0x0700
984 #define WINED3DFVF_TEX8 0x0800
985 #define WINED3DFVF_LASTBETA_UBYTE4 0x1000
986 #define WINED3DFVF_LASTBETA_D3DCOLOR 0x8000
987 #define WINED3DFVF_RESERVED2 0x6000
988 
989 #define WINED3DFVF_TEXTUREFORMAT1 3u
990 #define WINED3DFVF_TEXTUREFORMAT2 0u
991 #define WINED3DFVF_TEXTUREFORMAT3 1u
992 #define WINED3DFVF_TEXTUREFORMAT4 2u
993 #define WINED3DFVF_TEXCOORDSIZE1(idx) (WINED3DFVF_TEXTUREFORMAT1 << (idx * 2 + 16))
994 #define WINED3DFVF_TEXCOORDSIZE2(idx) (WINED3DFVF_TEXTUREFORMAT2 << (idx * 2 + 16))
995 #define WINED3DFVF_TEXCOORDSIZE3(idx) (WINED3DFVF_TEXTUREFORMAT3 << (idx * 2 + 16))
996 #define WINED3DFVF_TEXCOORDSIZE4(idx) (WINED3DFVF_TEXTUREFORMAT4 << (idx * 2 + 16))
997 
998 /* Clear flags */
999 #define WINED3DCLEAR_TARGET 0x00000001
1000 #define WINED3DCLEAR_ZBUFFER 0x00000002
1001 #define WINED3DCLEAR_STENCIL 0x00000004
1002 
1003 /* Stream source flags */
1004 #define WINED3DSTREAMSOURCE_INDEXEDDATA (1u << 30)
1005 #define WINED3DSTREAMSOURCE_INSTANCEDATA (2u << 30)
1006 
1007 /* SetPrivateData flags */
1008 #define WINED3DSPD_IUNKNOWN 0x00000001
1009 
1010 /* IWineD3D::CreateDevice behaviour flags */
1011 #define WINED3DCREATE_FPU_PRESERVE 0x00000002
1012 #define WINED3DCREATE_PUREDEVICE 0x00000010
1013 #define WINED3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020
1014 #define WINED3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040
1015 #define WINED3DCREATE_MIXED_VERTEXPROCESSING 0x00000080
1016 #define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100
1017 #define WINED3DCREATE_ADAPTERGROUP_DEVICE 0x00000200
1018 #define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX 0x00000400
1019 #define WINED3DCREATE_NOWINDOWCHANGES 0x00000800
1020 #define WINED3DCREATE_DISABLE_PSGP_THREADING 0x00002000
1021 #define WINED3DCREATE_ENABLE_PRESENTSTATS 0x00004000
1022 #define WINED3DCREATE_DISABLE_PRINTSCREEN 0x00008000
1023 #define WINED3DCREATE_SCREENSAVER 0x10000000
1024 
1025 /* VTF defines */
1026 #define WINED3DDMAPSAMPLER 0x100
1027 #define WINED3DVERTEXTEXTURESAMPLER0 (WINED3DDMAPSAMPLER + 1)
1028 #define WINED3DVERTEXTEXTURESAMPLER1 (WINED3DDMAPSAMPLER + 2)
1029 #define WINED3DVERTEXTEXTURESAMPLER2 (WINED3DDMAPSAMPLER + 3)
1030 #define WINED3DVERTEXTEXTURESAMPLER3 (WINED3DDMAPSAMPLER + 4)
1031 
1032 #define WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020
1033 #define WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION 0x00000080
1034 #define WINED3DCAPS3_COPY_TO_VIDMEM 0x00000100
1035 #define WINED3DCAPS3_COPY_TO_SYSTEMMEM 0x00000200
1036 #define WINED3DCAPS3_RESERVED 0x8000001f
1037 
1038 #define WINED3DDEVCAPS2_STREAMOFFSET 0x00000001
1039 #define WINED3DDEVCAPS2_DMAPNPATCH 0x00000002
1040 #define WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH 0x00000004
1041 #define WINED3DDEVCAPS2_ADAPTIVETESSNPATCH 0x00000008
1042 #define WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES 0x00000010
1043 #define WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH 0x00000020
1044 #define WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x00000040
1045 
1046 #define WINED3DDTCAPS_UBYTE4 0x00000001
1047 #define WINED3DDTCAPS_UBYTE4N 0x00000002
1048 #define WINED3DDTCAPS_SHORT2N 0x00000004
1049 #define WINED3DDTCAPS_SHORT4N 0x00000008
1050 #define WINED3DDTCAPS_USHORT2N 0x00000010
1051 #define WINED3DDTCAPS_USHORT4N 0x00000020
1052 #define WINED3DDTCAPS_UDEC3 0x00000040
1053 #define WINED3DDTCAPS_DEC3N 0x00000080
1054 #define WINED3DDTCAPS_FLOAT16_2 0x00000100
1055 #define WINED3DDTCAPS_FLOAT16_4 0x00000200
1056 
1057 #define WINED3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000ffff
1058 #define WINED3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000
1059 #define WINED3DFVFCAPS_PSIZE 0x00100000
1060 
1061 #define WINED3DLINECAPS_TEXTURE 0x00000001
1062 #define WINED3DLINECAPS_ZTEST 0x00000002
1063 #define WINED3DLINECAPS_BLEND 0x00000004
1064 #define WINED3DLINECAPS_ALPHACMP 0x00000008
1065 #define WINED3DLINECAPS_FOG 0x00000010
1066 #define WINED3DLINECAPS_ANTIALIAS 0x00000020
1067 
1068 #define WINED3DMAX30SHADERINSTRUCTIONS 32768
1069 #define WINED3DMIN30SHADERINSTRUCTIONS 512
1070 
1071 #define WINED3DPBLENDCAPS_ZERO 0x00000001
1072 #define WINED3DPBLENDCAPS_ONE 0x00000002
1073 #define WINED3DPBLENDCAPS_SRCCOLOR 0x00000004
1074 #define WINED3DPBLENDCAPS_INVSRCCOLOR 0x00000008
1075 #define WINED3DPBLENDCAPS_SRCALPHA 0x00000010
1076 #define WINED3DPBLENDCAPS_INVSRCALPHA 0x00000020
1077 #define WINED3DPBLENDCAPS_DESTALPHA 0x00000040
1078 #define WINED3DPBLENDCAPS_INVDESTALPHA 0x00000080
1079 #define WINED3DPBLENDCAPS_DESTCOLOR 0x00000100
1080 #define WINED3DPBLENDCAPS_INVDESTCOLOR 0x00000200
1081 #define WINED3DPBLENDCAPS_SRCALPHASAT 0x00000400
1082 #define WINED3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
1083 #define WINED3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
1084 #define WINED3DPBLENDCAPS_BLENDFACTOR 0x00002000
1085 
1086 #define WINED3DPCMPCAPS_NEVER 0x00000001
1087 #define WINED3DPCMPCAPS_LESS 0x00000002
1088 #define WINED3DPCMPCAPS_EQUAL 0x00000004
1089 #define WINED3DPCMPCAPS_LESSEQUAL 0x00000008
1090 #define WINED3DPCMPCAPS_GREATER 0x00000010
1091 #define WINED3DPCMPCAPS_NOTEQUAL 0x00000020
1092 #define WINED3DPCMPCAPS_GREATEREQUAL 0x00000040
1093 #define WINED3DPCMPCAPS_ALWAYS 0x00000080
1094 
1095 #define WINED3DPMISCCAPS_MASKZ 0x00000002
1096 #define WINED3DPMISCCAPS_LINEPATTERNREP 0x00000004
1097 #define WINED3DPMISCCAPS_CULLNONE 0x00000010
1098 #define WINED3DPMISCCAPS_CULLCW 0x00000020
1099 #define WINED3DPMISCCAPS_CULLCCW 0x00000040
1100 #define WINED3DPMISCCAPS_COLORWRITEENABLE 0x00000080
1101 #define WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x00000100
1102 #define WINED3DPMISCCAPS_CLIPTLVERTS 0x00000200
1103 #define WINED3DPMISCCAPS_TSSARGTEMP 0x00000400
1104 #define WINED3DPMISCCAPS_BLENDOP 0x00000800
1105 #define WINED3DPMISCCAPS_NULLREFERENCE 0x00001000
1106 #define WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS 0x00004000
1107 #define WINED3DPMISCCAPS_PERSTAGECONSTANT 0x00008000
1108 #define WINED3DPMISCCAPS_FOGANDSPECULARALPHA 0x00010000
1109 #define WINED3DPMISCCAPS_SEPARATEALPHABLEND 0x00020000
1110 #define WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 0x00040000
1111 #define WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x00080000
1112 #define WINED3DPMISCCAPS_FOGVERTEXCLAMPED 0x00100000
1113 #define WINED3DPMISCCAPS_POSTBLENDSRGBCONVERT 0x00200000
1114 
1115 #define WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
1116 #define WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
1117 #define WINED3DPS20_MAX_NUMTEMPS 32
1118 #define WINED3DPS20_MIN_NUMTEMPS 12
1119 #define WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
1120 #define WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
1121 #define WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
1122 #define WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
1123 
1124 #define WINED3DPS20CAPS_ARBITRARYSWIZZLE 0x00000001
1125 #define WINED3DPS20CAPS_GRADIENTINSTRUCTIONS 0x00000002
1126 #define WINED3DPS20CAPS_PREDICATION 0x00000004
1127 #define WINED3DPS20CAPS_NODEPENDENTREADLIMIT 0x00000008
1128 #define WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT 0x00000010
1129 
1130 #define WINED3DPTADDRESSCAPS_WRAP 0x00000001
1131 #define WINED3DPTADDRESSCAPS_MIRROR 0x00000002
1132 #define WINED3DPTADDRESSCAPS_CLAMP 0x00000004
1133 #define WINED3DPTADDRESSCAPS_BORDER 0x00000008
1134 #define WINED3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010
1135 #define WINED3DPTADDRESSCAPS_MIRRORONCE 0x00000020
1136 
1137 #define WINED3DSTENCILCAPS_KEEP 0x00000001
1138 #define WINED3DSTENCILCAPS_ZERO 0x00000002
1139 #define WINED3DSTENCILCAPS_REPLACE 0x00000004
1140 #define WINED3DSTENCILCAPS_INCRSAT 0x00000008
1141 #define WINED3DSTENCILCAPS_DECRSAT 0x00000010
1142 #define WINED3DSTENCILCAPS_INVERT 0x00000020
1143 #define WINED3DSTENCILCAPS_INCR 0x00000040
1144 #define WINED3DSTENCILCAPS_DECR 0x00000080
1145 #define WINED3DSTENCILCAPS_TWOSIDED 0x00000100
1146 
1147 #define WINED3DTEXOPCAPS_DISABLE 0x00000001
1148 #define WINED3DTEXOPCAPS_SELECTARG1 0x00000002
1149 #define WINED3DTEXOPCAPS_SELECTARG2 0x00000004
1150 #define WINED3DTEXOPCAPS_MODULATE 0x00000008
1151 #define WINED3DTEXOPCAPS_MODULATE2X 0x00000010
1152 #define WINED3DTEXOPCAPS_MODULATE4X 0x00000020
1153 #define WINED3DTEXOPCAPS_ADD 0x00000040
1154 #define WINED3DTEXOPCAPS_ADDSIGNED 0x00000080
1155 #define WINED3DTEXOPCAPS_ADDSIGNED2X 0x00000100
1156 #define WINED3DTEXOPCAPS_SUBTRACT 0x00000200
1157 #define WINED3DTEXOPCAPS_ADDSMOOTH 0x00000400
1158 #define WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800
1159 #define WINED3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000
1160 #define WINED3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000
1161 #define WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000
1162 #define WINED3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000
1163 #define WINED3DTEXOPCAPS_PREMODULATE 0x00010000
1164 #define WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000
1165 #define WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000
1166 #define WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
1167 #define WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
1168 #define WINED3DTEXOPCAPS_BUMPENVMAP 0x00200000
1169 #define WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000
1170 #define WINED3DTEXOPCAPS_DOTPRODUCT3 0x00800000
1171 #define WINED3DTEXOPCAPS_MULTIPLYADD 0x01000000
1172 #define WINED3DTEXOPCAPS_LERP 0x02000000
1173 
1174 #define WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
1175 #define WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
1176 #define WINED3DVS20_MAX_NUMTEMPS 32
1177 #define WINED3DVS20_MIN_NUMTEMPS 12
1178 #define WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
1179 #define WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
1180 
1181 #define WINED3DVS20CAPS_PREDICATION 0x00000001
1182 
1183 #define WINED3DCAPS2_NO2DDURING3DSCENE 0x00000002
1184 #define WINED3DCAPS2_FULLSCREENGAMMA 0x00020000
1185 #define WINED3DCAPS2_CANRENDERWINDOWED 0x00080000
1186 #define WINED3DCAPS2_CANCALIBRATEGAMMA 0x00100000
1187 #define WINED3DCAPS2_RESERVED 0x02000000
1188 #define WINED3DCAPS2_CANMANAGERESOURCE 0x10000000
1189 #define WINED3DCAPS2_DYNAMICTEXTURES 0x20000000
1190 #define WINED3DCAPS2_CANGENMIPMAP 0x40000000
1191 
1192 #define WINED3DPRASTERCAPS_DITHER 0x00000001
1193 #define WINED3DPRASTERCAPS_ROP2 0x00000002
1194 #define WINED3DPRASTERCAPS_XOR 0x00000004
1195 #define WINED3DPRASTERCAPS_PAT 0x00000008
1196 #define WINED3DPRASTERCAPS_ZTEST 0x00000010
1197 #define WINED3DPRASTERCAPS_SUBPIXEL 0x00000020
1198 #define WINED3DPRASTERCAPS_SUBPIXELX 0x00000040
1199 #define WINED3DPRASTERCAPS_FOGVERTEX 0x00000080
1200 #define WINED3DPRASTERCAPS_FOGTABLE 0x00000100
1201 #define WINED3DPRASTERCAPS_STIPPLE 0x00000200
1202 #define WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400
1203 #define WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800
1204 #define WINED3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
1205 #define WINED3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
1206 #define WINED3DPRASTERCAPS_ZBIAS 0x00004000
1207 #define WINED3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
1208 #define WINED3DPRASTERCAPS_FOGRANGE 0x00010000
1209 #define WINED3DPRASTERCAPS_ANISOTROPY 0x00020000
1210 #define WINED3DPRASTERCAPS_WBUFFER 0x00040000
1211 #define WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000
1212 #define WINED3DPRASTERCAPS_WFOG 0x00100000
1213 #define WINED3DPRASTERCAPS_ZFOG 0x00200000
1214 #define WINED3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000
1215 #define WINED3DPRASTERCAPS_SCISSORTEST 0x01000000
1216 #define WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000
1217 #define WINED3DPRASTERCAPS_DEPTHBIAS 0x04000000
1218 #define WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x08000000
1219 
1220 #define WINED3DPSHADECAPS_COLORFLATMONO 0x00000001
1221 #define WINED3DPSHADECAPS_COLORFLATRGB 0x00000002
1222 #define WINED3DPSHADECAPS_COLORGOURAUDMONO 0x00000004
1223 #define WINED3DPSHADECAPS_COLORGOURAUDRGB 0x00000008
1224 #define WINED3DPSHADECAPS_COLORPHONGMONO 0x00000010
1225 #define WINED3DPSHADECAPS_COLORPHONGRGB 0x00000020
1226 #define WINED3DPSHADECAPS_SPECULARFLATMONO 0x00000040
1227 #define WINED3DPSHADECAPS_SPECULARFLATRGB 0x00000080
1228 #define WINED3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100
1229 #define WINED3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200
1230 #define WINED3DPSHADECAPS_SPECULARPHONGMONO 0x00000400
1231 #define WINED3DPSHADECAPS_SPECULARPHONGRGB 0x00000800
1232 #define WINED3DPSHADECAPS_ALPHAFLATBLEND 0x00001000
1233 #define WINED3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000
1234 #define WINED3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000
1235 #define WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000
1236 #define WINED3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000
1237 #define WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000
1238 #define WINED3DPSHADECAPS_FOGFLAT 0x00040000
1239 #define WINED3DPSHADECAPS_FOGGOURAUD 0x00080000
1240 #define WINED3DPSHADECAPS_FOGPHONG 0x00100000
1241 
1242 #define WINED3DPTEXTURECAPS_PERSPECTIVE 0x00000001
1243 #define WINED3DPTEXTURECAPS_POW2 0x00000002
1244 #define WINED3DPTEXTURECAPS_ALPHA 0x00000004
1245 #define WINED3DPTEXTURECAPS_TRANSPARENCY 0x00000008
1246 #define WINED3DPTEXTURECAPS_BORDER 0x00000010
1247 #define WINED3DPTEXTURECAPS_SQUAREONLY 0x00000020
1248 #define WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040
1249 #define WINED3DPTEXTURECAPS_ALPHAPALETTE 0x00000080
1250 #define WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100
1251 #define WINED3DPTEXTURECAPS_PROJECTED 0x00000400
1252 #define WINED3DPTEXTURECAPS_CUBEMAP 0x00000800
1253 #define WINED3DPTEXTURECAPS_COLORKEYBLEND 0x00001000
1254 #define WINED3DPTEXTURECAPS_VOLUMEMAP 0x00002000
1255 #define WINED3DPTEXTURECAPS_MIPMAP 0x00004000
1256 #define WINED3DPTEXTURECAPS_MIPVOLUMEMAP 0x00008000
1257 #define WINED3DPTEXTURECAPS_MIPCUBEMAP 0x00010000
1258 #define WINED3DPTEXTURECAPS_CUBEMAP_POW2 0x00020000
1259 #define WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 0x00040000
1260 #define WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x00200000
1261 
1262 #define WINED3DPTFILTERCAPS_NEAREST 0x00000001
1263 #define WINED3DPTFILTERCAPS_LINEAR 0x00000002
1264 #define WINED3DPTFILTERCAPS_MIPNEAREST 0x00000004
1265 #define WINED3DPTFILTERCAPS_MIPLINEAR 0x00000008
1266 #define WINED3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010
1267 #define WINED3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020
1268 #define WINED3DPTFILTERCAPS_MINFPOINT 0x00000100
1269 #define WINED3DPTFILTERCAPS_MINFLINEAR 0x00000200
1270 #define WINED3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
1271 #define WINED3DPTFILTERCAPS_MIPFPOINT 0x00010000
1272 #define WINED3DPTFILTERCAPS_MIPFLINEAR 0x00020000
1273 #define WINED3DPTFILTERCAPS_MAGFPOINT 0x01000000
1274 #define WINED3DPTFILTERCAPS_MAGFLINEAR 0x02000000
1275 #define WINED3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
1276 #define WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000
1277 #define WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000
1278 
1279 #define WINED3DVTXPCAPS_TEXGEN 0x00000001
1280 #define WINED3DVTXPCAPS_MATERIALSOURCE7 0x00000002
1281 #define WINED3DVTXPCAPS_VERTEXFOG 0x00000004
1282 #define WINED3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008
1283 #define WINED3DVTXPCAPS_POSITIONALLIGHTS 0x00000010
1284 #define WINED3DVTXPCAPS_LOCALVIEWER 0x00000020
1285 #define WINED3DVTXPCAPS_TWEENING 0x00000040
1286 #define WINED3DVTXPCAPS_TEXGEN_SPHEREMAP 0x00000100
1287 #define WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200
1288 
1289 #define WINED3DCURSORCAPS_COLOR 0x00000001
1290 #define WINED3DCURSORCAPS_LOWRES 0x00000002
1291 
1292 #define WINED3DDEVCAPS_FLOATTLVERTEX 0x00000001
1293 #define WINED3DDEVCAPS_SORTINCREASINGZ 0x00000002
1294 #define WINED3DDEVCAPS_SORTDECREASINGZ 0X00000004
1295 #define WINED3DDEVCAPS_SORTEXACT 0x00000008
1296 #define WINED3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010
1297 #define WINED3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020
1298 #define WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040
1299 #define WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080
1300 #define WINED3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100
1301 #define WINED3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200
1302 #define WINED3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400
1303 #define WINED3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800
1304 #define WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000
1305 #define WINED3DDEVCAPS_DRAWPRIMITIVES2 0x00002000
1306 #define WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000
1307 #define WINED3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000
1308 #define WINED3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000
1309 #define WINED3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000
1310 #define WINED3DDEVCAPS_HWRASTERIZATION 0x00080000
1311 #define WINED3DDEVCAPS_PUREDEVICE 0x00100000
1312 #define WINED3DDEVCAPS_QUINTICRTPATCHES 0x00200000
1313 #define WINED3DDEVCAPS_RTPATCHES 0x00400000
1314 #define WINED3DDEVCAPS_RTPATCHHANDLEZERO 0x00800000
1315 #define WINED3DDEVCAPS_NPATCHES 0x01000000
1316 
1317 #define WINED3D_LEGACY_DEPTH_BIAS 0x00000001
1318 #define WINED3D_NO3D 0x00000002
1319 #define WINED3D_VIDMEM_ACCOUNTING 0x00000004
1320 #define WINED3D_PRESENT_CONVERSION 0x00000008
1321 #define WINED3D_RESTORE_MODE_ON_ACTIVATE 0x00000010
1322 #define WINED3D_FOCUS_MESSAGES 0x00000020
1323 #define WINED3D_HANDLE_RESTORE 0x00000040
1324 #define WINED3D_PIXEL_CENTER_INTEGER 0x00000080
1325 #define WINED3D_LEGACY_FFP_LIGHTING 0x00000100
1326 #define WINED3D_SRGB_READ_WRITE_CONTROL 0x00000200
1327 #define WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR 0x00000400
1328 #define WINED3D_NO_PRIMITIVE_RESTART 0x00000800
1329 #define WINED3D_LEGACY_CUBEMAP_FILTERING 0x00001000
1330 #define WINED3D_NORMALIZED_DEPTH_BIAS 0x00002000
1331 
1332 #define WINED3D_RESZ_CODE 0x7fa05000
1333 
1334 #define WINED3D_CKEY_DST_BLT 0x00000002
1335 #define WINED3D_CKEY_DST_OVERLAY 0x00000004
1336 #define WINED3D_CKEY_SRC_BLT 0x00000008
1337 #define WINED3D_CKEY_SRC_OVERLAY 0x00000010
1338 
1339 /* dwDDFX */
1340 /* arithmetic stretching along y axis */
1341 #define WINEDDBLTFX_ARITHSTRETCHY 0x00000001
1342 /* mirror on y axis */
1343 #define WINEDDBLTFX_MIRRORLEFTRIGHT 0x00000002
1344 /* mirror on x axis */
1345 #define WINEDDBLTFX_MIRRORUPDOWN 0x00000004
1346 /* do not tear */
1347 #define WINEDDBLTFX_NOTEARING 0x00000008
1348 /* 180 degrees clockwise rotation */
1349 #define WINEDDBLTFX_ROTATE180 0x00000010
1350 /* 270 degrees clockwise rotation */
1351 #define WINEDDBLTFX_ROTATE270 0x00000020
1352 /* 90 degrees clockwise rotation */
1353 #define WINEDDBLTFX_ROTATE90 0x00000040
1354 /* dwZBufferLow and dwZBufferHigh specify limits to the copied Z values */
1355 #define WINEDDBLTFX_ZBUFFERRANGE 0x00000080
1356 /* add dwZBufferBaseDest to every source z value before compare */
1357 #define WINEDDBLTFX_ZBUFFERBASEDEST 0x00000100
1358 
1359 #define WINED3D_BLT_FX 0x00000800
1360 #define WINED3D_BLT_DST_CKEY 0x00002000
1361 #define WINED3D_BLT_DST_CKEY_OVERRIDE 0x00004000
1362 #define WINED3D_BLT_SRC_CKEY 0x00008000
1363 #define WINED3D_BLT_SRC_CKEY_OVERRIDE 0x00010000
1364 #define WINED3D_BLT_WAIT 0x01000000
1365 #define WINED3D_BLT_DO_NOT_WAIT 0x08000000
1366 #define WINED3D_BLT_RAW 0x20000000
1367 #define WINED3D_BLT_SYNCHRONOUS 0x40000000
1368 #define WINED3D_BLT_ALPHA_TEST 0x80000000
1369 #define WINED3D_BLT_MASK 0x0901e800
1370 
1371 /* dwFlags for GetBltStatus */
1372 #define WINEDDGBS_CANBLT 0x00000001
1373 #define WINEDDGBS_ISBLTDONE 0x00000002
1374 
1375 /* dwFlags for GetFlipStatus */
1376 #define WINEDDGFS_CANFLIP 0x00000001
1377 #define WINEDDGFS_ISFLIPDONE 0x00000002
1378 
1379 /* dwFlags for Flip */
1380 #define WINEDDFLIP_WAIT 0x00000001
1381 #define WINEDDFLIP_EVEN 0x00000002 /* only valid for overlay */
1382 #define WINEDDFLIP_ODD 0x00000004 /* only valid for overlay */
1383 #define WINEDDFLIP_NOVSYNC 0x00000008
1384 #define WINEDDFLIP_STEREO 0x00000010
1385 #define WINEDDFLIP_DONOTWAIT 0x00000020
1386 #define WINEDDFLIP_INTERVAL2 0x02000000
1387 #define WINEDDFLIP_INTERVAL3 0x03000000
1388 #define WINEDDFLIP_INTERVAL4 0x04000000
1389 
1390 #define WINEDDOVER_ALPHADEST 0x00000001
1391 #define WINEDDOVER_ALPHADESTCONSTOVERRIDE 0x00000002
1392 #define WINEDDOVER_ALPHADESTNEG 0x00000004
1393 #define WINEDDOVER_ALPHADESTSURFACEOVERRIDE 0x00000008
1394 #define WINEDDOVER_ALPHAEDGEBLEND 0x00000010
1395 #define WINEDDOVER_ALPHASRC 0x00000020
1396 #define WINEDDOVER_ALPHASRCCONSTOVERRIDE 0x00000040
1397 #define WINEDDOVER_ALPHASRCNEG 0x00000080
1398 #define WINEDDOVER_ALPHASRCSURFACEOVERRIDE 0x00000100
1399 #define WINEDDOVER_HIDE 0x00000200
1400 #define WINEDDOVER_KEYDEST 0x00000400
1401 #define WINEDDOVER_KEYDESTOVERRIDE 0x00000800
1402 #define WINEDDOVER_KEYSRC 0x00001000
1403 #define WINEDDOVER_KEYSRCOVERRIDE 0x00002000
1404 #define WINEDDOVER_SHOW 0x00004000
1405 #define WINEDDOVER_ADDDIRTYRECT 0x00008000
1406 #define WINEDDOVER_REFRESHDIRTYRECTS 0x00010000
1407 #define WINEDDOVER_REFRESHALL 0x00020000
1408 #define WINEDDOVER_DDFX 0x00080000
1409 #define WINEDDOVER_AUTOFLIP 0x00100000
1410 #define WINEDDOVER_BOB 0x00200000
1411 #define WINEDDOVER_OVERRIDEBOBWEAVE 0x00400000
1412 #define WINEDDOVER_INTERLEAVED 0x00800000
1413 
1414 /* DirectDraw Caps */
1415 #define WINEDDSCAPS_RESERVED1 0x00000001
1416 #define WINEDDSCAPS_ALPHA 0x00000002
1417 #define WINEDDSCAPS_BACKBUFFER 0x00000004
1418 #define WINEDDSCAPS_COMPLEX 0x00000008
1419 #define WINEDDSCAPS_FLIP 0x00000010
1420 #define WINEDDSCAPS_FRONTBUFFER 0x00000020
1421 #define WINEDDSCAPS_OFFSCREENPLAIN 0x00000040
1422 #define WINEDDSCAPS_OVERLAY 0x00000080
1423 #define WINEDDSCAPS_PALETTE 0x00000100
1424 #define WINEDDSCAPS_PRIMARYSURFACE 0x00000200
1425 #define WINEDDSCAPS_PRIMARYSURFACELEFT 0x00000400
1426 #define WINEDDSCAPS_SYSTEMMEMORY 0x00000800
1427 #define WINEDDSCAPS_TEXTURE 0x00001000
1428 #define WINEDDSCAPS_3DDEVICE 0x00002000
1429 #define WINEDDSCAPS_VIDEOMEMORY 0x00004000
1430 #define WINEDDSCAPS_VISIBLE 0x00008000
1431 #define WINEDDSCAPS_WRITEONLY 0x00010000
1432 #define WINEDDSCAPS_ZBUFFER 0x00020000
1433 #define WINEDDSCAPS_OWNDC 0x00040000
1434 #define WINEDDSCAPS_LIVEVIDEO 0x00080000
1435 #define WINEDDSCAPS_HWCODEC 0x00100000
1436 #define WINEDDSCAPS_MODEX 0x00200000
1437 #define WINEDDSCAPS_MIPMAP 0x00400000
1438 #define WINEDDSCAPS_RESERVED2 0x00800000
1439 #define WINEDDSCAPS_ALLOCONLOAD 0x04000000
1440 #define WINEDDSCAPS_VIDEOPORT 0x08000000
1441 #define WINEDDSCAPS_LOCALVIDMEM 0x10000000
1442 #define WINEDDSCAPS_NONLOCALVIDMEM 0x20000000
1443 #define WINEDDSCAPS_STANDARDVGAMODE 0x40000000
1444 #define WINEDDSCAPS_OPTIMIZED 0x80000000
1445 
1446 #define WINEDDCKEYCAPS_DESTBLT 0x00000001
1447 #define WINEDDCKEYCAPS_DESTBLTCLRSPACE 0x00000002
1448 #define WINEDDCKEYCAPS_DESTBLTCLRSPACEYUV 0x00000004
1449 #define WINEDDCKEYCAPS_DESTBLTYUV 0x00000008
1450 #define WINEDDCKEYCAPS_DESTOVERLAY 0x00000010
1451 #define WINEDDCKEYCAPS_DESTOVERLAYCLRSPACE 0x00000020
1452 #define WINEDDCKEYCAPS_DESTOVERLAYCLRSPACEYUV 0x00000040
1453 #define WINEDDCKEYCAPS_DESTOVERLAYONEACTIVE 0x00000080
1454 #define WINEDDCKEYCAPS_DESTOVERLAYYUV 0x00000100
1455 #define WINEDDCKEYCAPS_SRCBLT 0x00000200
1456 #define WINEDDCKEYCAPS_SRCBLTCLRSPACE 0x00000400
1457 #define WINEDDCKEYCAPS_SRCBLTCLRSPACEYUV 0x00000800
1458 #define WINEDDCKEYCAPS_SRCBLTYUV 0x00001000
1459 #define WINEDDCKEYCAPS_SRCOVERLAY 0x00002000
1460 #define WINEDDCKEYCAPS_SRCOVERLAYCLRSPACE 0x00004000
1461 #define WINEDDCKEYCAPS_SRCOVERLAYCLRSPACEYUV 0x00008000
1462 #define WINEDDCKEYCAPS_SRCOVERLAYONEACTIVE 0x00010000
1463 #define WINEDDCKEYCAPS_SRCOVERLAYYUV 0x00020000
1464 #define WINEDDCKEYCAPS_NOCOSTOVERLAY 0x00040000
1465 
1466 #define WINEDDFXCAPS_BLTALPHA 0x00000001
1467 #define WINEDDFXCAPS_OVERLAYALPHA 0x00000004
1468 #define WINEDDFXCAPS_BLTARITHSTRETCHYN 0x00000010
1469 #define WINEDDFXCAPS_BLTARITHSTRETCHY 0x00000020
1470 #define WINEDDFXCAPS_BLTMIRRORLEFTRIGHT 0x00000040
1471 #define WINEDDFXCAPS_BLTMIRRORUPDOWN 0x00000080
1472 #define WINEDDFXCAPS_BLTROTATION 0x00000100
1473 #define WINEDDFXCAPS_BLTROTATION90 0x00000200
1474 #define WINEDDFXCAPS_BLTSHRINKX 0x00000400
1475 #define WINEDDFXCAPS_BLTSHRINKXN 0x00000800
1476 #define WINEDDFXCAPS_BLTSHRINKY 0x00001000
1477 #define WINEDDFXCAPS_BLTSHRINKYN 0x00002000
1478 #define WINEDDFXCAPS_BLTSTRETCHX 0x00004000
1479 #define WINEDDFXCAPS_BLTSTRETCHXN 0x00008000
1480 #define WINEDDFXCAPS_BLTSTRETCHY 0x00010000
1481 #define WINEDDFXCAPS_BLTSTRETCHYN 0x00020000
1482 #define WINEDDFXCAPS_OVERLAYARITHSTRETCHY 0x00040000
1483 #define WINEDDFXCAPS_OVERLAYARITHSTRETCHYN 0x00000008
1484 #define WINEDDFXCAPS_OVERLAYSHRINKX 0x00080000
1485 #define WINEDDFXCAPS_OVERLAYSHRINKXN 0x00100000
1486 #define WINEDDFXCAPS_OVERLAYSHRINKY 0x00200000
1487 #define WINEDDFXCAPS_OVERLAYSHRINKYN 0x00400000
1488 #define WINEDDFXCAPS_OVERLAYSTRETCHX 0x00800000
1489 #define WINEDDFXCAPS_OVERLAYSTRETCHXN 0x01000000
1490 #define WINEDDFXCAPS_OVERLAYSTRETCHY 0x02000000
1491 #define WINEDDFXCAPS_OVERLAYSTRETCHYN 0x04000000
1492 #define WINEDDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000
1493 #define WINEDDFXCAPS_OVERLAYMIRRORUPDOWN 0x10000000
1494 
1495 #define WINEDDCAPS_3D 0x00000001
1496 #define WINEDDCAPS_ALIGNBOUNDARYDEST 0x00000002
1497 #define WINEDDCAPS_ALIGNSIZEDEST 0x00000004
1498 #define WINEDDCAPS_ALIGNBOUNDARYSRC 0x00000008
1499 #define WINEDDCAPS_ALIGNSIZESRC 0x00000010
1500 #define WINEDDCAPS_ALIGNSTRIDE 0x00000020
1501 #define WINEDDCAPS_BLT 0x00000040
1502 #define WINEDDCAPS_BLTQUEUE 0x00000080
1503 #define WINEDDCAPS_BLTFOURCC 0x00000100
1504 #define WINEDDCAPS_BLTSTRETCH 0x00000200
1505 #define WINEDDCAPS_GDI 0x00000400
1506 #define WINEDDCAPS_OVERLAY 0x00000800
1507 #define WINEDDCAPS_OVERLAYCANTCLIP 0x00001000
1508 #define WINEDDCAPS_OVERLAYFOURCC 0x00002000
1509 #define WINEDDCAPS_OVERLAYSTRETCH 0x00004000
1510 #define WINEDDCAPS_PALETTE 0x00008000
1511 #define WINEDDCAPS_PALETTEVSYNC 0x00010000
1512 #define WINEDDCAPS_READSCANLINE 0x00020000
1513 #define WINEDDCAPS_STEREOVIEW 0x00040000
1514 #define WINEDDCAPS_VBI 0x00080000
1515 #define WINEDDCAPS_ZBLTS 0x00100000
1516 #define WINEDDCAPS_ZOVERLAYS 0x00200000
1517 #define WINEDDCAPS_COLORKEY 0x00400000
1518 #define WINEDDCAPS_ALPHA 0x00800000
1519 #define WINEDDCAPS_COLORKEYHWASSIST 0x01000000
1520 #define WINEDDCAPS_NOHARDWARE 0x02000000
1521 #define WINEDDCAPS_BLTCOLORFILL 0x04000000
1522 #define WINEDDCAPS_BANKSWITCHED 0x08000000
1523 #define WINEDDCAPS_BLTDEPTHFILL 0x10000000
1524 #define WINEDDCAPS_CANCLIP 0x20000000
1525 #define WINEDDCAPS_CANCLIPSTRETCHED 0x40000000
1526 #define WINEDDCAPS_CANBLTSYSMEM 0x80000000
1527 
1528 #define WINEDDCAPS2_CERTIFIED 0x00000001
1529 #define WINEDDCAPS2_NO2DDURING3DSCENE 0x00000002
1530 #define WINEDDCAPS2_VIDEOPORT 0x00000004
1531 #define WINEDDCAPS2_AUTOFLIPOVERLAY 0x00000008
1532 #define WINEDDCAPS2_CANBOBINTERLEAVED 0x00000010
1533 #define WINEDDCAPS2_CANBOBNONINTERLEAVED 0x00000020
1534 #define WINEDDCAPS2_COLORCONTROLOVERLAY 0x00000040
1535 #define WINEDDCAPS2_COLORCONTROLPRIMARY 0x00000080
1536 #define WINEDDCAPS2_CANDROPZ16BIT 0x00000100
1537 #define WINEDDCAPS2_NONLOCALVIDMEM 0x00000200
1538 #define WINEDDCAPS2_NONLOCALVIDMEMCAPS 0x00000400
1539 #define WINEDDCAPS2_NOPAGELOCKREQUIRED 0x00000800
1540 #define WINEDDCAPS2_WIDESURFACES 0x00001000
1541 #define WINEDDCAPS2_CANFLIPODDEVEN 0x00002000
1542 #define WINEDDCAPS2_CANBOBHARDWARE 0x00004000
1543 #define WINEDDCAPS2_COPYFOURCC 0x00008000
1544 #define WINEDDCAPS2_PRIMARYGAMMA 0x00020000
1545 #define WINEDDCAPS2_CANRENDERWINDOWED 0x00080000
1546 #define WINEDDCAPS2_CANCALIBRATEGAMMA 0x00100000
1547 #define WINEDDCAPS2_FLIPINTERVAL 0x00200000
1548 #define WINEDDCAPS2_FLIPNOVSYNC 0x00400000
1549 #define WINEDDCAPS2_CANMANAGETEXTURE 0x00800000
1550 #define WINEDDCAPS2_TEXMANINNONLOCALVIDMEM 0x01000000
1551 #define WINEDDCAPS2_STEREO 0x02000000
1552 #define WINEDDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL 0x04000000
1553 
1554 #define WINED3D_PALETTE_8BIT_ENTRIES 0x00000001
1555 #define WINED3D_PALETTE_ALLOW_256 0x00000002
1556 #define WINED3D_PALETTE_ALPHA 0x00000004
1557 
1558 #define WINED3D_TEXTURE_CREATE_MAPPABLE 0x00000001
1559 #define WINED3D_TEXTURE_CREATE_DISCARD 0x00000002
1560 #define WINED3D_TEXTURE_CREATE_GET_DC_LENIENT 0x00000004
1561 #define WINED3D_TEXTURE_CREATE_GET_DC 0x00000008
1562 #define WINED3D_TEXTURE_CREATE_GENERATE_MIPMAPS 0x00000010
1563 
1564 #define WINED3D_APPEND_ALIGNED_ELEMENT 0xffffffff
1565 
1566 #define WINED3D_OUTPUT_SLOT_SEMANTIC 0xffffffff
1567 #define WINED3D_OUTPUT_SLOT_UNUSED 0xfffffffe
1568 
1569 #define WINED3D_MAX_STREAM_OUTPUT_BUFFERS 4
1570 #define WINED3D_STREAM_OUTPUT_GAP 0xffffffff
1571 #define WINED3D_NO_RASTERIZER_STREAM 0xffffffff
1572 
1573 #define WINED3D_VIEW_BUFFER_RAW 0x00000001
1574 #define WINED3D_VIEW_BUFFER_APPEND 0x00000002
1575 #define WINED3D_VIEW_BUFFER_COUNTER 0x00000004
1576 #define WINED3D_VIEW_TEXTURE_CUBE 0x00000008
1577 #define WINED3D_VIEW_TEXTURE_ARRAY 0x00000010
1578 
1579 #define WINED3D_MAX_VIEWPORTS 16
1580 
1582 {
1588 };
1589 
1591 {
1592  float r;
1593  float g;
1594  float b;
1595  float a;
1596 };
1597 
1599 {
1600  float x;
1601  float y;
1602  float z;
1603 };
1604 
1606 {
1607  float x;
1608  float y;
1609  float z;
1610  float w;
1611 };
1612 
1614 {
1615  double x;
1616  double y;
1617  double z;
1618  double w;
1619 };
1620 
1622 {
1623  int x;
1624  int y;
1625  int z;
1626  int w;
1627 };
1628 
1630 {
1631  unsigned int x;
1632  unsigned int y;
1633  unsigned int z;
1634  unsigned int w;
1635 };
1636 
1638 {
1639  float _11, _12, _13, _14;
1640  float _21, _22, _23, _24;
1641  float _31, _32, _33, _34;
1642  float _41, _42, _43, _44;
1643 };
1644 
1646 {
1653  float range;
1654  float falloff;
1658  float theta;
1659  float phi;
1660 };
1661 
1663 {
1668  float power;
1669 };
1670 
1672 {
1673  float x;
1674  float y;
1675  float width;
1676  float height;
1677  float min_z;
1678  float max_z;
1679 };
1680 
1682 {
1683  WORD red[256];
1684  WORD green[256];
1685  WORD blue[256];
1686 };
1687 
1689 {
1692 };
1693 
1695 {
1703 };
1704 
1706 {
1711 };
1712 
1714 {
1715  char *driver;
1730 };
1731 
1733 {
1734  unsigned int backbuffer_width;
1735  unsigned int backbuffer_height;
1737  unsigned int backbuffer_count;
1747  unsigned int refresh_rate;
1749 };
1750 
1752 {
1756  unsigned int multisample_quality;
1757  unsigned int usage;
1758  unsigned int access;
1759  unsigned int width;
1760  unsigned int height;
1761  unsigned int depth;
1762  unsigned int size;
1763 };
1764 
1766 {
1769  unsigned int multisample_quality;
1770  unsigned int usage;
1771  unsigned int access;
1772  unsigned int width;
1773  unsigned int height;
1774  unsigned int depth;
1775  unsigned int size;
1776 };
1777 
1779 {
1782 };
1783 
1785 {
1788 };
1789 
1791 {
1793  unsigned int input_slot;
1794  unsigned int offset;
1795  unsigned int output_slot; /* D3D 8 & 10 */
1801 };
1802 
1804 {
1809 };
1810 
1812 {
1815 };
1816 
1818 {
1821  void *data;
1822 };
1823 
1825 {
1829 };
1830 
1832 {
1833  const void *data;
1834  unsigned int row_pitch;
1835  unsigned int slice_pitch;
1836 };
1837 
1839 {
1846 };
1847 
1849 {
1854 };
1855 
1857 {
1863 };
1864 
1866 {
1883 };
1884 
1885 typedef struct _WINED3DCAPS
1886 {
1889 
1893 
1910 
1917  float MaxVertexW;
1918 
1923 
1926 
1931 
1937 
1939 
1944 
1947 
1950 
1951  /* DX 9 */
1953 
1955  DWORD Reserved5; /* undocumented */
1956 
1970  DWORD Reserved2; /* Not in the microsoft headers but documented */
1972 
1974 
1976 } WINED3DCAPS;
1977 
1979 {
1980  DWORD color_space_low_value; /* low boundary of color space that is to
1981  * be treated as Color Key, inclusive */
1982  DWORD color_space_high_value; /* high boundary of color space that is
1983  * to be treated as Color Key, inclusive */
1984 };
1985 
1987 {
1991 };
1992 
1994 {
1995  unsigned int byte_width;
1996  unsigned int usage;
1997  unsigned int bind_flags;
1998  unsigned int access;
1999  unsigned int misc_flags;
2001 };
2002 
2004 {
2006 };
2007 
2009 {
2012 };
2013 
2015 {
2019  float border_color[4];
2023  float lod_bias;
2024  float min_lod;
2025  float max_lod;
2026  unsigned int mip_base_level;
2027  unsigned int max_anisotropy;
2031 };
2032 
2034 {
2035  const char *semantic_name;
2036  unsigned int semantic_idx;
2037  unsigned int stream_idx;
2040  unsigned int register_idx;
2042 };
2043 
2045 {
2048 };
2049 
2051 {
2058  unsigned int max_version;
2059 };
2060 
2062 {
2063  unsigned int stream_idx;
2064  unsigned int register_idx;
2068 };
2069 
2071 {
2073  unsigned int element_count;
2075  unsigned int buffer_stride_count;
2077 };
2078 
2080 {
2082  unsigned int flags;
2083  union
2084  {
2085  struct
2086  {
2087  unsigned int start_idx;
2088  unsigned int count;
2089  } buffer;
2090  struct
2091  {
2092  unsigned int level_idx;
2093  unsigned int level_count;
2094  unsigned int layer_idx;
2095  unsigned int layer_count;
2096  } texture;
2097  } u;
2098 };
2099 
2101 {
2107 };
2108 
2110 {
2111  void (__stdcall *wined3d_object_destroyed)(void *parent);
2112 };
2113 
2114 struct wined3d;
2115 struct wined3d_buffer;
2116 struct wined3d_device;
2117 struct wined3d_palette;
2118 struct wined3d_query;
2119 struct wined3d_blend_state;
2122 struct wined3d_resource;
2123 struct wined3d_sampler;
2124 struct wined3d_shader;
2126 struct wined3d_stateblock;
2127 struct wined3d_swapchain;
2128 struct wined3d_texture;
2131 
2133 {
2135 };
2136 
2138 {
2139  void (__cdecl *wined3d_device_created)(struct wined3d_device_parent *device_parent, struct wined3d_device *device);
2140  void (__cdecl *mode_changed)(struct wined3d_device_parent *device_parent);
2142  HRESULT (__cdecl *texture_sub_resource_created)(struct wined3d_device_parent *device_parent,
2144  void **parent, const struct wined3d_parent_ops **parent_ops);
2145  HRESULT (__cdecl *create_swapchain_texture)(struct wined3d_device_parent *device_parent, void *parent,
2147  HRESULT (__cdecl *create_swapchain)(struct wined3d_device_parent *device_parent,
2149 };
2150 
2152 {
2153  struct list content;
2154 };
2155 
2157 {
2158  struct list entry;
2159 
2161  DWORD flags; /* DDSPD_* */
2163  union
2164  {
2167  } content;
2168 };
2169 
2171 
2172 void __stdcall wined3d_mutex_lock(void);
2173 void __stdcall wined3d_mutex_unlock(void);
2174 
2175 UINT __cdecl wined3d_calculate_format_pitch(const struct wined3d *wined3d, UINT adapter_idx,
2178  enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id,
2179  enum wined3d_format_id render_target_format_id, enum wined3d_format_id depth_stencil_format_id);
2181  enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, DWORD usage,
2182  enum wined3d_resource_type resource_type, enum wined3d_format_id check_format_id);
2184  enum wined3d_device_type device_type, enum wined3d_format_id source_format_id,
2185  enum wined3d_format_id target_format_id);
2187  enum wined3d_device_type device_type, enum wined3d_format_id surface_format_id, BOOL windowed,
2188  enum wined3d_multisample_type multisample_type, DWORD *quality_levels);
2189 HRESULT __cdecl wined3d_check_device_type(const struct wined3d *wined3d, UINT adapter_idx,
2190  enum wined3d_device_type device_type, enum wined3d_format_id display_format_id,
2191  enum wined3d_format_id backbuffer_format_id, BOOL windowed);
2194 HRESULT __cdecl wined3d_enum_adapter_modes(const struct wined3d *wined3d, UINT adapter_idx,
2195  enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering,
2196  UINT mode_idx, struct wined3d_display_mode *mode);
2198  unsigned int adapter_idx, struct wined3d_display_mode *mode);
2201  struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
2203  DWORD flags, struct wined3d_adapter_identifier *identifier);
2204 UINT __cdecl wined3d_get_adapter_mode_count(const struct wined3d *wined3d, UINT adapter_idx,
2205  enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering);
2207  struct wined3d_raster_status *raster_status);
2208 HRESULT __cdecl wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx,
2210 HRESULT __cdecl wined3d_get_output_desc(const struct wined3d *wined3d, unsigned int adapter_idx,
2211  struct wined3d_output_desc *desc);
2213 HRESULT __cdecl wined3d_register_software_device(struct wined3d *wined3d, void *init_function);
2215  UINT adapter_idx, const struct wined3d_display_mode *mode);
2216 
2218  const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops,
2219  struct wined3d_buffer **buffer);
2224 
2228 HRESULT __cdecl wined3d_device_clear(struct wined3d_device *device, DWORD rect_count, const RECT *rects, DWORD flags,
2229  const struct wined3d_color *color, float z, DWORD stencil);
2232  const struct wined3d_color *color, float depth, DWORD stencil);
2234  struct wined3d_unordered_access_view *view, const struct wined3d_uvec4 *clear_value);
2236  struct wined3d_resource *dst_resource, struct wined3d_resource *src_resource);
2238  struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx, unsigned int dst_x,
2239  unsigned int dst_y, unsigned int dst_z, struct wined3d_resource *src_resource,
2240  unsigned int src_sub_resource_idx, const struct wined3d_box *src_box, unsigned int flags);
2242  struct wined3d_buffer *dst_buffer, unsigned int offset, struct wined3d_unordered_access_view *uav);
2244  enum wined3d_device_type device_type, HWND focus_window, DWORD behaviour_flags, BYTE surface_alignment,
2245  struct wined3d_device_parent *device_parent, struct wined3d_device **device);
2248  unsigned int group_count_x, unsigned int group_count_y, unsigned int group_count_z);
2250  struct wined3d_buffer *buffer, unsigned int offset);
2253  UINT start_idx, UINT index_count, UINT start_instance, UINT instance_count);
2255  struct wined3d_buffer *buffer, unsigned int offset);
2258  UINT start_vertex, UINT vertex_count, UINT start_instance, UINT instance_count);
2260  struct wined3d_buffer *buffer, unsigned int offset);
2268  UINT plane_idx, struct wined3d_vec4 *plane);
2270  struct wined3d_clip_status *clip_status);
2273  struct wined3d_device_creation_parameters *creation_parameters);
2274 struct wined3d_buffer * __cdecl wined3d_device_get_cs_cb(const struct wined3d_device *device, unsigned int idx);
2276  unsigned int idx);
2277 struct wined3d_sampler * __cdecl wined3d_device_get_cs_sampler(const struct wined3d_device *device, unsigned int idx);
2279  unsigned int idx);
2283  struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
2285 struct wined3d_buffer * __cdecl wined3d_device_get_ds_cb(const struct wined3d_device *device, unsigned int idx);
2287  unsigned int idx);
2288 struct wined3d_sampler * __cdecl wined3d_device_get_ds_sampler(const struct wined3d_device *device, unsigned int idx);
2290  UINT swapchain_idx, struct wined3d_gamma_ramp *ramp);
2294  UINT idx);
2296 struct wined3d_buffer * __cdecl wined3d_device_get_hs_cb(const struct wined3d_device *device, unsigned int idx);
2298  unsigned int idx);
2299 struct wined3d_sampler * __cdecl wined3d_device_get_hs_sampler(const struct wined3d_device *device, unsigned int idx);
2302  enum wined3d_format_id *format, unsigned int *offset);
2304  UINT light_idx, struct wined3d_light *light);
2306 void __cdecl wined3d_device_get_material(const struct wined3d_device *device, struct wined3d_material *material);
2312  enum wined3d_primitive_type *primitive_topology, unsigned int *patch_vertex_count);
2315  unsigned int start_idx, unsigned int count, BOOL *constants);
2317  unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants);
2319  unsigned int start_idx, unsigned int count, struct wined3d_ivec4 *constants);
2321  UINT idx);
2324  UINT swapchain_idx, struct wined3d_raster_status *raster_status);
2328  unsigned int view_idx);
2330  UINT sampler_idx, enum wined3d_sampler_state state);
2331 void __cdecl wined3d_device_get_scissor_rects(const struct wined3d_device *device, unsigned int *rect_count,
2332  RECT *rect);
2335  UINT idx, UINT *offset);
2337  UINT stream_idx, struct wined3d_buffer **buffer, UINT *offset, UINT *stride);
2339  UINT stream_idx, UINT *divider);
2341  UINT swapchain_idx);
2345  UINT stage, enum wined3d_texture_stage_state state);
2349  const struct wined3d_device *device, unsigned int idx);
2352 void __cdecl wined3d_device_get_viewports(const struct wined3d_device *device, unsigned int *viewport_count,
2353  struct wined3d_viewport *viewports);
2356  unsigned int start_idx, unsigned int count, BOOL *constants);
2358  unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants);
2360  unsigned int start_idx, unsigned int count, struct wined3d_ivec4 *constants);
2362  UINT idx);
2369  enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
2371  UINT src_start_idx, UINT dst_idx, UINT vertex_count, struct wined3d_buffer *dst_buffer,
2372  const struct wined3d_vertex_declaration *declaration, DWORD flags, DWORD dst_fvf);
2375  const struct wined3d_swapchain_desc *swapchain_desc, const struct wined3d_display_mode *mode,
2376  wined3d_device_reset_cb callback, BOOL reset_state);
2378  struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx,
2379  struct wined3d_resource *src_resource, unsigned int src_sub_resource_idx,
2382  const RECT *window_rect);
2386  UINT plane_idx, const struct wined3d_vec4 *plane);
2388  const struct wined3d_clip_status *clip_status);
2390 void __cdecl wined3d_device_set_cs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer);
2392  unsigned int idx, struct wined3d_shader_resource_view *view);
2394  unsigned int idx, struct wined3d_sampler *sampler);
2395 void __cdecl wined3d_device_set_cs_uav(struct wined3d_device *device, unsigned int idx,
2396  struct wined3d_unordered_access_view *uav, unsigned int initial_count);
2398  int x_screen_space, int y_screen_space, DWORD flags);
2400  UINT x_hotspot, UINT y_hotspot, struct wined3d_texture *texture, unsigned int sub_resource_idx);
2405 void __cdecl wined3d_device_set_ds_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer);
2407  unsigned int idx, struct wined3d_shader_resource_view *view);
2409  unsigned int idx, struct wined3d_sampler *sampler);
2411  UINT swapchain_idx, DWORD flags, const struct wined3d_gamma_ramp *ramp);
2417 void __cdecl wined3d_device_set_hs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer);
2419  unsigned int idx, struct wined3d_shader_resource_view *view);
2421  unsigned int idx, struct wined3d_sampler *sampler);
2424  struct wined3d_buffer *index_buffer, enum wined3d_format_id format_id, unsigned int offset);
2426  UINT light_idx, const struct wined3d_light *light);
2428 void __cdecl wined3d_device_set_material(struct wined3d_device *device, const struct wined3d_material *material);
2429 void __cdecl wined3d_device_set_max_frame_latency(struct wined3d_device *device, unsigned int max_frame_latency);
2434  struct wined3d_query *predicate, BOOL value);
2436  enum wined3d_primitive_type primitive_topology, unsigned int patch_vertex_count);
2439  unsigned int start_idx, unsigned int count, const BOOL *constants);
2441  unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants);
2443  unsigned int start_idx, unsigned int count, const struct wined3d_ivec4 *constants);
2448  struct wined3d_rasterizer_state *rasterizer_state);
2452  unsigned int view_idx, struct wined3d_rendertarget_view *view, BOOL set_viewport);
2454  UINT sampler_idx, enum wined3d_sampler_state state, DWORD value);
2456  unsigned int rect_count, const RECT *rect);
2459  struct wined3d_buffer *buffer, UINT offset);
2461  UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride);
2467  enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
2469  unsigned int idx, struct wined3d_unordered_access_view *uav, unsigned int initial_count);
2473 void __cdecl wined3d_device_set_viewports(struct wined3d_device *device, unsigned int viewport_count,
2474  const struct wined3d_viewport *viewports);
2477  unsigned int start_idx, unsigned int count, const BOOL *constants);
2479  unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants);
2481  unsigned int start_idx, unsigned int count, const struct wined3d_ivec4 *constants);
2490  unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch,
2491  unsigned int depth_pitch, unsigned int flags);
2493  struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture);
2495 
2497  unsigned int entry_count, const PALETTEENTRY *entries, struct wined3d_palette **palette);
2500  DWORD flags, DWORD start, DWORD count, PALETTEENTRY *entries);
2504  DWORD flags, DWORD start, DWORD count, const PALETTEENTRY *entries);
2505 
2507  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_query **query);
2511 void * __cdecl wined3d_query_get_parent(const struct wined3d_query *query);
2515 
2516 static inline void wined3d_private_store_init(struct wined3d_private_store *store)
2517 {
2518  list_init(&store->content);
2519 }
2520 
2522  const struct wined3d_private_store *store, const GUID *tag)
2523 {
2524  struct wined3d_private_data *data;
2525  struct list *entry;
2526 
2527  LIST_FOR_EACH(entry, &store->content)
2528  {
2530  if (IsEqualGUID(&data->tag, tag))
2531  return data;
2532  }
2533  return NULL;
2534 }
2535 
2537  struct wined3d_private_data *entry)
2538 {
2539  if (entry->flags & WINED3DSPD_IUNKNOWN)
2540  IUnknown_Release(entry->content.object);
2541  list_remove(&entry->entry);
2542  HeapFree(GetProcessHeap(), 0, entry);
2543 }
2544 
2545 static inline void wined3d_private_store_cleanup(struct wined3d_private_store *store)
2546 {
2547  struct wined3d_private_data *data;
2548  struct list *e1, *e2;
2549 
2550  LIST_FOR_EACH_SAFE(e1, e2, &store->content)
2551  {
2552  data = LIST_ENTRY(e1, struct wined3d_private_data, entry);
2554  }
2555 }
2556 
2558  const GUID *guid, const void *data, DWORD data_size, DWORD flags)
2559 {
2560  struct wined3d_private_data *d, *old;
2561  const void *ptr = data;
2562 
2563  if (flags & WINED3DSPD_IUNKNOWN)
2564  {
2565  if (data_size != sizeof(IUnknown *))
2566  return WINED3DERR_INVALIDCALL;
2567  ptr = &data;
2568  }
2569 
2570  if (!(d = HeapAlloc(GetProcessHeap(), 0,
2571  FIELD_OFFSET(struct wined3d_private_data, content.data[data_size]))))
2572  return E_OUTOFMEMORY;
2573 
2574  d->tag = *guid;
2575  d->flags = flags;
2576  d->size = data_size;
2577 
2578  memcpy(d->content.data, ptr, data_size);
2579  if (flags & WINED3DSPD_IUNKNOWN)
2580  IUnknown_AddRef(d->content.object);
2581 
2583  if (old)
2585  list_add_tail(&store->content, &d->entry);
2586 
2587  return WINED3D_OK;
2588 }
2589 
2591  const struct wined3d_blend_state_desc *desc, void *parent,
2592  const struct wined3d_parent_ops *parent_ops, struct wined3d_blend_state **state);
2596 
2598  const struct wined3d_rasterizer_state_desc *desc, void *parent,
2599  const struct wined3d_parent_ops *parent_ops, struct wined3d_rasterizer_state **state);
2603 
2605  struct wined3d_resource_desc *desc);
2608 HRESULT __cdecl wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx,
2609  struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
2610 HRESULT __cdecl wined3d_resource_map_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
2611  struct wined3d_map_info *info, DWORD flags);
2615 HRESULT __cdecl wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx);
2616 UINT __cdecl wined3d_resource_update_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
2617  const struct wined3d_box *box, unsigned int row_pitch, unsigned int depth_pitch);
2618 
2620  struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
2621  struct wined3d_rendertarget_view **view);
2623  unsigned int sub_resource_idx, void *parent, const struct wined3d_parent_ops *parent_ops,
2624  struct wined3d_rendertarget_view **view);
2631 
2633  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_sampler **sampler);
2637 
2639  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2641  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2643  const struct wined3d_stream_output_desc *so_desc, void *parent, const struct wined3d_parent_ops *parent_ops,
2644  struct wined3d_shader **shader);
2646  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2648  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2650  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2653  void *byte_code, UINT *byte_code_size);
2657  UINT start_idx, const float *src_data, UINT vector4f_count);
2658 
2660  struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
2666 
2667 void __cdecl wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock);
2668 void __cdecl wined3d_stateblock_capture(struct wined3d_stateblock *stateblock);
2670  enum wined3d_stateblock_type type, struct wined3d_stateblock **stateblock);
2673 
2675  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_swapchain **swapchain);
2678  UINT backbuffer_idx);
2679 struct wined3d_device * __cdecl wined3d_swapchain_get_device(const struct wined3d_swapchain *swapchain);
2681  struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
2683  struct wined3d_texture *dst_texture, unsigned int sub_resource_idx);
2685  struct wined3d_gamma_ramp *ramp);
2686 void * __cdecl wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain);
2687 void __cdecl wined3d_swapchain_get_desc(const struct wined3d_swapchain *swapchain,
2688  struct wined3d_swapchain_desc *desc);
2690  struct wined3d_raster_status *raster_status);
2692 HRESULT __cdecl wined3d_swapchain_present(struct wined3d_swapchain *swapchain, const RECT *src_rect,
2693  const RECT *dst_rect, HWND dst_window_override, unsigned int swap_interval, DWORD flags);
2694 HRESULT __cdecl wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapchain, unsigned int buffer_count,
2695  unsigned int width, unsigned int height, enum wined3d_format_id format_id,
2696  enum wined3d_multisample_type multisample_type, unsigned int multisample_quality);
2698  const struct wined3d_display_mode *mode);
2700  const struct wined3d_swapchain_desc *desc, const struct wined3d_display_mode *mode);
2702  DWORD flags, const struct wined3d_gamma_ramp *ramp);
2705 
2707  UINT layer, const struct wined3d_box *dirty_region);
2708 HRESULT __cdecl wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned int dst_idx, const RECT *dst_rect_in,
2709  struct wined3d_texture *src_texture, unsigned int src_idx, const RECT *src_rect_in, DWORD flags,
2710  const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter);
2712  UINT layer_count, UINT level_count, DWORD flags, const struct wined3d_sub_resource_data *data,
2713  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
2716 HRESULT __cdecl wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned int sub_resource_idx, HDC *dc);
2720  unsigned int sub_resource_idx, LONG *x, LONG *y);
2723  unsigned int level, unsigned int *row_pitch, unsigned int *slice_pitch);
2726  unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc);
2727 void * __cdecl wined3d_texture_get_sub_resource_parent(struct wined3d_texture *texture, unsigned int sub_resource_idx);
2729 HRESULT __cdecl wined3d_texture_release_dc(struct wined3d_texture *texture, unsigned int sub_resource_idx, HDC dc);
2731  DWORD flags, const struct wined3d_color_key *color_key);
2734  unsigned int sub_resource_idx, LONG x, LONG y);
2736  unsigned int sub_resource_idx, void *parent);
2740  void *mem, UINT pitch);
2741 HRESULT __cdecl wined3d_texture_update_overlay(struct wined3d_texture *texture, unsigned int sub_resource_idx,
2742  const RECT *src_rect, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx,
2743  const RECT *dst_rect, DWORD flags);
2744 
2746  struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
2751 
2753  const struct wined3d_vertex_element *elements, UINT element_count, void *parent,
2756  DWORD fvf, void *parent, const struct wined3d_parent_ops *parent_ops,
2761 
2762 /* Return the integer base-2 logarithm of x. Undefined for x == 0. */
2763 static inline unsigned int wined3d_log2i(unsigned int x)
2764 {
2765 #ifdef HAVE___BUILTIN_CLZ
2766  return __builtin_clz(x) ^ 0x1f;
2767 #else
2768  static const unsigned int l[] =
2769  {
2770  ~0u, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
2771  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2772  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2773  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2774  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2775  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2776  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2777  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2778  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2779  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2780  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2781  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2782  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2783  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2784  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2785  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2786  };
2787  unsigned int i;
2788 
2789  return (i = x >> 16) ? (x = i >> 8) ? l[x] + 24 : l[i] + 16 : (i = x >> 8) ? l[i] + 8 : l[x];
2790 #endif
2791 }
2792 
2793 static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, unsigned int top,
2794  unsigned int right, unsigned int bottom, unsigned int front, unsigned int back)
2795 {
2796  box->left = left;
2797  box->top = top;
2798  box->right = right;
2799  box->bottom = bottom;
2800  box->front = front;
2801  box->back = back;
2802 }
2803 
2804 BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2805  enum wined3d_format_id format, unsigned int w, unsigned int h);
2806 BOOL wined3d_dxt1_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2807  enum wined3d_format_id format, unsigned int w, unsigned int h);
2808 BOOL wined3d_dxt3_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2809  enum wined3d_format_id format, unsigned int w, unsigned int h);
2810 BOOL wined3d_dxt3_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2811  enum wined3d_format_id format, unsigned int w, unsigned int h);
2812 BOOL wined3d_dxt5_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2813  enum wined3d_format_id format, unsigned int w, unsigned int h);
2814 BOOL wined3d_dxt5_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2815  enum wined3d_format_id format, unsigned int w, unsigned int h);
2817 
2818 #endif /* __WINE_WINED3D_H */
HRESULT __cdecl wined3d_get_output_desc(const struct wined3d *wined3d, unsigned int adapter_idx, struct wined3d_output_desc *desc)
Definition: directx.c:4496
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 * u
Definition: glfuncs.h:240
void __cdecl wined3d_device_set_hs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer)
Definition: device.c:2789
enum wined3d_format_id format
Definition: wined3d.h:1767
void *__cdecl wined3d_rendertarget_view_get_sub_resource_parent(const struct wined3d_rendertarget_view *view)
Definition: view.c:376
struct wined3d_color_key src_color_key
Definition: wined3d.h:1990
enum wined3d_format_id format
Definition: wined3d.h:1792
struct wined3d_buffer *__cdecl wined3d_device_get_gs_cb(const struct wined3d_device *device, UINT idx)
Definition: device.c:2933
enum wined3d_multisample_type multisample_type
struct wined3d_color diffuse
Definition: wined3d.h:1648
UINT AdapterOrdinal
Definition: wined3d.h:1888
#define WINED3DERR_INVALIDCALL
Definition: wined3d.h:48
UINT MasterAdapterOrdinal
Definition: wined3d.h:1957
void __cdecl wined3d_device_set_hs_resource_view(struct wined3d_device *device, unsigned int idx, struct wined3d_shader_resource_view *view)
Definition: device.c:2803
wined3d_vertex_blend_flags
Definition: wined3d.h:439
#define HRESULT
Definition: msvc.h:9
struct wined3d_vec3 position
Definition: wined3d.h:1651
float GuardBandBottom
Definition: wined3d.h:1922
UINT __cdecl wined3d_get_adapter_count(const struct wined3d *wined3d)
Definition: directx.c:4481
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
HRESULT __cdecl wined3d_device_copy_sub_resource_region(struct wined3d_device *device, struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx, unsigned int dst_x, unsigned int dst_y, unsigned int dst_z, struct wined3d_resource *src_resource, unsigned int src_sub_resource_idx, const struct wined3d_box *src_box, unsigned int flags)
Definition: device.c:4175
void(__stdcall *wined3d_object_destroyed)(void *parent)
struct wined3d_rendertarget_view *__cdecl wined3d_device_get_rendertarget_view(const struct wined3d_device *device, unsigned int view_idx)
Definition: device.c:4481
float MaxVertexW
Definition: wined3d.h:1917
unsigned int element_count
Definition: wined3d.h:2073
BOOL wined3d_dxtn_supported(void)
Definition: dxtn.c:510
struct wined3d_blend_state *__cdecl wined3d_device_get_blend_state(const struct wined3d_device *device)
Definition: device.c:2015
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
Definition: list.h:192
struct wined3d_color emissive
Definition: wined3d.h:1667
DWORD MaxTextureAspectRatio
Definition: wined3d.h:1915
enum wined3d_light_type type
Definition: wined3d.h:1647
wined3d_resource_type
Definition: wined3d.h:704
HRESULT __cdecl wined3d_find_closest_matching_adapter_mode(const struct wined3d *wined3d, unsigned int adapter_idx, struct wined3d_display_mode *mode)
Definition: directx.c:4664
DWORD MaxTextureBlendStages
Definition: wined3d.h:1929
HRESULT __cdecl wined3d_device_set_rendertarget_view(struct wined3d_device *device, unsigned int view_idx, struct wined3d_rendertarget_view *view, BOOL set_viewport)
Definition: device.c:4502
HRESULT __cdecl wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapchain, unsigned int buffer_count, unsigned int width, unsigned int height, enum wined3d_format_id format_id, enum wined3d_multisample_type multisample_type, unsigned int multisample_quality)
Definition: swapchain.c:1175
HRESULT __cdecl wined3d_device_clear(struct wined3d_device *device, DWORD rect_count, const RECT *rects, DWORD flags, const struct wined3d_color *color, float z, DWORD stencil)
Definition: device.c:3690
enum wined3d_component_type component_type
Definition: wined3d.h:2039
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
void __cdecl wined3d_device_get_viewports(const struct wined3d_device *device, unsigned int *viewport_count, struct wined3d_viewport *viewports)
Definition: device.c:1964
struct wined3d_device * device
Definition: wined3d.h:2139
void __cdecl wined3d_device_set_material(struct wined3d_device *device, const struct wined3d_material *material)
Definition: device.c:1852
wined3d_shade_mode
Definition: wined3d.h:476
wined3d_basis_type
Definition: wined3d.h:675
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 GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
Definition: glfuncs.h:270
DWORD MaxUserClipPlanes
Definition: wined3d.h:1934
enum wined3d_format_id format_id
Definition: wined3d.h:2081
unsigned int multisample_quality
Definition: wined3d.h:1756
unsigned int backbuffer_height
Definition: wined3d.h:1735
void *__cdecl wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain)
Definition: swapchain.c:133
union wined3d_private_data::@3527 content
HRESULT __cdecl wined3d_get_adapter_identifier(const struct wined3d *wined3d, UINT adapter_idx, DWORD flags, struct wined3d_adapter_identifier *identifier)
Definition: directx.c:4936
wined3d_cull
Definition: wined3d.h:490
HRESULT __cdecl wined3d_swapchain_get_display_mode(const struct wined3d_swapchain *swapchain, struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
Definition: swapchain.c:244
struct wined3d_rendertarget_view *__cdecl wined3d_device_get_depth_stencil_view(const struct wined3d_device *device)
Definition: device.c:4495
HRESULT __cdecl wined3d_device_get_ps_consts_f(const struct wined3d_device *device, unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants)
Definition: device.c:2748
ULONG __cdecl wined3d_vertex_declaration_incref(struct wined3d_vertex_declaration *declaration)
UINT left
Definition: wined3d.h:1840
double z
Definition: wined3d.h:1617
void __cdecl wined3d_device_draw_primitive_instanced(struct wined3d_device *device, UINT start_vertex, UINT vertex_count, UINT start_instance, UINT instance_count)
Definition: device.c:3807
static void wined3d_private_store_free_private_data(struct wined3d_private_store *store, struct wined3d_private_data *entry)
Definition: wined3d.h:2536
void __cdecl wined3d_device_set_texture_stage_state(struct wined3d_device *device, UINT stage, enum wined3d_texture_stage_state state, DWORD value)
Definition: device.c:3462
struct wined3d_texture *__cdecl wined3d_swapchain_get_back_buffer(const struct wined3d_swapchain *swapchain, UINT backbuffer_idx)
Definition: swapchain.c:211