ReactOS  0.4.14-dev-593-g1793dcc
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 {
397 };
398 #define WINEHIGHEST_RENDER_STATE WINED3D_RS_COLORWRITEENABLE7
399 
401 {
402  if (index == 0) return WINED3D_RS_COLORWRITEENABLE;
403  if (index <= 3) return WINED3D_RS_COLORWRITEENABLE1 + index - 1;
404  if (index <= 7) return WINED3D_RS_COLORWRITEENABLE4 + index - 4;
406 }
407 
409 {
429 };
430 
432 {
438 };
439 
441 {
448 };
449 
451 {
460 };
461 
463 {
467 };
468 
470 {
475 };
476 
478 {
482 };
483 
485 {
489 };
490 
492 {
496 };
497 
499 {
508 };
509 
511 {
515 };
516 
518 {
521 };
522 
524 {
532 };
533 
535 {
549 };
550 #define WINED3D_HIGHEST_SAMPLER_STATE WINED3D_SAMP_DMAP_OFFSET
551 
553 {
571 };
572 
574 {
594 };
595 #define WINED3D_HIGHEST_TEXTURE_STATE WINED3D_TSS_CONSTANT
596 
598 {
605 };
606 
608 {
635 };
636 
638 {
644 };
645 
647 {
658  WINED3D_TS_WORLD = 256, /* WINED3D_TS_WORLD_MATRIX(0) */
662 };
663 
664 #define WINED3D_TS_WORLD_MATRIX(index) (enum wined3d_transform_state)(index + 256)
665 
667 {
671 };
672 
674 {
681 };
682 
684 {
693 };
694 
696 {
702 };
703 
705 {
732 };
733 
735 {
738 };
739 
741 {
744 };
745 
747 {
759 };
760 
761 #define WINED3DISSUE_BEGIN (1u << 1)
762 #define WINED3DISSUE_END (1u << 0)
763 #define WINED3DGETDATA_FLUSH (1u << 0)
764 
766 {
770  WINED3D_SBT_RECORDED = 4, /* WineD3D private */
771 };
772 
774 {
782 };
783 
785 {
800 };
801 
803 {
820 };
821 
823 {
828 };
829 
831 {
835 };
836 
838 {
844 };
845 
847 {
850 };
851 
852 #define WINED3DCOLORWRITEENABLE_RED (1u << 0)
853 #define WINED3DCOLORWRITEENABLE_GREEN (1u << 1)
854 #define WINED3DCOLORWRITEENABLE_BLUE (1u << 2)
855 #define WINED3DCOLORWRITEENABLE_ALPHA (1u << 3)
856 
857 #define WINED3DADAPTER_DEFAULT 0
858 #define WINED3DENUM_NO_WHQL_LEVEL 2
859 
860 #define WINED3DTSS_TCI_PASSTHRU 0x00000
861 #define WINED3DTSS_TCI_CAMERASPACENORMAL 0x10000
862 #define WINED3DTSS_TCI_CAMERASPACEPOSITION 0x20000
863 #define WINED3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
864 #define WINED3DTSS_TCI_SPHEREMAP 0x40000
865 
866 #define WINED3DTA_SELECTMASK 0x0000000f
867 #define WINED3DTA_DIFFUSE 0x00000000
868 #define WINED3DTA_CURRENT 0x00000001
869 #define WINED3DTA_TEXTURE 0x00000002
870 #define WINED3DTA_TFACTOR 0x00000003
871 #define WINED3DTA_SPECULAR 0x00000004
872 #define WINED3DTA_TEMP 0x00000005
873 #define WINED3DTA_CONSTANT 0x00000006
874 #define WINED3DTA_COMPLEMENT 0x00000010
875 #define WINED3DTA_ALPHAREPLICATE 0x00000020
876 
877 #define WINED3D_SWAPCHAIN_LOCKABLE_BACKBUFFER 0x00000001u
878 #define WINED3D_SWAPCHAIN_DISCARD_DEPTHSTENCIL 0x00000002u
879 #define WINED3D_SWAPCHAIN_DEVICECLIP 0x00000004u
880 #define WINED3D_SWAPCHAIN_VIDEO 0x00000010u
881 #define WINED3D_SWAPCHAIN_NOAUTOROTATE 0x00000020u
882 #define WINED3D_SWAPCHAIN_UNPRUNEDMODE 0x00000040u
883 #define WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH 0x00001000u
884 #define WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE 0x00002000u
885 #define WINED3D_SWAPCHAIN_RESTORE_WINDOW_RECT 0x00004000u
886 #define WINED3D_SWAPCHAIN_GDI_COMPATIBLE 0x00008000u
887 
888 #define WINED3DDP_MAXTEXCOORD 8
889 
890 #define WINED3D_BIND_VERTEX_BUFFER 0x00000001
891 #define WINED3D_BIND_INDEX_BUFFER 0x00000002
892 #define WINED3D_BIND_CONSTANT_BUFFER 0x00000004
893 #define WINED3D_BIND_SHADER_RESOURCE 0x00000008
894 #define WINED3D_BIND_STREAM_OUTPUT 0x00000010
895 #define WINED3D_BIND_RENDER_TARGET 0x00000020
896 #define WINED3D_BIND_DEPTH_STENCIL 0x00000040
897 #define WINED3D_BIND_UNORDERED_ACCESS 0x00000080
898 
899 #define WINED3DUSAGE_RENDERTARGET 0x00000001
900 #define WINED3DUSAGE_DEPTHSTENCIL 0x00000002
901 #define WINED3DUSAGE_WRITEONLY 0x00000008
902 #define WINED3DUSAGE_SOFTWAREPROCESSING 0x00000010
903 #define WINED3DUSAGE_DONOTCLIP 0x00000020
904 #define WINED3DUSAGE_POINTS 0x00000040
905 #define WINED3DUSAGE_RTPATCHES 0x00000080
906 #define WINED3DUSAGE_NPATCHES 0x00000100
907 #define WINED3DUSAGE_DYNAMIC 0x00000200
908 #define WINED3DUSAGE_RESTRICTED_CONTENT 0x00000800
909 #define WINED3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER 0x00001000
910 #define WINED3DUSAGE_RESTRICT_SHARED_RESOURCE 0x00002000
911 #define WINED3DUSAGE_DMAP 0x00004000
912 #define WINED3DUSAGE_TEXTAPI 0x10000000
913 #define WINED3DUSAGE_MASK 0x10007bff
914 
915 #define WINED3DUSAGE_SCRATCH 0x00200000
916 #define WINED3DUSAGE_PRIVATE 0x00400000
917 #define WINED3DUSAGE_LEGACY_CUBEMAP 0x00800000
918 #define WINED3DUSAGE_TEXTURE 0x01000000
919 #define WINED3DUSAGE_OWNDC 0x02000000
920 #define WINED3DUSAGE_STATICDECL 0x04000000
921 #define WINED3DUSAGE_OVERLAY 0x08000000
922 
923 #define WINED3DUSAGE_QUERY_GENMIPMAP 0x00000400
924 #define WINED3DUSAGE_QUERY_LEGACYBUMPMAP 0x00008000
925 #define WINED3DUSAGE_QUERY_FILTER 0x00020000
926 #define WINED3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING 0x00080000
927 #define WINED3DUSAGE_QUERY_SRGBREAD 0x00010000
928 #define WINED3DUSAGE_QUERY_SRGBWRITE 0x00040000
929 #define WINED3DUSAGE_QUERY_VERTEXTEXTURE 0x00100000
930 #define WINED3DUSAGE_QUERY_WRAPANDMIP 0x00200000
931 #define WINED3DUSAGE_QUERY_MASK 0x003f8400
932 
933 #define WINED3D_MAP_NOSYSLOCK 0x00000800
934 #define WINED3D_MAP_NOOVERWRITE 0x00001000
935 #define WINED3D_MAP_DISCARD 0x00002000
936 #define WINED3D_MAP_DONOTWAIT 0x00004000
937 #define WINED3D_MAP_NO_DIRTY_UPDATE 0x00008000
938 #define WINED3D_MAP_WRITE 0x40000000
939 #define WINED3D_MAP_READ 0x80000000
940 
941 #define WINED3DPRESENT_RATE_DEFAULT 0x00000000
942 
943 #define WINED3DPRESENT_INTERVAL_DEFAULT 0x00000000
944 #define WINED3DPRESENT_INTERVAL_ONE 0x00000001
945 #define WINED3DPRESENT_INTERVAL_TWO 0x00000002
946 #define WINED3DPRESENT_INTERVAL_THREE 0x00000004
947 #define WINED3DPRESENT_INTERVAL_FOUR 0x00000008
948 #define WINED3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
949 
950 #define WINED3DCLIPPLANE0 (1u << 0)
951 #define WINED3DCLIPPLANE1 (1u << 1)
952 #define WINED3DCLIPPLANE2 (1u << 2)
953 #define WINED3DCLIPPLANE3 (1u << 3)
954 #define WINED3DCLIPPLANE4 (1u << 4)
955 #define WINED3DCLIPPLANE5 (1u << 5)
956 
957 /* FVF (Flexible Vertex Format) codes */
958 #define WINED3DFVF_RESERVED0 0x0001
959 #define WINED3DFVF_POSITION_MASK 0x400e
960 #define WINED3DFVF_XYZ 0x0002
961 #define WINED3DFVF_XYZRHW 0x0004
962 #define WINED3DFVF_XYZB1 0x0006
963 #define WINED3DFVF_XYZB2 0x0008
964 #define WINED3DFVF_XYZB3 0x000a
965 #define WINED3DFVF_XYZB4 0x000c
966 #define WINED3DFVF_XYZB5 0x000e
967 #define WINED3DFVF_XYZW 0x4002
968 #define WINED3DFVF_NORMAL 0x0010
969 #define WINED3DFVF_PSIZE 0x0020
970 #define WINED3DFVF_DIFFUSE 0x0040
971 #define WINED3DFVF_SPECULAR 0x0080
972 #define WINED3DFVF_TEXCOUNT_MASK 0x0f00
973 #define WINED3DFVF_TEXCOUNT_SHIFT 8
974 #define WINED3DFVF_TEX0 0x0000
975 #define WINED3DFVF_TEX1 0x0100
976 #define WINED3DFVF_TEX2 0x0200
977 #define WINED3DFVF_TEX3 0x0300
978 #define WINED3DFVF_TEX4 0x0400
979 #define WINED3DFVF_TEX5 0x0500
980 #define WINED3DFVF_TEX6 0x0600
981 #define WINED3DFVF_TEX7 0x0700
982 #define WINED3DFVF_TEX8 0x0800
983 #define WINED3DFVF_LASTBETA_UBYTE4 0x1000
984 #define WINED3DFVF_LASTBETA_D3DCOLOR 0x8000
985 #define WINED3DFVF_RESERVED2 0x6000
986 
987 #define WINED3DFVF_TEXTUREFORMAT1 3u
988 #define WINED3DFVF_TEXTUREFORMAT2 0u
989 #define WINED3DFVF_TEXTUREFORMAT3 1u
990 #define WINED3DFVF_TEXTUREFORMAT4 2u
991 #define WINED3DFVF_TEXCOORDSIZE1(idx) (WINED3DFVF_TEXTUREFORMAT1 << (idx * 2 + 16))
992 #define WINED3DFVF_TEXCOORDSIZE2(idx) (WINED3DFVF_TEXTUREFORMAT2 << (idx * 2 + 16))
993 #define WINED3DFVF_TEXCOORDSIZE3(idx) (WINED3DFVF_TEXTUREFORMAT3 << (idx * 2 + 16))
994 #define WINED3DFVF_TEXCOORDSIZE4(idx) (WINED3DFVF_TEXTUREFORMAT4 << (idx * 2 + 16))
995 
996 /* Clear flags */
997 #define WINED3DCLEAR_TARGET 0x00000001
998 #define WINED3DCLEAR_ZBUFFER 0x00000002
999 #define WINED3DCLEAR_STENCIL 0x00000004
1000 
1001 /* Stream source flags */
1002 #define WINED3DSTREAMSOURCE_INDEXEDDATA (1u << 30)
1003 #define WINED3DSTREAMSOURCE_INSTANCEDATA (2u << 30)
1004 
1005 /* SetPrivateData flags */
1006 #define WINED3DSPD_IUNKNOWN 0x00000001
1007 
1008 /* IWineD3D::CreateDevice behaviour flags */
1009 #define WINED3DCREATE_FPU_PRESERVE 0x00000002
1010 #define WINED3DCREATE_PUREDEVICE 0x00000010
1011 #define WINED3DCREATE_SOFTWARE_VERTEXPROCESSING 0x00000020
1012 #define WINED3DCREATE_HARDWARE_VERTEXPROCESSING 0x00000040
1013 #define WINED3DCREATE_MIXED_VERTEXPROCESSING 0x00000080
1014 #define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT 0x00000100
1015 #define WINED3DCREATE_ADAPTERGROUP_DEVICE 0x00000200
1016 #define WINED3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX 0x00000400
1017 #define WINED3DCREATE_NOWINDOWCHANGES 0x00000800
1018 #define WINED3DCREATE_DISABLE_PSGP_THREADING 0x00002000
1019 #define WINED3DCREATE_ENABLE_PRESENTSTATS 0x00004000
1020 #define WINED3DCREATE_DISABLE_PRINTSCREEN 0x00008000
1021 #define WINED3DCREATE_SCREENSAVER 0x10000000
1022 
1023 /* VTF defines */
1024 #define WINED3DDMAPSAMPLER 0x100
1025 #define WINED3DVERTEXTEXTURESAMPLER0 (WINED3DDMAPSAMPLER + 1)
1026 #define WINED3DVERTEXTEXTURESAMPLER1 (WINED3DDMAPSAMPLER + 2)
1027 #define WINED3DVERTEXTEXTURESAMPLER2 (WINED3DDMAPSAMPLER + 3)
1028 #define WINED3DVERTEXTEXTURESAMPLER3 (WINED3DDMAPSAMPLER + 4)
1029 
1030 #define WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020
1031 #define WINED3DCAPS3_LINEAR_TO_SRGB_PRESENTATION 0x00000080
1032 #define WINED3DCAPS3_COPY_TO_VIDMEM 0x00000100
1033 #define WINED3DCAPS3_COPY_TO_SYSTEMMEM 0x00000200
1034 #define WINED3DCAPS3_RESERVED 0x8000001f
1035 
1036 #define WINED3DDEVCAPS2_STREAMOFFSET 0x00000001
1037 #define WINED3DDEVCAPS2_DMAPNPATCH 0x00000002
1038 #define WINED3DDEVCAPS2_ADAPTIVETESSRTPATCH 0x00000004
1039 #define WINED3DDEVCAPS2_ADAPTIVETESSNPATCH 0x00000008
1040 #define WINED3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES 0x00000010
1041 #define WINED3DDEVCAPS2_PRESAMPLEDDMAPNPATCH 0x00000020
1042 #define WINED3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x00000040
1043 
1044 #define WINED3DDTCAPS_UBYTE4 0x00000001
1045 #define WINED3DDTCAPS_UBYTE4N 0x00000002
1046 #define WINED3DDTCAPS_SHORT2N 0x00000004
1047 #define WINED3DDTCAPS_SHORT4N 0x00000008
1048 #define WINED3DDTCAPS_USHORT2N 0x00000010
1049 #define WINED3DDTCAPS_USHORT4N 0x00000020
1050 #define WINED3DDTCAPS_UDEC3 0x00000040
1051 #define WINED3DDTCAPS_DEC3N 0x00000080
1052 #define WINED3DDTCAPS_FLOAT16_2 0x00000100
1053 #define WINED3DDTCAPS_FLOAT16_4 0x00000200
1054 
1055 #define WINED3DFVFCAPS_TEXCOORDCOUNTMASK 0x0000ffff
1056 #define WINED3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000
1057 #define WINED3DFVFCAPS_PSIZE 0x00100000
1058 
1059 #define WINED3DLINECAPS_TEXTURE 0x00000001
1060 #define WINED3DLINECAPS_ZTEST 0x00000002
1061 #define WINED3DLINECAPS_BLEND 0x00000004
1062 #define WINED3DLINECAPS_ALPHACMP 0x00000008
1063 #define WINED3DLINECAPS_FOG 0x00000010
1064 #define WINED3DLINECAPS_ANTIALIAS 0x00000020
1065 
1066 #define WINED3DMAX30SHADERINSTRUCTIONS 32768
1067 #define WINED3DMIN30SHADERINSTRUCTIONS 512
1068 
1069 #define WINED3DPBLENDCAPS_ZERO 0x00000001
1070 #define WINED3DPBLENDCAPS_ONE 0x00000002
1071 #define WINED3DPBLENDCAPS_SRCCOLOR 0x00000004
1072 #define WINED3DPBLENDCAPS_INVSRCCOLOR 0x00000008
1073 #define WINED3DPBLENDCAPS_SRCALPHA 0x00000010
1074 #define WINED3DPBLENDCAPS_INVSRCALPHA 0x00000020
1075 #define WINED3DPBLENDCAPS_DESTALPHA 0x00000040
1076 #define WINED3DPBLENDCAPS_INVDESTALPHA 0x00000080
1077 #define WINED3DPBLENDCAPS_DESTCOLOR 0x00000100
1078 #define WINED3DPBLENDCAPS_INVDESTCOLOR 0x00000200
1079 #define WINED3DPBLENDCAPS_SRCALPHASAT 0x00000400
1080 #define WINED3DPBLENDCAPS_BOTHSRCALPHA 0x00000800
1081 #define WINED3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
1082 #define WINED3DPBLENDCAPS_BLENDFACTOR 0x00002000
1083 
1084 #define WINED3DPCMPCAPS_NEVER 0x00000001
1085 #define WINED3DPCMPCAPS_LESS 0x00000002
1086 #define WINED3DPCMPCAPS_EQUAL 0x00000004
1087 #define WINED3DPCMPCAPS_LESSEQUAL 0x00000008
1088 #define WINED3DPCMPCAPS_GREATER 0x00000010
1089 #define WINED3DPCMPCAPS_NOTEQUAL 0x00000020
1090 #define WINED3DPCMPCAPS_GREATEREQUAL 0x00000040
1091 #define WINED3DPCMPCAPS_ALWAYS 0x00000080
1092 
1093 #define WINED3DPMISCCAPS_MASKZ 0x00000002
1094 #define WINED3DPMISCCAPS_LINEPATTERNREP 0x00000004
1095 #define WINED3DPMISCCAPS_CULLNONE 0x00000010
1096 #define WINED3DPMISCCAPS_CULLCW 0x00000020
1097 #define WINED3DPMISCCAPS_CULLCCW 0x00000040
1098 #define WINED3DPMISCCAPS_COLORWRITEENABLE 0x00000080
1099 #define WINED3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x00000100
1100 #define WINED3DPMISCCAPS_CLIPTLVERTS 0x00000200
1101 #define WINED3DPMISCCAPS_TSSARGTEMP 0x00000400
1102 #define WINED3DPMISCCAPS_BLENDOP 0x00000800
1103 #define WINED3DPMISCCAPS_NULLREFERENCE 0x00001000
1104 #define WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS 0x00004000
1105 #define WINED3DPMISCCAPS_PERSTAGECONSTANT 0x00008000
1106 #define WINED3DPMISCCAPS_FOGANDSPECULARALPHA 0x00010000
1107 #define WINED3DPMISCCAPS_SEPARATEALPHABLEND 0x00020000
1108 #define WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 0x00040000
1109 #define WINED3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x00080000
1110 #define WINED3DPMISCCAPS_FOGVERTEXCLAMPED 0x00100000
1111 #define WINED3DPMISCCAPS_POSTBLENDSRGBCONVERT 0x00200000
1112 
1113 #define WINED3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
1114 #define WINED3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
1115 #define WINED3DPS20_MAX_NUMTEMPS 32
1116 #define WINED3DPS20_MIN_NUMTEMPS 12
1117 #define WINED3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
1118 #define WINED3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
1119 #define WINED3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
1120 #define WINED3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
1121 
1122 #define WINED3DPS20CAPS_ARBITRARYSWIZZLE 0x00000001
1123 #define WINED3DPS20CAPS_GRADIENTINSTRUCTIONS 0x00000002
1124 #define WINED3DPS20CAPS_PREDICATION 0x00000004
1125 #define WINED3DPS20CAPS_NODEPENDENTREADLIMIT 0x00000008
1126 #define WINED3DPS20CAPS_NOTEXINSTRUCTIONLIMIT 0x00000010
1127 
1128 #define WINED3DPTADDRESSCAPS_WRAP 0x00000001
1129 #define WINED3DPTADDRESSCAPS_MIRROR 0x00000002
1130 #define WINED3DPTADDRESSCAPS_CLAMP 0x00000004
1131 #define WINED3DPTADDRESSCAPS_BORDER 0x00000008
1132 #define WINED3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010
1133 #define WINED3DPTADDRESSCAPS_MIRRORONCE 0x00000020
1134 
1135 #define WINED3DSTENCILCAPS_KEEP 0x00000001
1136 #define WINED3DSTENCILCAPS_ZERO 0x00000002
1137 #define WINED3DSTENCILCAPS_REPLACE 0x00000004
1138 #define WINED3DSTENCILCAPS_INCRSAT 0x00000008
1139 #define WINED3DSTENCILCAPS_DECRSAT 0x00000010
1140 #define WINED3DSTENCILCAPS_INVERT 0x00000020
1141 #define WINED3DSTENCILCAPS_INCR 0x00000040
1142 #define WINED3DSTENCILCAPS_DECR 0x00000080
1143 #define WINED3DSTENCILCAPS_TWOSIDED 0x00000100
1144 
1145 #define WINED3DTEXOPCAPS_DISABLE 0x00000001
1146 #define WINED3DTEXOPCAPS_SELECTARG1 0x00000002
1147 #define WINED3DTEXOPCAPS_SELECTARG2 0x00000004
1148 #define WINED3DTEXOPCAPS_MODULATE 0x00000008
1149 #define WINED3DTEXOPCAPS_MODULATE2X 0x00000010
1150 #define WINED3DTEXOPCAPS_MODULATE4X 0x00000020
1151 #define WINED3DTEXOPCAPS_ADD 0x00000040
1152 #define WINED3DTEXOPCAPS_ADDSIGNED 0x00000080
1153 #define WINED3DTEXOPCAPS_ADDSIGNED2X 0x00000100
1154 #define WINED3DTEXOPCAPS_SUBTRACT 0x00000200
1155 #define WINED3DTEXOPCAPS_ADDSMOOTH 0x00000400
1156 #define WINED3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x00000800
1157 #define WINED3DTEXOPCAPS_BLENDTEXTUREALPHA 0x00001000
1158 #define WINED3DTEXOPCAPS_BLENDFACTORALPHA 0x00002000
1159 #define WINED3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x00004000
1160 #define WINED3DTEXOPCAPS_BLENDCURRENTALPHA 0x00008000
1161 #define WINED3DTEXOPCAPS_PREMODULATE 0x00010000
1162 #define WINED3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x00020000
1163 #define WINED3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x00040000
1164 #define WINED3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
1165 #define WINED3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
1166 #define WINED3DTEXOPCAPS_BUMPENVMAP 0x00200000
1167 #define WINED3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x00400000
1168 #define WINED3DTEXOPCAPS_DOTPRODUCT3 0x00800000
1169 #define WINED3DTEXOPCAPS_MULTIPLYADD 0x01000000
1170 #define WINED3DTEXOPCAPS_LERP 0x02000000
1171 
1172 #define WINED3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
1173 #define WINED3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
1174 #define WINED3DVS20_MAX_NUMTEMPS 32
1175 #define WINED3DVS20_MIN_NUMTEMPS 12
1176 #define WINED3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
1177 #define WINED3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
1178 
1179 #define WINED3DVS20CAPS_PREDICATION 0x00000001
1180 
1181 #define WINED3DCAPS2_NO2DDURING3DSCENE 0x00000002
1182 #define WINED3DCAPS2_FULLSCREENGAMMA 0x00020000
1183 #define WINED3DCAPS2_CANRENDERWINDOWED 0x00080000
1184 #define WINED3DCAPS2_CANCALIBRATEGAMMA 0x00100000
1185 #define WINED3DCAPS2_RESERVED 0x02000000
1186 #define WINED3DCAPS2_CANMANAGERESOURCE 0x10000000
1187 #define WINED3DCAPS2_DYNAMICTEXTURES 0x20000000
1188 #define WINED3DCAPS2_CANGENMIPMAP 0x40000000
1189 
1190 #define WINED3DPRASTERCAPS_DITHER 0x00000001
1191 #define WINED3DPRASTERCAPS_ROP2 0x00000002
1192 #define WINED3DPRASTERCAPS_XOR 0x00000004
1193 #define WINED3DPRASTERCAPS_PAT 0x00000008
1194 #define WINED3DPRASTERCAPS_ZTEST 0x00000010
1195 #define WINED3DPRASTERCAPS_SUBPIXEL 0x00000020
1196 #define WINED3DPRASTERCAPS_SUBPIXELX 0x00000040
1197 #define WINED3DPRASTERCAPS_FOGVERTEX 0x00000080
1198 #define WINED3DPRASTERCAPS_FOGTABLE 0x00000100
1199 #define WINED3DPRASTERCAPS_STIPPLE 0x00000200
1200 #define WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400
1201 #define WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800
1202 #define WINED3DPRASTERCAPS_ANTIALIASEDGES 0x00001000
1203 #define WINED3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000
1204 #define WINED3DPRASTERCAPS_ZBIAS 0x00004000
1205 #define WINED3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000
1206 #define WINED3DPRASTERCAPS_FOGRANGE 0x00010000
1207 #define WINED3DPRASTERCAPS_ANISOTROPY 0x00020000
1208 #define WINED3DPRASTERCAPS_WBUFFER 0x00040000
1209 #define WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000
1210 #define WINED3DPRASTERCAPS_WFOG 0x00100000
1211 #define WINED3DPRASTERCAPS_ZFOG 0x00200000
1212 #define WINED3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000
1213 #define WINED3DPRASTERCAPS_SCISSORTEST 0x01000000
1214 #define WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000
1215 #define WINED3DPRASTERCAPS_DEPTHBIAS 0x04000000
1216 #define WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x08000000
1217 
1218 #define WINED3DPSHADECAPS_COLORFLATMONO 0x00000001
1219 #define WINED3DPSHADECAPS_COLORFLATRGB 0x00000002
1220 #define WINED3DPSHADECAPS_COLORGOURAUDMONO 0x00000004
1221 #define WINED3DPSHADECAPS_COLORGOURAUDRGB 0x00000008
1222 #define WINED3DPSHADECAPS_COLORPHONGMONO 0x00000010
1223 #define WINED3DPSHADECAPS_COLORPHONGRGB 0x00000020
1224 #define WINED3DPSHADECAPS_SPECULARFLATMONO 0x00000040
1225 #define WINED3DPSHADECAPS_SPECULARFLATRGB 0x00000080
1226 #define WINED3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100
1227 #define WINED3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200
1228 #define WINED3DPSHADECAPS_SPECULARPHONGMONO 0x00000400
1229 #define WINED3DPSHADECAPS_SPECULARPHONGRGB 0x00000800
1230 #define WINED3DPSHADECAPS_ALPHAFLATBLEND 0x00001000
1231 #define WINED3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000
1232 #define WINED3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000
1233 #define WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000
1234 #define WINED3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000
1235 #define WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000
1236 #define WINED3DPSHADECAPS_FOGFLAT 0x00040000
1237 #define WINED3DPSHADECAPS_FOGGOURAUD 0x00080000
1238 #define WINED3DPSHADECAPS_FOGPHONG 0x00100000
1239 
1240 #define WINED3DPTEXTURECAPS_PERSPECTIVE 0x00000001
1241 #define WINED3DPTEXTURECAPS_POW2 0x00000002
1242 #define WINED3DPTEXTURECAPS_ALPHA 0x00000004
1243 #define WINED3DPTEXTURECAPS_TRANSPARENCY 0x00000008
1244 #define WINED3DPTEXTURECAPS_BORDER 0x00000010
1245 #define WINED3DPTEXTURECAPS_SQUAREONLY 0x00000020
1246 #define WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040
1247 #define WINED3DPTEXTURECAPS_ALPHAPALETTE 0x00000080
1248 #define WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100
1249 #define WINED3DPTEXTURECAPS_PROJECTED 0x00000400
1250 #define WINED3DPTEXTURECAPS_CUBEMAP 0x00000800
1251 #define WINED3DPTEXTURECAPS_COLORKEYBLEND 0x00001000
1252 #define WINED3DPTEXTURECAPS_VOLUMEMAP 0x00002000
1253 #define WINED3DPTEXTURECAPS_MIPMAP 0x00004000
1254 #define WINED3DPTEXTURECAPS_MIPVOLUMEMAP 0x00008000
1255 #define WINED3DPTEXTURECAPS_MIPCUBEMAP 0x00010000
1256 #define WINED3DPTEXTURECAPS_CUBEMAP_POW2 0x00020000
1257 #define WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 0x00040000
1258 #define WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x00200000
1259 
1260 #define WINED3DPTFILTERCAPS_NEAREST 0x00000001
1261 #define WINED3DPTFILTERCAPS_LINEAR 0x00000002
1262 #define WINED3DPTFILTERCAPS_MIPNEAREST 0x00000004
1263 #define WINED3DPTFILTERCAPS_MIPLINEAR 0x00000008
1264 #define WINED3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010
1265 #define WINED3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020
1266 #define WINED3DPTFILTERCAPS_MINFPOINT 0x00000100
1267 #define WINED3DPTFILTERCAPS_MINFLINEAR 0x00000200
1268 #define WINED3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400
1269 #define WINED3DPTFILTERCAPS_MIPFPOINT 0x00010000
1270 #define WINED3DPTFILTERCAPS_MIPFLINEAR 0x00020000
1271 #define WINED3DPTFILTERCAPS_MAGFPOINT 0x01000000
1272 #define WINED3DPTFILTERCAPS_MAGFLINEAR 0x02000000
1273 #define WINED3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000
1274 #define WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000
1275 #define WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000
1276 
1277 #define WINED3DVTXPCAPS_TEXGEN 0x00000001
1278 #define WINED3DVTXPCAPS_MATERIALSOURCE7 0x00000002
1279 #define WINED3DVTXPCAPS_VERTEXFOG 0x00000004
1280 #define WINED3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008
1281 #define WINED3DVTXPCAPS_POSITIONALLIGHTS 0x00000010
1282 #define WINED3DVTXPCAPS_LOCALVIEWER 0x00000020
1283 #define WINED3DVTXPCAPS_TWEENING 0x00000040
1284 #define WINED3DVTXPCAPS_TEXGEN_SPHEREMAP 0x00000100
1285 #define WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200
1286 
1287 #define WINED3DCURSORCAPS_COLOR 0x00000001
1288 #define WINED3DCURSORCAPS_LOWRES 0x00000002
1289 
1290 #define WINED3DDEVCAPS_FLOATTLVERTEX 0x00000001
1291 #define WINED3DDEVCAPS_SORTINCREASINGZ 0x00000002
1292 #define WINED3DDEVCAPS_SORTDECREASINGZ 0X00000004
1293 #define WINED3DDEVCAPS_SORTEXACT 0x00000008
1294 #define WINED3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010
1295 #define WINED3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020
1296 #define WINED3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040
1297 #define WINED3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080
1298 #define WINED3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100
1299 #define WINED3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200
1300 #define WINED3DDEVCAPS_DRAWPRIMTLVERTEX 0x00000400
1301 #define WINED3DDEVCAPS_CANRENDERAFTERFLIP 0x00000800
1302 #define WINED3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x00001000
1303 #define WINED3DDEVCAPS_DRAWPRIMITIVES2 0x00002000
1304 #define WINED3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000
1305 #define WINED3DDEVCAPS_DRAWPRIMITIVES2EX 0x00008000
1306 #define WINED3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000
1307 #define WINED3DDEVCAPS_CANBLTSYSTONONLOCAL 0x00020000
1308 #define WINED3DDEVCAPS_HWRASTERIZATION 0x00080000
1309 #define WINED3DDEVCAPS_PUREDEVICE 0x00100000
1310 #define WINED3DDEVCAPS_QUINTICRTPATCHES 0x00200000
1311 #define WINED3DDEVCAPS_RTPATCHES 0x00400000
1312 #define WINED3DDEVCAPS_RTPATCHHANDLEZERO 0x00800000
1313 #define WINED3DDEVCAPS_NPATCHES 0x01000000
1314 
1315 #define WINED3D_LEGACY_DEPTH_BIAS 0x00000001
1316 #define WINED3D_NO3D 0x00000002
1317 #define WINED3D_VIDMEM_ACCOUNTING 0x00000004
1318 #define WINED3D_PRESENT_CONVERSION 0x00000008
1319 #define WINED3D_RESTORE_MODE_ON_ACTIVATE 0x00000010
1320 #define WINED3D_FOCUS_MESSAGES 0x00000020
1321 #define WINED3D_HANDLE_RESTORE 0x00000040
1322 #define WINED3D_PIXEL_CENTER_INTEGER 0x00000080
1323 #define WINED3D_LEGACY_FFP_LIGHTING 0x00000100
1324 #define WINED3D_SRGB_READ_WRITE_CONTROL 0x00000200
1325 #define WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR 0x00000400
1326 #define WINED3D_NO_PRIMITIVE_RESTART 0x00000800
1327 #define WINED3D_LEGACY_CUBEMAP_FILTERING 0x00001000
1328 #define WINED3D_NORMALIZED_DEPTH_BIAS 0x00002000
1329 #define WINED3D_REQUEST_D3D10 0x00004000
1330 #define WINED3D_LIMIT_VIEWPORT 0x00008000
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 
1580 {
1586 };
1587 
1589 {
1590  float r;
1591  float g;
1592  float b;
1593  float a;
1594 };
1595 
1597 {
1598  float x;
1599  float y;
1600  float z;
1601 };
1602 
1604 {
1605  float x;
1606  float y;
1607  float z;
1608  float w;
1609 };
1610 
1612 {
1613  double x;
1614  double y;
1615  double z;
1616  double w;
1617 };
1618 
1620 {
1621  int x;
1622  int y;
1623  int z;
1624  int w;
1625 };
1626 
1628 {
1629  unsigned int x;
1630  unsigned int y;
1631  unsigned int z;
1632  unsigned int w;
1633 };
1634 
1636 {
1637  float _11, _12, _13, _14;
1638  float _21, _22, _23, _24;
1639  float _31, _32, _33, _34;
1640  float _41, _42, _43, _44;
1641 };
1642 
1644 {
1651  float range;
1652  float falloff;
1656  float theta;
1657  float phi;
1658 };
1659 
1661 {
1666  float power;
1667 };
1668 
1670 {
1671  float x;
1672  float y;
1673  float width;
1674  float height;
1675  float min_z;
1676  float max_z;
1677 };
1678 
1680 {
1681  WORD red[256];
1682  WORD green[256];
1683  WORD blue[256];
1684 };
1685 
1687 {
1690 };
1691 
1693 {
1701 };
1702 
1704 {
1709 };
1710 
1712 {
1713  char *driver;
1728 };
1729 
1731 {
1748 };
1749 
1751 {
1755  unsigned int multisample_quality;
1756  unsigned int usage;
1757  unsigned int access;
1758  unsigned int width;
1759  unsigned int height;
1760  unsigned int depth;
1761  unsigned int size;
1762 };
1763 
1765 {
1768  unsigned int multisample_quality;
1769  unsigned int usage;
1770  unsigned int access;
1771  unsigned int width;
1772  unsigned int height;
1773  unsigned int depth;
1774  unsigned int size;
1775 };
1776 
1778 {
1781 };
1782 
1784 {
1787 };
1788 
1790 {
1792  unsigned int input_slot;
1793  unsigned int offset;
1794  unsigned int output_slot; /* D3D 8 & 10 */
1800 };
1801 
1803 {
1808 };
1809 
1811 {
1814 };
1815 
1817 {
1820  void *data;
1821 };
1822 
1824 {
1828 };
1829 
1831 {
1832  const void *data;
1833  unsigned int row_pitch;
1834  unsigned int slice_pitch;
1835 };
1836 
1838 {
1845 };
1846 
1848 {
1853 };
1854 
1856 {
1862 };
1863 
1865 {
1882 };
1883 
1884 typedef struct _WINED3DCAPS
1885 {
1888 
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 {
2011 };
2012 
2014 {
2018  float border_color[4];
2022  float lod_bias;
2023  float min_lod;
2024  float max_lod;
2025  unsigned int mip_base_level;
2026  unsigned int max_anisotropy;
2030 };
2031 
2033 {
2034  const char *semantic_name;
2035  unsigned int semantic_idx;
2036  unsigned int stream_idx;
2039  unsigned int register_idx;
2041 };
2042 
2044 {
2047 };
2048 
2050 {
2057  unsigned int max_version;
2058 };
2059 
2061 {
2062  unsigned int stream_idx;
2063  unsigned int register_idx;
2067 };
2068 
2070 {
2072  unsigned int element_count;
2074  unsigned int buffer_stride_count;
2076 };
2077 
2079 {
2081  unsigned int flags;
2082  union
2083  {
2084  struct
2085  {
2086  unsigned int start_idx;
2087  unsigned int count;
2088  } buffer;
2089  struct
2090  {
2091  unsigned int level_idx;
2092  unsigned int level_count;
2093  unsigned int layer_idx;
2094  unsigned int layer_count;
2095  } texture;
2096  } u;
2097 };
2098 
2100 {
2106 };
2107 
2109 {
2110  void (__stdcall *wined3d_object_destroyed)(void *parent);
2111 };
2112 
2113 struct wined3d;
2114 struct wined3d_buffer;
2115 struct wined3d_device;
2116 struct wined3d_palette;
2117 struct wined3d_query;
2118 struct wined3d_blend_state;
2121 struct wined3d_resource;
2122 struct wined3d_sampler;
2123 struct wined3d_shader;
2125 struct wined3d_stateblock;
2126 struct wined3d_swapchain;
2127 struct wined3d_texture;
2130 
2132 {
2134 };
2135 
2137 {
2138  void (__cdecl *wined3d_device_created)(struct wined3d_device_parent *device_parent, struct wined3d_device *device);
2139  void (__cdecl *mode_changed)(struct wined3d_device_parent *device_parent);
2141  HRESULT (__cdecl *surface_created)(struct wined3d_device_parent *device_parent,
2143  void **parent, const struct wined3d_parent_ops **parent_ops);
2144  HRESULT (__cdecl *volume_created)(struct wined3d_device_parent *device_parent,
2146  void **parent, const struct wined3d_parent_ops **parent_ops);
2147  HRESULT (__cdecl *create_swapchain_texture)(struct wined3d_device_parent *device_parent, void *parent,
2149  HRESULT (__cdecl *create_swapchain)(struct wined3d_device_parent *device_parent,
2151 };
2152 
2154 {
2155  struct list content;
2156 };
2157 
2159 {
2160  struct list entry;
2161 
2163  DWORD flags; /* DDSPD_* */
2165  union
2166  {
2169  } content;
2170 };
2171 
2173 
2174 void __stdcall wined3d_mutex_lock(void);
2175 void __stdcall wined3d_mutex_unlock(void);
2176 
2177 UINT __cdecl wined3d_calculate_format_pitch(const struct wined3d *wined3d, UINT adapter_idx,
2180  enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id,
2181  enum wined3d_format_id render_target_format_id, enum wined3d_format_id depth_stencil_format_id);
2183  enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, DWORD usage,
2184  enum wined3d_resource_type resource_type, enum wined3d_format_id check_format_id);
2186  enum wined3d_device_type device_type, enum wined3d_format_id source_format_id,
2187  enum wined3d_format_id target_format_id);
2189  enum wined3d_device_type device_type, enum wined3d_format_id surface_format_id, BOOL windowed,
2190  enum wined3d_multisample_type multisample_type, DWORD *quality_levels);
2191 HRESULT __cdecl wined3d_check_device_type(const struct wined3d *wined3d, UINT adapter_idx,
2192  enum wined3d_device_type device_type, enum wined3d_format_id display_format_id,
2193  enum wined3d_format_id backbuffer_format_id, BOOL windowed);
2196 HRESULT __cdecl wined3d_enum_adapter_modes(const struct wined3d *wined3d, UINT adapter_idx,
2197  enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering,
2198  UINT mode_idx, struct wined3d_display_mode *mode);
2200  unsigned int adapter_idx, struct wined3d_display_mode *mode);
2203  struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
2205  DWORD flags, struct wined3d_adapter_identifier *identifier);
2206 UINT __cdecl wined3d_get_adapter_mode_count(const struct wined3d *wined3d, UINT adapter_idx,
2207  enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering);
2209  struct wined3d_raster_status *raster_status);
2210 HRESULT __cdecl wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx,
2212 HRESULT __cdecl wined3d_get_output_desc(const struct wined3d *wined3d, unsigned int adapter_idx,
2213  struct wined3d_output_desc *desc);
2215 HRESULT __cdecl wined3d_register_software_device(struct wined3d *wined3d, void *init_function);
2217  UINT adapter_idx, const struct wined3d_display_mode *mode);
2218 
2220  const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops,
2221  struct wined3d_buffer **buffer);
2226 
2230 HRESULT __cdecl wined3d_device_clear(struct wined3d_device *device, DWORD rect_count, const RECT *rects, DWORD flags,
2231  const struct wined3d_color *color, float z, DWORD stencil);
2234  const struct wined3d_color *color, float depth, DWORD stencil);
2236  struct wined3d_unordered_access_view *view, const struct wined3d_uvec4 *clear_value);
2238  struct wined3d_resource *dst_resource, struct wined3d_resource *src_resource);
2240  struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx, unsigned int dst_x,
2241  unsigned int dst_y, unsigned int dst_z, struct wined3d_resource *src_resource,
2242  unsigned int src_sub_resource_idx, const struct wined3d_box *src_box);
2244  struct wined3d_buffer *dst_buffer, unsigned int offset, struct wined3d_unordered_access_view *uav);
2246  enum wined3d_device_type device_type, HWND focus_window, DWORD behaviour_flags, BYTE surface_alignment,
2247  struct wined3d_device_parent *device_parent, struct wined3d_device **device);
2250  unsigned int group_count_x, unsigned int group_count_y, unsigned int group_count_z);
2252  struct wined3d_buffer *buffer, unsigned int offset);
2255  UINT start_idx, UINT index_count, UINT start_instance, UINT instance_count);
2257  struct wined3d_buffer *buffer, unsigned int offset);
2260  UINT start_vertex, UINT vertex_count, UINT start_instance, UINT instance_count);
2262  struct wined3d_buffer *buffer, unsigned int offset);
2270  UINT plane_idx, struct wined3d_vec4 *plane);
2272  struct wined3d_clip_status *clip_status);
2275  struct wined3d_device_creation_parameters *creation_parameters);
2276 struct wined3d_buffer * __cdecl wined3d_device_get_cs_cb(const struct wined3d_device *device, unsigned int idx);
2278  unsigned int idx);
2279 struct wined3d_sampler * __cdecl wined3d_device_get_cs_sampler(const struct wined3d_device *device, unsigned int idx);
2281  unsigned int idx);
2285  struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
2287 struct wined3d_buffer * __cdecl wined3d_device_get_ds_cb(const struct wined3d_device *device, unsigned int idx);
2289  unsigned int idx);
2290 struct wined3d_sampler * __cdecl wined3d_device_get_ds_sampler(const struct wined3d_device *device, unsigned int idx);
2292  UINT swapchain_idx, struct wined3d_gamma_ramp *ramp);
2296  UINT idx);
2298 struct wined3d_buffer * __cdecl wined3d_device_get_hs_cb(const struct wined3d_device *device, unsigned int idx);
2300  unsigned int idx);
2301 struct wined3d_sampler * __cdecl wined3d_device_get_hs_sampler(const struct wined3d_device *device, unsigned int idx);
2304  enum wined3d_format_id *format, unsigned int *offset);
2306  UINT light_idx, struct wined3d_light *light);
2308 void __cdecl wined3d_device_get_material(const struct wined3d_device *device, struct wined3d_material *material);
2313  enum wined3d_primitive_type *primitive_topology, unsigned int *patch_vertex_count);
2316  unsigned int start_idx, unsigned int count, BOOL *constants);
2318  unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants);
2320  unsigned int start_idx, unsigned int count, struct wined3d_ivec4 *constants);
2322  UINT idx);
2325  UINT swapchain_idx, struct wined3d_raster_status *raster_status);
2329  unsigned int view_idx);
2331  UINT sampler_idx, enum wined3d_sampler_state state);
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_viewport(const struct wined3d_device *device, struct wined3d_viewport *viewport);
2355  unsigned int start_idx, unsigned int count, BOOL *constants);
2357  unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants);
2359  unsigned int start_idx, unsigned int count, struct wined3d_ivec4 *constants);
2361  UINT idx);
2368  enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
2370  UINT src_start_idx, UINT dst_idx, UINT vertex_count, struct wined3d_buffer *dst_buffer,
2371  const struct wined3d_vertex_declaration *declaration, DWORD flags, DWORD dst_fvf);
2374  const struct wined3d_swapchain_desc *swapchain_desc, const struct wined3d_display_mode *mode,
2375  wined3d_device_reset_cb callback, BOOL reset_state);
2377  struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx,
2378  struct wined3d_resource *src_resource, unsigned int src_sub_resource_idx,
2381  const RECT *window_rect);
2385  UINT plane_idx, const struct wined3d_vec4 *plane);
2387  const struct wined3d_clip_status *clip_status);
2389 void __cdecl wined3d_device_set_cs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer);
2391  unsigned int idx, struct wined3d_shader_resource_view *view);
2393  unsigned int idx, struct wined3d_sampler *sampler);
2394 void __cdecl wined3d_device_set_cs_uav(struct wined3d_device *device, unsigned int idx,
2395  struct wined3d_unordered_access_view *uav, unsigned int initial_count);
2397  int x_screen_space, int y_screen_space, DWORD flags);
2399  UINT x_hotspot, UINT y_hotspot, struct wined3d_texture *texture, unsigned int sub_resource_idx);
2404 void __cdecl wined3d_device_set_ds_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer);
2406  unsigned int idx, struct wined3d_shader_resource_view *view);
2408  unsigned int idx, struct wined3d_sampler *sampler);
2410  UINT swapchain_idx, DWORD flags, const struct wined3d_gamma_ramp *ramp);
2416 void __cdecl wined3d_device_set_hs_cb(struct wined3d_device *device, unsigned int idx, struct wined3d_buffer *buffer);
2418  unsigned int idx, struct wined3d_shader_resource_view *view);
2420  unsigned int idx, struct wined3d_sampler *sampler);
2423  struct wined3d_buffer *index_buffer, enum wined3d_format_id format_id, unsigned int offset);
2425  UINT light_idx, const struct wined3d_light *light);
2427 void __cdecl wined3d_device_set_material(struct wined3d_device *device, const struct wined3d_material *material);
2432  struct wined3d_query *predicate, BOOL value);
2434  enum wined3d_primitive_type primitive_topology, unsigned int patch_vertex_count);
2437  unsigned int start_idx, unsigned int count, const BOOL *constants);
2439  unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants);
2441  unsigned int start_idx, unsigned int count, const struct wined3d_ivec4 *constants);
2446  struct wined3d_rasterizer_state *rasterizer_state);
2450  unsigned int view_idx, struct wined3d_rendertarget_view *view, BOOL set_viewport);
2452  UINT sampler_idx, enum wined3d_sampler_state state, DWORD value);
2456  struct wined3d_buffer *buffer, UINT offset);
2458  UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride);
2464  enum wined3d_transform_state state, const struct wined3d_matrix *matrix);
2466  unsigned int idx, struct wined3d_unordered_access_view *uav, unsigned int initial_count);
2470 void __cdecl wined3d_device_set_viewport(struct wined3d_device *device, const struct wined3d_viewport *viewport);
2473  unsigned int start_idx, unsigned int count, const BOOL *constants);
2475  unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants);
2477  unsigned int start_idx, unsigned int count, const struct wined3d_ivec4 *constants);
2486  unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch,
2487  unsigned int depth_pitch);
2489  struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture);
2491 
2493  unsigned int entry_count, const PALETTEENTRY *entries, struct wined3d_palette **palette);
2496  DWORD flags, DWORD start, DWORD count, PALETTEENTRY *entries);
2500  DWORD flags, DWORD start, DWORD count, const PALETTEENTRY *entries);
2501 
2503  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_query **query);
2507 void * __cdecl wined3d_query_get_parent(const struct wined3d_query *query);
2511 
2512 static inline void wined3d_private_store_init(struct wined3d_private_store *store)
2513 {
2514  list_init(&store->content);
2515 }
2516 
2518  const struct wined3d_private_store *store, const GUID *tag)
2519 {
2520  struct wined3d_private_data *data;
2521  struct list *entry;
2522 
2523  LIST_FOR_EACH(entry, &store->content)
2524  {
2526  if (IsEqualGUID(&data->tag, tag))
2527  return data;
2528  }
2529  return NULL;
2530 }
2531 
2533  struct wined3d_private_data *entry)
2534 {
2535  if (entry->flags & WINED3DSPD_IUNKNOWN)
2536  IUnknown_Release(entry->content.object);
2537  list_remove(&entry->entry);
2538  HeapFree(GetProcessHeap(), 0, entry);
2539 }
2540 
2541 static inline void wined3d_private_store_cleanup(struct wined3d_private_store *store)
2542 {
2543  struct wined3d_private_data *data;
2544  struct list *e1, *e2;
2545 
2546  LIST_FOR_EACH_SAFE(e1, e2, &store->content)
2547  {
2548  data = LIST_ENTRY(e1, struct wined3d_private_data, entry);
2550  }
2551 }
2552 
2554  const GUID *guid, const void *data, DWORD data_size, DWORD flags)
2555 {
2556  struct wined3d_private_data *d, *old;
2557  const void *ptr = data;
2558 
2559  if (flags & WINED3DSPD_IUNKNOWN)
2560  {
2561  if (data_size != sizeof(IUnknown *))
2562  return WINED3DERR_INVALIDCALL;
2563  ptr = &data;
2564  }
2565 
2566  if (!(d = HeapAlloc(GetProcessHeap(), 0,
2567  FIELD_OFFSET(struct wined3d_private_data, content.data[data_size]))))
2568  return E_OUTOFMEMORY;
2569 
2570  d->tag = *guid;
2571  d->flags = flags;
2572  d->size = data_size;
2573 
2574  memcpy(d->content.data, ptr, data_size);
2575  if (flags & WINED3DSPD_IUNKNOWN)
2576  IUnknown_AddRef(d->content.object);
2577 
2579  if (old)
2581  list_add_tail(&store->content, &d->entry);
2582 
2583  return WINED3D_OK;
2584 }
2585 
2587  const struct wined3d_blend_state_desc *desc, void *parent,
2588  const struct wined3d_parent_ops *parent_ops, struct wined3d_blend_state **state);
2592 
2594  const struct wined3d_rasterizer_state_desc *desc, void *parent,
2595  const struct wined3d_parent_ops *parent_ops, struct wined3d_rasterizer_state **state);
2599 
2601  struct wined3d_resource_desc *desc);
2604 HRESULT __cdecl wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx,
2605  struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags);
2606 HRESULT __cdecl wined3d_resource_map_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
2607  struct wined3d_map_info *info, DWORD flags);
2611 HRESULT __cdecl wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx);
2612 UINT __cdecl wined3d_resource_update_info(struct wined3d_resource *resource, unsigned int sub_resource_idx,
2613  const struct wined3d_box *box, unsigned int row_pitch, unsigned int depth_pitch);
2614 
2616  struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
2617  struct wined3d_rendertarget_view **view);
2619  unsigned int sub_resource_idx, void *parent, const struct wined3d_parent_ops *parent_ops,
2620  struct wined3d_rendertarget_view **view);
2627 
2629  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_sampler **sampler);
2633 
2635  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2637  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2639  const struct wined3d_stream_output_desc *so_desc, void *parent, const struct wined3d_parent_ops *parent_ops,
2640  struct wined3d_shader **shader);
2642  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2644  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2646  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader);
2649  void *byte_code, UINT *byte_code_size);
2653  UINT start_idx, const float *src_data, UINT vector4f_count);
2654 
2656  struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
2662 
2663 void __cdecl wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock);
2664 void __cdecl wined3d_stateblock_capture(struct wined3d_stateblock *stateblock);
2666  enum wined3d_stateblock_type type, struct wined3d_stateblock **stateblock);
2669 
2671  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_swapchain **swapchain);
2674  UINT backbuffer_idx);
2675 struct wined3d_device * __cdecl wined3d_swapchain_get_device(const struct wined3d_swapchain *swapchain);
2677  struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
2679  struct wined3d_texture *dst_texture, unsigned int sub_resource_idx);
2681  struct wined3d_gamma_ramp *ramp);
2682 void * __cdecl wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain);
2683 void __cdecl wined3d_swapchain_get_desc(const struct wined3d_swapchain *swapchain,
2684  struct wined3d_swapchain_desc *desc);
2686  struct wined3d_raster_status *raster_status);
2689  const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override, DWORD swap_interval, DWORD flags);
2690 HRESULT __cdecl wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapchain, unsigned int buffer_count,
2691  unsigned int width, unsigned int height, enum wined3d_format_id format_id,
2692  enum wined3d_multisample_type multisample_type, unsigned int multisample_quality);
2694  const struct wined3d_display_mode *mode);
2696  const struct wined3d_swapchain_desc *desc, const struct wined3d_display_mode *mode);
2698  DWORD flags, const struct wined3d_gamma_ramp *ramp);
2701 
2703  UINT layer, const struct wined3d_box *dirty_region);
2704 HRESULT __cdecl wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned int dst_idx, const RECT *dst_rect_in,
2705  struct wined3d_texture *src_texture, unsigned int src_idx, const RECT *src_rect_in, DWORD flags,
2706  const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter);
2708  UINT layer_count, UINT level_count, DWORD flags, const struct wined3d_sub_resource_data *data,
2709  void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture);
2712 HRESULT __cdecl wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned int sub_resource_idx, HDC *dc);
2716  unsigned int sub_resource_idx, LONG *x, LONG *y);
2719  unsigned int level, unsigned int *row_pitch, unsigned int *slice_pitch);
2722  unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc);
2723 void * __cdecl wined3d_texture_get_sub_resource_parent(struct wined3d_texture *texture, unsigned int sub_resource_idx);
2725 HRESULT __cdecl wined3d_texture_release_dc(struct wined3d_texture *texture, unsigned int sub_resource_idx, HDC dc);
2727  DWORD flags, const struct wined3d_color_key *color_key);
2730  unsigned int sub_resource_idx, LONG x, LONG y);
2732  unsigned int sub_resource_idx, void *parent);
2736  void *mem, UINT pitch);
2737 HRESULT __cdecl wined3d_texture_update_overlay(struct wined3d_texture *texture, unsigned int sub_resource_idx,
2738  const RECT *src_rect, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx,
2739  const RECT *dst_rect, DWORD flags);
2740 
2742  struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops,
2747 
2749  const struct wined3d_vertex_element *elements, UINT element_count, void *parent,
2752  DWORD fvf, void *parent, const struct wined3d_parent_ops *parent_ops,
2757 
2758 /* Return the integer base-2 logarithm of x. Undefined for x == 0. */
2759 static inline unsigned int wined3d_log2i(unsigned int x)
2760 {
2761 #ifdef HAVE___BUILTIN_CLZ
2762  return __builtin_clz(x) ^ 0x1f;
2763 #else
2764  static const unsigned int l[] =
2765  {
2766  ~0u, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
2767  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2768  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2769  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2770  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2771  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2772  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2773  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
2774  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2775  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2776  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2777  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
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  };
2783  unsigned int i;
2784 
2785  return (i = x >> 16) ? (x = i >> 8) ? l[x] + 24 : l[i] + 16 : (i = x >> 8) ? l[i] + 8 : l[x];
2786 #endif
2787 }
2788 
2789 static inline void wined3d_box_set(struct wined3d_box *box, unsigned int left, unsigned int top,
2790  unsigned int right, unsigned int bottom, unsigned int front, unsigned int back)
2791 {
2792  box->left = left;
2793  box->top = top;
2794  box->right = right;
2795  box->bottom = bottom;
2796  box->front = front;
2797  box->back = back;
2798 }
2799 
2800 BOOL wined3d_dxt1_decode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2801  enum wined3d_format_id format, unsigned int w, unsigned int h);
2802 BOOL wined3d_dxt1_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2803  enum wined3d_format_id format, unsigned int w, unsigned int h);
2804 BOOL wined3d_dxt3_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_dxt3_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_dxt5_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_dxt5_encode(const BYTE *src, BYTE *dst, DWORD pitch_in, DWORD pitch_out,
2811  enum wined3d_format_id format, unsigned int w, unsigned int h);
2813 
2814 #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:4499
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:2749
enum wined3d_format_id format
Definition: wined3d.h:1766
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:1791
struct wined3d_buffer *__cdecl wined3d_device_get_gs_cb(const struct wined3d_device *device, UINT idx)
Definition: device.c:2893
enum wined3d_multisample_type multisample_type
struct wined3d_color diffuse
Definition: wined3d.h:1646
UINT AdapterOrdinal
Definition: wined3d.h:1887
#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:2763
wined3d_vertex_blend_flags
Definition: wined3d.h:440
#define HRESULT
Definition: msvc.h:7
struct wined3d_vec3 position
Definition: wined3d.h:1649
float GuardBandBottom
Definition: wined3d.h:1922
UINT __cdecl wined3d_get_adapter_count(const struct wined3d *wined3d)
Definition: directx.c:4484
GLint level
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
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:4447
float MaxVertexW
Definition: wined3d.h:1917
unsigned int element_count
Definition: wined3d.h:2072
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:1994
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
Definition: list.h:192
struct wined3d_color emissive
Definition: wined3d.h:1665
DWORD MaxTextureAspectRatio
Definition: wined3d.h:1915
enum wined3d_light_type type
Definition: wined3d.h:1645
wined3d_resource_type
Definition: wined3d.h:695
HRESULT __cdecl wined3d_find_closest_matching_adapter_mode(const struct wined3d *wined3d, unsigned int adapter_idx, struct wined3d_display_mode *mode)
Definition: directx.c:4667
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:4468
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:1200
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:3633
enum wined3d_component_type component_type
Definition: wined3d.h:2038
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6102
void __cdecl wined3d_device_update_sub_resource(struct wined3d_device *device, struct wined3d_resource *resource, unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch, unsigned int depth_pitch)
Definition: device.c:4281
struct wined3d_device * device
Definition: wined3d.h:2138
HRESULT(__cdecl *surface_created)(struct wined3d_device_parent *device_parent
void __cdecl wined3d_device_set_material(struct wined3d_device *device, const struct wined3d_material *material)
Definition: device.c:1849
wined3d_shade_mode
Definition: wined3d.h:477
wined3d_basis_type
Definition: wined3d.h:666
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:2080
unsigned int multisample_quality
Definition: wined3d.h:1755
void *__cdecl wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain)
Definition: swapchain.c:133
HRESULT __cdecl wined3d_get_adapter_identifier(const struct wined3d *wined3d, UINT adapter_idx, DWORD flags, struct wined3d_adapter_identifier *identifier)
Definition: directx.c:4939
wined3d_cull
Definition: wined3d.h:491
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:248
struct wined3d_rendertarget_view *__cdecl wined3d_device_get_depth_stencil_view(const struct wined3d_device *device)
Definition: device.c:4461
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:2708
ULONG __cdecl wined3d_vertex_declaration_incref(struct wined3d_vertex_declaration *declaration)
UINT left
Definition: wined3d.h:1839
double z
Definition: wined3d.h:1615
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:3750
static void wined3d_private_store_free_private_data(struct wined3d_private_store *store, struct wined3d_private_data *entry)
Definition: wined3d.h:2532
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:3405
struct wined3d_texture *__cdecl wined3d_swapchain_get_back_buffer(const struct wined3d_swapchain *swapchain, UINT backbuffer_idx)
Definition: swapchain.c:215
#define __cdecl
Definition: accygwin.h:79