DXGL r908 - Code Review

Jump to navigation Jump to search
Repository:DXGL
Revision:r907‎ | r908 | r909 >
Date:21:22, 6 April 2019
Author:admin
Status:new
Tags:
Comment:
Define several more FOURCC formats.
Implement fully Y8 /Y800/GREY and partly Y16 .
Update ignore lists for VS2019 build folders.
Modified paths:

Diff [purge]

Index: Help
Property changes on: Help
___________________________________________________________________
Modified: svn:ignore
## -6,3 +6,5 ##
11 Debug No MSVCRT
22 Debug VS2017
33 Release VS2017
 4+Debug VS2019
 5+Release VS2019
Index: Installer
Property changes on: Installer
___________________________________________________________________
Modified: svn:ignore
## -5,3 +5,5 ##
46 Debug No MSVCRT
57 Debug VS2017
68 Release VS2017
 9+Debug VS2019
 10+Release VS2019
Index: buildtool
Property changes on: buildtool
___________________________________________________________________
Modified: svn:ignore
## -12,3 +12,5 ##
711 Debug No MSVCRT
812 Debug VS2017
913 Release VS2017
 14+Debug VS2019
 15+Release VS2019
Index: cfgmgr
Property changes on: cfgmgr
___________________________________________________________________
Modified: svn:ignore
## -10,3 +10,5 ##
1016 Debug No MSVCRT
1117 Debug VS2017
1218 Release VS2017
 19+Debug VS2019
 20+Release VS2019
Index: common
Property changes on: common
___________________________________________________________________
Modified: svn:ignore
## -10,3 +10,5 ##
1321 Debug No MSVCRT
1422 Debug VS2017
1523 Release VS2017
 24+Debug VS2019
 25+Release VS2019
Index: dxgl-nsis
Property changes on: dxgl-nsis
___________________________________________________________________
Modified: svn:ignore
## -3,3 +3,5 ##
1626 Release
1727 Release VS2017
1828 dxgl-nsis.vcxproj.user
 29+Debug VS2019
 30+Release VS2019
Index: dxglcfg-old
Property changes on: dxglcfg-old
___________________________________________________________________
Modified: svn:ignore
## -10,3 +10,5 ##
1931 *.user
2032 Debug VS2017
2133 Release VS2017
 34+Debug VS2019
 35+Release VS2019
Index: minhook/build/DXGL
Property changes on: minhook/build/DXGL
___________________________________________________________________
Modified: svn:ignore
## -4,3 +4,5 ##
2236 x64
2337 Debug VS2017
2438 Release VS2017
 39+Debug VS2019
 40+Release VS2019
Index: ddraw/ShaderGen2D.cpp
@@ -74,8 +74,11 @@
7575 0x20: (first entry for specific RGB formats) (future)
7676 0x80: UYVY / UYNV
7777 0x81: YUY2 / YUNV
78 -0x82: RGBG
79 -0x83: GRGB
 78+0x82: YVYU
 79+0x83: AYUV
 80+0x9E: RGBG
 81+0x9F: GRGB
 82+0x84: AYUV
8083 0xC0: (first entry for compressed) (future)
8184 */
8285
@@ -165,6 +168,11 @@
166169 static const char op_clip[] = "if(texture2D(stenciltex, gl_TexCoord[3].st).r < .5) discard;\n";
167170
168171 // Functions
 172+static const char func_yuvtorgb[] = "";
 173+static const char func_readuyvy[] = "";
 174+static const char func_readyuy2[] = "";
 175+static const char func_readrgbg[] = "";
 176+static const char func_readgrgb[] = "";
169177
170178 // ROP Operations
171179 static const char *op_ROP[256] = {
@@ -752,6 +760,8 @@
753761 unsigned char srctype = (id >> 32) & 0xFF;
754762 unsigned char srctype2;
755763 unsigned char desttype = (id >> 40) & 0xFF;
 764+ if (srctype == desttype) srctype2 = 0;
 765+ else srctype2 = srctype;
756766 gen->genshaders2D[index].shader.vsrc.ptr = NULL;
757767 gen->genshaders2D[index].shader.fsrc.ptr = NULL;
758768 char idstring[30];
@@ -856,7 +866,21 @@
857867
858868 // Uniforms
859869 if (id & DDBLT_COLORFILL) String_Append(fsrc, unif_fillcolor);
860 - else String_Append(fsrc, unif_srctex);
 870+ else
 871+ {
 872+ switch (srctype)
 873+ {
 874+ case 0x80:
 875+ case 0x81:
 876+ case 0x82:
 877+ case 0x83:
 878+ String_Append(fsrc, unif_srctexrect);
 879+ break;
 880+ default:
 881+ String_Append(fsrc, unif_srctex);
 882+ break;
 883+ }
 884+ }
861885 if (id & DDBLT_KEYDEST) usedest = TRUE;
862886 if (id & DDBLT_ROP)
863887 {
@@ -881,8 +905,6 @@
882906 String_Append(fsrc, unif_ckeydest);
883907 if (id & 0x40000000) String_Append(fsrc, unif_ckeydesthigh);
884908 }
885 - if (srctype == desttype) srctype2 = 0;
886 - else srctype2 = srctype;
887909 switch (srctype2)
888910 {
889911 default:
@@ -908,6 +930,21 @@
909931 }
910932 if (usedest) String_Append(fsrc, var_dest);
911933
 934+ // Functions
 935+ switch (srctype2)
 936+ {
 937+ case 0x80:
 938+ break;
 939+ case 0x81:
 940+ break;
 941+ case 0x82:
 942+ break;
 943+ case 0x83:
 944+ break;
 945+ default:
 946+ break;
 947+ }
 948+
912949 // Main
913950 String_Append(fsrc, mainstart);
914951 if (id & 0x10000000) String_Append(fsrc, op_clip);
@@ -930,6 +967,14 @@
931968 case 0x19:
932969 String_Append(fsrc, op_pixelmul256);
933970 break;
 971+ case 0x80:
 972+ break;
 973+ case 0x81:
 974+ break;
 975+ case 0x82:
 976+ break;
 977+ case 0x83:
 978+ break;
934979 }
935980 }
936981 if (id & DDBLT_KEYSRC) String_Append(fsrc, op_src);
Index: ddraw/glTexture.cpp
@@ -94,12 +94,20 @@
9595 {sizeof(DDPIXELFORMAT), DDPF_ZBUFFER, 0, 32, 0, 0xFFFFFFFF, 0, 0}, // 32 bit Z buffer
9696 {sizeof(DDPIXELFORMAT), DDPF_ZBUFFER, 0, 32, 8, 0xFFFFFF00, 0xFF, 0}, // 32 bit Z buffer with stencil
9797 {sizeof(DDPIXELFORMAT), DDPF_ZBUFFER, 0, 32, 8, 0xFF, 0xFFFFFF00, 0}, // 32 bit Z buffer with stencil, reversed
98 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','V','Y'), 0, 0, 0, 0, 0}, // UYVY YUV surface
99 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','N','V'), 0, 0, 0, 0, 0}, // UYVY YUV surface (NVIDIA alias)
100 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','Y','2'), 0, 0, 0, 0, 0}, // YUY2 YUV surface
101 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','N','V'), 0, 0, 0, 0, 0}, // YUY2 YUV surface (NVIDIA alias)
102 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('R','G','B','G'), 0, 0, 0, 0, 0}, // RGBG 16-bit pixelformat
103 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('G','R','G','B'), 0, 0, 0, 0, 0}, // GRGB 16-bit pixelformat
 98+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','8',' ',' '), 8, 0, 0, 0, 0}, // 8-bit grayscale
 99+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','8','0','0'), 8, 0, 0, 0, 0}, // 8-bit grayscale
 100+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('G','R','E','Y'), 8, 0, 0, 0, 0}, // 8-bit grayscale
 101+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','1','6',' '), 16, 0, 0, 0, 0}, // 16-bit grayscale
 102+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','V','Y'), 16, 0, 0, 0, 0}, // UYVY packed YUV surface
 103+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','N','V'), 16, 0, 0, 0, 0}, // UYVY packed YUV surface (NVIDIA alias)
 104+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','4','2','2'), 16, 0, 0, 0, 0}, // UYVY packed YUV surface (ADS Tech. alias)
 105+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','Y','2'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface
 106+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','Y','V'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface (dup. of YUY2)
 107+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','N','V'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface (NVIDIA alias)
 108+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','V','Y','U'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface
 109+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('R','G','B','G'), 16, 0, 0, 0, 0}, // RGBG packed 16-bit pixelformat
 110+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('G','R','G','B'), 16, 0, 0, 0, 0}, // GRGB packed 16-bit pixelformat
 111+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('A','Y','U','V'), 32, 0, 0, 0, 0}, // AYUV packed YUV surface
104112 };
105113 static const int END_TEXFORMATS = __LINE__ - 4;
106114 int numtexformats;
@@ -131,12 +139,20 @@
132140 #define DXGLPIXELFORMAT_Z32 22
133141 #define DXGLPIXELFORMAT_S8_Z32 23
134142 #define DXGLPIXELFORMAT_S8_Z32_REV 24
135 -#define DXGLPIXELFORMAT_FOURCC_UYVY 25
136 -#define DXGLPIXELFORMAT_FOURCC_UYNV 26
137 -#define DXGLPIXELFORMAT_FOURCC_YUY2 27
138 -#define DXGLPIXELFORMAT_FOURCC_YUNV 28
139 -#define DXGLPIXELFORMAT_FOURCC_RGBG 29
140 -#define DXGLPIXELFORMAT_FOURCC_GRGB 30
 143+#define DXGLPIXELFORMAT_FOURCC_Y8 25
 144+#define DXGLPIXELFORMAT_FOURCC_Y800 26
 145+#define DXGLPIXELFORMAT_FOURCC_GREY 27
 146+#define DXGLPIXELFORMAT_FOURCC_Y16 28
 147+#define DXGLPIXELFORMAT_FOURCC_UYVY 29
 148+#define DXGLPIXELFORMAT_FOURCC_UYNV 30
 149+#define DXGLPIXELFORMAT_FOURCC_Y422 31
 150+#define DXGLPIXELFORMAT_FOURCC_YUY2 32
 151+#define DXGLPIXELFORMAT_FOURCC_YUYV 33
 152+#define DXGLPIXELFORMAT_FOURCC_YUNV 34
 153+#define DXGLPIXELFORMAT_FOURCC_YVYU 35
 154+#define DXGLPIXELFORMAT_FOURCC_RGBG 36
 155+#define DXGLPIXELFORMAT_FOURCC_GRGB 37
 156+#define DXGLPIXELFORMAT_FOURCC_AYUV 38
141157
142158 void ClearError()
143159 {
@@ -270,14 +286,24 @@
271287 {
272288 switch (ddsd->ddpfPixelFormat.dwFourCC)
273289 {
 290+ case MAKEFOURCC('Y', '8', ' ', ' '):
 291+ case MAKEFOURCC('Y', '8', '0', '0'):
 292+ case MAKEFOURCC('G', 'R', 'E', 'Y'):
 293+ newtexture->levels[0].ddsd.lPitch = NextMultipleOf4(newtexture->levels[0].ddsd.dwWidth);
 294+ break;
 295+ case MAKEFOURCC('Y', '1', '6', ' '):
274296 case MAKEFOURCC('U', 'Y', 'V', 'Y'):
275297 case MAKEFOURCC('U', 'Y', 'N', 'V'):
 298+ case MAKEFOURCC('Y', '4', '2', '2'):
276299 case MAKEFOURCC('Y', 'U', 'Y', '2'):
 300+ case MAKEFOURCC('Y', 'U', 'Y', 'V'):
277301 case MAKEFOURCC('Y', 'U', 'N', 'V'):
 302+ case MAKEFOURCC('Y', 'V', 'Y', 'U'):
278303 case MAKEFOURCC('R', 'G', 'B', 'G'):
279304 case MAKEFOURCC('G', 'R', 'G', 'B'):
280305 newtexture->levels[0].ddsd.lPitch = NextMultipleOf4(newtexture->levels[0].ddsd.dwWidth * 2);
281306 break;
 307+ case MAKEFOURCC('A', 'Y', 'U', 'V'):
282308 default:
283309 newtexture->levels[0].ddsd.lPitch = NextMultipleOf4(newtexture->levels[0].ddsd.dwWidth * 4);
284310 break;
@@ -1171,6 +1197,9 @@
11721198 This->packsize = 1;
11731199 break;
11741200 case DXGLPIXELFORMAT_LUM8: // 8-bit Luminance
 1201+ case DXGLPIXELFORMAT_FOURCC_Y8:
 1202+ case DXGLPIXELFORMAT_FOURCC_Y800:
 1203+ case DXGLPIXELFORMAT_FOURCC_GREY:
11751204 This->internalformats[0] = GL_LUMINANCE8;
11761205 This->internalformats[1] = GL_RGB8;
11771206 This->internalformats[2] = GL_RGBA8;
@@ -1340,8 +1369,25 @@
13411370 This->colorbits[3] = 8;
13421371 This->packsize = 1;
13431372 break;
 1373+ case DXGLPIXELFORMAT_FOURCC_Y16:
 1374+ This->internalformats[0] = GL_LUMINANCE16;
 1375+ This->format = GL_LUMINANCE;
 1376+ This->type = GL_UNSIGNED_SHORT;
 1377+ if (!This->target) This->target = GL_TEXTURE_2D;
 1378+ This->colororder = 4;
 1379+ This->colorsizes[0] = 65535;
 1380+ This->colorsizes[1] = 65535;
 1381+ This->colorsizes[2] = 65535;
 1382+ This->colorsizes[3] = 65535;
 1383+ This->colorbits[0] = 16;
 1384+ This->colorbits[1] = 0;
 1385+ This->colorbits[2] = 0;
 1386+ This->colorbits[3] = 0;
 1387+ This->packsize = 1;
 1388+ break;
13441389 case DXGLPIXELFORMAT_FOURCC_UYVY:
13451390 case DXGLPIXELFORMAT_FOURCC_UYNV:
 1391+ case DXGLPIXELFORMAT_FOURCC_Y422:
13461392 This->blttype = 0x80;
13471393 This->internalformats[0] = GL_RGBA8;
13481394 This->format = GL_BGRA;
@@ -1359,6 +1405,7 @@
13601406 This->packsize = 2;
13611407 break;
13621408 case DXGLPIXELFORMAT_FOURCC_YUY2:
 1409+ case DXGLPIXELFORMAT_FOURCC_YUYV:
13631410 case DXGLPIXELFORMAT_FOURCC_YUNV:
13641411 This->blttype = 0x81;
13651412 This->internalformats[0] = GL_RGBA8;
@@ -1376,7 +1423,7 @@
13771424 This->colorbits[0] = 8;
13781425 This->packsize = 2;
13791426 break;
1380 - case DXGLPIXELFORMAT_FOURCC_RGBG:
 1427+ case DXGLPIXELFORMAT_FOURCC_YVYU:
13811428 This->blttype = 0x82;
13821429 This->internalformats[0] = GL_RGBA8;
13831430 This->format = GL_BGRA;
@@ -1393,8 +1440,25 @@
13941441 This->colorbits[0] = 8;
13951442 This->packsize = 2;
13961443 break;
 1444+ case DXGLPIXELFORMAT_FOURCC_RGBG:
 1445+ This->blttype = 0x9E;
 1446+ This->internalformats[0] = GL_RGBA8;
 1447+ This->format = GL_BGRA;
 1448+ This->type = GL_UNSIGNED_INT_8_8_8_8_REV;
 1449+ if (!This->target) This->target = GL_TEXTURE_RECTANGLE;
 1450+ This->colororder = 1;
 1451+ This->colorsizes[0] = 255;
 1452+ This->colorsizes[1] = 255;
 1453+ This->colorsizes[2] = 255;
 1454+ This->colorsizes[3] = 255;
 1455+ This->colorbits[0] = 8;
 1456+ This->colorbits[0] = 8;
 1457+ This->colorbits[0] = 8;
 1458+ This->colorbits[0] = 8;
 1459+ This->packsize = 2;
 1460+ break;
13971461 case DXGLPIXELFORMAT_FOURCC_GRGB:
1398 - This->blttype = 0x83;
 1462+ This->blttype = 0x9F;
13991463 This->internalformats[0] = GL_RGBA8;
14001464 This->format = GL_BGRA;
14011465 This->type = GL_UNSIGNED_INT_8_8_8_8_REV;
@@ -1410,6 +1474,23 @@
14111475 This->colorbits[0] = 8;
14121476 This->packsize = 2;
14131477 break;
 1478+ case DXGLPIXELFORMAT_FOURCC_AYUV: // 32-bit AYUV
 1479+ This->blttype = 0x83;
 1480+ This->internalformats[0] = GL_RGBA8;
 1481+ This->format = GL_BGRA;
 1482+ This->type = GL_UNSIGNED_INT_8_8_8_8_REV;
 1483+ if (!This->target) This->target = GL_TEXTURE_2D;
 1484+ This->colororder = 1;
 1485+ This->colorsizes[0] = 255;
 1486+ This->colorsizes[1] = 255;
 1487+ This->colorsizes[2] = 255;
 1488+ This->colorsizes[3] = 255;
 1489+ This->colorbits[0] = 8;
 1490+ This->colorbits[1] = 8;
 1491+ This->colorbits[2] = 8;
 1492+ This->colorbits[3] = 8;
 1493+ This->packsize = 1;
 1494+ break;
14141495 }
14151496 glGenTextures(1, &This->id);
14161497 glUtil_SetTexture(This->renderer->util, 0, This);
@@ -1471,14 +1552,23 @@
14721553 {
14731554 switch (This->levels[i].ddsd.ddpfPixelFormat.dwFourCC)
14741555 {
 1556+ case MAKEFOURCC('Y', '8', ' ', ' '):
 1557+ case MAKEFOURCC('Y', '8', '0', '0'):
 1558+ case MAKEFOURCC('G', 'R', 'E', 'Y'):
 1559+ bytes = NextMultipleOf4(This->levels[i].ddsd.dwWidth);
 1560+ case MAKEFOURCC('Y', '1', '6', ' '):
14751561 case MAKEFOURCC('U', 'Y', 'V', 'Y'):
14761562 case MAKEFOURCC('U', 'Y', 'N', 'V'):
 1563+ case MAKEFOURCC('Y', '4', '2', '2'):
14771564 case MAKEFOURCC('Y', 'U', 'Y', '2'):
 1565+ case MAKEFOURCC('Y', 'U', 'Y', 'V'):
14781566 case MAKEFOURCC('Y', 'U', 'N', 'V'):
 1567+ case MAKEFOURCC('Y', 'V', 'Y', 'U'):
14791568 case MAKEFOURCC('R', 'G', 'B', 'G'):
14801569 case MAKEFOURCC('G', 'R', 'G', 'B'):
1481 - bytes = 2 * This->levels[i].ddsd.dwWidth;
 1570+ bytes = NextMultipleOf4(2 * This->levels[i].ddsd.dwWidth);
14821571 break;
 1572+ case MAKEFOURCC('A', 'Y', 'U', 'V'):
14831573 default:
14841574 bytes = 4 * This->levels[i].ddsd.dwWidth;
14851575 break;
Index: ddraw
Property changes on: ddraw
___________________________________________________________________
Modified: svn:ignore
## -9,3 +9,5 ##
14861576 Debug Trace
14871577 Debug VS2017
14881578 Release VS2017
 1579+Debug VS2019
 1580+Release VS2019
Index: dxglcfg/surfacegen.cpp
@@ -267,8 +267,8 @@
268268 }
269269 }
270270 }
271 - else if((ddsd.ddpfPixelFormat.dwRBitMask | ddsd.ddpfPixelFormat.dwGBitMask |
272 - ddsd.ddpfPixelFormat.dwBBitMask) == 0xFFFF)
 271+ else if(((ddsd.ddpfPixelFormat.dwRBitMask | ddsd.ddpfPixelFormat.dwGBitMask |
 272+ ddsd.ddpfPixelFormat.dwBBitMask) == 0xFFFF) || (ddsd.ddpfPixelFormat.dwFlags & DDPF_FOURCC))
273273 {
274274 for(y = 0; y < ddsd.dwHeight; y++)
275275 {
@@ -1754,12 +1754,20 @@
17551755 _T("32-bit Zbuffer"),
17561756 _T("32-bit Z/stencil"),
17571757 _T("32-bit Z/st.rev"),
 1758+ _T("8-bit Y8 "),
 1759+ _T("8-bit Y800"),
 1760+ _T("8-bit GREY"),
 1761+ _T("16-bit Y16 "),
17581762 _T("16-bit UYVY"),
17591763 _T("16-bit UYNV"),
 1764+ _T("16-bit Y422"),
17601765 _T("16-bit YUY2"),
 1766+ _T("16-bit YUYV"),
17611767 _T("16-bit YUNV"),
 1768+ _T("16-bit YVYU"),
17621769 _T("16-bit RGBG"),
17631770 _T("16-bit GRGB"),
 1771+ _T("32-bit AYUV"),
17641772 };
17651773 static const int END_SURFACEFORMATS = __LINE__ - 4;
17661774 const int numsurfaceformats = END_SURFACEFORMATS - START_SURFACEFORMATS;
@@ -1792,12 +1800,20 @@
17931801 {sizeof(DDPIXELFORMAT), DDPF_ZBUFFER, 0, 32, 0, 0xFFFFFFFF, 0, 0}, // 32 bit Z buffer
17941802 {sizeof(DDPIXELFORMAT), DDPF_ZBUFFER, 0, 32, 8, 0xFFFFFF00, 0xFF, 0}, // 32 bit Z buffer with stencil
17951803 {sizeof(DDPIXELFORMAT), DDPF_ZBUFFER, 0, 32, 8, 0xFF, 0xFFFFFF00, 0}, // 32 bit Z buffer with stencil, reversed
1796 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','V','Y'), 0, 0, 0, 0, 0}, // UYVY YUV surface
1797 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','N','V'), 0, 0, 0, 0, 0}, // UYVY YUV surface (NVIDIA alias)
1798 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','Y','2'), 0, 0, 0, 0, 0}, // YUY2 YUV surface
1799 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','N','V'), 0, 0, 0, 0, 0}, // YUY2 YUV surface (NVIDIA alias)
1800 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('R','G','B','G'), 0, 0, 0, 0, 0}, // RGBG 16-bit pixelformat
1801 - {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('G','R','G','B'), 0, 0, 0, 0, 0}, // GRGB 16-bit pixelformat
 1804+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','8',' ',' '), 8, 0, 0, 0, 0}, // 8-bit grayscale
 1805+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','8','0','0'), 8, 0, 0, 0, 0}, // 8-bit grayscale
 1806+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('G','R','E','Y'), 8, 0, 0, 0, 0}, // 8-bit grayscale
 1807+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','1','6',' '), 16, 0, 0, 0, 0}, // 16-bit grayscale
 1808+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','V','Y'), 16, 0, 0, 0, 0}, // UYVY packed YUV surface
 1809+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('U','Y','N','V'), 16, 0, 0, 0, 0}, // UYVY packed YUV surface (NVIDIA alias)
 1810+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','4','2','2'), 16, 0, 0, 0, 0}, // UYVY packed YUV surface (ADS Tech. alias)
 1811+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','Y','2'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface
 1812+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','Y','V'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface (dup. of YUY2)
 1813+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','U','N','V'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface (NVIDIA alias)
 1814+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('Y','V','Y','U'), 16, 0, 0, 0, 0}, // YUY2 packed YUV surface
 1815+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('R','G','B','G'), 16, 0, 0, 0, 0}, // RGBG packed 16-bit pixelformat
 1816+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('G','R','G','B'), 16, 0, 0, 0, 0}, // GRGB packed 16-bit pixelformat
 1817+ {sizeof(DDPIXELFORMAT), DDPF_FOURCC, MAKEFOURCC('A','Y','U','V'), 32, 0, 0, 0, 0}, // AYUV packed YUV surface
18021818 };
18031819
18041820 static const LPTSTR strErrorMessages[] =
Index: dxglcfg
Property changes on: dxglcfg
___________________________________________________________________
Modified: svn:ignore
## -6,3 +6,5 ##
18051821 *.user
18061822 Debug VS2017
18071823 Release VS2017
 1824+Debug VS2019
 1825+Release VS2019
Index: .
Property changes on: .
___________________________________________________________________
Modified: svn:ignore
## -18,3 +18,5 ##
18081826 dxgl.VC.opendb
18091827 Debug VS2017
18101828 Release VS2017
 1829+Debug VS2019
 1830+Release VS2019