Xor Support level added

THIS SHOULD NOT BE CHANGED UNLESS YOU KNOW WHAT YOU'RE DOING
This commit is contained in:
bud3699 committed 2025-02-27 14:46:32 +00:00
1 parent 976dd165f6
commit e4bc40252a
2 files changed
+42

No files matched your search

@@ -103,6 +103,7 @@ bool sendLogsThroughPipe = true;
bool alphaCursorSupport = true;
int CursorMaxX = 128;
int CursorMaxY = 128;
IDDCX_XOR_CURSOR_SUPPORT XorCursorSupportLevel = IDDCX_XOR_CURSOR_SUPPORT_FULL;
//Rest
@@ -123,9 +124,26 @@ std::map<std::wstring, std::pair<std::wstring, std::wstring>> SettingsQueryMap =
{L"AlphaCursorSupport", {L"ALPHACURSORSUPPORT", L"AlphaCursorSupport"}},
{L"CursorMaxX", {L"CURSORMAXX", L"CursorMaxX"}},
{L"CursorMaxY", {L"CURSORMAXY", L"CursorMaxY"}},
{L"XorCursorSupportLevel", {L"XORCURSORSUPPORTLEVEL", L"XorCursorSupportLevel"}},
};
const char* XorCursorSupportLevelToString(IDDCX_XOR_CURSOR_SUPPORT level) {
switch (level) {
case IDDCX_XOR_CURSOR_SUPPORT_UNINITIALIZED:
return "IDDCX_XOR_CURSOR_SUPPORT_UNINITIALIZED";
case IDDCX_XOR_CURSOR_SUPPORT_NONE:
return "IDDCX_XOR_CURSOR_SUPPORT_NONE";
case IDDCX_XOR_CURSOR_SUPPORT_FULL:
return "IDDCX_XOR_CURSOR_SUPPORT_FULL";
case IDDCX_XOR_CURSOR_SUPPORT_EMULATION:
return "IDDCX_XOR_CURSOR_SUPPORT_EMULATION";
default:
return "Unknown";
}
}
vector<unsigned char> Microsoft::IndirectDisp::IndirectDeviceContext::s_KnownMonitorEdid; //Changed to support static vector
struct IndirectDeviceContextWrapper
@@ -1344,6 +1362,23 @@ extern "C" NTSTATUS DriverEntry(
CursorMaxX = GetIntegerSetting(L"CursorMaxX");
CursorMaxY = GetIntegerSetting(L"CursorMaxY");
int xorCursorSupportLevelInt = GetIntegerSetting(L"XorCursorSupportLevel");
std::string xorCursorSupportLevelName;
if (xorCursorSupportLevelInt < 0 || xorCursorSupportLevelInt > 3) {
vddlog("w", "Selected Xor Level unsupported, defaulting to IDDCX_XOR_CURSOR_SUPPORT_FULL");
XorCursorSupportLevel = IDDCX_XOR_CURSOR_SUPPORT_FULL;
}
else {
XorCursorSupportLevel = static_cast<IDDCX_XOR_CURSOR_SUPPORT>(xorCursorSupportLevelInt);
}
xorCursorSupportLevelName = XorCursorSupportLevelToString(XorCursorSupportLevel);
vddlog("i", ("Selected Xor Cursor Support Level: " + xorCursorSupportLevelName).c_str());
vddlog("i", "Driver Starting");
string utf8_confpath = WStringToString(confpath);
string logtext = "VDD Path: " + utf8_confpath;
@@ -64,5 +64,12 @@
<CursorMaxY>128</CursorMaxY> <!--The maximum height support for all cursor types. Older intel cpus may be limited to 64x64 -->
<CursorMaxX>128</CursorMaxX> <!--The maximum width supported for all supported cursor types.-->
<AlphaCursorSupport>true</AlphaCursorSupport> <!--Indicates if the adapter supports the 32-bit alpha cursor format. Most cursors are alpha format.-->
<XorCursorSupportLevel>2</XorCursorSupportLevel> <!-- Do not change if you don't know what you're doing -->
<!--
0 = IDDCX_XOR_CURSOR_SUPPORT_UNINITIALIZED
1 = IDDCX_XOR_CURSOR_SUPPORT_NONE
2 = IDDCX_XOR_CURSOR_SUPPORT_FULL
3 = IDDCX_XOR_CURSOR_SUPPORT_EMULATION
-->
</cursor>
</vdd_settings>