diff --git a/dgVoodooAPI/Bin/x64/Release/dgVoodooAPI.dll b/dgVoodooAPI/Bin/x64/Release/dgVoodooAPI.dll index 0b4012c..9fa9873 100644 Binary files a/dgVoodooAPI/Bin/x64/Release/dgVoodooAPI.dll and b/dgVoodooAPI/Bin/x64/Release/dgVoodooAPI.dll differ diff --git a/dgVoodooAPI/Bin/x64/Spec Release/dgVoodooAPI.dll b/dgVoodooAPI/Bin/x64/Spec Release/dgVoodooAPI.dll index 0c6d3ac..999a054 100644 Binary files a/dgVoodooAPI/Bin/x64/Spec Release/dgVoodooAPI.dll and b/dgVoodooAPI/Bin/x64/Spec Release/dgVoodooAPI.dll differ diff --git a/dgVoodooAPI/Bin/x86/Release/dgVoodooAPI.dll b/dgVoodooAPI/Bin/x86/Release/dgVoodooAPI.dll index f82c938..d5ddde6 100644 Binary files a/dgVoodooAPI/Bin/x86/Release/dgVoodooAPI.dll and b/dgVoodooAPI/Bin/x86/Release/dgVoodooAPI.dll differ diff --git a/dgVoodooAPI/Bin/x86/Spec Release/dgVoodooAPI.dll b/dgVoodooAPI/Bin/x86/Spec Release/dgVoodooAPI.dll index 2b1543c..1b5b670 100644 Binary files a/dgVoodooAPI/Bin/x86/Spec Release/dgVoodooAPI.dll and b/dgVoodooAPI/Bin/x86/Spec Release/dgVoodooAPI.dll differ diff --git a/dgVoodooAPI/Doc/dgVoodooAPI.chm b/dgVoodooAPI/Doc/dgVoodooAPI.chm index 0c85bda..0ee3ad8 100644 Binary files a/dgVoodooAPI/Doc/dgVoodooAPI.chm and b/dgVoodooAPI/Doc/dgVoodooAPI.chm differ diff --git a/dgVoodooAPI/Inc/Addon/ID3D12Root.hpp b/dgVoodooAPI/Inc/Addon/ID3D12Root.hpp index 5747789..9e75595 100644 --- a/dgVoodooAPI/Inc/Addon/ID3D12Root.hpp +++ b/dgVoodooAPI/Inc/Addon/ID3D12Root.hpp @@ -242,11 +242,13 @@ public: virtual ID3D12Fence* AGetFence () const = 0; virtual bool HIUpdateSubBuffer (ID3D12Resource* pMADBuffer, ID3D12HeapPageAllocator* pAllocator, - UInt32 begin, UInt32 end, const void* pSrcData, bool setToUnmappedState = false) = 0; + UInt32 begin, UInt32 end, const void* pSrcData, + bool setToUnmappedState = false, bool forceAsync = false) = 0; virtual bool HIUpdateSubTexture (ID3D12Resource* pMADTexture, UInt32 dstSubResIdx, ID3D12HeapPageAllocator* pAllocator, const D3D12_BOX& dstBox, - const void* pSrcData, UInt32 srcPitch, UInt32 srcDepth) = 0; + const void* pSrcData, UInt32 srcPitch, UInt32 srcDepth, + bool forceAsync = false) = 0; }; // --- Helpers ----------------------------------------------------------------- diff --git a/dgVoodooAPI/Inc/dgVoodooConfig.hpp b/dgVoodooAPI/Inc/dgVoodooConfig.hpp index c962a76..fc15049 100644 --- a/dgVoodooAPI/Inc/dgVoodooConfig.hpp +++ b/dgVoodooAPI/Inc/dgVoodooConfig.hpp @@ -204,6 +204,16 @@ struct ConfigGeneralExt }; + enum ColorSpace + { + CS_AppDriven = 0, + CS_ARGB8888_SDR, + CS_ARGB2101010_SDR, + CS_ARGB2101010_SDR_WCG, + CS_ARGB16161616_HDR + }; + + enum SystemHookFlags { SHF_None = 0x0, @@ -232,6 +242,7 @@ struct ConfigGeneralExt UInt32 fullscreenAttributes; Resampling resampling; PresentationModel presentationModel; + ColorSpace colorSpace; UInt32 fpsLimitNumerator; UInt32 fpsLimitDenominator; UInt32 systemHookFlags; @@ -256,6 +267,7 @@ struct ConfigGeneralExt fullscreenAttributes (FSA_DefaultAttributes), resampling (RS_Bilinear), presentationModel (PM_Automatic), + colorSpace (CS_AppDriven), fpsLimitNumerator (0), fpsLimitDenominator (0), systemHookFlags (SHF_None), @@ -352,14 +364,27 @@ struct ConfigGlideExt NumOfDitheringBehaviors }; - DitheringEffect ditheringEffect; - Dithering dithering; - UInt32 ditherOrderedMatrixSizeScale; + enum Default3DRenderFormat + { + D3DRF_Auto = 0, + + D3DRF_ARGB8888, + D3DRF_ARGB2101010, + D3DRF_ARGB16161616, + + NumOfDefault3DRenderFormats + }; + + DitheringEffect ditheringEffect; + Dithering dithering; + UInt32 ditherOrderedMatrixSizeScale; + Default3DRenderFormat default3DRenderFormat; // Currently unimplemented ConfigGlideExt (): ditheringEffect (DE_Pure32Bit), dithering (DT_ForceAlways), - ditherOrderedMatrixSizeScale (0) + ditherOrderedMatrixSizeScale (0), + default3DRenderFormat (D3DRF_Auto) { } }; @@ -466,7 +491,8 @@ struct ConfigDirectXExt enum DitheringEffect { - DE_Pure32Bit = 0, + DE_HighQuality = 0, + DE_Pure32Bit = DE_HighQuality, // For compatibility only DE_Ordered2x2, DE_Ordered4x4, @@ -497,8 +523,11 @@ struct ConfigDirectXExt enum Default3DRenderFormat { + D3DRF_Auto = 0, + D3DRF_ARGB8888, D3DRF_ARGB2101010, + D3DRF_ARGB16161616, NumOfDefault3DRenderFormats }; @@ -552,6 +581,7 @@ struct ConfigDirectXExt bool smoothedDepthSampling; bool deferredScreenModeSwitch; bool primarySurfaceBatchedUpdate; + bool suppressAMDBlacklist; ConfigDirectXExt () : adapterIDType (AIDT_Default), @@ -559,11 +589,11 @@ struct ConfigDirectXExt deviceID (0xFFFFFFFF), subSysID (0xFFFFFFFF), revisionID (0xFFFFFFFF), - ditheringEffect (DE_Pure32Bit), + ditheringEffect (DE_HighQuality), dithering (DT_ForceAlways), ditherOrderedMatrixSizeScale (0), depthBuffersBitDepth (DBD_AppDriven), - default3DRenderFormat (D3DRF_ARGB8888), + default3DRenderFormat (D3DRF_Auto), defaultEnumeratedResolutions (DER_All), enumeratedResolutionBitDepths (ERBD_All), maxVSConstRegisters (256), @@ -573,7 +603,8 @@ struct ConfigDirectXExt rtTexturesForceScaleAndMSAA (true), smoothedDepthSampling (true), deferredScreenModeSwitch (false), - primarySurfaceBatchedUpdate (false) + primarySurfaceBatchedUpdate (false), + suppressAMDBlacklist (false) { memset (extraResolutions, 0, sizeof (extraResolutions)); } diff --git a/dgVoodooAPI/Lib/arm64/dgVoodooAPI.lib b/dgVoodooAPI/Lib/arm64/dgVoodooAPI.lib index 061a822..4a237e9 100644 Binary files a/dgVoodooAPI/Lib/arm64/dgVoodooAPI.lib and b/dgVoodooAPI/Lib/arm64/dgVoodooAPI.lib differ diff --git a/dgVoodooAPI/Lib/arm64/dgVoodooAddon.lib b/dgVoodooAPI/Lib/arm64/dgVoodooAddon.lib index 1b4f172..05deccc 100644 Binary files a/dgVoodooAPI/Lib/arm64/dgVoodooAddon.lib and b/dgVoodooAPI/Lib/arm64/dgVoodooAddon.lib differ diff --git a/dgVoodooAPI/Lib/arm64ec/dgVoodooAddon.lib b/dgVoodooAPI/Lib/arm64ec/dgVoodooAddon.lib index 70c5915..2479ded 100644 Binary files a/dgVoodooAPI/Lib/arm64ec/dgVoodooAddon.lib and b/dgVoodooAPI/Lib/arm64ec/dgVoodooAddon.lib differ diff --git a/dgVoodooAPI/Lib/x64/dgVoodooAPI.lib b/dgVoodooAPI/Lib/x64/dgVoodooAPI.lib index 7c52f48..17ff02d 100644 Binary files a/dgVoodooAPI/Lib/x64/dgVoodooAPI.lib and b/dgVoodooAPI/Lib/x64/dgVoodooAPI.lib differ diff --git a/dgVoodooAPI/Lib/x64/dgVoodooAddon.lib b/dgVoodooAPI/Lib/x64/dgVoodooAddon.lib index 604a772..fbf807b 100644 Binary files a/dgVoodooAPI/Lib/x64/dgVoodooAddon.lib and b/dgVoodooAPI/Lib/x64/dgVoodooAddon.lib differ diff --git a/dgVoodooAPI/Lib/x86/dgVoodooAPI.lib b/dgVoodooAPI/Lib/x86/dgVoodooAPI.lib index cd5408a..60b96f7 100644 Binary files a/dgVoodooAPI/Lib/x86/dgVoodooAPI.lib and b/dgVoodooAPI/Lib/x86/dgVoodooAPI.lib differ diff --git a/dgVoodooAPI/Lib/x86/dgVoodooAddon.lib b/dgVoodooAPI/Lib/x86/dgVoodooAddon.lib index 08e0380..5bf5794 100644 Binary files a/dgVoodooAPI/Lib/x86/dgVoodooAddon.lib and b/dgVoodooAPI/Lib/x86/dgVoodooAddon.lib differ diff --git a/dgVoodooAPI/Samples/Bin/ARM64/Release/APILibrary.exe b/dgVoodooAPI/Samples/Bin/ARM64/Release/APILibrary.exe index dc464cb..64ca328 100644 Binary files a/dgVoodooAPI/Samples/Bin/ARM64/Release/APILibrary.exe and b/dgVoodooAPI/Samples/Bin/ARM64/Release/APILibrary.exe differ diff --git a/dgVoodooAPI/Samples/Bin/ARM64/Release/SampleAddon.dll b/dgVoodooAPI/Samples/Bin/ARM64/Release/SampleAddon.dll index 8f9f0a3..70d5187 100644 Binary files a/dgVoodooAPI/Samples/Bin/ARM64/Release/SampleAddon.dll and b/dgVoodooAPI/Samples/Bin/ARM64/Release/SampleAddon.dll differ diff --git a/dgVoodooAPI/Samples/Bin/ARM64EC/Release/SampleAddon.dll b/dgVoodooAPI/Samples/Bin/ARM64EC/Release/SampleAddon.dll index dc53c22..f24ee88 100644 Binary files a/dgVoodooAPI/Samples/Bin/ARM64EC/Release/SampleAddon.dll and b/dgVoodooAPI/Samples/Bin/ARM64EC/Release/SampleAddon.dll differ diff --git a/dgVoodooAPI/Samples/Bin/Win32/Release/APILibrary.exe b/dgVoodooAPI/Samples/Bin/Win32/Release/APILibrary.exe index 05eca8e..09b8575 100644 Binary files a/dgVoodooAPI/Samples/Bin/Win32/Release/APILibrary.exe and b/dgVoodooAPI/Samples/Bin/Win32/Release/APILibrary.exe differ diff --git a/dgVoodooAPI/Samples/Bin/Win32/Release/SampleAddon.dll b/dgVoodooAPI/Samples/Bin/Win32/Release/SampleAddon.dll index 003c89a..85d6763 100644 Binary files a/dgVoodooAPI/Samples/Bin/Win32/Release/SampleAddon.dll and b/dgVoodooAPI/Samples/Bin/Win32/Release/SampleAddon.dll differ diff --git a/dgVoodooAPI/Samples/Bin/x64/Release/APILibrary.exe b/dgVoodooAPI/Samples/Bin/x64/Release/APILibrary.exe index 6279849..46cc554 100644 Binary files a/dgVoodooAPI/Samples/Bin/x64/Release/APILibrary.exe and b/dgVoodooAPI/Samples/Bin/x64/Release/APILibrary.exe differ diff --git a/dgVoodooAPI/Samples/Bin/x64/Release/SampleAddon.dll b/dgVoodooAPI/Samples/Bin/x64/Release/SampleAddon.dll index e29ed48..f98f873 100644 Binary files a/dgVoodooAPI/Samples/Bin/x64/Release/SampleAddon.dll and b/dgVoodooAPI/Samples/Bin/x64/Release/SampleAddon.dll differ diff --git a/dgVoodooAPI/Samples/D3D12 Addon/AddonMain.hpp b/dgVoodooAPI/Samples/D3D12 Addon/AddonMain.hpp index 1dc1ae1..6a49f8d 100644 --- a/dgVoodooAPI/Samples/D3D12 Addon/AddonMain.hpp +++ b/dgVoodooAPI/Samples/D3D12 Addon/AddonMain.hpp @@ -9,11 +9,11 @@ // --- Includes ---------------------------------------------------------------- -#include "Public\IIniParser.hpp" -#include "Public\APIDebugObj.hpp" +#include "..\Inc\IIniParser.hpp" +#include "..\Inc\APIDebugObj.hpp" -#include "Public\Addon\AddonDefs.hpp" -#include "Public\Addon\IAddonMainCallback.hpp" +#include "..\Inc\Addon\AddonDefs.hpp" +#include "..\Inc\Addon\IAddonMainCallback.hpp" #include "Presenter.hpp" #include "Texturer.hpp" diff --git a/dgVoodooAPI/Samples/D3D12 Addon/Main.cpp b/dgVoodooAPI/Samples/D3D12 Addon/Main.cpp index a547541..4883c90 100644 --- a/dgVoodooAPI/Samples/D3D12 Addon/Main.cpp +++ b/dgVoodooAPI/Samples/D3D12 Addon/Main.cpp @@ -12,8 +12,8 @@ #include #include -#include "Public\Addon\AddonDefs.hpp" -#include "Public\Addon\IAddonMainCallback.hpp" +#include "..\Inc\Addon\AddonDefs.hpp" +#include "..\Inc\Addon\IAddonMainCallback.hpp" // --- Defines ----------------------------------------------------------------- diff --git a/dgVoodooAPI/Samples/D3D12 Addon/Presenter.hpp b/dgVoodooAPI/Samples/D3D12 Addon/Presenter.hpp index 801c0ba..d8ff539 100644 --- a/dgVoodooAPI/Samples/D3D12 Addon/Presenter.hpp +++ b/dgVoodooAPI/Samples/D3D12 Addon/Presenter.hpp @@ -9,7 +9,7 @@ // --- Includes ---------------------------------------------------------------- -#include "Public\Addon\ID3D12RootObserver.hpp" +#include "..\Inc\Addon\ID3D12RootObserver.hpp" #include "ImageLoader.hpp" #include diff --git a/dgVoodooAPI/Samples/D3D12 Addon/Texturer.hpp b/dgVoodooAPI/Samples/D3D12 Addon/Texturer.hpp index 229e809..290e56c 100644 --- a/dgVoodooAPI/Samples/D3D12 Addon/Texturer.hpp +++ b/dgVoodooAPI/Samples/D3D12 Addon/Texturer.hpp @@ -9,9 +9,9 @@ // --- Includes ---------------------------------------------------------------- -#include "Public\Addon\ID3DObserver.hpp" -#include "Public\Addon\ID3DDeviceObserver.hpp" -#include "Public\Addon\ID3DResourceObserver.hpp" +#include "..\Inc\Addon\ID3DObserver.hpp" +#include "..\Inc\Addon\ID3DDeviceObserver.hpp" +#include "..\Inc\Addon\ID3DResourceObserver.hpp" // --- Namespaces --------------------------------------------------------------