diff options
101 files changed, 213 insertions, 115 deletions
diff --git a/bin/linux64/NvFlexDemoDebugCUDA_x64 b/bin/linux64/NvFlexDemoDebugCUDA_x64 Binary files differindex 5804292..306d498 100644 --- a/bin/linux64/NvFlexDemoDebugCUDA_x64 +++ b/bin/linux64/NvFlexDemoDebugCUDA_x64 diff --git a/bin/linux64/NvFlexDemoReleaseCUDA_x64 b/bin/linux64/NvFlexDemoReleaseCUDA_x64 Binary files differindex d5c6b22..f50f7b0 100644 --- a/bin/linux64/NvFlexDemoReleaseCUDA_x64 +++ b/bin/linux64/NvFlexDemoReleaseCUDA_x64 diff --git a/bin/win32/NvFlexDebugCUDA_x86.dll b/bin/win32/NvFlexDebugCUDA_x86.dll Binary files differindex 6cf58ef..355478f 100644 --- a/bin/win32/NvFlexDebugCUDA_x86.dll +++ b/bin/win32/NvFlexDebugCUDA_x86.dll diff --git a/bin/win32/NvFlexDebugCUDA_x86.dll.pdb b/bin/win32/NvFlexDebugCUDA_x86.dll.pdb Binary files differindex 64b575d..43eccf0 100644 --- a/bin/win32/NvFlexDebugCUDA_x86.dll.pdb +++ b/bin/win32/NvFlexDebugCUDA_x86.dll.pdb diff --git a/bin/win32/NvFlexDebugD3D_x86.dll b/bin/win32/NvFlexDebugD3D_x86.dll Binary files differindex e9bd619..3444f81 100644 --- a/bin/win32/NvFlexDebugD3D_x86.dll +++ b/bin/win32/NvFlexDebugD3D_x86.dll diff --git a/bin/win32/NvFlexDebugD3D_x86.dll.pdb b/bin/win32/NvFlexDebugD3D_x86.dll.pdb Binary files differindex 6de77b3..c8d6b61 100644 --- a/bin/win32/NvFlexDebugD3D_x86.dll.pdb +++ b/bin/win32/NvFlexDebugD3D_x86.dll.pdb diff --git a/bin/win32/NvFlexDemoDebugCUDA_x86.exe b/bin/win32/NvFlexDemoDebugCUDA_x86.exe Binary files differindex 163b8b1..021dd13 100644 --- a/bin/win32/NvFlexDemoDebugCUDA_x86.exe +++ b/bin/win32/NvFlexDemoDebugCUDA_x86.exe diff --git a/bin/win32/NvFlexDemoDebugCUDA_x86.exe.pdb b/bin/win32/NvFlexDemoDebugCUDA_x86.exe.pdb Binary files differindex db5d77c..bc18ae3 100644 --- a/bin/win32/NvFlexDemoDebugCUDA_x86.exe.pdb +++ b/bin/win32/NvFlexDemoDebugCUDA_x86.exe.pdb diff --git a/bin/win32/NvFlexDemoDebugD3D_x86.exe b/bin/win32/NvFlexDemoDebugD3D_x86.exe Binary files differindex 5e96714..d160b96 100644 --- a/bin/win32/NvFlexDemoDebugD3D_x86.exe +++ b/bin/win32/NvFlexDemoDebugD3D_x86.exe diff --git a/bin/win32/NvFlexDemoDebugD3D_x86.exe.pdb b/bin/win32/NvFlexDemoDebugD3D_x86.exe.pdb Binary files differindex 479454d..b59151c 100644 --- a/bin/win32/NvFlexDemoDebugD3D_x86.exe.pdb +++ b/bin/win32/NvFlexDemoDebugD3D_x86.exe.pdb diff --git a/bin/win32/NvFlexDemoReleaseCUDA_x86.exe b/bin/win32/NvFlexDemoReleaseCUDA_x86.exe Binary files differindex 5a4dffc..adba245 100644 --- a/bin/win32/NvFlexDemoReleaseCUDA_x86.exe +++ b/bin/win32/NvFlexDemoReleaseCUDA_x86.exe diff --git a/bin/win32/NvFlexDemoReleaseCUDA_x86.exe.pdb b/bin/win32/NvFlexDemoReleaseCUDA_x86.exe.pdb Binary files differindex 18533e8..528952a 100644 --- a/bin/win32/NvFlexDemoReleaseCUDA_x86.exe.pdb +++ b/bin/win32/NvFlexDemoReleaseCUDA_x86.exe.pdb diff --git a/bin/win32/NvFlexDemoReleaseD3D_x86.exe b/bin/win32/NvFlexDemoReleaseD3D_x86.exe Binary files differindex 2e7a852..ee2d19e 100644 --- a/bin/win32/NvFlexDemoReleaseD3D_x86.exe +++ b/bin/win32/NvFlexDemoReleaseD3D_x86.exe diff --git a/bin/win32/NvFlexDemoReleaseD3D_x86.exe.pdb b/bin/win32/NvFlexDemoReleaseD3D_x86.exe.pdb Binary files differindex 5d9f2e6..0525228 100644 --- a/bin/win32/NvFlexDemoReleaseD3D_x86.exe.pdb +++ b/bin/win32/NvFlexDemoReleaseD3D_x86.exe.pdb diff --git a/bin/win32/NvFlexDeviceDebug_x86.dll b/bin/win32/NvFlexDeviceDebug_x86.dll Binary files differindex 1a516d9..fa74f86 100644 --- a/bin/win32/NvFlexDeviceDebug_x86.dll +++ b/bin/win32/NvFlexDeviceDebug_x86.dll diff --git a/bin/win32/NvFlexDeviceDebug_x86.dll.pdb b/bin/win32/NvFlexDeviceDebug_x86.dll.pdb Binary files differindex 1c22469..3af4f6a 100644 --- a/bin/win32/NvFlexDeviceDebug_x86.dll.pdb +++ b/bin/win32/NvFlexDeviceDebug_x86.dll.pdb diff --git a/bin/win32/NvFlexDeviceRelease_x86.dll b/bin/win32/NvFlexDeviceRelease_x86.dll Binary files differindex 304c17a..fb9052d 100644 --- a/bin/win32/NvFlexDeviceRelease_x86.dll +++ b/bin/win32/NvFlexDeviceRelease_x86.dll diff --git a/bin/win32/NvFlexDeviceRelease_x86.dll.pdb b/bin/win32/NvFlexDeviceRelease_x86.dll.pdb Binary files differindex fd3e6be..eebf221 100644 --- a/bin/win32/NvFlexDeviceRelease_x86.dll.pdb +++ b/bin/win32/NvFlexDeviceRelease_x86.dll.pdb diff --git a/bin/win32/NvFlexExtDebugCUDA_x86.dll b/bin/win32/NvFlexExtDebugCUDA_x86.dll Binary files differindex 43c77cd..a41cdba 100644 --- a/bin/win32/NvFlexExtDebugCUDA_x86.dll +++ b/bin/win32/NvFlexExtDebugCUDA_x86.dll diff --git a/bin/win32/NvFlexExtDebugCUDA_x86.dll.pdb b/bin/win32/NvFlexExtDebugCUDA_x86.dll.pdb Binary files differindex b201c82..471a83e 100644 --- a/bin/win32/NvFlexExtDebugCUDA_x86.dll.pdb +++ b/bin/win32/NvFlexExtDebugCUDA_x86.dll.pdb diff --git a/bin/win32/NvFlexExtDebugD3D_x86.dll b/bin/win32/NvFlexExtDebugD3D_x86.dll Binary files differindex c32ee68..712f4a8 100644 --- a/bin/win32/NvFlexExtDebugD3D_x86.dll +++ b/bin/win32/NvFlexExtDebugD3D_x86.dll diff --git a/bin/win32/NvFlexExtDebugD3D_x86.dll.pdb b/bin/win32/NvFlexExtDebugD3D_x86.dll.pdb Binary files differindex e269107..b5679af 100644 --- a/bin/win32/NvFlexExtDebugD3D_x86.dll.pdb +++ b/bin/win32/NvFlexExtDebugD3D_x86.dll.pdb diff --git a/bin/win32/NvFlexExtReleaseCUDA_x86.dll b/bin/win32/NvFlexExtReleaseCUDA_x86.dll Binary files differindex ec0ef32..1f77f7b 100644 --- a/bin/win32/NvFlexExtReleaseCUDA_x86.dll +++ b/bin/win32/NvFlexExtReleaseCUDA_x86.dll diff --git a/bin/win32/NvFlexExtReleaseCUDA_x86.dll.pdb b/bin/win32/NvFlexExtReleaseCUDA_x86.dll.pdb Binary files differindex e4bc9fc..94efe70 100644 --- a/bin/win32/NvFlexExtReleaseCUDA_x86.dll.pdb +++ b/bin/win32/NvFlexExtReleaseCUDA_x86.dll.pdb diff --git a/bin/win32/NvFlexExtReleaseD3D_x86.dll b/bin/win32/NvFlexExtReleaseD3D_x86.dll Binary files differindex 9885ddc..99f2f9b 100644 --- a/bin/win32/NvFlexExtReleaseD3D_x86.dll +++ b/bin/win32/NvFlexExtReleaseD3D_x86.dll diff --git a/bin/win32/NvFlexExtReleaseD3D_x86.dll.pdb b/bin/win32/NvFlexExtReleaseD3D_x86.dll.pdb Binary files differindex 86d816e..66eca7b 100644 --- a/bin/win32/NvFlexExtReleaseD3D_x86.dll.pdb +++ b/bin/win32/NvFlexExtReleaseD3D_x86.dll.pdb diff --git a/bin/win32/NvFlexReleaseCUDA_x86.dll b/bin/win32/NvFlexReleaseCUDA_x86.dll Binary files differindex 7ef55d7..ffdea57 100644 --- a/bin/win32/NvFlexReleaseCUDA_x86.dll +++ b/bin/win32/NvFlexReleaseCUDA_x86.dll diff --git a/bin/win32/NvFlexReleaseCUDA_x86.dll.pdb b/bin/win32/NvFlexReleaseCUDA_x86.dll.pdb Binary files differindex 64513ec..40fd190 100644 --- a/bin/win32/NvFlexReleaseCUDA_x86.dll.pdb +++ b/bin/win32/NvFlexReleaseCUDA_x86.dll.pdb diff --git a/bin/win32/NvFlexReleaseD3D_x86.dll b/bin/win32/NvFlexReleaseD3D_x86.dll Binary files differindex 430f0a2..3e0e1ec 100644 --- a/bin/win32/NvFlexReleaseD3D_x86.dll +++ b/bin/win32/NvFlexReleaseD3D_x86.dll diff --git a/bin/win32/NvFlexReleaseD3D_x86.dll.pdb b/bin/win32/NvFlexReleaseD3D_x86.dll.pdb Binary files differindex b15bcc9..2f88a88 100644 --- a/bin/win32/NvFlexReleaseD3D_x86.dll.pdb +++ b/bin/win32/NvFlexReleaseD3D_x86.dll.pdb diff --git a/bin/win64/NvFlexDebugCUDA_x64.dll b/bin/win64/NvFlexDebugCUDA_x64.dll Binary files differindex 2881f01..103a536 100644 --- a/bin/win64/NvFlexDebugCUDA_x64.dll +++ b/bin/win64/NvFlexDebugCUDA_x64.dll diff --git a/bin/win64/NvFlexDebugCUDA_x64.dll.pdb b/bin/win64/NvFlexDebugCUDA_x64.dll.pdb Binary files differindex 3ed3ac8..d3dda01 100644 --- a/bin/win64/NvFlexDebugCUDA_x64.dll.pdb +++ b/bin/win64/NvFlexDebugCUDA_x64.dll.pdb diff --git a/bin/win64/NvFlexDebugD3D_x64.dll b/bin/win64/NvFlexDebugD3D_x64.dll Binary files differindex de835e4..64aa087 100644 --- a/bin/win64/NvFlexDebugD3D_x64.dll +++ b/bin/win64/NvFlexDebugD3D_x64.dll diff --git a/bin/win64/NvFlexDebugD3D_x64.dll.pdb b/bin/win64/NvFlexDebugD3D_x64.dll.pdb Binary files differindex d06f951..0fe41f6 100644 --- a/bin/win64/NvFlexDebugD3D_x64.dll.pdb +++ b/bin/win64/NvFlexDebugD3D_x64.dll.pdb diff --git a/bin/win64/NvFlexDemoDebugCUDA_x64.exe b/bin/win64/NvFlexDemoDebugCUDA_x64.exe Binary files differindex 3a4e649..18bb418 100644 --- a/bin/win64/NvFlexDemoDebugCUDA_x64.exe +++ b/bin/win64/NvFlexDemoDebugCUDA_x64.exe diff --git a/bin/win64/NvFlexDemoDebugCUDA_x64.exe.pdb b/bin/win64/NvFlexDemoDebugCUDA_x64.exe.pdb Binary files differindex b439215..be9b3ac 100644 --- a/bin/win64/NvFlexDemoDebugCUDA_x64.exe.pdb +++ b/bin/win64/NvFlexDemoDebugCUDA_x64.exe.pdb diff --git a/bin/win64/NvFlexDemoDebugD3D_x64.exe b/bin/win64/NvFlexDemoDebugD3D_x64.exe Binary files differindex dd4c12f..ceb20c6 100644 --- a/bin/win64/NvFlexDemoDebugD3D_x64.exe +++ b/bin/win64/NvFlexDemoDebugD3D_x64.exe diff --git a/bin/win64/NvFlexDemoDebugD3D_x64.exe.pdb b/bin/win64/NvFlexDemoDebugD3D_x64.exe.pdb Binary files differindex 377c4d3..6ab5b82 100644 --- a/bin/win64/NvFlexDemoDebugD3D_x64.exe.pdb +++ b/bin/win64/NvFlexDemoDebugD3D_x64.exe.pdb diff --git a/bin/win64/NvFlexDemoReleaseCUDA_x64.exe b/bin/win64/NvFlexDemoReleaseCUDA_x64.exe Binary files differindex 0bc8026..c90593d 100644 --- a/bin/win64/NvFlexDemoReleaseCUDA_x64.exe +++ b/bin/win64/NvFlexDemoReleaseCUDA_x64.exe diff --git a/bin/win64/NvFlexDemoReleaseCUDA_x64.exe.pdb b/bin/win64/NvFlexDemoReleaseCUDA_x64.exe.pdb Binary files differindex 61e3b97..8176096 100644 --- a/bin/win64/NvFlexDemoReleaseCUDA_x64.exe.pdb +++ b/bin/win64/NvFlexDemoReleaseCUDA_x64.exe.pdb diff --git a/bin/win64/NvFlexDemoReleaseD3D_x64.exe b/bin/win64/NvFlexDemoReleaseD3D_x64.exe Binary files differindex 32bf4dc..10f3db1 100644 --- a/bin/win64/NvFlexDemoReleaseD3D_x64.exe +++ b/bin/win64/NvFlexDemoReleaseD3D_x64.exe diff --git a/bin/win64/NvFlexDemoReleaseD3D_x64.exe.pdb b/bin/win64/NvFlexDemoReleaseD3D_x64.exe.pdb Binary files differindex 85e2cb7..e9522cc 100644 --- a/bin/win64/NvFlexDemoReleaseD3D_x64.exe.pdb +++ b/bin/win64/NvFlexDemoReleaseD3D_x64.exe.pdb diff --git a/bin/win64/NvFlexDeviceDebug_x64.dll b/bin/win64/NvFlexDeviceDebug_x64.dll Binary files differindex 25a929a..8dd9df3 100644 --- a/bin/win64/NvFlexDeviceDebug_x64.dll +++ b/bin/win64/NvFlexDeviceDebug_x64.dll diff --git a/bin/win64/NvFlexDeviceDebug_x64.dll.pdb b/bin/win64/NvFlexDeviceDebug_x64.dll.pdb Binary files differindex 56d28fd..1583edb 100644 --- a/bin/win64/NvFlexDeviceDebug_x64.dll.pdb +++ b/bin/win64/NvFlexDeviceDebug_x64.dll.pdb diff --git a/bin/win64/NvFlexDeviceRelease_x64.dll b/bin/win64/NvFlexDeviceRelease_x64.dll Binary files differindex 2f07259..19117e0 100644 --- a/bin/win64/NvFlexDeviceRelease_x64.dll +++ b/bin/win64/NvFlexDeviceRelease_x64.dll diff --git a/bin/win64/NvFlexDeviceRelease_x64.dll.pdb b/bin/win64/NvFlexDeviceRelease_x64.dll.pdb Binary files differindex 4223b08..60c02b9 100644 --- a/bin/win64/NvFlexDeviceRelease_x64.dll.pdb +++ b/bin/win64/NvFlexDeviceRelease_x64.dll.pdb diff --git a/bin/win64/NvFlexExtDebugCUDA_x64.dll b/bin/win64/NvFlexExtDebugCUDA_x64.dll Binary files differindex b45d858..a496354 100644 --- a/bin/win64/NvFlexExtDebugCUDA_x64.dll +++ b/bin/win64/NvFlexExtDebugCUDA_x64.dll diff --git a/bin/win64/NvFlexExtDebugCUDA_x64.dll.pdb b/bin/win64/NvFlexExtDebugCUDA_x64.dll.pdb Binary files differindex 741c4ae..5602743 100644 --- a/bin/win64/NvFlexExtDebugCUDA_x64.dll.pdb +++ b/bin/win64/NvFlexExtDebugCUDA_x64.dll.pdb diff --git a/bin/win64/NvFlexExtDebugD3D_x64.dll b/bin/win64/NvFlexExtDebugD3D_x64.dll Binary files differindex 1953ec7..22d166b 100644 --- a/bin/win64/NvFlexExtDebugD3D_x64.dll +++ b/bin/win64/NvFlexExtDebugD3D_x64.dll diff --git a/bin/win64/NvFlexExtDebugD3D_x64.dll.pdb b/bin/win64/NvFlexExtDebugD3D_x64.dll.pdb Binary files differindex 2e4e542..b37ec25 100644 --- a/bin/win64/NvFlexExtDebugD3D_x64.dll.pdb +++ b/bin/win64/NvFlexExtDebugD3D_x64.dll.pdb diff --git a/bin/win64/NvFlexExtReleaseCUDA_x64.dll b/bin/win64/NvFlexExtReleaseCUDA_x64.dll Binary files differindex b45e0a5..67e0ddf 100644 --- a/bin/win64/NvFlexExtReleaseCUDA_x64.dll +++ b/bin/win64/NvFlexExtReleaseCUDA_x64.dll diff --git a/bin/win64/NvFlexExtReleaseCUDA_x64.dll.pdb b/bin/win64/NvFlexExtReleaseCUDA_x64.dll.pdb Binary files differindex 070ec30..0cd36bc 100644 --- a/bin/win64/NvFlexExtReleaseCUDA_x64.dll.pdb +++ b/bin/win64/NvFlexExtReleaseCUDA_x64.dll.pdb diff --git a/bin/win64/NvFlexExtReleaseD3D_x64.dll b/bin/win64/NvFlexExtReleaseD3D_x64.dll Binary files differindex fdac877..b50dc6d 100644 --- a/bin/win64/NvFlexExtReleaseD3D_x64.dll +++ b/bin/win64/NvFlexExtReleaseD3D_x64.dll diff --git a/bin/win64/NvFlexExtReleaseD3D_x64.dll.pdb b/bin/win64/NvFlexExtReleaseD3D_x64.dll.pdb Binary files differindex 5fa99fa..368cf2e 100644 --- a/bin/win64/NvFlexExtReleaseD3D_x64.dll.pdb +++ b/bin/win64/NvFlexExtReleaseD3D_x64.dll.pdb diff --git a/bin/win64/NvFlexReleaseCUDA_x64.dll b/bin/win64/NvFlexReleaseCUDA_x64.dll Binary files differindex 1809418..1616657 100644 --- a/bin/win64/NvFlexReleaseCUDA_x64.dll +++ b/bin/win64/NvFlexReleaseCUDA_x64.dll diff --git a/bin/win64/NvFlexReleaseCUDA_x64.dll.pdb b/bin/win64/NvFlexReleaseCUDA_x64.dll.pdb Binary files differindex 97d7051..e29bfe2 100644 --- a/bin/win64/NvFlexReleaseCUDA_x64.dll.pdb +++ b/bin/win64/NvFlexReleaseCUDA_x64.dll.pdb diff --git a/bin/win64/NvFlexReleaseD3D_x64.dll b/bin/win64/NvFlexReleaseD3D_x64.dll Binary files differindex 94ab368..1550df7 100644 --- a/bin/win64/NvFlexReleaseD3D_x64.dll +++ b/bin/win64/NvFlexReleaseD3D_x64.dll diff --git a/bin/win64/NvFlexReleaseD3D_x64.dll.pdb b/bin/win64/NvFlexReleaseD3D_x64.dll.pdb Binary files differindex 6c140fc..cbc06fc 100644 --- a/bin/win64/NvFlexReleaseD3D_x64.dll.pdb +++ b/bin/win64/NvFlexReleaseD3D_x64.dll.pdb diff --git a/demo/compiler/vc12win32/flexDemoCUDA.vcxproj.user b/demo/compiler/vc12win32/flexDemoCUDA.vcxproj.user index 1860514..2fc5615 100644 --- a/demo/compiler/vc12win32/flexDemoCUDA.vcxproj.user +++ b/demo/compiler/vc12win32/flexDemoCUDA.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc12win32/flexDemoD3D.vcxproj.user b/demo/compiler/vc12win32/flexDemoD3D.vcxproj.user index 1860514..2fc5615 100644 --- a/demo/compiler/vc12win32/flexDemoD3D.vcxproj.user +++ b/demo/compiler/vc12win32/flexDemoD3D.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc12win64/flexDemoCUDA.vcxproj.user b/demo/compiler/vc12win64/flexDemoCUDA.vcxproj.user index 0c241a3..2273e49 100644 --- a/demo/compiler/vc12win64/flexDemoCUDA.vcxproj.user +++ b/demo/compiler/vc12win64/flexDemoCUDA.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc12win64/flexDemoD3D.vcxproj.user b/demo/compiler/vc12win64/flexDemoD3D.vcxproj.user index 0c241a3..2273e49 100644 --- a/demo/compiler/vc12win64/flexDemoD3D.vcxproj.user +++ b/demo/compiler/vc12win64/flexDemoD3D.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc14win32/flexDemoCUDA.vcxproj.user b/demo/compiler/vc14win32/flexDemoCUDA.vcxproj.user index 1860514..2fc5615 100644 --- a/demo/compiler/vc14win32/flexDemoCUDA.vcxproj.user +++ b/demo/compiler/vc14win32/flexDemoCUDA.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc14win32/flexDemoD3D.vcxproj.user b/demo/compiler/vc14win32/flexDemoD3D.vcxproj.user index 1860514..2fc5615 100644 --- a/demo/compiler/vc14win32/flexDemoD3D.vcxproj.user +++ b/demo/compiler/vc14win32/flexDemoD3D.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc14win64/flexDemoCUDA.vcxproj.user b/demo/compiler/vc14win64/flexDemoCUDA.vcxproj.user index 0c241a3..2273e49 100644 --- a/demo/compiler/vc14win64/flexDemoCUDA.vcxproj.user +++ b/demo/compiler/vc14win64/flexDemoCUDA.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/compiler/vc14win64/flexDemoD3D.vcxproj.user b/demo/compiler/vc14win64/flexDemoD3D.vcxproj.user index 0c241a3..2273e49 100644 --- a/demo/compiler/vc14win64/flexDemoD3D.vcxproj.user +++ b/demo/compiler/vc14win64/flexDemoD3D.vcxproj.user @@ -1,9 +1,15 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
- <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
-</PropertyGroup>
-</Project>
\ No newline at end of file +<?xml version="1.0" encoding="utf-8" ?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <LocalDebuggerWorkingDirectory>$(OutputPath)</LocalDebuggerWorkingDirectory>
+ </PropertyGroup>
+</Project>
diff --git a/demo/d3d12/appD3D12Ctx.cpp b/demo/d3d12/appD3D12Ctx.cpp index 944453a..82aa56a 100644 --- a/demo/d3d12/appD3D12Ctx.cpp +++ b/demo/d3d12/appD3D12Ctx.cpp @@ -310,7 +310,7 @@ void AppGraphCtxInitRenderTargetD3D12(AppGraphCtx* contextIn, SDL_Window* window hr = pFactory->CreateSwapChain(context->m_commandQueue, &desc, (IDXGISwapChain**)&context->m_swapChain); - if(hr != S_OK) + if (hr != S_OK) { COMRelease(context->m_swapChain); context->m_fullscreen = false; @@ -378,7 +378,7 @@ void AppGraphCtxInitRenderTargetD3D12(AppGraphCtx* contextIn, SDL_Window* window D3D12_RESOURCE_DESC desc = backBuffer->GetDesc(); DXGI_FORMAT resourceFormat; - + if (desc.Format == DXGI_FORMAT_R32_FLOAT || desc.Format == DXGI_FORMAT_D32_FLOAT) { resourceFormat = DXGI_FORMAT_R32_TYPELESS; @@ -449,7 +449,7 @@ void AppGraphCtxInitRenderTargetD3D12(AppGraphCtx* contextIn, SDL_Window* window D3D12_RESOURCE_STATE_DEPTH_WRITE, &clearValue, IID_PPV_ARGS(&context->m_depthStencil) - )) + )) { return; } @@ -457,7 +457,7 @@ void AppGraphCtxInitRenderTargetD3D12(AppGraphCtx* contextIn, SDL_Window* window // create the depth stencil view D3D12_DEPTH_STENCIL_VIEW_DESC viewDesc = {}; viewDesc.Format = context->m_dsv_format; // DXGI_FORMAT_D32_FLOAT; - viewDesc.ViewDimension = (context->m_numMsaaSamples>1) ? D3D12_DSV_DIMENSION_TEXTURE2DMS : D3D12_DSV_DIMENSION_TEXTURE2D; + viewDesc.ViewDimension = (context->m_numMsaaSamples > 1) ? D3D12_DSV_DIMENSION_TEXTURE2DMS : D3D12_DSV_DIMENSION_TEXTURE2D; viewDesc.Flags = D3D12_DSV_FLAG_NONE; viewDesc.Texture2D.MipSlice = 0; @@ -621,8 +621,10 @@ void AppGraphCtxFramePresentD3D12(AppGraphCtx* contextIn, bool fullsync) auto context = cast_to_AppGraphCtxD3D12(contextIn); // check if now is good time to present +#if 0 // disable frame latency waitable object check because it will cause vsync to fail bool shouldPresent = context->m_fullscreen ? true : WaitForSingleObjectEx(context->m_swapChainWaitableObject, 0, TRUE) != WAIT_TIMEOUT; if (shouldPresent) +#endif { context->m_swapChain->Present(fullsync, 0); context->m_renderTargetID++; diff --git a/demo/d3d12/demoContextD3D12.cpp b/demo/d3d12/demoContextD3D12.cpp index 8a698f7..110aea1 100644 --- a/demo/d3d12/demoContextD3D12.cpp +++ b/demo/d3d12/demoContextD3D12.cpp @@ -74,11 +74,42 @@ DemoContextD3D12::DemoContextD3D12() // Allocate space for all debug vertices m_debugLineVertices.resize(MAX_DEBUG_LINE_SIZE); + + m_renderStateManager = new RenderStateManagerD3D12; +} + +template <class T> +void inline COMRelease(T& t) +{ + if (t) t->Release(); + t = nullptr; } DemoContextD3D12::~DemoContextD3D12() { imguiGraphDestroy(); + + AppGraphCtxRelease(m_appGraphCtx); + + delete m_renderStateManager; + + COMRelease(m_graphicsCompleteFence); + COMRelease(m_queryHeap); + COMRelease(m_queryResults); + + // Explicitly delete these, so we can call D3D memory leak checker at bottom of this destructor + m_meshPipeline.reset(); + m_pointPipeline.reset(); + m_fluidPointPipeline.reset(); + m_fluidSmoothPipeline.reset(); + m_fluidCompositePipeline.reset(); + m_diffusePointPipeline.reset(); + m_linePipeline.reset(); + m_fluidPointRenderTarget.reset(); + m_fluidSmoothRenderTarget.reset(); + m_fluidResolvedTarget.reset(); + m_screenQuadMesh.reset(); + m_shadowMap.reset(); } bool DemoContextD3D12::initialize(const RenderInitOptions& options) @@ -183,8 +214,8 @@ int DemoContextD3D12::_initRenderResources(const RenderInitOptions& options) { // Make enough space for largest _single_ dynamic buffer allocation - NV_RETURN_ON_FAIL(m_renderStateManager.initialize(renderContext, 16 * 1024 * 1024)); - m_renderState = m_renderStateManager.getState(); + NV_RETURN_ON_FAIL(m_renderStateManager->initialize(renderContext, 16 * 1024 * 1024)); + m_renderState = m_renderStateManager->getState(); } // Create the renderer @@ -465,7 +496,7 @@ void DemoContextD3D12::startFrame(FlexVec4 colorIn) AppGraphCtxD3D12* renderContext = getRenderContext(); // Work out what what can be recovered, as GPU no longer accessing - m_renderStateManager.updateCompleted(); + m_renderStateManager->updateCompleted(); AppGraphColor clearColor = { colorIn.x, colorIn.y, colorIn.z, colorIn.w }; AppGraphCtxFrameStart(cast_from_AppGraphCtxD3D12(renderContext), clearColor); @@ -529,11 +560,11 @@ void DemoContextD3D12::endFrame() renderContext->m_commandListOpenCount = 0; // Inform the manager that the work has been submitted - m_renderStateManager.onGpuWorkSubmitted(renderContext->m_commandQueue); + m_renderStateManager->onGpuWorkSubmitted(renderContext->m_commandQueue); HANDLE completeEvent = m_graphicsCompleteEvent; - renderContext->m_commandQueue->Signal(m_graphicsCompleteFence.Get(), m_graphicsCompleteFenceValue); + renderContext->m_commandQueue->Signal(m_graphicsCompleteFence, m_graphicsCompleteFenceValue); } void DemoContextD3D12::getRenderDevice(void** device, void** context) @@ -1060,15 +1091,15 @@ void DemoContextD3D12::graphicsTimerBegin() { ID3D12GraphicsCommandList* commandList = m_renderContext->m_commandList; - commandList->EndQuery(m_queryHeap.Get(), D3D12_QUERY_TYPE_TIMESTAMP, 0); + commandList->EndQuery(m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 0); } void DemoContextD3D12::graphicsTimerEnd() { ID3D12GraphicsCommandList* commandList = m_renderContext->m_commandList; - commandList->EndQuery(m_queryHeap.Get(), D3D12_QUERY_TYPE_TIMESTAMP, 1); - commandList->ResolveQueryData(m_queryHeap.Get(), D3D12_QUERY_TYPE_TIMESTAMP, 0, 2, m_queryResults.Get(), 0); + commandList->EndQuery(m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 1); + commandList->ResolveQueryData(m_queryHeap, D3D12_QUERY_TYPE_TIMESTAMP, 0, 2, m_queryResults, 0); } float DemoContextD3D12::rendererGetDeviceTimestamps(unsigned long long* begin, unsigned long long* end, unsigned long long* freq) @@ -1086,10 +1117,9 @@ float DemoContextD3D12::rendererGetDeviceTimestamps(unsigned long long* begin, u commandQueue->GetTimestampFrequency(&frequency); } - //Get render timestamps + // Get render timestamps uint64_t* times; - //m_queryResults->Map(0, nullptr, (void**)×); - D3D12_RANGE readRange = { 0, 1 }; + D3D12_RANGE readRange = { 0, 2 }; m_queryResults->Map(0, &readRange, (void**)×); uint64_t renderBegin = times[0]; uint64_t renderEnd = times[1]; diff --git a/demo/d3d12/demoContextD3D12.h b/demo/d3d12/demoContextD3D12.h index 5f43c31..894cb0d 100644 --- a/demo/d3d12/demoContextD3D12.h +++ b/demo/d3d12/demoContextD3D12.h @@ -232,7 +232,7 @@ public: std::wstring m_executablePath; std::wstring m_shadersPath; - RenderStateManagerD3D12 m_renderStateManager; + RenderStateManagerD3D12* m_renderStateManager; RenderStateD3D12 m_renderState; SDL_Window* m_window; @@ -241,11 +241,11 @@ public: int m_msaaSamples; // Synchronization and timing for async compute benchmarking - ComPtr<ID3D12Fence> m_graphicsCompleteFence; - HANDLE m_graphicsCompleteEvent; - UINT64 m_graphicsCompleteFenceValue; - ComPtr<ID3D12QueryHeap> m_queryHeap; - ComPtr<ID3D12Resource> m_queryResults; + ID3D12Fence* m_graphicsCompleteFence; + HANDLE m_graphicsCompleteEvent; + UINT64 m_graphicsCompleteFenceValue; + ID3D12QueryHeap* m_queryHeap; + ID3D12Resource* m_queryResults; bool m_inLineDraw; std::vector<LineData::Vertex> m_debugLineVertices; diff --git a/demo/helpers.h b/demo/helpers.h index adc9af5..984883f 100644 --- a/demo/helpers.h +++ b/demo/helpers.h @@ -708,10 +708,15 @@ NvFlexTriangleMeshId CreateTriangleMesh(Mesh* m) Vec3 lower, upper; m->GetBounds(lower, upper); - NvFlexVector<Vec3> positions(g_flexLib); + NvFlexVector<Vec4> positions(g_flexLib, m->m_positions.size()); + positions.map(); NvFlexVector<int> indices(g_flexLib); - positions.assign((Vec3*)&m->m_positions[0], m->m_positions.size()); + for (int i = 0; i < int(m->m_positions.size()); ++i) + { + Vec3 vertex = Vec3(m->m_positions[i]); + positions[i] = Vec4(vertex, 0.0f); + } indices.assign((int*)&m->m_indices[0], m->m_indices.size()); positions.unmap(); diff --git a/demo/main.cpp b/demo/main.cpp index df05ef7..87ef326 100644 --- a/demo/main.cpp +++ b/demo/main.cpp @@ -559,6 +559,13 @@ void Init(int scene, bool centerCamera = true) { RandInit(); + if (g_buffers) + { + // Wait for any running GPU work to finish + MapBuffers(g_buffers); + UnmapBuffers(g_buffers); + } + if (g_solver) { if (g_buffers) @@ -2037,13 +2044,13 @@ void UpdateFrame() // Getting timers causes CPU/GPU sync, so we do it after a map float newSimLatency = NvFlexGetDeviceLatency(g_solver, &g_GpuTimers.computeBegin, &g_GpuTimers.computeEnd, &g_GpuTimers.computeFreq); - float newGfxLatency = RendererGetDeviceTimestamps(&g_GpuTimers.renderBegin, &g_GpuTimers.renderEnd,&g_GpuTimers.renderFreq); + float newGfxLatency = RendererGetDeviceTimestamps(&g_GpuTimers.renderBegin, &g_GpuTimers.renderEnd, &g_GpuTimers.renderFreq); (void)newGfxLatency; UpdateCamera(); - if (!g_pause || g_step) - { + if (!g_pause || g_step) + { UpdateEmitters(); UpdateMouse(); UpdateWind(); @@ -2073,14 +2080,14 @@ void UpdateFrame() // main scene render RenderScene(); RenderDebug(); - + int newScene = DoUI(); EndFrame(); // If user has disabled async compute, ensure that no compute can overlap // graphics by placing a sync between them - if (!g_useAsyncCompute) + if (!g_useAsyncCompute) NvFlexComputeWaitForGraphics(g_flexLib); UnmapBuffers(g_buffers); @@ -2111,7 +2118,7 @@ void UpdateFrame() double renderEndTime = GetSeconds(); // if user requested a scene reset process it now - if (g_resetScene) + if (g_resetScene) { Reset(); g_resetScene = false; @@ -2196,7 +2203,7 @@ void UpdateFrame() else { // read back just the new diffuse particle count, render buffers will be updated during rendering - NvFlexGetDiffuseParticles(g_solver, NULL, NULL, g_buffers->diffuseCount.buffer); + NvFlexGetDiffuseParticles(g_solver, NULL, NULL, g_buffers->diffuseCount.buffer); } @@ -2216,8 +2223,12 @@ void UpdateFrame() g_renderTime = (g_renderTime == 0.0f) ? newRenderTime : Lerp(g_renderTime, newRenderTime, timerSmoothing); g_waitTime = (g_waitTime == 0.0f) ? newWaitTime : Lerp(g_waitTime, newWaitTime, timerSmoothing); g_simLatency = (g_simLatency == 0.0f) ? newSimLatency : Lerp(g_simLatency, newSimLatency, timerSmoothing); - - if(g_benchmark) newScene = BenchmarkUpdate(); + + if (g_benchmark) newScene = BenchmarkUpdate(); + + // flush out the last frame before freeing up resources in the event of a scene change + // this is necessary for d3d12 + PresentFrame(g_vsync); // if gui or benchmark requested a scene change process it now if (newScene != -1) @@ -2225,8 +2236,6 @@ void UpdateFrame() g_scene = newScene; Init(g_scene); } - - PresentFrame(g_vsync); } void ReshapeWindow(int width, int height) @@ -2961,14 +2970,14 @@ int main(int argc, char* argv[]) SoftBody* plasticStackScene = new SoftBody("Plastic Stack"); plasticStackScene->AddInstance(stackBox); plasticStackScene->AddInstance(stackSphere); - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 3; i++) + { stackBox.mTranslation[1] += 2.0f; stackSphere.mTranslation[1] += 2.0f; plasticStackScene->AddInstance(stackBox); plasticStackScene->AddInstance(stackSphere); } - g_scenes.push_back(softOctopusSceneNew); g_scenes.push_back(softTeapotSceneNew); g_scenes.push_back(softRopeSceneNew); @@ -2982,7 +2991,6 @@ int main(int argc, char* argv[]) g_scenes.push_back(plasticComparisonScene); g_scenes.push_back(plasticStackScene); - // collision scenes g_scenes.push_back(new FrictionRamp("Friction Ramp")); g_scenes.push_back(new FrictionMovingShape("Friction Moving Box", 0)); @@ -2995,7 +3003,6 @@ int main(int argc, char* argv[]) g_scenes.push_back(new LocalSpaceCloth("Local Space Cloth")); g_scenes.push_back(new CCDFluid("World Space Fluid")); - // cloth scenes g_scenes.push_back(new EnvironmentalCloth("Env Cloth Small", 6, 6, 40, 16)); g_scenes.push_back(new EnvironmentalCloth("Env Cloth Large", 16, 32, 10, 3)); @@ -3006,7 +3013,6 @@ int main(int argc, char* argv[]) g_scenes.push_back(new Tearing("Tearing")); g_scenes.push_back(new Pasta("Pasta")); - // game mesh scenes g_scenes.push_back(new GameMesh("Game Mesh Rigid", 0)); g_scenes.push_back(new GameMesh("Game Mesh Particles", 1)); diff --git a/extensions/compiler/vc12win32/vc120.pdb b/extensions/compiler/vc12win32/vc120.pdb Binary files differindex 4bb28ac..6d5215f 100644 --- a/extensions/compiler/vc12win32/vc120.pdb +++ b/extensions/compiler/vc12win32/vc120.pdb diff --git a/extensions/compiler/vc12win64/vc120.pdb b/extensions/compiler/vc12win64/vc120.pdb Binary files differindex 48ac2a4..93c4692 100644 --- a/extensions/compiler/vc12win64/vc120.pdb +++ b/extensions/compiler/vc12win64/vc120.pdb diff --git a/include/NvFlex.h b/include/NvFlex.h index 8189489..f5a50ac 100644 --- a/include/NvFlex.h +++ b/include/NvFlex.h @@ -751,7 +751,7 @@ NV_FLEX_API void NvFlexDestroyTriangleMesh(NvFlexLibrary* lib, NvFlexTriangleMes * * @param[in] lib The library instance to use * @param[in] mesh A triangle mesh created with NvFlexCreateTriangleMesh() - * @param[in] vertices Pointer to a buffer of float3 vertex positions + * @param[in] vertices Pointer to a buffer of float4 vertex positions * @param[in] indices Pointer to a buffer of triangle indices, should be length numTriangles*3 * @param[in] numVertices The number of vertices in the vertices array * @param[in] numTriangles The number of triangles in the mesh diff --git a/lib/linux64/NvFlexDebugCUDA_x64.a b/lib/linux64/NvFlexDebugCUDA_x64.a Binary files differindex 3a144c2..a5847cf 100644 --- a/lib/linux64/NvFlexDebugCUDA_x64.a +++ b/lib/linux64/NvFlexDebugCUDA_x64.a diff --git a/lib/linux64/NvFlexDeviceDebug_x64.a b/lib/linux64/NvFlexDeviceDebug_x64.a Binary files differindex 4aabf0c..05fc3bd 100644 --- a/lib/linux64/NvFlexDeviceDebug_x64.a +++ b/lib/linux64/NvFlexDeviceDebug_x64.a diff --git a/lib/linux64/NvFlexDeviceRelease_x64.a b/lib/linux64/NvFlexDeviceRelease_x64.a Binary files differindex 1118e28..a90dc84 100644 --- a/lib/linux64/NvFlexDeviceRelease_x64.a +++ b/lib/linux64/NvFlexDeviceRelease_x64.a diff --git a/lib/linux64/NvFlexExtDebugCUDA_x64.a b/lib/linux64/NvFlexExtDebugCUDA_x64.a Binary files differindex e6d5c83..6927344 100644 --- a/lib/linux64/NvFlexExtDebugCUDA_x64.a +++ b/lib/linux64/NvFlexExtDebugCUDA_x64.a diff --git a/lib/linux64/NvFlexExtReleaseCUDA_x64.a b/lib/linux64/NvFlexExtReleaseCUDA_x64.a Binary files differindex 8261036..496910b 100644 --- a/lib/linux64/NvFlexExtReleaseCUDA_x64.a +++ b/lib/linux64/NvFlexExtReleaseCUDA_x64.a diff --git a/lib/linux64/NvFlexReleaseCUDA_x64.a b/lib/linux64/NvFlexReleaseCUDA_x64.a Binary files differindex 9bf9e0b..447fa1e 100644 --- a/lib/linux64/NvFlexReleaseCUDA_x64.a +++ b/lib/linux64/NvFlexReleaseCUDA_x64.a diff --git a/lib/win32/NvFlexDebugCUDA_x86.lib b/lib/win32/NvFlexDebugCUDA_x86.lib Binary files differindex ed006ed..cac0f06 100644 --- a/lib/win32/NvFlexDebugCUDA_x86.lib +++ b/lib/win32/NvFlexDebugCUDA_x86.lib diff --git a/lib/win32/NvFlexDebugD3D_x86.lib b/lib/win32/NvFlexDebugD3D_x86.lib Binary files differindex 09654ad..8464faa 100644 --- a/lib/win32/NvFlexDebugD3D_x86.lib +++ b/lib/win32/NvFlexDebugD3D_x86.lib diff --git a/lib/win32/NvFlexDeviceDebug_x86.lib b/lib/win32/NvFlexDeviceDebug_x86.lib Binary files differindex 2fca1a7..32841b1 100644 --- a/lib/win32/NvFlexDeviceDebug_x86.lib +++ b/lib/win32/NvFlexDeviceDebug_x86.lib diff --git a/lib/win32/NvFlexDeviceRelease_x86.lib b/lib/win32/NvFlexDeviceRelease_x86.lib Binary files differindex 99abd1c..1c96e49 100644 --- a/lib/win32/NvFlexDeviceRelease_x86.lib +++ b/lib/win32/NvFlexDeviceRelease_x86.lib diff --git a/lib/win32/NvFlexExtDebugCUDA_x86.lib b/lib/win32/NvFlexExtDebugCUDA_x86.lib Binary files differindex bac00cc..4c3d819 100644 --- a/lib/win32/NvFlexExtDebugCUDA_x86.lib +++ b/lib/win32/NvFlexExtDebugCUDA_x86.lib diff --git a/lib/win32/NvFlexExtDebugD3D_x86.lib b/lib/win32/NvFlexExtDebugD3D_x86.lib Binary files differindex 5edfffc..0255427 100644 --- a/lib/win32/NvFlexExtDebugD3D_x86.lib +++ b/lib/win32/NvFlexExtDebugD3D_x86.lib diff --git a/lib/win32/NvFlexExtReleaseCUDA_x86.lib b/lib/win32/NvFlexExtReleaseCUDA_x86.lib Binary files differindex 9ecde23..326e3e7 100644 --- a/lib/win32/NvFlexExtReleaseCUDA_x86.lib +++ b/lib/win32/NvFlexExtReleaseCUDA_x86.lib diff --git a/lib/win32/NvFlexExtReleaseD3D_x86.lib b/lib/win32/NvFlexExtReleaseD3D_x86.lib Binary files differindex 56d7e9f..6ef9db7 100644 --- a/lib/win32/NvFlexExtReleaseD3D_x86.lib +++ b/lib/win32/NvFlexExtReleaseD3D_x86.lib diff --git a/lib/win32/NvFlexReleaseCUDA_x86.lib b/lib/win32/NvFlexReleaseCUDA_x86.lib Binary files differindex 68bb4b4..b8a0e95 100644 --- a/lib/win32/NvFlexReleaseCUDA_x86.lib +++ b/lib/win32/NvFlexReleaseCUDA_x86.lib diff --git a/lib/win32/NvFlexReleaseD3D_x86.lib b/lib/win32/NvFlexReleaseD3D_x86.lib Binary files differindex 16ea844..950a2cd 100644 --- a/lib/win32/NvFlexReleaseD3D_x86.lib +++ b/lib/win32/NvFlexReleaseD3D_x86.lib diff --git a/lib/win64/NvFlexDebugCUDA_x64.lib b/lib/win64/NvFlexDebugCUDA_x64.lib Binary files differindex bb21d51..392e996 100644 --- a/lib/win64/NvFlexDebugCUDA_x64.lib +++ b/lib/win64/NvFlexDebugCUDA_x64.lib diff --git a/lib/win64/NvFlexDebugD3D_x64.lib b/lib/win64/NvFlexDebugD3D_x64.lib Binary files differindex ec07504..53299d3 100644 --- a/lib/win64/NvFlexDebugD3D_x64.lib +++ b/lib/win64/NvFlexDebugD3D_x64.lib diff --git a/lib/win64/NvFlexDeviceDebug_x64.lib b/lib/win64/NvFlexDeviceDebug_x64.lib Binary files differindex 22b5696..4d32ccb 100644 --- a/lib/win64/NvFlexDeviceDebug_x64.lib +++ b/lib/win64/NvFlexDeviceDebug_x64.lib diff --git a/lib/win64/NvFlexDeviceRelease_x64.lib b/lib/win64/NvFlexDeviceRelease_x64.lib Binary files differindex 2e19c6e..ba2b306 100644 --- a/lib/win64/NvFlexDeviceRelease_x64.lib +++ b/lib/win64/NvFlexDeviceRelease_x64.lib diff --git a/lib/win64/NvFlexExtDebugCUDA_x64.lib b/lib/win64/NvFlexExtDebugCUDA_x64.lib Binary files differindex 919b576..b4cb3d1 100644 --- a/lib/win64/NvFlexExtDebugCUDA_x64.lib +++ b/lib/win64/NvFlexExtDebugCUDA_x64.lib diff --git a/lib/win64/NvFlexExtDebugD3D_x64.lib b/lib/win64/NvFlexExtDebugD3D_x64.lib Binary files differindex 7b5901d..735a5f9 100644 --- a/lib/win64/NvFlexExtDebugD3D_x64.lib +++ b/lib/win64/NvFlexExtDebugD3D_x64.lib diff --git a/lib/win64/NvFlexExtReleaseCUDA_x64.lib b/lib/win64/NvFlexExtReleaseCUDA_x64.lib Binary files differindex ca07406..a981817 100644 --- a/lib/win64/NvFlexExtReleaseCUDA_x64.lib +++ b/lib/win64/NvFlexExtReleaseCUDA_x64.lib diff --git a/lib/win64/NvFlexExtReleaseD3D_x64.lib b/lib/win64/NvFlexExtReleaseD3D_x64.lib Binary files differindex 163b83c..79a5aa8 100644 --- a/lib/win64/NvFlexExtReleaseD3D_x64.lib +++ b/lib/win64/NvFlexExtReleaseD3D_x64.lib diff --git a/lib/win64/NvFlexReleaseCUDA_x64.lib b/lib/win64/NvFlexReleaseCUDA_x64.lib Binary files differindex f9858d6..e0031da 100644 --- a/lib/win64/NvFlexReleaseCUDA_x64.lib +++ b/lib/win64/NvFlexReleaseCUDA_x64.lib diff --git a/lib/win64/NvFlexReleaseD3D_x64.lib b/lib/win64/NvFlexReleaseD3D_x64.lib Binary files differindex 9307019..d7318f0 100644 --- a/lib/win64/NvFlexReleaseD3D_x64.lib +++ b/lib/win64/NvFlexReleaseD3D_x64.lib diff --git a/release_notes.txt b/release_notes.txt index d9815af..d26a369 100644 --- a/release_notes.txt +++ b/release_notes.txt @@ -1,5 +1,13 @@ -1.2.0 (beta) ------------- +1.2.0 (beta 2) +-------------- + +- NvFlexUpdateTriangleMesh() now takes vertices with 16-byte stride to remove CPU synchronization step in D3D implementations +- Fix for NvFlexGetTimers() reporting incorrect values on D3D12 +- Fix for vsync in D3D12 +- Fix for crash when using Flex with NVIDIA driver 384.76 + +1.2.0 (beta 1) +-------------- - New API to retrieve particle neighbor information, see NvFlexGetNeighbors() - New API to support shape collision filtering, collision channels can be assigned to particles and shapes to specify which pairs collide, see NvFlexPhase @@ -20,7 +28,6 @@ Known Issues ------------ - Demo rendering artifacts in D3D12 fullscreen on AMD platforms -- NvFlexGetTimers() may report incorrect values on D3D12 - Crash on inflatable test scenes on some Kepler class GPUs 1.1.0 |