Add BC6 support to nvtt lib and utils.
- Use 3x3 eigensolver for initial fit in ZOH. Slightly better perf and RMSE than power method. - Remove use of double precision in ZOH - speeds up by 12%. - Fixed RGBM encoding that was broken for HDR images. - Use gamma-2.0 space for RGBM for HDR images (improves precision in darks). - Use UNORM instead of TYPELESS formats when saving a DX10 .dds file. The TYPELESS formats break most viewers. - Cleaned up warnings in ZOH code. - Command-line utils will warn if you give them an unrecognized parameter. - Added VS2010 profiling results.
This commit is contained in:
parent
77188a42ac
commit
474239c784
@ -31,6 +31,14 @@ namespace Nvidia.TextureTools
|
|||||||
BC3n = DXT5n,
|
BC3n = DXT5n,
|
||||||
BC4,
|
BC4,
|
||||||
BC5,
|
BC5,
|
||||||
|
|
||||||
|
DXT1n, // Not supported on CPU yet.
|
||||||
|
CTX1, // Not supported on CPU yet.
|
||||||
|
|
||||||
|
BC6,
|
||||||
|
BC7, // Not supported yet.
|
||||||
|
|
||||||
|
DXT1_Luma,
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
BIN
project/vc10/bc6-01-eigen-solver.vsp
Normal file
BIN
project/vc10/bc6-01-eigen-solver.vsp
Normal file
Binary file not shown.
BIN
project/vc10/bc6-02-no-double.vsp
Normal file
BIN
project/vc10/bc6-02-no-double.vsp
Normal file
Binary file not shown.
105
project/vc10/bc6.psess
Normal file
105
project/vc10/bc6.psess
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VSPerformanceSession Version="1.00">
|
||||||
|
<Options>
|
||||||
|
<Solution>C:\nvtt\project\vc10\nvtt.sln</Solution>
|
||||||
|
<CollectionMethod>Sampling</CollectionMethod>
|
||||||
|
<AllocationMethod>None</AllocationMethod>
|
||||||
|
<LaunchRuntimeControl>true</LaunchRuntimeControl>
|
||||||
|
<AddReport>true</AddReport>
|
||||||
|
<ResourceBasedAnalysisSelected>false</ResourceBasedAnalysisSelected>
|
||||||
|
<ThreadBasedAnalysisSelected>false</ThreadBasedAnalysisSelected>
|
||||||
|
<UniqueReport>Timestamp</UniqueReport>
|
||||||
|
<SamplingMethod>Cycles</SamplingMethod>
|
||||||
|
<CycleCount>10000000</CycleCount>
|
||||||
|
<PageFaultCount>10</PageFaultCount>
|
||||||
|
<SysCallCount>10</SysCallCount>
|
||||||
|
<SamplingCounter Name="" ReloadValue="00000000000f4240" DisplayName="" />
|
||||||
|
<RelocateBinaries>false</RelocateBinaries>
|
||||||
|
<CollectOnHpcCluster>false</CollectOnHpcCluster>
|
||||||
|
<HPCSettings>
|
||||||
|
<NumberOfProcesses>0</NumberOfProcesses>
|
||||||
|
<TargetSelection>UnknownDisabled</TargetSelection>
|
||||||
|
<ProfileOnRank>0</ProfileOnRank>
|
||||||
|
<AdvancedProperties>
|
||||||
|
<Project>nvcompress</Project>
|
||||||
|
<CleanUp>true</CleanUp>
|
||||||
|
<MpiexecCommand>mpiexec.exe</MpiexecCommand>
|
||||||
|
<DeployCRT>true</DeployCRT>
|
||||||
|
</AdvancedProperties>
|
||||||
|
</HPCSettings>
|
||||||
|
<HardwareCounters EnableHWCounters="false" />
|
||||||
|
<EtwSettings />
|
||||||
|
<PdhSettings>
|
||||||
|
<PdhCountersEnabled>false</PdhCountersEnabled>
|
||||||
|
<PdhCountersRate>500</PdhCountersRate>
|
||||||
|
<PdhCounters>
|
||||||
|
<PdhCounter>\Memory\Pages/sec</PdhCounter>
|
||||||
|
<PdhCounter>\PhysicalDisk(_Total)\Avg. Disk Queue Length</PdhCounter>
|
||||||
|
<PdhCounter>\Processor(_Total)\% Processor Time</PdhCounter>
|
||||||
|
</PdhCounters>
|
||||||
|
</PdhSettings>
|
||||||
|
</Options>
|
||||||
|
<ExcludeSmallFuncs>true</ExcludeSmallFuncs>
|
||||||
|
<JScriptProfilingEnabled>false</JScriptProfilingEnabled>
|
||||||
|
<PreinstrumentEvent>
|
||||||
|
<InstrEventExclude>false</InstrEventExclude>
|
||||||
|
</PreinstrumentEvent>
|
||||||
|
<PostinstrumentEvent>
|
||||||
|
<InstrEventExclude>false</InstrEventExclude>
|
||||||
|
</PostinstrumentEvent>
|
||||||
|
<Binaries>
|
||||||
|
<ProjBinary>
|
||||||
|
<Path>C:\nvtt\project\vc10\Release.x64\bin\nvcompress.exe</Path>
|
||||||
|
<ArgumentTimestamp>01/01/0001 00:00:00</ArgumentTimestamp>
|
||||||
|
<Instrument>true</Instrument>
|
||||||
|
<Sample>true</Sample>
|
||||||
|
<ExternalWebsite>false</ExternalWebsite>
|
||||||
|
<InteractionProfilingEnabled>false</InteractionProfilingEnabled>
|
||||||
|
<IsLocalJavascript>false</IsLocalJavascript>
|
||||||
|
<LaunchProject>true</LaunchProject>
|
||||||
|
<OverrideProjectSettings>false</OverrideProjectSettings>
|
||||||
|
<LaunchMethod>Executable</LaunchMethod>
|
||||||
|
<ExecutablePath>C:\nvtt\project\vc10\\Release.x64\bin\nvcompress.exe</ExecutablePath>
|
||||||
|
<StartupDirectory>C:\nvtt\project\vc10\nvcompress\</StartupDirectory>
|
||||||
|
<Arguments>-bc6 -nomips C:\nvtt\data\testsuite\kodak\kodim01.png C:\nvtt\data\testsuite\kodak\kodim01_bc6.dds</Arguments>
|
||||||
|
<NetAppHost>IIS</NetAppHost>
|
||||||
|
<NetBrowser>InternetExplorer</NetBrowser>
|
||||||
|
<ExcludeSmallFuncs>true</ExcludeSmallFuncs>
|
||||||
|
<JScriptProfilingEnabled>false</JScriptProfilingEnabled>
|
||||||
|
<PreinstrumentEvent>
|
||||||
|
<InstrEventExclude>false</InstrEventExclude>
|
||||||
|
</PreinstrumentEvent>
|
||||||
|
<PostinstrumentEvent>
|
||||||
|
<InstrEventExclude>false</InstrEventExclude>
|
||||||
|
</PostinstrumentEvent>
|
||||||
|
<ProjRef>{88079E38-83AA-4E8A-B18A-66A78D1B058B}|nvcompress\nvcompress.vcxproj</ProjRef>
|
||||||
|
<ProjPath>C:\nvtt\project\vc10\nvcompress\nvcompress.vcxproj</ProjPath>
|
||||||
|
<ProjName>nvcompress</ProjName>
|
||||||
|
</ProjBinary>
|
||||||
|
</Binaries>
|
||||||
|
<Reports>
|
||||||
|
<Report>
|
||||||
|
<Path>C:\nvtt\project\vc10\bc6-01-eigen-solver.vsp</Path>
|
||||||
|
</Report>
|
||||||
|
<Report>
|
||||||
|
<Path>C:\nvtt\project\vc10\bc6-02-no-double.vsp</Path>
|
||||||
|
</Report>
|
||||||
|
</Reports>
|
||||||
|
<Launches>
|
||||||
|
<ProjBinary>
|
||||||
|
<Path>:PB:{88079E38-83AA-4E8A-B18A-66A78D1B058B}|nvcompress\nvcompress.vcxproj</Path>
|
||||||
|
</ProjBinary>
|
||||||
|
</Launches>
|
||||||
|
<RuntimeMarks>
|
||||||
|
<MarkName>Mark One</MarkName>
|
||||||
|
<MarkName>Mark Two</MarkName>
|
||||||
|
<MarkName>Mark Three</MarkName>
|
||||||
|
<MarkName>Mark Four</MarkName>
|
||||||
|
<MarkName>Mark Five</MarkName>
|
||||||
|
<MarkName>Mark Six</MarkName>
|
||||||
|
<MarkName>Mark Seven</MarkName>
|
||||||
|
<MarkName>Mark Eight</MarkName>
|
||||||
|
<MarkName>Mark Nine</MarkName>
|
||||||
|
<MarkName>Mark Ten</MarkName>
|
||||||
|
</RuntimeMarks>
|
||||||
|
</VSPerformanceSession>
|
@ -178,6 +178,9 @@
|
|||||||
<None Include="nvidia.ico" />
|
<None Include="nvidia.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\bc6h\bc6h.vcxproj">
|
||||||
|
<Project>{c33787e3-5564-4834-9fe3-a9020455a669}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
||||||
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
@ -352,6 +352,9 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\bc6h\bc6h.vcxproj">
|
||||||
|
<Project>{c33787e3-5564-4834-9fe3-a9020455a669}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
||||||
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
@ -178,6 +178,9 @@
|
|||||||
<None Include="nvidia.ico" />
|
<None Include="nvidia.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\bc6h\bc6h.vcxproj">
|
||||||
|
<Project>{c33787e3-5564-4834-9fe3-a9020455a669}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
||||||
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
@ -204,6 +204,9 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\bc6h\bc6h.vcxproj">
|
||||||
|
<Project>{c33787e3-5564-4834-9fe3-a9020455a669}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
||||||
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
@ -206,6 +206,9 @@
|
|||||||
<ResourceCompile Include="nvimgdiff.rc" />
|
<ResourceCompile Include="nvimgdiff.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\bc6h\bc6h.vcxproj">
|
||||||
|
<Project>{c33787e3-5564-4834-9fe3-a9020455a669}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
||||||
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
@ -3,6 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 11.00
|
|||||||
# Visual Studio 2010
|
# Visual Studio 2010
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A08D9CB4-C9D8-46EF-A74D-0EAB11FE34C5}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A08D9CB4-C9D8-46EF-A74D-0EAB11FE34C5}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
bc6.psess = bc6.psess
|
||||||
nvconfig.h = nvconfig.h
|
nvconfig.h = nvconfig.h
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -239,25 +240,31 @@ Global
|
|||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.ActiveCfg = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.Build.0 = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.Build.0 = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|x64.ActiveCfg = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|x64.Build.0 = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.Build.0 = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.Build.0 = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|x64.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.ActiveCfg = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.Build.0 = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.Build.0 = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|x64.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|x64.Build.0 = Release|Any CPU
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.Build.0 = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.Build.0 = Debug|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.ActiveCfg = Debug-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.Build.0 = Debug-CUDA|Win32
|
||||||
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.ActiveCfg = Debug-CUDA|x64
|
||||||
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.Build.0 = Debug-CUDA|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.ActiveCfg = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.Build.0 = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.Build.0 = Release|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.ActiveCfg = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.ActiveCfg = Release|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.Build.0 = Release|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.ActiveCfg = Release-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.Build.0 = Release-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.Build.0 = Release|x64
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.ActiveCfg = Release-CUDA|x64
|
||||||
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.Build.0 = Release-CUDA|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.ActiveCfg = Debug|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.Build.0 = Debug|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|x64.ActiveCfg = Debug|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
@ -148,7 +148,7 @@
|
|||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
</PrecompiledHeader>
|
</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>cudart.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>cudart.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
@ -242,6 +242,7 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Message>Copying header files...</Message>
|
<Message>Copying header files...</Message>
|
||||||
@ -283,6 +284,7 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
<CudaCompile>
|
<CudaCompile>
|
||||||
<TargetMachinePlatform>64</TargetMachinePlatform>
|
<TargetMachinePlatform>64</TargetMachinePlatform>
|
||||||
@ -302,7 +304,7 @@
|
|||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
</PrecompiledHeader>
|
</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
@ -355,8 +357,7 @@
|
|||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
</PrecompiledHeader>
|
</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</DebugInformationFormat>
|
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
@ -369,6 +370,7 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Message>Copying header files...</Message>
|
<Message>Copying header files...</Message>
|
||||||
@ -384,6 +386,7 @@
|
|||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;NVTT_EXPORTS;NVTT_SHARED;__SSE2__;__SSE__;__MMX__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;NVTT_EXPORTS;NVTT_SHARED;__SSE2__;__SSE__;__MMX__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalLibraryDirectories>$(CUDA_LIB_PATH)\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(CUDA_LIB_PATH)\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
@ -397,6 +400,7 @@
|
|||||||
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(SolutionDir)\$(Configuration).$(Platform)\lib\$(ProjectName).lib</ImportLibrary>
|
||||||
<TargetMachine>MachineX64</TargetMachine>
|
<TargetMachine>MachineX64</TargetMachine>
|
||||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@ -415,16 +419,7 @@
|
|||||||
<ClInclude Include="..\..\..\src\nvtt\CompressionOptions.h" />
|
<ClInclude Include="..\..\..\src\nvtt\CompressionOptions.h" />
|
||||||
<ClInclude Include="..\..\..\src\nvtt\Compressor.h" />
|
<ClInclude Include="..\..\..\src\nvtt\Compressor.h" />
|
||||||
<ClInclude Include="..\..\..\src\nvtt\CompressorDX10.h" />
|
<ClInclude Include="..\..\..\src\nvtt\CompressorDX10.h" />
|
||||||
<ClInclude Include="..\..\..\src\nvtt\CompressorDX11.h">
|
<ClInclude Include="..\..\..\src\nvtt\CompressorDX11.h" />
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'">true</ExcludedFromBuild>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\..\..\src\nvtt\CompressorDX9.h" />
|
<ClInclude Include="..\..\..\src\nvtt\CompressorDX9.h" />
|
||||||
<ClInclude Include="..\..\..\src\nvtt\CompressorRGB.h" />
|
<ClInclude Include="..\..\..\src\nvtt\CompressorRGB.h" />
|
||||||
<ClInclude Include="..\..\..\src\nvtt\Context.h" />
|
<ClInclude Include="..\..\..\src\nvtt\Context.h" />
|
||||||
@ -457,16 +452,7 @@
|
|||||||
<ClCompile Include="..\..\..\src\nvtt\ClusterFit.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\ClusterFit.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\nvtt\CompressionOptions.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\CompressionOptions.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\nvtt\CompressorDX10.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\CompressorDX10.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\nvtt\CompressorDX11.cpp">
|
<ClCompile Include="..\..\..\src\nvtt\CompressorDX11.cpp" />
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\..\src\nvtt\CompressorDX9.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\CompressorDX9.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\nvtt\CompressorRGB.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\CompressorRGB.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\nvtt\Context.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\Context.cpp" />
|
||||||
|
@ -197,6 +197,9 @@
|
|||||||
<ResourceCompile Include="nvzoom.rc" />
|
<ResourceCompile Include="nvzoom.rc" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\bc6h\bc6h.vcxproj">
|
||||||
|
<Project>{c33787e3-5564-4834-9fe3-a9020455a669}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
<ProjectReference Include="..\nvcore\nvcore.vcxproj">
|
||||||
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
<Project>{f143d180-d4c4-4037-b3de-be89a21c8d1d}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug-CUDA|Win32">
|
||||||
|
<Configuration>Debug-CUDA</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug-CUDA|x64">
|
||||||
|
<Configuration>Debug-CUDA</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -9,6 +17,14 @@
|
|||||||
<Configuration>Debug</Configuration>
|
<Configuration>Debug</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release-CUDA|Win32">
|
||||||
|
<Configuration>Release-CUDA</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release-CUDA|x64">
|
||||||
|
<Configuration>Release-CUDA</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@ -30,19 +46,37 @@
|
|||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@ -50,33 +84,61 @@
|
|||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(SolutionDir)\nvtt.props" />
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(SolutionDir)\nvtt.props" />
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(SolutionDir)\nvtt.props" />
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="$(SolutionDir)\nvtt.props" />
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="$(SolutionDir)\nvtt.props" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(Platform)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(Platform)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'">true</LinkIncremental>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'">true</LinkIncremental>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'">$(SolutionDir)\$(Configuration).$(Platform)\bin\</OutDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(Platform)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(Platform)\</IntDir>
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'">false</LinkIncremental>
|
||||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'">false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
@ -102,6 +164,30 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MinimalRebuild>true</MinimalRebuild>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
@ -124,6 +210,28 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-CUDA|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -151,6 +259,33 @@
|
|||||||
<TargetMachine>MachineX86</TargetMachine>
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>
|
||||||
|
</DebugInformationFormat>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
@ -177,6 +312,32 @@
|
|||||||
</DataExecutionPrevention>
|
</DataExecutionPrevention>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-CUDA|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\..\..\src;$(SolutionDir)\..\..\extern\poshlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||||
|
<PrecompiledHeader>
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<DebugInformationFormat>
|
||||||
|
</DebugInformationFormat>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||||
|
<DataExecutionPrevention>
|
||||||
|
</DataExecutionPrevention>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\..\src\nvtt\tests\testsuite.cpp" />
|
<ClCompile Include="..\..\..\src\nvtt\tests\testsuite.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -31,6 +31,14 @@ namespace Nvidia.TextureTools
|
|||||||
BC3n = DXT5n,
|
BC3n = DXT5n,
|
||||||
BC4,
|
BC4,
|
||||||
BC5,
|
BC5,
|
||||||
|
|
||||||
|
DXT1n, // Not supported on CPU yet.
|
||||||
|
CTX1, // Not supported on CPU yet.
|
||||||
|
|
||||||
|
BC6,
|
||||||
|
BC7, // Not supported yet.
|
||||||
|
|
||||||
|
DXT1_Luma,
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvcompress", "nvcompress\nv
|
|||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647} = {1AEB7681-57D8-48EE-813D-5C41CC38B647}
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647} = {1AEB7681-57D8-48EE-813D-5C41CC38B647}
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
||||||
|
{C33787E3-5564-4834-9FE3-A9020455A669} = {C33787E3-5564-4834-9FE3-A9020455A669}
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -36,6 +37,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvddsinfo", "nvddsinfo\nvdd
|
|||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
||||||
|
{C33787E3-5564-4834-9FE3-A9020455A669} = {C33787E3-5564-4834-9FE3-A9020455A669}
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -43,6 +45,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvdecompress", "nvdecompres
|
|||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
||||||
|
{C33787E3-5564-4834-9FE3-A9020455A669} = {C33787E3-5564-4834-9FE3-A9020455A669}
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -50,6 +53,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvimgdiff", "nvimgdiff\nvim
|
|||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
||||||
|
{C33787E3-5564-4834-9FE3-A9020455A669} = {C33787E3-5564-4834-9FE3-A9020455A669}
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -57,6 +61,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvassemble", "nvassemble\nv
|
|||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
||||||
|
{C33787E3-5564-4834-9FE3-A9020455A669} = {C33787E3-5564-4834-9FE3-A9020455A669}
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -64,6 +69,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nvzoom", "nvzoom\nvzoom.vcp
|
|||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D} = {F143D180-D4C4-4037-B3DE-BE89A21C8D1D}
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
{4046F392-A18B-4C66-9639-3EABFFF5D531} = {4046F392-A18B-4C66-9639-3EABFFF5D531}
|
||||||
|
{C33787E3-5564-4834-9FE3-A9020455A669} = {C33787E3-5564-4834-9FE3-A9020455A669}
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
{50C465FE-B308-42BC-894D-89484482AF06} = {50C465FE-B308-42BC-894D-89484482AF06}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
@ -106,445 +112,302 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hdrtest", "hdrtest\hdrtest.
|
|||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Mixed Platforms = Debug|Mixed Platforms
|
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
Debug-CUDA|Mixed Platforms = Debug-CUDA|Mixed Platforms
|
|
||||||
Debug-CUDA|Win32 = Debug-CUDA|Win32
|
Debug-CUDA|Win32 = Debug-CUDA|Win32
|
||||||
Debug-CUDA|x64 = Debug-CUDA|x64
|
Debug-CUDA|x64 = Debug-CUDA|x64
|
||||||
Release|Mixed Platforms = Release|Mixed Platforms
|
|
||||||
Release|Win32 = Release|Win32
|
Release|Win32 = Release|Win32
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
Release-CUDA|Mixed Platforms = Release-CUDA|Mixed Platforms
|
|
||||||
Release-CUDA|Win32 = Release-CUDA|Win32
|
Release-CUDA|Win32 = Release-CUDA|Win32
|
||||||
Release-CUDA|x64 = Release-CUDA|x64
|
Release-CUDA|x64 = Release-CUDA|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|Win32.ActiveCfg = Debug|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|Win32.Build.0 = Debug|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|x64.ActiveCfg = Debug|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|x64.Build.0 = Debug|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug|x64.Build.0 = Debug|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug-CUDA|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|Mixed Platforms.Build.0 = Debug-CUDA|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|Win32.ActiveCfg = Debug-CUDA|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|Win32.ActiveCfg = Debug-CUDA|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|Win32.Build.0 = Debug-CUDA|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|Win32.Build.0 = Debug-CUDA|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|x64.ActiveCfg = Debug-CUDA|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|x64.ActiveCfg = Debug-CUDA|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|x64.Build.0 = Debug-CUDA|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Debug-CUDA|x64.Build.0 = Debug-CUDA|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|Win32.ActiveCfg = Release|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|Win32.Build.0 = Release|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|Win32.Build.0 = Release|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|x64.ActiveCfg = Release|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|x64.ActiveCfg = Release|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|x64.Build.0 = Release|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release|x64.Build.0 = Release|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|Mixed Platforms.ActiveCfg = Release-CUDA|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|Mixed Platforms.Build.0 = Release-CUDA|x64
|
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|Win32.ActiveCfg = Release-CUDA|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|Win32.ActiveCfg = Release-CUDA|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|Win32.Build.0 = Release-CUDA|Win32
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|Win32.Build.0 = Release-CUDA|Win32
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|x64.ActiveCfg = Release-CUDA|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|x64.ActiveCfg = Release-CUDA|x64
|
||||||
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|x64.Build.0 = Release-CUDA|x64
|
{1AEB7681-57D8-48EE-813D-5C41CC38B647}.Release-CUDA|x64.Build.0 = Release-CUDA|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|Win32.ActiveCfg = Debug|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|Win32.Build.0 = Debug|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|x64.ActiveCfg = Debug|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|x64.Build.0 = Debug|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug|x64.Build.0 = Debug|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug-CUDA|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|Mixed Platforms.Build.0 = Debug-CUDA|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|Win32.ActiveCfg = Debug-CUDA|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|Win32.ActiveCfg = Debug-CUDA|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|Win32.Build.0 = Debug-CUDA|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|Win32.Build.0 = Debug-CUDA|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|x64.ActiveCfg = Debug-CUDA|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|x64.ActiveCfg = Debug-CUDA|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|x64.Build.0 = Debug-CUDA|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Debug-CUDA|x64.Build.0 = Debug-CUDA|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|Win32.ActiveCfg = Release|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|Win32.Build.0 = Release|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|Win32.Build.0 = Release|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|x64.ActiveCfg = Release|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|x64.ActiveCfg = Release|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|x64.Build.0 = Release|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release|x64.Build.0 = Release|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|Mixed Platforms.ActiveCfg = Release-CUDA|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|Mixed Platforms.Build.0 = Release-CUDA|x64
|
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|Win32.ActiveCfg = Release-CUDA|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|Win32.ActiveCfg = Release-CUDA|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|Win32.Build.0 = Release-CUDA|Win32
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|Win32.Build.0 = Release-CUDA|Win32
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|x64.ActiveCfg = Release-CUDA|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|x64.ActiveCfg = Release-CUDA|x64
|
||||||
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|x64.Build.0 = Release-CUDA|x64
|
{88079E38-83AA-4E8A-B18A-66A78D1B058B}.Release-CUDA|x64.Build.0 = Release-CUDA|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|Win32.ActiveCfg = Debug|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|Win32.Build.0 = Debug|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|x64.ActiveCfg = Debug|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|x64.Build.0 = Debug|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug|x64.Build.0 = Debug|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|Win32.ActiveCfg = Release|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|Win32.Build.0 = Release|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|Win32.Build.0 = Release|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|x64.ActiveCfg = Release|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|x64.ActiveCfg = Release|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|x64.Build.0 = Release|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release|x64.Build.0 = Release|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|x64.Build.0 = Release|x64
|
{4046F392-A18B-4C66-9639-3EABFFF5D531}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|Win32.ActiveCfg = Debug|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|Win32.Build.0 = Debug|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|x64.ActiveCfg = Debug|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|x64.Build.0 = Debug|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug|x64.Build.0 = Debug|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|Win32.ActiveCfg = Release|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|Win32.Build.0 = Release|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|Win32.Build.0 = Release|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|x64.ActiveCfg = Release|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|x64.ActiveCfg = Release|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|x64.Build.0 = Release|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release|x64.Build.0 = Release|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|x64.Build.0 = Release|x64
|
{F143D180-D4C4-4037-B3DE-BE89A21C8D1D}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|Win32.ActiveCfg = Debug|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|Win32.Build.0 = Debug|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|x64.ActiveCfg = Debug|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|x64.Build.0 = Debug|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug|x64.Build.0 = Debug|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release|Win32.ActiveCfg = Release|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release|Win32.Build.0 = Release|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release|Win32.Build.0 = Release|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release|x64.ActiveCfg = Release|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release|x64.ActiveCfg = Release|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release|x64.Build.0 = Release|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release|x64.Build.0 = Release|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|x64.Build.0 = Release|x64
|
{50C465FE-B308-42BC-894D-89484482AF06}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|Win32.ActiveCfg = Debug|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|Win32.Build.0 = Debug|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|x64.ActiveCfg = Debug|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|x64.Build.0 = Debug|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|Win32.ActiveCfg = Release|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|Win32.Build.0 = Release|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|Win32.Build.0 = Release|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|x64.ActiveCfg = Release|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|x64.Build.0 = Release|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release|x64.Build.0 = Release|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|x64.Build.0 = Release|x64
|
{CE017322-01FC-4851-9C8B-64E9A8E26C38}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|Win32.ActiveCfg = Debug|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|Win32.Build.0 = Debug|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|x64.ActiveCfg = Debug|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|x64.Build.0 = Debug|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug|x64.Build.0 = Debug|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|Win32.ActiveCfg = Release|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|Win32.Build.0 = Release|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|Win32.Build.0 = Release|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|x64.ActiveCfg = Release|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|x64.ActiveCfg = Release|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|x64.Build.0 = Release|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release|x64.Build.0 = Release|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|x64.Build.0 = Release|x64
|
{841B73C5-C679-4EEF-A50A-7D6106642B49}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|Win32.ActiveCfg = Debug|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|Win32.Build.0 = Debug|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|x64.ActiveCfg = Debug|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|x64.Build.0 = Debug|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug|x64.Build.0 = Debug|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|Win32.ActiveCfg = Release|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|Win32.Build.0 = Release|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|Win32.Build.0 = Release|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|x64.ActiveCfg = Release|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|x64.ActiveCfg = Release|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|x64.Build.0 = Release|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release|x64.Build.0 = Release|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|x64.Build.0 = Release|x64
|
{75A0527D-BFC9-49C3-B46B-CD1A901D5927}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|Win32.ActiveCfg = Debug|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|Win32.Build.0 = Debug|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|x64.ActiveCfg = Debug|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|x64.Build.0 = Debug|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug|x64.Build.0 = Debug|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|Win32.ActiveCfg = Release|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|Win32.Build.0 = Release|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|Win32.Build.0 = Release|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|x64.ActiveCfg = Release|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|x64.ActiveCfg = Release|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|x64.Build.0 = Release|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release|x64.Build.0 = Release|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|x64.Build.0 = Release|x64
|
{05A59E8B-EA70-4F22-89E8-E0927BA13064}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|Win32.ActiveCfg = Debug|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|Win32.Build.0 = Debug|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|x64.ActiveCfg = Debug|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|x64.Build.0 = Debug|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug|x64.Build.0 = Debug|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|Win32.ActiveCfg = Release|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|Win32.Build.0 = Release|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|Win32.Build.0 = Release|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|x64.ActiveCfg = Release|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|x64.ActiveCfg = Release|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|x64.Build.0 = Release|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release|x64.Build.0 = Release|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|x64.Build.0 = Release|x64
|
{3BC6D760-91E8-4FFB-BD0E-F86F367AD8EA}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|Win32.ActiveCfg = Debug|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|Win32.Build.0 = Debug|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|x64.ActiveCfg = Debug|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|x64.Build.0 = Debug|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug|x64.Build.0 = Debug|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|Win32.ActiveCfg = Release|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|Win32.Build.0 = Release|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|Win32.Build.0 = Release|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|x64.ActiveCfg = Release|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|x64.ActiveCfg = Release|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|x64.Build.0 = Release|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release|x64.Build.0 = Release|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|x64.Build.0 = Release|x64
|
{51999D3E-EF22-4BDD-965F-4201034D3DCE}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|Win32.Build.0 = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|Win32.Build.0 = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|x64.Build.0 = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|Any CPU
|
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.ActiveCfg = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.ActiveCfg = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.Build.0 = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|Win32.Build.0 = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|x64.ActiveCfg = Debug|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|x64.ActiveCfg = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Debug-CUDA|x64.Build.0 = Debug|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.Build.0 = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|Win32.Build.0 = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|x64.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Mixed Platforms.Build.0 = Release|Any CPU
|
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.ActiveCfg = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.Build.0 = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|Win32.Build.0 = Release|Any CPU
|
||||||
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|x64.ActiveCfg = Release|Any CPU
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|x64.ActiveCfg = Release|Any CPU
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
{CAB55C39-8FA9-4912-98D9-E52669C8911D}.Release-CUDA|x64.Build.0 = Release|Any CPU
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.Build.0 = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.ActiveCfg = Debug|x64
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.Build.0 = Debug|x64
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug|x64.Build.0 = Debug|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.ActiveCfg = Debug-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.Build.0 = Debug-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.ActiveCfg = Debug-CUDA|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.Build.0 = Debug-CUDA|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Debug-CUDA|x64.Build.0 = Debug|x64
|
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Mixed Platforms.Build.0 = Release|Win32
|
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.ActiveCfg = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.Build.0 = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|Win32.Build.0 = Release|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.ActiveCfg = Release|x64
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.ActiveCfg = Release|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.Build.0 = Release|x64
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release|x64.Build.0 = Release|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.ActiveCfg = Release-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Mixed Platforms.Build.0 = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.Build.0 = Release-CUDA|Win32
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.ActiveCfg = Release-CUDA|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.Build.0 = Release-CUDA|x64
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.ActiveCfg = Release|x64
|
|
||||||
{317B694E-B5C1-42A6-956F-FC12B69175A6}.Release-CUDA|x64.Build.0 = Release|x64
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.ActiveCfg = Debug|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.Build.0 = Debug|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|x64.ActiveCfg = Debug|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|x64.Build.0 = Debug|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug|x64.Build.0 = Debug|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|Win32
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|Win32
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|Win32.ActiveCfg = Release|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|Win32.Build.0 = Release|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|Win32.Build.0 = Release|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|x64.ActiveCfg = Release|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|x64.ActiveCfg = Release|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|x64.Build.0 = Release|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release|x64.Build.0 = Release|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|Win32
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|Mixed Platforms.Build.0 = Release|Win32
|
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|x64.Build.0 = Release|x64
|
{7DCF280E-702B-49F3-84A7-AE7E146384D6}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|Win32.ActiveCfg = Debug|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|Win32.Build.0 = Debug|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|x64.ActiveCfg = Debug|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|x64.Build.0 = Debug|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug|x64.Build.0 = Debug|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|Mixed Platforms.Build.0 = Release|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|Win32.ActiveCfg = Release|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|Win32.Build.0 = Release|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|Win32.Build.0 = Release|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|x64.ActiveCfg = Release|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|x64.ActiveCfg = Release|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|x64.Build.0 = Release|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release|x64.Build.0 = Release|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|Mixed Platforms.Build.0 = Release|Win32
|
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|x64.Build.0 = Release|x64
|
{C33787E3-5564-4834-9FE3-A9020455A669}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|Win32.ActiveCfg = Debug|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|Win32.Build.0 = Debug|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|x64.ActiveCfg = Debug|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|x64.Build.0 = Debug|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug|x64.Build.0 = Debug|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|Win32.ActiveCfg = Release|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|Win32.Build.0 = Release|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|Win32.Build.0 = Release|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|x64.ActiveCfg = Release|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|x64.ActiveCfg = Release|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|x64.Build.0 = Release|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release|x64.Build.0 = Release|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|x64.Build.0 = Release|x64
|
{3DD3A43D-C6EA-460F-821B-6C339A03C5BB}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|Win32.ActiveCfg = Debug|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|Win32.Build.0 = Debug|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|x64.ActiveCfg = Debug|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|x64.Build.0 = Debug|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug|x64.Build.0 = Debug|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|Win32.ActiveCfg = Release|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|Win32.Build.0 = Release|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|Win32.Build.0 = Release|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|x64.ActiveCfg = Release|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|x64.ActiveCfg = Release|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|x64.Build.0 = Release|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release|x64.Build.0 = Release|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|Win32.Build.0 = Release|Win32
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|x64.Build.0 = Release|x64
|
{CFB3FEAC-5720-4B16-9D7E-039DB180B641}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
|
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|Mixed Platforms.Build.0 = Debug|x64
|
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|Win32.ActiveCfg = Debug|Win32
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|Win32.Build.0 = Debug|Win32
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|x64.ActiveCfg = Debug|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|x64.Build.0 = Debug|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug|x64.Build.0 = Debug|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|Mixed Platforms.ActiveCfg = Debug|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|Win32.ActiveCfg = Debug|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|Mixed Platforms.Build.0 = Debug|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|Win32.Build.0 = Debug|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|Win32.ActiveCfg = Debug|x64
|
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|x64.ActiveCfg = Debug|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|x64.Build.0 = Debug|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Debug-CUDA|x64.Build.0 = Debug|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|Mixed Platforms.Build.0 = Release|x64
|
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|Win32.ActiveCfg = Release|Win32
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|Win32.Build.0 = Release|Win32
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|Win32.Build.0 = Release|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|x64.ActiveCfg = Release|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|x64.ActiveCfg = Release|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|x64.Build.0 = Release|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release|x64.Build.0 = Release|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|Mixed Platforms.ActiveCfg = Release|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|Win32.ActiveCfg = Release|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|Mixed Platforms.Build.0 = Release|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|Win32.Build.0 = Release|Win32
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|Win32.ActiveCfg = Release|x64
|
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|x64.ActiveCfg = Release|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|x64.ActiveCfg = Release|x64
|
||||||
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|x64.Build.0 = Release|x64
|
{E493E368-A4CF-4A8D-99DD-E128CC3A27EF}.Release-CUDA|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
@ -916,138 +916,10 @@
|
|||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\src\nvtt\CompressorDX11.cpp"
|
RelativePath="..\..\..\src\nvtt\CompressorDX11.cpp"
|
||||||
>
|
>
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug-CUDA|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug-CUDA|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release-CUDA|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release-CUDA|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\src\nvtt\CompressorDX11.h"
|
RelativePath="..\..\..\src\nvtt\CompressorDX11.h"
|
||||||
>
|
>
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug-CUDA|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug-CUDA|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release-CUDA|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release-CUDA|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\..\src\nvtt\CompressorDX9.cpp"
|
RelativePath="..\..\..\src\nvtt\CompressorDX9.cpp"
|
||||||
|
@ -97,85 +97,6 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(ConfigurationName)\$(PlatformName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)\$(PlatformName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(SolutionDir)\nvtt.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories="..;..\..\..\src"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableEnhancedInstructionSet="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="FreeImage.lib jpeg.lib libpng.lib tiff.lib zlib.lib"
|
|
||||||
OutputFile="$(SolutionDir)\$(ConfigurationName).$(PlatformName)\bin\$(ProjectName).exe"
|
|
||||||
LinkIncremental="1"
|
|
||||||
AdditionalLibraryDirectories="$(GnuWinDir)\lib;$(FreeImageDir)"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
@ -255,6 +176,85 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)\$(PlatformName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)\$(PlatformName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="$(SolutionDir)\nvtt.vsprops"
|
||||||
|
CharacterSet="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..;..\..\..\src"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
|
StringPooling="true"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
EnableEnhancedInstructionSet="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="FreeImage.lib jpeg.lib libpng.lib tiff.lib zlib.lib"
|
||||||
|
OutputFile="$(SolutionDir)\$(ConfigurationName).$(PlatformName)\bin\$(ProjectName).exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
AdditionalLibraryDirectories="$(GnuWinDir)\lib;$(FreeImageDir)"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|x64"
|
Name="Release|x64"
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
@ -335,6 +335,322 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug-CUDA|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="$(SolutionDir)\nvtt.vsprops"
|
||||||
|
CharacterSet="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..;..\..\..\src"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="FreeImage.lib jpeg.lib libpng.lib tiff.lib zlib.lib"
|
||||||
|
OutputFile="$(SolutionDir)\$(ConfigurationName).$(PlatformName)\bin\$(ProjectName).exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
AdditionalLibraryDirectories="$(GnuWinDir)\lib;$(FreeImageDir)"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug-CUDA|x64"
|
||||||
|
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="$(SolutionDir)\nvtt.vsprops"
|
||||||
|
CharacterSet="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..;..\..\..\src"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="FreeImage.lib jpeg.lib libpng.lib tiff.lib zlib.lib"
|
||||||
|
OutputFile="$(SolutionDir)\$(ConfigurationName).$(PlatformName)\bin\$(ProjectName).exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
AdditionalLibraryDirectories="$(GnuWinDir)\lib;$(FreeImageDir)"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release-CUDA|Win32"
|
||||||
|
OutputDirectory="$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="$(SolutionDir)\nvtt.vsprops"
|
||||||
|
CharacterSet="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..;..\..\..\src"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
|
StringPooling="true"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
EnableEnhancedInstructionSet="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="FreeImage.lib jpeg.lib libpng.lib tiff.lib zlib.lib"
|
||||||
|
OutputFile="$(SolutionDir)\$(ConfigurationName).$(PlatformName)\bin\$(ProjectName).exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
AdditionalLibraryDirectories="$(GnuWinDir)\lib;$(FreeImageDir)"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release-CUDA|x64"
|
||||||
|
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="$(SolutionDir)\nvtt.vsprops"
|
||||||
|
CharacterSet="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
TargetEnvironment="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="..;..\..\..\src"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||||
|
StringPooling="true"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
EnableEnhancedInstructionSet="2"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies="FreeImage.lib jpeg.lib libpng.lib tiff.lib zlib.lib"
|
||||||
|
OutputFile="$(SolutionDir)\$(ConfigurationName).$(PlatformName)\bin\$(ProjectName).exe"
|
||||||
|
LinkIncremental="1"
|
||||||
|
AdditionalLibraryDirectories="$(GnuWinDir)\lib;$(FreeImageDir)"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="1"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="17"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
|
@ -26,6 +26,10 @@
|
|||||||
|
|
||||||
#include "nvcore/Stream.h"
|
#include "nvcore/Stream.h"
|
||||||
#include "nvcore/Utils.h" // swap
|
#include "nvcore/Utils.h" // swap
|
||||||
|
#include "nvmath/Half.h"
|
||||||
|
|
||||||
|
#include "nvtt/bc6h/zoh.h"
|
||||||
|
#include "nvtt/bc6h/utils.h"
|
||||||
|
|
||||||
|
|
||||||
using namespace nv;
|
using namespace nv;
|
||||||
@ -610,6 +614,33 @@ void BlockCTX1::setIndices(int * idx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Decode BC6 block.
|
||||||
|
void BlockBC6::decodeBlock(ColorSet * set) const
|
||||||
|
{
|
||||||
|
Tile tile(4, 4);
|
||||||
|
ZOH::decompress((const char *)data, tile);
|
||||||
|
|
||||||
|
// Convert ZOH's tile struct back to NVTT's, and convert half to float.
|
||||||
|
set->allocate(4, 4);
|
||||||
|
for (uint y = 0; y < 4; ++y)
|
||||||
|
{
|
||||||
|
for (uint x = 0; x < 4; ++x)
|
||||||
|
{
|
||||||
|
uint16 rHalf = Tile::float2half(tile.data[y][x].x);
|
||||||
|
uint16 gHalf = Tile::float2half(tile.data[y][x].y);
|
||||||
|
uint16 bHalf = Tile::float2half(tile.data[y][x].z);
|
||||||
|
set->colors[y * 4 + x].x = to_float(rHalf);
|
||||||
|
set->colors[y * 4 + x].y = to_float(gHalf);
|
||||||
|
set->colors[y * 4 + x].z = to_float(bHalf);
|
||||||
|
set->colors[y * 4 + x].w = 1.0f;
|
||||||
|
|
||||||
|
// Set indices in case someone uses them
|
||||||
|
set->indices[y * 4 + x] = y * 4 + x;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// Flip CTX1 block vertically.
|
/// Flip CTX1 block vertically.
|
||||||
inline void BlockCTX1::flip4()
|
inline void BlockCTX1::flip4()
|
||||||
{
|
{
|
||||||
@ -671,3 +702,8 @@ Stream & nv::operator<<(Stream & stream, BlockCTX1 & block)
|
|||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Stream & nv::operator<<(Stream & stream, BlockBC6 & block)
|
||||||
|
{
|
||||||
|
stream.serialize(&block, sizeof(block));
|
||||||
|
return stream;
|
||||||
|
}
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
namespace nv
|
namespace nv
|
||||||
{
|
{
|
||||||
struct ColorBlock;
|
struct ColorBlock;
|
||||||
|
struct ColorSet;
|
||||||
class Stream;
|
class Stream;
|
||||||
|
|
||||||
|
|
||||||
@ -212,6 +213,15 @@ namespace nv
|
|||||||
void flip2();
|
void flip2();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// BC6 block.
|
||||||
|
struct BlockBC6
|
||||||
|
{
|
||||||
|
uint8 data[16]; // Not even going to try to write a union for this thing.
|
||||||
|
void decodeBlock(ColorSet * set) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// !!!UNDONE: BC7 block
|
||||||
|
|
||||||
|
|
||||||
// Serialization functions.
|
// Serialization functions.
|
||||||
NVIMAGE_API Stream & operator<<(Stream & stream, BlockDXT1 & block);
|
NVIMAGE_API Stream & operator<<(Stream & stream, BlockDXT1 & block);
|
||||||
@ -222,6 +232,7 @@ namespace nv
|
|||||||
NVIMAGE_API Stream & operator<<(Stream & stream, BlockATI1 & block);
|
NVIMAGE_API Stream & operator<<(Stream & stream, BlockATI1 & block);
|
||||||
NVIMAGE_API Stream & operator<<(Stream & stream, BlockATI2 & block);
|
NVIMAGE_API Stream & operator<<(Stream & stream, BlockATI2 & block);
|
||||||
NVIMAGE_API Stream & operator<<(Stream & stream, BlockCTX1 & block);
|
NVIMAGE_API Stream & operator<<(Stream & stream, BlockCTX1 & block);
|
||||||
|
NVIMAGE_API Stream & operator<<(Stream & stream, BlockBC6 & block);
|
||||||
|
|
||||||
} // nv namespace
|
} // nv namespace
|
||||||
|
|
||||||
|
@ -950,7 +950,8 @@ bool DirectDrawSurface::isSupported() const
|
|||||||
header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM ||
|
header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM ||
|
||||||
header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM ||
|
header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM ||
|
||||||
header.header10.dxgiFormat == DXGI_FORMAT_BC4_UNORM ||
|
header.header10.dxgiFormat == DXGI_FORMAT_BC4_UNORM ||
|
||||||
header.header10.dxgiFormat == DXGI_FORMAT_BC5_UNORM)
|
header.header10.dxgiFormat == DXGI_FORMAT_BC5_UNORM ||
|
||||||
|
header.header10.dxgiFormat == DXGI_FORMAT_BC6H_UF16)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1340,13 +1341,12 @@ void DirectDrawSurface::readBlock(ColorBlock * rgba)
|
|||||||
if (header.hasDX10Header())
|
if (header.hasDX10Header())
|
||||||
{
|
{
|
||||||
if (header.header10.dxgiFormat == DXGI_FORMAT_BC1_UNORM) fourcc = FOURCC_DXT1;
|
if (header.header10.dxgiFormat == DXGI_FORMAT_BC1_UNORM) fourcc = FOURCC_DXT1;
|
||||||
if (header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM) fourcc = FOURCC_DXT3;
|
else if (header.header10.dxgiFormat == DXGI_FORMAT_BC2_UNORM) fourcc = FOURCC_DXT3;
|
||||||
if (header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM) fourcc = FOURCC_DXT5;
|
else if (header.header10.dxgiFormat == DXGI_FORMAT_BC3_UNORM) fourcc = FOURCC_DXT5;
|
||||||
if (header.header10.dxgiFormat == DXGI_FORMAT_BC4_UNORM) fourcc = FOURCC_ATI1;
|
else if (header.header10.dxgiFormat == DXGI_FORMAT_BC4_UNORM) fourcc = FOURCC_ATI1;
|
||||||
if (header.header10.dxgiFormat == DXGI_FORMAT_BC5_UNORM) fourcc = FOURCC_ATI2;
|
else if (header.header10.dxgiFormat == DXGI_FORMAT_BC5_UNORM) fourcc = FOURCC_ATI2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (fourcc == FOURCC_DXT1)
|
if (fourcc == FOURCC_DXT1)
|
||||||
{
|
{
|
||||||
BlockDXT1 block;
|
BlockDXT1 block;
|
||||||
@ -1389,6 +1389,31 @@ void DirectDrawSurface::readBlock(ColorBlock * rgba)
|
|||||||
*stream << block;
|
*stream << block;
|
||||||
block.decodeBlock(rgba);
|
block.decodeBlock(rgba);
|
||||||
}
|
}
|
||||||
|
else if (header.hasDX10Header() && header.header10.dxgiFormat == DXGI_FORMAT_BC6H_UF16)
|
||||||
|
{
|
||||||
|
BlockBC6 block;
|
||||||
|
*stream << block;
|
||||||
|
ColorSet set;
|
||||||
|
block.decodeBlock(&set);
|
||||||
|
|
||||||
|
// Clamp to [0, 1] and round to 8-bit
|
||||||
|
for (int y = 0; y < 4; ++y)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < 4; ++x)
|
||||||
|
{
|
||||||
|
Vector4 px = set.colors[y*4 + x];
|
||||||
|
rgba->color(x, y).setRGBA(
|
||||||
|
uint8(clamp(px.x, 0.0f, 1.0f) * 255.0f + 0.5f),
|
||||||
|
uint8(clamp(px.y, 0.0f, 1.0f) * 255.0f + 0.5f),
|
||||||
|
uint8(clamp(px.z, 0.0f, 1.0f) * 255.0f + 0.5f),
|
||||||
|
uint8(clamp(px.w, 0.0f, 1.0f) * 255.0f + 0.5f));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nvDebugCheck(false);
|
||||||
|
}
|
||||||
|
|
||||||
// If normal flag set, convert to normal.
|
// If normal flag set, convert to normal.
|
||||||
if (header.pf.flags & DDPF_NORMAL)
|
if (header.pf.flags & DDPF_NORMAL)
|
||||||
|
@ -13,7 +13,7 @@ using namespace nv;
|
|||||||
// @@ Move to EigenSolver.h
|
// @@ Move to EigenSolver.h
|
||||||
|
|
||||||
// @@ We should be able to do something cheaper...
|
// @@ We should be able to do something cheaper...
|
||||||
static Vector3 estimatePrincipleComponent(const float * __restrict matrix)
|
static Vector3 estimatePrincipalComponent(const float * __restrict matrix)
|
||||||
{
|
{
|
||||||
const Vector3 row0(matrix[0], matrix[1], matrix[2]);
|
const Vector3 row0(matrix[0], matrix[1], matrix[2]);
|
||||||
const Vector3 row1(matrix[1], matrix[3], matrix[4]);
|
const Vector3 row1(matrix[1], matrix[3], matrix[4]);
|
||||||
@ -36,7 +36,7 @@ static inline Vector3 firstEigenVector_PowerMethod(const float *__restrict matri
|
|||||||
return Vector3(0.0f);
|
return Vector3(0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 v = estimatePrincipleComponent(matrix);
|
Vector3 v = estimatePrincipalComponent(matrix);
|
||||||
|
|
||||||
const int NUM = 8;
|
const int NUM = 8;
|
||||||
for (int i = 0; i < NUM; i++)
|
for (int i = 0; i < NUM; i++)
|
||||||
@ -136,7 +136,7 @@ Vector3 nv::Fit::computeCovariance(int n, const Vector3 *__restrict points, cons
|
|||||||
return centroid;
|
return centroid;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 nv::Fit::computePrincipalComponent(int n, const Vector3 *__restrict points)
|
Vector3 nv::Fit::computePrincipalComponent_PowerMethod(int n, const Vector3 *__restrict points)
|
||||||
{
|
{
|
||||||
float matrix[6];
|
float matrix[6];
|
||||||
computeCovariance(n, points, matrix);
|
computeCovariance(n, points, matrix);
|
||||||
@ -144,7 +144,7 @@ Vector3 nv::Fit::computePrincipalComponent(int n, const Vector3 *__restrict poin
|
|||||||
return firstEigenVector_PowerMethod(matrix);
|
return firstEigenVector_PowerMethod(matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 nv::Fit::computePrincipalComponent(int n, const Vector3 *__restrict points, const float *__restrict weights, Vector3::Arg metric)
|
Vector3 nv::Fit::computePrincipalComponent_PowerMethod(int n, const Vector3 *__restrict points, const float *__restrict weights, Vector3::Arg metric)
|
||||||
{
|
{
|
||||||
float matrix[6];
|
float matrix[6];
|
||||||
computeCovariance(n, points, weights, metric, matrix);
|
computeCovariance(n, points, weights, metric, matrix);
|
||||||
@ -153,6 +153,42 @@ Vector3 nv::Fit::computePrincipalComponent(int n, const Vector3 *__restrict poin
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static inline Vector3 firstEigenVector_EigenSolver(const float *__restrict matrix)
|
||||||
|
{
|
||||||
|
if (matrix[0] == 0 && matrix[3] == 0 && matrix[5] == 0)
|
||||||
|
{
|
||||||
|
return Vector3(0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
float eigenValues[3];
|
||||||
|
Vector3 eigenVectors[3];
|
||||||
|
if (!nv::Fit::eigenSolveSymmetric(matrix, eigenValues, eigenVectors))
|
||||||
|
{
|
||||||
|
return Vector3(0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
return eigenVectors[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 nv::Fit::computePrincipalComponent_EigenSolver(int n, const Vector3 *__restrict points)
|
||||||
|
{
|
||||||
|
float matrix[6];
|
||||||
|
computeCovariance(n, points, matrix);
|
||||||
|
|
||||||
|
return firstEigenVector_EigenSolver(matrix);
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 nv::Fit::computePrincipalComponent_EigenSolver(int n, const Vector3 *__restrict points, const float *__restrict weights, Vector3::Arg metric)
|
||||||
|
{
|
||||||
|
float matrix[6];
|
||||||
|
computeCovariance(n, points, weights, metric, matrix);
|
||||||
|
|
||||||
|
return firstEigenVector_EigenSolver(matrix);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Plane nv::Fit::bestPlane(int n, const Vector3 *__restrict points)
|
Plane nv::Fit::bestPlane(int n, const Vector3 *__restrict points)
|
||||||
{
|
{
|
||||||
// compute the centroid and covariance
|
// compute the centroid and covariance
|
||||||
@ -199,7 +235,7 @@ bool nv::Fit::isPlanar(int n, const Vector3 * points, float epsilon/*=NV_EPSILON
|
|||||||
static void EigenSolver_Tridiagonal(double mat[3][3],double * diag,double * subd);
|
static void EigenSolver_Tridiagonal(double mat[3][3],double * diag,double * subd);
|
||||||
static bool EigenSolver_QLAlgorithm(double mat[3][3],double * diag,double * subd);
|
static bool EigenSolver_QLAlgorithm(double mat[3][3],double * diag,double * subd);
|
||||||
|
|
||||||
bool nv::Fit::eigenSolveSymmetric(float matrix[6], float eigenValues[3], Vector3 eigenVectors[3])
|
bool nv::Fit::eigenSolveSymmetric(const float matrix[6], float eigenValues[3], Vector3 eigenVectors[3])
|
||||||
{
|
{
|
||||||
nvDebugCheck(matrix != NULL && eigenValues != NULL && eigenVectors != NULL);
|
nvDebugCheck(matrix != NULL && eigenValues != NULL && eigenVectors != NULL);
|
||||||
|
|
||||||
|
@ -17,13 +17,16 @@ namespace nv
|
|||||||
Vector3 computeCovariance(int n, const Vector3 * points, float * covariance);
|
Vector3 computeCovariance(int n, const Vector3 * points, float * covariance);
|
||||||
Vector3 computeCovariance(int n, const Vector3 * points, const float * weights, const Vector3 & metric, float * covariance);
|
Vector3 computeCovariance(int n, const Vector3 * points, const float * weights, const Vector3 & metric, float * covariance);
|
||||||
|
|
||||||
Vector3 computePrincipalComponent(int n, const Vector3 * points);
|
Vector3 computePrincipalComponent_PowerMethod(int n, const Vector3 * points);
|
||||||
Vector3 computePrincipalComponent(int n, const Vector3 * points, const float * weights, const Vector3 & metric);
|
Vector3 computePrincipalComponent_PowerMethod(int n, const Vector3 * points, const float * weights, const Vector3 & metric);
|
||||||
|
|
||||||
|
Vector3 computePrincipalComponent_EigenSolver(int n, const Vector3 * points);
|
||||||
|
Vector3 computePrincipalComponent_EigenSolver(int n, const Vector3 * points, const float * weights, const Vector3 & metric);
|
||||||
|
|
||||||
Plane bestPlane(int n, const Vector3 * points);
|
Plane bestPlane(int n, const Vector3 * points);
|
||||||
bool isPlanar(int n, const Vector3 * points, float epsilon = NV_EPSILON);
|
bool isPlanar(int n, const Vector3 * points, float epsilon = NV_EPSILON);
|
||||||
|
|
||||||
bool eigenSolveSymmetric (float matrix[6], float eigenValues[3], Vector3 eigenVectors[3]);
|
bool eigenSolveSymmetric (const float matrix[6], float eigenValues[3], Vector3 eigenVectors[3]);
|
||||||
|
|
||||||
|
|
||||||
// Returns number of clusters [1-4].
|
// Returns number of clusters [1-4].
|
||||||
|
@ -23,7 +23,9 @@ namespace nv {
|
|||||||
// http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf
|
// http://www.fox-toolkit.org/ftp/fasthalffloatconversion.pdf
|
||||||
inline uint32 fast_half_to_float(uint16 h)
|
inline uint32 fast_half_to_float(uint16 h)
|
||||||
{
|
{
|
||||||
nvDebugCheck(mantissa_table[0] == 0); // Make sure table was initialized.
|
// Initialize table if necessary.
|
||||||
|
if (mantissa_table[0] != 0)
|
||||||
|
half_init_tables();
|
||||||
uint exp = h >> 10;
|
uint exp = h >> 10;
|
||||||
return mantissa_table[offset_table[exp] + (h & 0x3ff)] + exponent_table[exp];
|
return mantissa_table[offset_table[exp] + (h & 0x3ff)] + exponent_table[exp];
|
||||||
}
|
}
|
||||||
|
@ -57,14 +57,14 @@ void ClusterFit::setColourSet(const ColorSet * set)
|
|||||||
values[i] = set->colors[i].xyz();
|
values[i] = set->colors[i].xyz();
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 principle = Fit::computePrincipalComponent(m_count, values, set->weights, metric);
|
Vector3 principal = Fit::computePrincipalComponent_PowerMethod(m_count, values, set->weights, metric);
|
||||||
|
|
||||||
// build the list of values
|
// build the list of values
|
||||||
int order[16];
|
int order[16];
|
||||||
float dps[16];
|
float dps[16];
|
||||||
for (uint i = 0; i < m_count; ++i)
|
for (uint i = 0; i < m_count; ++i)
|
||||||
{
|
{
|
||||||
dps[i] = dot(values[i], principle);
|
dps[i] = dot(values[i], principal);
|
||||||
order[i] = i;
|
order[i] = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,8 +24,11 @@
|
|||||||
|
|
||||||
#include "CompressorDX11.h"
|
#include "CompressorDX11.h"
|
||||||
|
|
||||||
|
#include <cstring>
|
||||||
#include "nvtt.h"
|
#include "nvtt.h"
|
||||||
#include "CompressionOptions.h"
|
#include "CompressionOptions.h"
|
||||||
|
#include "nvimage/ColorBlock.h"
|
||||||
|
#include "nvmath/Half.h"
|
||||||
|
|
||||||
#include "bc6h/zoh.h"
|
#include "bc6h/zoh.h"
|
||||||
#include "bc6h/utils.h"
|
#include "bc6h/utils.h"
|
||||||
@ -52,7 +55,26 @@ void CompressorBC6::compressBlock(ColorSet & tile, AlphaMode alphaMode, const Co
|
|||||||
Utils::FORMAT = SIGNED_F16;
|
Utils::FORMAT = SIGNED_F16;
|
||||||
}
|
}
|
||||||
|
|
||||||
ZOH::compress(tile, (char *)output);
|
// Convert NVTT's tile struct to ZOH's, and convert float to half.
|
||||||
|
Tile zohTile(tile.w, tile.h);
|
||||||
|
memset(zohTile.data, 0, sizeof(zohTile.data));
|
||||||
|
memset(zohTile.importance_map, 0, sizeof(zohTile.importance_map));
|
||||||
|
for (uint y = 0; y < tile.h; ++y)
|
||||||
|
{
|
||||||
|
for (uint x = 0; x < tile.w; ++x)
|
||||||
|
{
|
||||||
|
Vector3 color = tile.color(x, y).xyz();
|
||||||
|
uint16 rHalf = to_half(color.x);
|
||||||
|
uint16 gHalf = to_half(color.y);
|
||||||
|
uint16 bHalf = to_half(color.z);
|
||||||
|
zohTile.data[y][x].x = Tile::half2float(rHalf);
|
||||||
|
zohTile.data[y][x].y = Tile::half2float(gHalf);
|
||||||
|
zohTile.data[y][x].z = Tile::half2float(bHalf);
|
||||||
|
zohTile.importance_map[y][x] = 1.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ZOH::compress(zohTile, (char *)output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -485,32 +485,32 @@ bool Compressor::Private::outputHeader(nvtt::TextureType textureType, int w, int
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (compressionOptions.format == Format_DXT1 || compressionOptions.format == Format_DXT1a || compressionOptions.format == Format_DXT1n) {
|
if (compressionOptions.format == Format_DXT1 || compressionOptions.format == Format_DXT1a || compressionOptions.format == Format_DXT1n) {
|
||||||
header.setDX10Format(70); // DXGI_FORMAT_BC1_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC1_UNORM);
|
||||||
if (compressionOptions.format == Format_DXT1a) header.setHasAlphaFlag(true);
|
if (compressionOptions.format == Format_DXT1a) header.setHasAlphaFlag(true);
|
||||||
if (isNormalMap) header.setNormalFlag(true);
|
if (isNormalMap) header.setNormalFlag(true);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_DXT3) {
|
else if (compressionOptions.format == Format_DXT3) {
|
||||||
header.setDX10Format(73); // DXGI_FORMAT_BC2_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC2_UNORM);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_DXT5) {
|
else if (compressionOptions.format == Format_DXT5) {
|
||||||
header.setDX10Format(76); // DXGI_FORMAT_BC3_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC3_UNORM);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_DXT5n) {
|
else if (compressionOptions.format == Format_DXT5n) {
|
||||||
header.setDX10Format(76); // DXGI_FORMAT_BC3_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC3_UNORM);
|
||||||
if (isNormalMap) header.setNormalFlag(true);
|
if (isNormalMap) header.setNormalFlag(true);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_BC4) {
|
else if (compressionOptions.format == Format_BC4) {
|
||||||
header.setDX10Format(79); // DXGI_FORMAT_BC4_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC4_UNORM);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_BC5) {
|
else if (compressionOptions.format == Format_BC5) {
|
||||||
header.setDX10Format(82); // DXGI_FORMAT_BC5_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC5_UNORM);
|
||||||
if (isNormalMap) header.setNormalFlag(true);
|
if (isNormalMap) header.setNormalFlag(true);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_BC6) {
|
else if (compressionOptions.format == Format_BC6) {
|
||||||
header.setDX10Format(94); // DXGI_FORMAT_BC6H_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC6H_UF16);
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_BC7) {
|
else if (compressionOptions.format == Format_BC7) {
|
||||||
header.setDX10Format(97); // DXGI_FORMAT_BC7_TYPELESS
|
header.setDX10Format(DXGI_FORMAT_BC7_UNORM);
|
||||||
if (isNormalMap) header.setNormalFlag(true);
|
if (isNormalMap) header.setNormalFlag(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -771,11 +771,12 @@ CompressorInterface * Compressor::Private::chooseCpuCompressor(const Compression
|
|||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_BC6)
|
else if (compressionOptions.format == Format_BC6)
|
||||||
{
|
{
|
||||||
// Not supported.
|
return new CompressorBC6;
|
||||||
}
|
}
|
||||||
else if (compressionOptions.format == Format_BC7)
|
else if (compressionOptions.format == Format_BC7)
|
||||||
{
|
{
|
||||||
// Not supported.
|
// !!!UNDONE
|
||||||
|
//return new CompressorBC7;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -702,7 +702,12 @@ bool Surface::setImage(InputFormat format, int w, int h, int d, const void * r,
|
|||||||
// @@ Add support for compressed 3D textures.
|
// @@ Add support for compressed 3D textures.
|
||||||
bool Surface::setImage2D(Format format, Decoder decoder, int w, int h, const void * data)
|
bool Surface::setImage2D(Format format, Decoder decoder, int w, int h, const void * data)
|
||||||
{
|
{
|
||||||
if (format != nvtt::Format_BC1 && format != nvtt::Format_BC2 && format != nvtt::Format_BC3 && format != nvtt::Format_BC4 && format != nvtt::Format_BC5)
|
if (format != nvtt::Format_BC1 &&
|
||||||
|
format != nvtt::Format_BC2 &&
|
||||||
|
format != nvtt::Format_BC3 &&
|
||||||
|
format != nvtt::Format_BC4 &&
|
||||||
|
format != nvtt::Format_BC5 &&
|
||||||
|
format != nvtt::Format_BC6)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -723,6 +728,42 @@ bool Surface::setImage2D(Format format, Decoder decoder, int w, int h, const voi
|
|||||||
const uint8 * ptr = (const uint8 *)data;
|
const uint8 * ptr = (const uint8 *)data;
|
||||||
|
|
||||||
TRY {
|
TRY {
|
||||||
|
if (format == nvtt::Format_BC6)
|
||||||
|
{
|
||||||
|
// BC6 format - decode directly to float
|
||||||
|
|
||||||
|
for (int y = 0; y < bh; y++)
|
||||||
|
{
|
||||||
|
for (int x = 0; x < bw; x++)
|
||||||
|
{
|
||||||
|
ColorSet colors;
|
||||||
|
const BlockBC6 * block = (const BlockBC6 *)ptr;
|
||||||
|
block->decodeBlock(&colors);
|
||||||
|
|
||||||
|
for (int yy = 0; yy < 4; yy++)
|
||||||
|
{
|
||||||
|
for (int xx = 0; xx < 4; xx++)
|
||||||
|
{
|
||||||
|
Vector4 rgba = colors.colors[yy*4 + xx];
|
||||||
|
|
||||||
|
if (x * 4 + xx < w && y * 4 + yy < h)
|
||||||
|
{
|
||||||
|
m->image->pixel(0, x*4 + xx, y*4 + yy, 0) = rgba.x;
|
||||||
|
m->image->pixel(1, x*4 + xx, y*4 + yy, 0) = rgba.y;
|
||||||
|
m->image->pixel(2, x*4 + xx, y*4 + yy, 0) = rgba.z;
|
||||||
|
m->image->pixel(3, x*4 + xx, y*4 + yy, 0) = rgba.w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ptr += bs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Non-BC6 - decode to 8-bit, then convert to float
|
||||||
|
|
||||||
for (int y = 0; y < bh; y++)
|
for (int y = 0; y < bh; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < bw; x++)
|
for (int x = 0; x < bw; x++)
|
||||||
@ -781,6 +822,10 @@ bool Surface::setImage2D(Format format, Decoder decoder, int w, int h, const voi
|
|||||||
const BlockATI2 * block = (const BlockATI2 *)ptr;
|
const BlockATI2 * block = (const BlockATI2 *)ptr;
|
||||||
block->decodeBlock(&colors, decoder == Decoder_D3D9);
|
block->decodeBlock(&colors, decoder == Decoder_D3D9);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nvDebugCheck(false);
|
||||||
|
}
|
||||||
|
|
||||||
for (int yy = 0; yy < 4; yy++)
|
for (int yy = 0; yy < 4; yy++)
|
||||||
{
|
{
|
||||||
@ -802,6 +847,7 @@ bool Surface::setImage2D(Format format, Decoder decoder, int w, int h, const voi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
CATCH {
|
CATCH {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1455,7 +1501,7 @@ void Surface::scaleAlphaToCoverage(float coverage, float alphaRef/*= 0.5f*/)
|
|||||||
|
|
||||||
// Ideally you should compress/quantize the RGB and M portions independently.
|
// Ideally you should compress/quantize the RGB and M portions independently.
|
||||||
// Once you have M quantized, you would compute the corresponding RGB and quantize that.
|
// Once you have M quantized, you would compute the corresponding RGB and quantize that.
|
||||||
void Surface::toRGBM(float range/*= 1*/, float threshold/*= 0.25*/)
|
void Surface::toRGBM(float range/*= 1*/, float threshold/*= 0.0f*/)
|
||||||
{
|
{
|
||||||
if (isNull()) return;
|
if (isNull()) return;
|
||||||
|
|
||||||
@ -1471,17 +1517,17 @@ void Surface::toRGBM(float range/*= 1*/, float threshold/*= 0.25*/)
|
|||||||
|
|
||||||
const uint count = img->pixelCount();
|
const uint count = img->pixelCount();
|
||||||
for (uint i = 0; i < count; i++) {
|
for (uint i = 0; i < count; i++) {
|
||||||
float R = nv::clamp(r[i], 0.0f, 1.0f);
|
float R = r[i];
|
||||||
float G = nv::clamp(g[i], 0.0f, 1.0f);
|
float G = g[i];
|
||||||
float B = nv::clamp(b[i], 0.0f, 1.0f);
|
float B = b[i];
|
||||||
#if 1
|
#if 1
|
||||||
float M = max(max(R, G), max(B, threshold));
|
float M = nv::clamp(max(max(R, G), max(B, threshold)), 0.0f, range);
|
||||||
|
|
||||||
r[i] = R / M;
|
r[i] = nv::clamp(R / M, 0.0f, 1.0f);
|
||||||
g[i] = G / M;
|
g[i] = nv::clamp(G / M, 0.0f, 1.0f);
|
||||||
b[i] = B / M;
|
b[i] = nv::clamp(B / M, 0.0f, 1.0f);
|
||||||
|
|
||||||
a[i] = (M - threshold) / (1 - threshold);
|
a[i] = (M - threshold) / (range - threshold);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@ -1524,12 +1570,14 @@ void Surface::toRGBM(float range/*= 1*/, float threshold/*= 0.25*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Surface::fromRGBM(float range/*= 1*/)
|
void Surface::fromRGBM(float range/*= 1*/, float threshold/*= 0.0*/)
|
||||||
{
|
{
|
||||||
if (isNull()) return;
|
if (isNull()) return;
|
||||||
|
|
||||||
detach();
|
detach();
|
||||||
|
|
||||||
|
threshold = ::clamp(threshold, 1e-6f, 1.0f);
|
||||||
|
|
||||||
FloatImage * img = m->image;
|
FloatImage * img = m->image;
|
||||||
float * r = img->channel(0);
|
float * r = img->channel(0);
|
||||||
float * g = img->channel(1);
|
float * g = img->channel(1);
|
||||||
@ -1538,7 +1586,7 @@ void Surface::fromRGBM(float range/*= 1*/)
|
|||||||
|
|
||||||
const uint count = img->pixelCount();
|
const uint count = img->pixelCount();
|
||||||
for (uint i = 0; i < count; i++) {
|
for (uint i = 0; i < count; i++) {
|
||||||
float M = a[i] * range;
|
float M = a[i] * (range - threshold) + threshold;
|
||||||
|
|
||||||
r[i] *= M;
|
r[i] *= M;
|
||||||
g[i] *= M;
|
g[i] *= M;
|
||||||
|
@ -19,7 +19,7 @@ See the License for the specific language governing permissions and limitations
|
|||||||
#define NSHAPES 64
|
#define NSHAPES 64
|
||||||
#define SHAPEBITS 6
|
#define SHAPEBITS 6
|
||||||
|
|
||||||
static int shapes[NSHAPES*16] =
|
static const int shapes[NSHAPES*16] =
|
||||||
{
|
{
|
||||||
0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1,
|
0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1,
|
||||||
0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1,
|
0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1,
|
||||||
@ -105,7 +105,7 @@ static int shapes[NSHAPES*16] =
|
|||||||
|
|
||||||
#define REGION(x,y,si) shapes[((si)&3)*4+((si)>>2)*64+(x)+(y)*16]
|
#define REGION(x,y,si) shapes[((si)&3)*4+((si)>>2)*64+(x)+(y)*16]
|
||||||
|
|
||||||
static int shapeindex_to_compressed_indices[NSHAPES*2] =
|
static const int shapeindex_to_compressed_indices[NSHAPES*2] =
|
||||||
{
|
{
|
||||||
0,15, 0,15, 0,15, 0,15,
|
0,15, 0,15, 0,15, 0,15,
|
||||||
0,15, 0,15, 0,15, 0,15,
|
0,15, 0,15, 0,15, 0,15,
|
||||||
|
@ -23,7 +23,7 @@ See the License for the specific language governing permissions and limitations
|
|||||||
//#define USE_IMPORTANCE_MAP 1 // define this if you want to increase importance of some pixels in tile
|
//#define USE_IMPORTANCE_MAP 1 // define this if you want to increase importance of some pixels in tile
|
||||||
class Tile
|
class Tile
|
||||||
{
|
{
|
||||||
private:
|
public:
|
||||||
// NOTE: this returns the appropriately-clamped BIT PATTERN of the half as an INTEGRAL float value
|
// NOTE: this returns the appropriately-clamped BIT PATTERN of the half as an INTEGRAL float value
|
||||||
static float half2float(uint16 h)
|
static float half2float(uint16 h)
|
||||||
{
|
{
|
||||||
@ -67,7 +67,6 @@ private:
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
public:
|
|
||||||
Tile() {};
|
Tile() {};
|
||||||
~Tile(){};
|
~Tile(){};
|
||||||
Tile(int xs, int ys) {size_x = xs; size_y = ys;}
|
Tile(int xs, int ys) {size_x = xs; size_y = ys;}
|
||||||
|
@ -18,8 +18,8 @@ See the License for the specific language governing permissions and limitations
|
|||||||
|
|
||||||
using namespace nv;
|
using namespace nv;
|
||||||
|
|
||||||
static int denom7_weights_64[] = {0, 9, 18, 27, 37, 46, 55, 64}; // divided by 64
|
static const int denom7_weights_64[] = {0, 9, 18, 27, 37, 46, 55, 64}; // divided by 64
|
||||||
static int denom15_weights_64[] = {0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64}; // divided by 64
|
static const int denom15_weights_64[] = {0, 4, 9, 13, 17, 21, 26, 30, 34, 38, 43, 47, 51, 55, 60, 64}; // divided by 64
|
||||||
|
|
||||||
/*static*/ Format Utils::FORMAT;
|
/*static*/ Format Utils::FORMAT;
|
||||||
|
|
||||||
@ -28,7 +28,8 @@ int Utils::lerp(int a, int b, int i, int denom)
|
|||||||
nvDebugCheck (denom == 3 || denom == 7 || denom == 15);
|
nvDebugCheck (denom == 3 || denom == 7 || denom == 15);
|
||||||
nvDebugCheck (i >= 0 && i <= denom);
|
nvDebugCheck (i >= 0 && i <= denom);
|
||||||
|
|
||||||
int round = 32, shift = 6, *weights;
|
int round = 32, shift = 6;
|
||||||
|
const int *weights;
|
||||||
|
|
||||||
switch(denom)
|
switch(denom)
|
||||||
{
|
{
|
||||||
@ -46,7 +47,8 @@ Vector3 Utils::lerp(const Vector3& a, const Vector3 &b, int i, int denom)
|
|||||||
nvDebugCheck (denom == 3 || denom == 7 || denom == 15);
|
nvDebugCheck (denom == 3 || denom == 7 || denom == 15);
|
||||||
nvDebugCheck (i >= 0 && i <= denom);
|
nvDebugCheck (i >= 0 && i <= denom);
|
||||||
|
|
||||||
int shift = 6, *weights;
|
int shift = 6;
|
||||||
|
const int *weights;
|
||||||
|
|
||||||
switch(denom)
|
switch(denom)
|
||||||
{
|
{
|
||||||
@ -57,7 +59,7 @@ Vector3 Utils::lerp(const Vector3& a, const Vector3 &b, int i, int denom)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// no need to round these as this is an exact division
|
// no need to round these as this is an exact division
|
||||||
return (a*weights[denom-i] +b*weights[i]) / float(1 << shift);
|
return (a*float(weights[denom-i]) +b*float(weights[i])) / float(1 << shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -254,117 +256,12 @@ int Utils::unquantize(int q, int prec)
|
|||||||
return unq;
|
return unq;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int clamp(double r, double low, double high)
|
|
||||||
{
|
|
||||||
if (r < low) return low;
|
|
||||||
else if (r > high) return high;
|
|
||||||
else return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// match the tonemapping function used by exrdisplay
|
|
||||||
/*static void tonemap(const Vector3 &in, double exposure, Vector3 &out)
|
|
||||||
{
|
|
||||||
double r,g,b;
|
|
||||||
unsigned short h;
|
|
||||||
|
|
||||||
// convert from bit pattern back to half and then to double
|
|
||||||
h = in.x; r = h;
|
|
||||||
h = in.y; g = h;
|
|
||||||
h = in.z; b = h;
|
|
||||||
|
|
||||||
// 1) Compensate for fogging by subtracting defog
|
|
||||||
// from the raw pixel values.
|
|
||||||
// Response: We work with defog of 0.0, so this is a no-op
|
|
||||||
|
|
||||||
// 2) Multiply the defogged pixel values by
|
|
||||||
// 2^(exposure + 2.47393).
|
|
||||||
double exposure_scale = pow(2.0, exposure + 2.47393);
|
|
||||||
r *= exposure_scale;
|
|
||||||
g *= exposure_scale;
|
|
||||||
b *= exposure_scale;
|
|
||||||
|
|
||||||
// 3) Values, which are now 1.0, are called "middle gray".
|
|
||||||
// If defog and exposure are both set to 0.0, then
|
|
||||||
// middle gray corresponds to a raw pixel value of 0.18.
|
|
||||||
// In step 6, middle gray values will be mapped to an
|
|
||||||
// intensity 3.5 f-stops below the display's maximum
|
|
||||||
// intensity.
|
|
||||||
// Response: no apparent content.
|
|
||||||
|
|
||||||
// 4) Apply a knee function. The knee function has two
|
|
||||||
// parameters, kneeLow and kneeHigh. Pixel values
|
|
||||||
// below 2^kneeLow are not changed by the knee
|
|
||||||
// function. Pixel values above kneeLow are lowered
|
|
||||||
// according to a logarithmic curve, such that the
|
|
||||||
// value 2^kneeHigh is mapped to 2^3.5 (in step 6,
|
|
||||||
// this value will be mapped to the the display's
|
|
||||||
// maximum intensity).
|
|
||||||
// Response: kneeLow = 0.0 (2^0.0 => 1); kneeHigh = 5.0 (2^5 =>32)
|
|
||||||
if (r > 1.0)
|
|
||||||
r = 1.0 + log ((r-1.0) * 0.184874 + 1) / 0.184874;
|
|
||||||
if (g > 1.0)
|
|
||||||
g = 1.0 + log ((g-1.0) * 0.184874 + 1) / 0.184874;
|
|
||||||
if (b > 1.0)
|
|
||||||
b = 1.0 + log ((b-1.0) * 0.184874 + 1) / 0.184874;
|
|
||||||
//
|
|
||||||
// 5) Gamma-correct the pixel values, assuming that the
|
|
||||||
// screen's gamma is 0.4545 (or 1/2.2).
|
|
||||||
r = pow (r, 0.4545);
|
|
||||||
g = pow (g, 0.4545);
|
|
||||||
b = pow (b, 0.4545);
|
|
||||||
|
|
||||||
// 6) Scale the values such that pixels middle gray
|
|
||||||
// pixels are mapped to 84.66 (or 3.5 f-stops below
|
|
||||||
// the display's maximum intensity).
|
|
||||||
//
|
|
||||||
// 7) Clamp the values to [0, 255].
|
|
||||||
r *= 84.66f;
|
|
||||||
g *= 84.66f;
|
|
||||||
b *= 84.66f;
|
|
||||||
|
|
||||||
out.x = clamp (r, 0, 255);
|
|
||||||
out.y = clamp (g, 0, 255);
|
|
||||||
out.z = clamp (b, 0, 255);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
static void mpsnrmap(const Vector3 &in, int exposure, Vector3 &out)
|
|
||||||
{
|
|
||||||
double r,g,b;
|
|
||||||
uint16 h;
|
|
||||||
|
|
||||||
// convert from bit pattern back to half and then to double
|
|
||||||
h = in.x; r = h;
|
|
||||||
h = in.y; g = h;
|
|
||||||
h = in.z; b = h;
|
|
||||||
|
|
||||||
nvDebugCheck (exposure > -32 && exposure < 32);
|
|
||||||
if (exposure > 0)
|
|
||||||
{
|
|
||||||
r *= 1 << exposure;
|
|
||||||
g *= 1 << exposure;
|
|
||||||
b *= 1 << exposure;
|
|
||||||
}
|
|
||||||
else if (exposure < 0)
|
|
||||||
{
|
|
||||||
exposure = -exposure;
|
|
||||||
r /= 1 << exposure;
|
|
||||||
g /= 1 << exposure;
|
|
||||||
b /= 1 << exposure;
|
|
||||||
}
|
|
||||||
r = 255 * pow (r, 0.4545);
|
|
||||||
g = 255 * pow (g, 0.4545);
|
|
||||||
b = 255 * pow (b, 0.4545);
|
|
||||||
|
|
||||||
out.x = clamp (r, 0, 255);
|
|
||||||
out.y = clamp (g, 0, 255);
|
|
||||||
out.z = clamp (b, 0, 255);
|
|
||||||
}
|
|
||||||
|
|
||||||
// pick a norm!
|
// pick a norm!
|
||||||
#define NORM_EUCLIDEAN 1
|
#define NORM_EUCLIDEAN 1
|
||||||
|
|
||||||
double Utils::norm(const Vector3 &a, const Vector3 &b)
|
float Utils::norm(const Vector3 &a, const Vector3 &b)
|
||||||
{
|
{
|
||||||
#ifdef NORM_EUCLIDEAN
|
#ifdef NORM_EUCLIDEAN
|
||||||
return lengthSquared(a - b);
|
return lengthSquared(a - b);
|
||||||
@ -373,45 +270,6 @@ double Utils::norm(const Vector3 &a, const Vector3 &b)
|
|||||||
Vector3 err = a - b;
|
Vector3 err = a - b;
|
||||||
return fabs(err.x) + fabs(err.y) + fabs(err.z);
|
return fabs(err.x) + fabs(err.y) + fabs(err.z);
|
||||||
#endif
|
#endif
|
||||||
#ifdef NORM_EUCLIDEAN_EXPOSURE_UNWEIGHED
|
|
||||||
double toterr = 0;
|
|
||||||
Vector3 mapa, mapb, err;
|
|
||||||
for (int i=-6; i <= 6; i += 3) // figure how many exposure samples needed. I'd argue if you take too many it's same as euclidean
|
|
||||||
{
|
|
||||||
tonemap(a, i, mapa);
|
|
||||||
tonemap(b, i, mapb);
|
|
||||||
err = mapa - mapb;
|
|
||||||
toterr += err * err;
|
|
||||||
}
|
|
||||||
return toterr;
|
|
||||||
#endif
|
|
||||||
#ifdef NORM_EUCLIDEAN_EXPOSURE_WEIGHED
|
|
||||||
double toterr = 0;
|
|
||||||
Vector3 mapa, mapb, err;
|
|
||||||
double rwt = 0.299;
|
|
||||||
double gwt = 0.587;
|
|
||||||
double bwt = 0.114;
|
|
||||||
for (int i=-6; i <= 6; i += 3) // figure how many exposure samples needed. I'd argue if you take too many it's same as euclidean
|
|
||||||
{
|
|
||||||
tonemap(a, i, mapa);
|
|
||||||
tonemap(b, i, mapb);
|
|
||||||
mapa.x *= rwt; mapa.y *= gwt; mapa.z *= bwt;
|
|
||||||
mapb.x *= rwt; mapb.y *= gwt; mapb.z *= bwt;
|
|
||||||
err = mapa - mapb;
|
|
||||||
toterr += err * err;
|
|
||||||
}
|
|
||||||
return toterr;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
double Utils::mpsnr_norm(const Vector3 &a, int exposure, const Vector3 &b)
|
|
||||||
{
|
|
||||||
Vector3 mapa, mapb;
|
|
||||||
|
|
||||||
mpsnrmap(a, exposure, mapa);
|
|
||||||
mpsnrmap(b, exposure, mapb);
|
|
||||||
|
|
||||||
return lengthSquared(mapa - mapb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse <name>[<start>{:<end>}]{,}
|
// parse <name>[<start>{:<end>}]{,}
|
||||||
|
@ -47,8 +47,8 @@ public:
|
|||||||
static ::Format FORMAT; // this is a global -- we're either handling unsigned or unsigned half values
|
static ::Format FORMAT; // this is a global -- we're either handling unsigned or unsigned half values
|
||||||
|
|
||||||
// error metrics
|
// error metrics
|
||||||
static double norm(const nv::Vector3 &a, const nv::Vector3 &b);
|
static float norm(const nv::Vector3 &a, const nv::Vector3 &b);
|
||||||
static double mpsnr_norm(const nv::Vector3 &a, int exposure, const nv::Vector3 &b);
|
static float mpsnr_norm(const nv::Vector3 &a, int exposure, const nv::Vector3 &b);
|
||||||
|
|
||||||
// conversion & clamp
|
// conversion & clamp
|
||||||
static int ushort_to_format(unsigned short input);
|
static int ushort_to_format(unsigned short input);
|
||||||
|
@ -29,8 +29,8 @@ void ZOH::compress(const Tile &t, char *block)
|
|||||||
{
|
{
|
||||||
char oneblock[ZOH::BLOCKSIZE], twoblock[ZOH::BLOCKSIZE];
|
char oneblock[ZOH::BLOCKSIZE], twoblock[ZOH::BLOCKSIZE];
|
||||||
|
|
||||||
double mseone = ZOH::compressone(t, oneblock);
|
float mseone = ZOH::compressone(t, oneblock);
|
||||||
double msetwo = ZOH::compresstwo(t, twoblock);
|
float msetwo = ZOH::compresstwo(t, twoblock);
|
||||||
|
|
||||||
if (mseone <= msetwo)
|
if (mseone <= msetwo)
|
||||||
memcpy(block, oneblock, ZOH::BLOCKSIZE);
|
memcpy(block, oneblock, ZOH::BLOCKSIZE);
|
||||||
|
@ -55,16 +55,16 @@ public:
|
|||||||
static void compress(const Tile &t, char *block);
|
static void compress(const Tile &t, char *block);
|
||||||
static void decompress(const char *block, Tile &t);
|
static void decompress(const char *block, Tile &t);
|
||||||
|
|
||||||
static double compressone(const Tile &t, char *block);
|
static float compressone(const Tile &t, char *block);
|
||||||
static double compresstwo(const Tile &t, char *block);
|
static float compresstwo(const Tile &t, char *block);
|
||||||
static void decompressone(const char *block, Tile &t);
|
static void decompressone(const char *block, Tile &t);
|
||||||
static void decompresstwo(const char *block, Tile &t);
|
static void decompresstwo(const char *block, Tile &t);
|
||||||
|
|
||||||
static double refinetwo(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_TWO], char *block);
|
static float refinetwo(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_TWO], char *block);
|
||||||
static double roughtwo(const Tile &tile, int shape, FltEndpts endpts[NREGIONS_TWO]);
|
static float roughtwo(const Tile &tile, int shape, FltEndpts endpts[NREGIONS_TWO]);
|
||||||
|
|
||||||
static double refineone(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_ONE], char *block);
|
static float refineone(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_ONE], char *block);
|
||||||
static double roughone(const Tile &tile, int shape, FltEndpts endpts[NREGIONS_ONE]);
|
static float roughone(const Tile &tile, int shape, FltEndpts endpts[NREGIONS_ONE]);
|
||||||
|
|
||||||
static bool isone(const char *block);
|
static bool isone(const char *block);
|
||||||
};
|
};
|
||||||
|
@ -33,7 +33,7 @@ using namespace nv;
|
|||||||
|
|
||||||
#define NSHAPES 1
|
#define NSHAPES 1
|
||||||
|
|
||||||
static int shapes[NSHAPES] =
|
static const int shapes[NSHAPES] =
|
||||||
{
|
{
|
||||||
0x0000
|
0x0000
|
||||||
}; // only 1 shape
|
}; // only 1 shape
|
||||||
@ -64,7 +64,7 @@ struct Pattern
|
|||||||
|
|
||||||
#define NPATTERNS 4
|
#define NPATTERNS 4
|
||||||
|
|
||||||
static Pattern patterns[NPATTERNS] =
|
static const Pattern patterns[NPATTERNS] =
|
||||||
{
|
{
|
||||||
16,4, 16,4, 16,4, 1, 0x0f, 5, "bw[10],bw[11],bw[12],bw[13],bw[14],bw[15],bx[3:0],gw[10],gw[11],gw[12],gw[13],gw[14],gw[15],gx[3:0],rw[10],rw[11],rw[12],rw[13],rw[14],rw[15],rx[3:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
16,4, 16,4, 16,4, 1, 0x0f, 5, "bw[10],bw[11],bw[12],bw[13],bw[14],bw[15],bx[3:0],gw[10],gw[11],gw[12],gw[13],gw[14],gw[15],gx[3:0],rw[10],rw[11],rw[12],rw[13],rw[14],rw[15],rx[3:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
||||||
12,8, 12,8, 12,8, 1, 0x0b, 5, "bw[10],bw[11],bx[7:0],gw[10],gw[11],gx[7:0],rw[10],rw[11],rx[7:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
12,8, 12,8, 12,8, 1, 0x0b, 5, "bw[10],bw[11],bx[7:0],gw[10],gw[11],gx[7:0],rw[10],rw[11],rx[7:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
||||||
@ -73,7 +73,7 @@ static Pattern patterns[NPATTERNS] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
// mapping of mode to the corresponding index in pattern
|
// mapping of mode to the corresponding index in pattern
|
||||||
static int mode_to_pat[MAXMODES] = {
|
static const int mode_to_pat[MAXMODES] = {
|
||||||
-1,-1,-1,
|
-1,-1,-1,
|
||||||
3, // 0x03
|
3, // 0x03
|
||||||
-1,-1,-1,
|
-1,-1,-1,
|
||||||
@ -199,12 +199,13 @@ static void write_header(const ComprEndpts endpts[NREGIONS_ONE], const Pattern &
|
|||||||
int rw = endpts[0].A[0], rx = endpts[0].B[0];
|
int rw = endpts[0].A[0], rx = endpts[0].B[0];
|
||||||
int gw = endpts[0].A[1], gx = endpts[0].B[1];
|
int gw = endpts[0].A[1], gx = endpts[0].B[1];
|
||||||
int bw = endpts[0].A[2], bx = endpts[0].B[2];
|
int bw = endpts[0].A[2], bx = endpts[0].B[2];
|
||||||
int ptr = strlen(p.encoding);
|
int ptr = int(strlen(p.encoding));
|
||||||
while (ptr)
|
while (ptr)
|
||||||
{
|
{
|
||||||
Field field;
|
Field field;
|
||||||
int endbit, len;
|
int endbit, len;
|
||||||
|
|
||||||
|
// !!!UNDONE: get rid of string parsing!!!
|
||||||
Utils::parse(p.encoding, ptr, field, endbit, len);
|
Utils::parse(p.encoding, ptr, field, endbit, len);
|
||||||
switch(field)
|
switch(field)
|
||||||
{
|
{
|
||||||
@ -252,13 +253,14 @@ static void read_header(Bits &in, ComprEndpts endpts[NREGIONS_ONE], Pattern &p)
|
|||||||
gw = gx = 0;
|
gw = gx = 0;
|
||||||
bw = bx = 0;
|
bw = bx = 0;
|
||||||
|
|
||||||
int ptr = strlen(p.encoding);
|
int ptr = int(strlen(p.encoding));
|
||||||
|
|
||||||
while (ptr)
|
while (ptr)
|
||||||
{
|
{
|
||||||
Field field;
|
Field field;
|
||||||
int endbit, len;
|
int endbit, len;
|
||||||
|
|
||||||
|
// !!!UNDONE: get rid of string parsing!!!
|
||||||
Utils::parse(p.encoding, ptr, field, endbit, len);
|
Utils::parse(p.encoding, ptr, field, endbit, len);
|
||||||
|
|
||||||
switch(field)
|
switch(field)
|
||||||
@ -322,21 +324,21 @@ static void generate_palette_quantized(const IntEndpts &endpts, int prec, Vector
|
|||||||
|
|
||||||
// interpolate
|
// interpolate
|
||||||
for (int i = 0; i < NINDICES; ++i)
|
for (int i = 0; i < NINDICES; ++i)
|
||||||
palette[i].x = Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec);
|
palette[i].x = float(Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec));
|
||||||
|
|
||||||
a = Utils::unquantize(endpts.A[1], prec);
|
a = Utils::unquantize(endpts.A[1], prec);
|
||||||
b = Utils::unquantize(endpts.B[1], prec);
|
b = Utils::unquantize(endpts.B[1], prec);
|
||||||
|
|
||||||
// interpolate
|
// interpolate
|
||||||
for (int i = 0; i < NINDICES; ++i)
|
for (int i = 0; i < NINDICES; ++i)
|
||||||
palette[i].y = Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec);
|
palette[i].y = float(Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec));
|
||||||
|
|
||||||
a = Utils::unquantize(endpts.A[2], prec);
|
a = Utils::unquantize(endpts.A[2], prec);
|
||||||
b = Utils::unquantize(endpts.B[2], prec);
|
b = Utils::unquantize(endpts.B[2], prec);
|
||||||
|
|
||||||
// interpolate
|
// interpolate
|
||||||
for (int i = 0; i < NINDICES; ++i)
|
for (int i = 0; i < NINDICES; ++i)
|
||||||
palette[i].z = Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec);
|
palette[i].z = float(Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec));
|
||||||
}
|
}
|
||||||
|
|
||||||
// position 0 was compressed
|
// position 0 was compressed
|
||||||
@ -382,17 +384,17 @@ void ZOH::decompressone(const char *block, Tile &t)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// given a collection of colors and quantized endpoints, generate a palette, choose best entries, and return a single toterr
|
// given a collection of colors and quantized endpoints, generate a palette, choose best entries, and return a single toterr
|
||||||
static double map_colors(const Vector3 colors[], const float importance[], int np, const IntEndpts &endpts, int prec)
|
static float map_colors(const Vector3 colors[], const float importance[], int np, const IntEndpts &endpts, int prec)
|
||||||
{
|
{
|
||||||
Vector3 palette[NINDICES];
|
Vector3 palette[NINDICES];
|
||||||
double toterr = 0;
|
float toterr = 0;
|
||||||
Vector3 err;
|
Vector3 err;
|
||||||
|
|
||||||
generate_palette_quantized(endpts, prec, palette);
|
generate_palette_quantized(endpts, prec, palette);
|
||||||
|
|
||||||
for (int i = 0; i < np; ++i)
|
for (int i = 0; i < np; ++i)
|
||||||
{
|
{
|
||||||
double err, besterr;
|
float err, besterr;
|
||||||
|
|
||||||
besterr = Utils::norm(colors[i], palette[0]) * importance[i];
|
besterr = Utils::norm(colors[i], palette[0]) * importance[i];
|
||||||
|
|
||||||
@ -412,7 +414,7 @@ static double map_colors(const Vector3 colors[], const float importance[], int n
|
|||||||
|
|
||||||
// assign indices given a tile, shape, and quantized endpoints, return toterr for each region
|
// assign indices given a tile, shape, and quantized endpoints, return toterr for each region
|
||||||
static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NREGIONS_ONE], int prec,
|
static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NREGIONS_ONE], int prec,
|
||||||
int indices[Tile::TILE_H][Tile::TILE_W], double toterr[NREGIONS_ONE])
|
int indices[Tile::TILE_H][Tile::TILE_W], float toterr[NREGIONS_ONE])
|
||||||
{
|
{
|
||||||
// build list of possibles
|
// build list of possibles
|
||||||
Vector3 palette[NREGIONS_ONE][NINDICES];
|
Vector3 palette[NREGIONS_ONE][NINDICES];
|
||||||
@ -429,7 +431,7 @@ static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NR
|
|||||||
for (int x = 0; x < tile.size_x; x++)
|
for (int x = 0; x < tile.size_x; x++)
|
||||||
{
|
{
|
||||||
int region = REGION(x,y,shapeindex);
|
int region = REGION(x,y,shapeindex);
|
||||||
double err, besterr;
|
float err, besterr;
|
||||||
|
|
||||||
besterr = Utils::norm(tile.data[y][x], palette[region][0]);
|
besterr = Utils::norm(tile.data[y][x], palette[region][0]);
|
||||||
indices[y][x] = 0;
|
indices[y][x] = 0;
|
||||||
@ -450,8 +452,8 @@ static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NR
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static double perturb_one(const Vector3 colors[], const float importance[], int np, int ch, int prec, const IntEndpts &old_endpts, IntEndpts &new_endpts,
|
static float perturb_one(const Vector3 colors[], const float importance[], int np, int ch, int prec, const IntEndpts &old_endpts, IntEndpts &new_endpts,
|
||||||
double old_err, int do_b)
|
float old_err, int do_b)
|
||||||
{
|
{
|
||||||
// we have the old endpoints: old_endpts
|
// we have the old endpoints: old_endpts
|
||||||
// we have the perturbed endpoints: new_endpts
|
// we have the perturbed endpoints: new_endpts
|
||||||
@ -504,9 +506,9 @@ static double perturb_one(const Vector3 colors[], const float importance[], int
|
|||||||
return min_err;
|
return min_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void optimize_one(const Vector3 colors[], const float importance[], int np, double orig_err, const IntEndpts &orig_endpts, int prec, IntEndpts &opt_endpts)
|
static void optimize_one(const Vector3 colors[], const float importance[], int np, float orig_err, const IntEndpts &orig_endpts, int prec, IntEndpts &opt_endpts)
|
||||||
{
|
{
|
||||||
double opt_err = orig_err;
|
float opt_err = orig_err;
|
||||||
for (int ch = 0; ch < NCHANNELS; ++ch)
|
for (int ch = 0; ch < NCHANNELS; ++ch)
|
||||||
{
|
{
|
||||||
opt_endpts.A[ch] = orig_endpts.A[ch];
|
opt_endpts.A[ch] = orig_endpts.A[ch];
|
||||||
@ -576,12 +578,12 @@ static void optimize_one(const Vector3 colors[], const float importance[], int n
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void optimize_endpts(const Tile &tile, int shapeindex, const double orig_err[NREGIONS_ONE],
|
static void optimize_endpts(const Tile &tile, int shapeindex, const float orig_err[NREGIONS_ONE],
|
||||||
const IntEndpts orig_endpts[NREGIONS_ONE], int prec, IntEndpts opt_endpts[NREGIONS_ONE])
|
const IntEndpts orig_endpts[NREGIONS_ONE], int prec, IntEndpts opt_endpts[NREGIONS_ONE])
|
||||||
{
|
{
|
||||||
Vector3 pixels[Tile::TILE_TOTAL];
|
Vector3 pixels[Tile::TILE_TOTAL];
|
||||||
float importance[Tile::TILE_TOTAL];
|
float importance[Tile::TILE_TOTAL];
|
||||||
double err = 0;
|
float err = 0;
|
||||||
|
|
||||||
for (int region=0; region<NREGIONS_ONE; ++region)
|
for (int region=0; region<NREGIONS_ONE; ++region)
|
||||||
{
|
{
|
||||||
@ -618,9 +620,9 @@ static void optimize_endpts(const Tile &tile, int shapeindex, const double orig_
|
|||||||
emit compressed block with original data // to try to preserve maximum endpoint precision
|
emit compressed block with original data // to try to preserve maximum endpoint precision
|
||||||
*/
|
*/
|
||||||
|
|
||||||
double ZOH::refineone(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_ONE], char *block)
|
float ZOH::refineone(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_ONE], char *block)
|
||||||
{
|
{
|
||||||
double orig_err[NREGIONS_ONE], opt_err[NREGIONS_ONE], orig_toterr, opt_toterr;
|
float orig_err[NREGIONS_ONE], opt_err[NREGIONS_ONE], orig_toterr, opt_toterr;
|
||||||
IntEndpts orig_endpts[NREGIONS_ONE], opt_endpts[NREGIONS_ONE];
|
IntEndpts orig_endpts[NREGIONS_ONE], opt_endpts[NREGIONS_ONE];
|
||||||
ComprEndpts compr_orig[NREGIONS_ONE], compr_opt[NREGIONS_ONE];
|
ComprEndpts compr_orig[NREGIONS_ONE], compr_opt[NREGIONS_ONE];
|
||||||
int orig_indices[Tile::TILE_H][Tile::TILE_W], opt_indices[Tile::TILE_H][Tile::TILE_W];
|
int orig_indices[Tile::TILE_H][Tile::TILE_W], opt_indices[Tile::TILE_H][Tile::TILE_W];
|
||||||
@ -668,21 +670,21 @@ static void generate_palette_unquantized(const FltEndpts endpts[NREGIONS_ONE], V
|
|||||||
}
|
}
|
||||||
|
|
||||||
// generate a palette from unquantized endpoints, then pick best palette color for all pixels in each region, return toterr for all regions combined
|
// generate a palette from unquantized endpoints, then pick best palette color for all pixels in each region, return toterr for all regions combined
|
||||||
static double map_colors(const Tile &tile, int shapeindex, const FltEndpts endpts[NREGIONS_ONE])
|
static float map_colors(const Tile &tile, int shapeindex, const FltEndpts endpts[NREGIONS_ONE])
|
||||||
{
|
{
|
||||||
// build list of possibles
|
// build list of possibles
|
||||||
Vector3 palette[NREGIONS_ONE][NINDICES];
|
Vector3 palette[NREGIONS_ONE][NINDICES];
|
||||||
|
|
||||||
generate_palette_unquantized(endpts, palette);
|
generate_palette_unquantized(endpts, palette);
|
||||||
|
|
||||||
double toterr = 0;
|
float toterr = 0;
|
||||||
Vector3 err;
|
Vector3 err;
|
||||||
|
|
||||||
for (int y = 0; y < tile.size_y; y++)
|
for (int y = 0; y < tile.size_y; y++)
|
||||||
for (int x = 0; x < tile.size_x; x++)
|
for (int x = 0; x < tile.size_x; x++)
|
||||||
{
|
{
|
||||||
int region = REGION(x,y,shapeindex);
|
int region = REGION(x,y,shapeindex);
|
||||||
double err, besterr;
|
float err, besterr;
|
||||||
|
|
||||||
besterr = Utils::norm(tile.data[y][x], palette[region][0]) * tile.importance_map[y][x];
|
besterr = Utils::norm(tile.data[y][x], palette[region][0]) * tile.importance_map[y][x];
|
||||||
|
|
||||||
@ -700,7 +702,7 @@ static double map_colors(const Tile &tile, int shapeindex, const FltEndpts endpt
|
|||||||
return toterr;
|
return toterr;
|
||||||
}
|
}
|
||||||
|
|
||||||
double ZOH::roughone(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS_ONE])
|
float ZOH::roughone(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS_ONE])
|
||||||
{
|
{
|
||||||
for (int region=0; region<NREGIONS_ONE; ++region)
|
for (int region=0; region<NREGIONS_ONE; ++region)
|
||||||
{
|
{
|
||||||
@ -742,7 +744,7 @@ double ZOH::roughone(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS
|
|||||||
|
|
||||||
mean /= float(np);
|
mean /= float(np);
|
||||||
|
|
||||||
Vector3 direction = Fit::computePrincipalComponent(np, colors);
|
Vector3 direction = Fit::computePrincipalComponent_EigenSolver(np, colors);
|
||||||
|
|
||||||
// project each pixel value along the principal direction
|
// project each pixel value along the principal direction
|
||||||
float minp = FLT_MAX, maxp = -FLT_MAX;
|
float minp = FLT_MAX, maxp = -FLT_MAX;
|
||||||
@ -767,11 +769,11 @@ double ZOH::roughone(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS
|
|||||||
return map_colors(tile, shapeindex, endpts);
|
return map_colors(tile, shapeindex, endpts);
|
||||||
}
|
}
|
||||||
|
|
||||||
double ZOH::compressone(const Tile &t, char *block)
|
float ZOH::compressone(const Tile &t, char *block)
|
||||||
{
|
{
|
||||||
int shapeindex_best = 0;
|
int shapeindex_best = 0;
|
||||||
FltEndpts endptsbest[NREGIONS_ONE], tempendpts[NREGIONS_ONE];
|
FltEndpts endptsbest[NREGIONS_ONE], tempendpts[NREGIONS_ONE];
|
||||||
double msebest = DBL_MAX;
|
float msebest = FLT_MAX;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
collect the mse values that are within 5% of the best values
|
collect the mse values that are within 5% of the best values
|
||||||
@ -780,7 +782,7 @@ double ZOH::compressone(const Tile &t, char *block)
|
|||||||
// hack for now -- just use the best value WORK
|
// hack for now -- just use the best value WORK
|
||||||
for (int i=0; i<NSHAPES && msebest>0.0; ++i)
|
for (int i=0; i<NSHAPES && msebest>0.0; ++i)
|
||||||
{
|
{
|
||||||
double mse = roughone(t, i, tempendpts);
|
float mse = roughone(t, i, tempendpts);
|
||||||
if (mse < msebest)
|
if (mse < msebest)
|
||||||
{
|
{
|
||||||
msebest = mse;
|
msebest = mse;
|
||||||
|
@ -90,7 +90,7 @@ struct Pattern
|
|||||||
|
|
||||||
#define NPATTERNS 10
|
#define NPATTERNS 10
|
||||||
|
|
||||||
static Pattern patterns[NPATTERNS] =
|
static const Pattern patterns[NPATTERNS] =
|
||||||
{
|
{
|
||||||
11,5,5,5, 11,4,4,4, 11,4,4,4, 1, 0x02, 5, "d[4:0],bz[3],rz[4:0],bz[2],ry[4:0],by[3:0],bz[1],bw[10],bx[3:0],gz[3:0],bz[0],gw[10],gx[3:0],gy[3:0],rw[10],rx[4:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
11,5,5,5, 11,4,4,4, 11,4,4,4, 1, 0x02, 5, "d[4:0],bz[3],rz[4:0],bz[2],ry[4:0],by[3:0],bz[1],bw[10],bx[3:0],gz[3:0],bz[0],gw[10],gx[3:0],gy[3:0],rw[10],rx[4:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
||||||
11,4,4,4, 11,5,5,5, 11,4,4,4, 1, 0x06, 5, "d[4:0],bz[3],gy[4],rz[3:0],bz[2],bz[0],ry[3:0],by[3:0],bz[1],bw[10],bx[3:0],gz[3:0],gw[10],gx[4:0],gy[3:0],gz[4],rw[10],rx[3:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
11,4,4,4, 11,5,5,5, 11,4,4,4, 1, 0x06, 5, "d[4:0],bz[3],gy[4],rz[3:0],bz[2],bz[0],ry[3:0],by[3:0],bz[1],bw[10],bx[3:0],gz[3:0],gw[10],gx[4:0],gy[3:0],gz[4],rw[10],rx[3:0],bw[9:0],gw[9:0],rw[9:0],m[4:0]",
|
||||||
@ -106,7 +106,7 @@ static Pattern patterns[NPATTERNS] =
|
|||||||
|
|
||||||
// mapping of mode to the corresponding index in pattern
|
// mapping of mode to the corresponding index in pattern
|
||||||
// UNUSED ZOH MODES are 0x13, 0x17, 0x1b, 0x1f -- return -2 for these
|
// UNUSED ZOH MODES are 0x13, 0x17, 0x1b, 0x1f -- return -2 for these
|
||||||
static int mode_to_pat[MAXMODES] = {
|
static const int mode_to_pat[MAXMODES] = {
|
||||||
3, // 0x00
|
3, // 0x00
|
||||||
8, // 0x01
|
8, // 0x01
|
||||||
0, // 0x02
|
0, // 0x02
|
||||||
@ -258,12 +258,13 @@ static void write_header(const ComprEndpts endpts[NREGIONS_TWO], int shapeindex,
|
|||||||
int rw = endpts[0].A[0], rx = endpts[0].B[0], ry = endpts[1].A[0], rz = endpts[1].B[0];
|
int rw = endpts[0].A[0], rx = endpts[0].B[0], ry = endpts[1].A[0], rz = endpts[1].B[0];
|
||||||
int gw = endpts[0].A[1], gx = endpts[0].B[1], gy = endpts[1].A[1], gz = endpts[1].B[1];
|
int gw = endpts[0].A[1], gx = endpts[0].B[1], gy = endpts[1].A[1], gz = endpts[1].B[1];
|
||||||
int bw = endpts[0].A[2], bx = endpts[0].B[2], by = endpts[1].A[2], bz = endpts[1].B[2];
|
int bw = endpts[0].A[2], bx = endpts[0].B[2], by = endpts[1].A[2], bz = endpts[1].B[2];
|
||||||
int ptr = strlen(p.encoding);
|
int ptr = int(strlen(p.encoding));
|
||||||
while (ptr)
|
while (ptr)
|
||||||
{
|
{
|
||||||
Field field;
|
Field field;
|
||||||
int endbit, len;
|
int endbit, len;
|
||||||
|
|
||||||
|
// !!!UNDONE: get rid of string parsing!!!
|
||||||
Utils::parse(p.encoding, ptr, field, endbit, len);
|
Utils::parse(p.encoding, ptr, field, endbit, len);
|
||||||
switch(field)
|
switch(field)
|
||||||
{
|
{
|
||||||
@ -313,13 +314,14 @@ static bool read_header(Bits &in, ComprEndpts endpts[NREGIONS_TWO], int &shapein
|
|||||||
gw = gx = gy = gz = 0;
|
gw = gx = gy = gz = 0;
|
||||||
bw = bx = by = bz = 0;
|
bw = bx = by = bz = 0;
|
||||||
|
|
||||||
int ptr = strlen(p.encoding);
|
int ptr = int(strlen(p.encoding));
|
||||||
|
|
||||||
while (ptr)
|
while (ptr)
|
||||||
{
|
{
|
||||||
Field field;
|
Field field;
|
||||||
int endbit, len;
|
int endbit, len;
|
||||||
|
|
||||||
|
// !!!UNDONE: get rid of string parsing!!!
|
||||||
Utils::parse(p.encoding, ptr, field, endbit, len);
|
Utils::parse(p.encoding, ptr, field, endbit, len);
|
||||||
|
|
||||||
switch(field)
|
switch(field)
|
||||||
@ -394,21 +396,21 @@ static void generate_palette_quantized(const IntEndpts &endpts, int prec, Vector
|
|||||||
|
|
||||||
// interpolate
|
// interpolate
|
||||||
for (int i = 0; i < NINDICES; ++i)
|
for (int i = 0; i < NINDICES; ++i)
|
||||||
palette[i].x = Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec);
|
palette[i].x = float(Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec));
|
||||||
|
|
||||||
a = Utils::unquantize(endpts.A[1], prec);
|
a = Utils::unquantize(endpts.A[1], prec);
|
||||||
b = Utils::unquantize(endpts.B[1], prec);
|
b = Utils::unquantize(endpts.B[1], prec);
|
||||||
|
|
||||||
// interpolate
|
// interpolate
|
||||||
for (int i = 0; i < NINDICES; ++i)
|
for (int i = 0; i < NINDICES; ++i)
|
||||||
palette[i].y = Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec);
|
palette[i].y = float(Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec));
|
||||||
|
|
||||||
a = Utils::unquantize(endpts.A[2], prec);
|
a = Utils::unquantize(endpts.A[2], prec);
|
||||||
b = Utils::unquantize(endpts.B[2], prec);
|
b = Utils::unquantize(endpts.B[2], prec);
|
||||||
|
|
||||||
// interpolate
|
// interpolate
|
||||||
for (int i = 0; i < NINDICES; ++i)
|
for (int i = 0; i < NINDICES; ++i)
|
||||||
palette[i].z = Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec);
|
palette[i].z = float(Utils::finish_unquantize(PALETTE_LERP(a, b, i, DENOM), prec));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void read_indices(Bits &in, int shapeindex, int indices[Tile::TILE_H][Tile::TILE_W])
|
static void read_indices(Bits &in, int shapeindex, int indices[Tile::TILE_H][Tile::TILE_W])
|
||||||
@ -470,17 +472,17 @@ void ZOH::decompresstwo(const char *block, Tile &t)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// given a collection of colors and quantized endpoints, generate a palette, choose best entries, and return a single toterr
|
// given a collection of colors and quantized endpoints, generate a palette, choose best entries, and return a single toterr
|
||||||
static double map_colors(const Vector3 colors[], const float importance[], int np, const IntEndpts &endpts, int prec)
|
static float map_colors(const Vector3 colors[], const float importance[], int np, const IntEndpts &endpts, int prec)
|
||||||
{
|
{
|
||||||
Vector3 palette[NINDICES];
|
Vector3 palette[NINDICES];
|
||||||
double toterr = 0;
|
float toterr = 0;
|
||||||
Vector3 err;
|
Vector3 err;
|
||||||
|
|
||||||
generate_palette_quantized(endpts, prec, palette);
|
generate_palette_quantized(endpts, prec, palette);
|
||||||
|
|
||||||
for (int i = 0; i < np; ++i)
|
for (int i = 0; i < np; ++i)
|
||||||
{
|
{
|
||||||
double err, besterr;
|
float err, besterr;
|
||||||
|
|
||||||
besterr = Utils::norm(colors[i], palette[0]) * importance[i];
|
besterr = Utils::norm(colors[i], palette[0]) * importance[i];
|
||||||
|
|
||||||
@ -500,7 +502,7 @@ static double map_colors(const Vector3 colors[], const float importance[], int n
|
|||||||
|
|
||||||
// assign indices given a tile, shape, and quantized endpoints, return toterr for each region
|
// assign indices given a tile, shape, and quantized endpoints, return toterr for each region
|
||||||
static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NREGIONS_TWO], int prec,
|
static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NREGIONS_TWO], int prec,
|
||||||
int indices[Tile::TILE_H][Tile::TILE_W], double toterr[NREGIONS_TWO])
|
int indices[Tile::TILE_H][Tile::TILE_W], float toterr[NREGIONS_TWO])
|
||||||
{
|
{
|
||||||
// build list of possibles
|
// build list of possibles
|
||||||
Vector3 palette[NREGIONS_TWO][NINDICES];
|
Vector3 palette[NREGIONS_TWO][NINDICES];
|
||||||
@ -517,7 +519,7 @@ static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NR
|
|||||||
for (int x = 0; x < tile.size_x; x++)
|
for (int x = 0; x < tile.size_x; x++)
|
||||||
{
|
{
|
||||||
int region = REGION(x,y,shapeindex);
|
int region = REGION(x,y,shapeindex);
|
||||||
double err, besterr;
|
float err, besterr;
|
||||||
|
|
||||||
besterr = Utils::norm(tile.data[y][x], palette[region][0]);
|
besterr = Utils::norm(tile.data[y][x], palette[region][0]);
|
||||||
indices[y][x] = 0;
|
indices[y][x] = 0;
|
||||||
@ -538,8 +540,8 @@ static void assign_indices(const Tile &tile, int shapeindex, IntEndpts endpts[NR
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static double perturb_one(const Vector3 colors[], const float importance[], int np, int ch, int prec, const IntEndpts &old_endpts, IntEndpts &new_endpts,
|
static float perturb_one(const Vector3 colors[], const float importance[], int np, int ch, int prec, const IntEndpts &old_endpts, IntEndpts &new_endpts,
|
||||||
double old_err, int do_b)
|
float old_err, int do_b)
|
||||||
{
|
{
|
||||||
// we have the old endpoints: old_endpts
|
// we have the old endpoints: old_endpts
|
||||||
// we have the perturbed endpoints: new_endpts
|
// we have the perturbed endpoints: new_endpts
|
||||||
@ -592,9 +594,9 @@ static double perturb_one(const Vector3 colors[], const float importance[], int
|
|||||||
return min_err;
|
return min_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void optimize_one(const Vector3 colors[], const float importance[], int np, double orig_err, const IntEndpts &orig_endpts, int prec, IntEndpts &opt_endpts)
|
static void optimize_one(const Vector3 colors[], const float importance[], int np, float orig_err, const IntEndpts &orig_endpts, int prec, IntEndpts &opt_endpts)
|
||||||
{
|
{
|
||||||
double opt_err = orig_err;
|
float opt_err = orig_err;
|
||||||
for (int ch = 0; ch < NCHANNELS; ++ch)
|
for (int ch = 0; ch < NCHANNELS; ++ch)
|
||||||
{
|
{
|
||||||
opt_endpts.A[ch] = orig_endpts.A[ch];
|
opt_endpts.A[ch] = orig_endpts.A[ch];
|
||||||
@ -664,12 +666,12 @@ static void optimize_one(const Vector3 colors[], const float importance[], int n
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void optimize_endpts(const Tile &tile, int shapeindex, const double orig_err[NREGIONS_TWO],
|
static void optimize_endpts(const Tile &tile, int shapeindex, const float orig_err[NREGIONS_TWO],
|
||||||
const IntEndpts orig_endpts[NREGIONS_TWO], int prec, IntEndpts opt_endpts[NREGIONS_TWO])
|
const IntEndpts orig_endpts[NREGIONS_TWO], int prec, IntEndpts opt_endpts[NREGIONS_TWO])
|
||||||
{
|
{
|
||||||
Vector3 pixels[Tile::TILE_TOTAL];
|
Vector3 pixels[Tile::TILE_TOTAL];
|
||||||
float importance[Tile::TILE_TOTAL];
|
float importance[Tile::TILE_TOTAL];
|
||||||
double err = 0;
|
float err = 0;
|
||||||
|
|
||||||
for (int region=0; region<NREGIONS_TWO; ++region)
|
for (int region=0; region<NREGIONS_TWO; ++region)
|
||||||
{
|
{
|
||||||
@ -706,9 +708,9 @@ static void optimize_endpts(const Tile &tile, int shapeindex, const double orig_
|
|||||||
emit compressed block with original data // to try to preserve maximum endpoint precision
|
emit compressed block with original data // to try to preserve maximum endpoint precision
|
||||||
*/
|
*/
|
||||||
|
|
||||||
double ZOH::refinetwo(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_TWO], char *block)
|
float ZOH::refinetwo(const Tile &tile, int shapeindex_best, const FltEndpts endpts[NREGIONS_TWO], char *block)
|
||||||
{
|
{
|
||||||
double orig_err[NREGIONS_TWO], opt_err[NREGIONS_TWO], orig_toterr, opt_toterr;
|
float orig_err[NREGIONS_TWO], opt_err[NREGIONS_TWO], orig_toterr, opt_toterr;
|
||||||
IntEndpts orig_endpts[NREGIONS_TWO], opt_endpts[NREGIONS_TWO];
|
IntEndpts orig_endpts[NREGIONS_TWO], opt_endpts[NREGIONS_TWO];
|
||||||
ComprEndpts compr_orig[NREGIONS_TWO], compr_opt[NREGIONS_TWO];
|
ComprEndpts compr_orig[NREGIONS_TWO], compr_opt[NREGIONS_TWO];
|
||||||
int orig_indices[Tile::TILE_H][Tile::TILE_W], opt_indices[Tile::TILE_H][Tile::TILE_W];
|
int orig_indices[Tile::TILE_H][Tile::TILE_W], opt_indices[Tile::TILE_H][Tile::TILE_W];
|
||||||
@ -755,21 +757,21 @@ static void generate_palette_unquantized(const FltEndpts endpts[NREGIONS_TWO], V
|
|||||||
}
|
}
|
||||||
|
|
||||||
// generate a palette from unquantized endpoints, then pick best palette color for all pixels in each region, return toterr for all regions combined
|
// generate a palette from unquantized endpoints, then pick best palette color for all pixels in each region, return toterr for all regions combined
|
||||||
static double map_colors(const Tile &tile, int shapeindex, const FltEndpts endpts[NREGIONS_TWO])
|
static float map_colors(const Tile &tile, int shapeindex, const FltEndpts endpts[NREGIONS_TWO])
|
||||||
{
|
{
|
||||||
// build list of possibles
|
// build list of possibles
|
||||||
Vector3 palette[NREGIONS_TWO][NINDICES];
|
Vector3 palette[NREGIONS_TWO][NINDICES];
|
||||||
|
|
||||||
generate_palette_unquantized(endpts, palette);
|
generate_palette_unquantized(endpts, palette);
|
||||||
|
|
||||||
double toterr = 0;
|
float toterr = 0;
|
||||||
Vector3 err;
|
Vector3 err;
|
||||||
|
|
||||||
for (int y = 0; y < tile.size_y; y++)
|
for (int y = 0; y < tile.size_y; y++)
|
||||||
for (int x = 0; x < tile.size_x; x++)
|
for (int x = 0; x < tile.size_x; x++)
|
||||||
{
|
{
|
||||||
int region = REGION(x,y,shapeindex);
|
int region = REGION(x,y,shapeindex);
|
||||||
double err, besterr;
|
float err, besterr;
|
||||||
|
|
||||||
besterr = Utils::norm(tile.data[y][x], palette[region][0]) * tile.importance_map[y][x];
|
besterr = Utils::norm(tile.data[y][x], palette[region][0]) * tile.importance_map[y][x];
|
||||||
|
|
||||||
@ -787,7 +789,7 @@ static double map_colors(const Tile &tile, int shapeindex, const FltEndpts endpt
|
|||||||
return toterr;
|
return toterr;
|
||||||
}
|
}
|
||||||
|
|
||||||
double ZOH::roughtwo(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS_TWO])
|
float ZOH::roughtwo(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS_TWO])
|
||||||
{
|
{
|
||||||
for (int region=0; region<NREGIONS_TWO; ++region)
|
for (int region=0; region<NREGIONS_TWO; ++region)
|
||||||
{
|
{
|
||||||
@ -827,7 +829,7 @@ double ZOH::roughtwo(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS
|
|||||||
|
|
||||||
mean /= float(np);
|
mean /= float(np);
|
||||||
|
|
||||||
Vector3 direction = Fit::computePrincipalComponent(np, colors);
|
Vector3 direction = Fit::computePrincipalComponent_EigenSolver(np, colors);
|
||||||
|
|
||||||
// project each pixel value along the principal direction
|
// project each pixel value along the principal direction
|
||||||
float minp = FLT_MAX, maxp = -FLT_MAX;
|
float minp = FLT_MAX, maxp = -FLT_MAX;
|
||||||
@ -852,11 +854,11 @@ double ZOH::roughtwo(const Tile &tile, int shapeindex, FltEndpts endpts[NREGIONS
|
|||||||
return map_colors(tile, shapeindex, endpts);
|
return map_colors(tile, shapeindex, endpts);
|
||||||
}
|
}
|
||||||
|
|
||||||
double ZOH::compresstwo(const Tile &t, char *block)
|
float ZOH::compresstwo(const Tile &t, char *block)
|
||||||
{
|
{
|
||||||
int shapeindex_best = 0;
|
int shapeindex_best = 0;
|
||||||
FltEndpts endptsbest[NREGIONS_TWO], tempendpts[NREGIONS_TWO];
|
FltEndpts endptsbest[NREGIONS_TWO], tempendpts[NREGIONS_TWO];
|
||||||
double msebest = DBL_MAX;
|
float msebest = FLT_MAX;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
collect the mse values that are within 5% of the best values
|
collect the mse values that are within 5% of the best values
|
||||||
@ -865,7 +867,7 @@ double ZOH::compresstwo(const Tile &t, char *block)
|
|||||||
// hack for now -- just use the best value WORK
|
// hack for now -- just use the best value WORK
|
||||||
for (int i=0; i<NSHAPES && msebest>0.0; ++i)
|
for (int i=0; i<NSHAPES && msebest>0.0; ++i)
|
||||||
{
|
{
|
||||||
double mse = roughtwo(t, i, tempendpts);
|
float mse = roughtwo(t, i, tempendpts);
|
||||||
if (mse < msebest)
|
if (mse < msebest)
|
||||||
{
|
{
|
||||||
msebest = mse;
|
msebest = mse;
|
||||||
|
@ -101,7 +101,7 @@ namespace nvtt
|
|||||||
Format_DXT1n, // Not supported on CPU yet.
|
Format_DXT1n, // Not supported on CPU yet.
|
||||||
Format_CTX1, // Not supported on CPU yet.
|
Format_CTX1, // Not supported on CPU yet.
|
||||||
|
|
||||||
Format_BC6, // Not supported yet.
|
Format_BC6,
|
||||||
Format_BC7, // Not supported yet.
|
Format_BC7, // Not supported yet.
|
||||||
|
|
||||||
Format_DXT1_Luma,
|
Format_DXT1_Luma,
|
||||||
@ -503,7 +503,7 @@ namespace nvtt
|
|||||||
NVTT_API void fill(float r, float g, float b, float a);
|
NVTT_API void fill(float r, float g, float b, float a);
|
||||||
NVTT_API void scaleAlphaToCoverage(float coverage, float alphaRef = 0.5f);
|
NVTT_API void scaleAlphaToCoverage(float coverage, float alphaRef = 0.5f);
|
||||||
NVTT_API void toRGBM(float range = 1.0f, float threshold = 0.0f);
|
NVTT_API void toRGBM(float range = 1.0f, float threshold = 0.0f);
|
||||||
NVTT_API void fromRGBM(float range = 1.0f);
|
NVTT_API void fromRGBM(float range = 1.0f, float threshold = 0.0f);
|
||||||
NVTT_API void toLM(float range = 1.0f, float threshold = 0.0f);
|
NVTT_API void toLM(float range = 1.0f, float threshold = 0.0f);
|
||||||
NVTT_API void toRGBE(int mantissaBits, int exponentBits);
|
NVTT_API void toRGBE(int mantissaBits, int exponentBits);
|
||||||
NVTT_API void fromRGBE(int mantissaBits, int exponentBits);
|
NVTT_API void fromRGBE(int mantissaBits, int exponentBits);
|
||||||
|
@ -187,6 +187,7 @@ enum Mode {
|
|||||||
Mode_BC5_Normal_Paraboloid,
|
Mode_BC5_Normal_Paraboloid,
|
||||||
Mode_BC5_Normal_Quartic,
|
Mode_BC5_Normal_Quartic,
|
||||||
//Mode_BC5_Normal_DualParaboloid,
|
//Mode_BC5_Normal_DualParaboloid,
|
||||||
|
Mode_BC6,
|
||||||
Mode_Count
|
Mode_Count
|
||||||
};
|
};
|
||||||
static const char * s_modeNames[] = {
|
static const char * s_modeNames[] = {
|
||||||
@ -205,6 +206,7 @@ static const char * s_modeNames[] = {
|
|||||||
"BC5-Normal-Paraboloid", // Mode_BC5_Normal_Paraboloid,
|
"BC5-Normal-Paraboloid", // Mode_BC5_Normal_Paraboloid,
|
||||||
"BC5-Normal-Quartic", // Mode_BC5_Normal_Quartic,
|
"BC5-Normal-Quartic", // Mode_BC5_Normal_Quartic,
|
||||||
//"BC5-Normal-DualParaboloid", // Mode_BC5_Normal_DualParaboloid,
|
//"BC5-Normal-DualParaboloid", // Mode_BC5_Normal_DualParaboloid,
|
||||||
|
"BC6", // Mode_BC6,
|
||||||
};
|
};
|
||||||
nvStaticCheck(NV_ARRAY_SIZE(s_modeNames) == Mode_Count);
|
nvStaticCheck(NV_ARRAY_SIZE(s_modeNames) == Mode_Count);
|
||||||
|
|
||||||
@ -214,11 +216,14 @@ struct Test {
|
|||||||
Mode modes[6];
|
Mode modes[6];
|
||||||
};
|
};
|
||||||
static Test s_imageTests[] = {
|
static Test s_imageTests[] = {
|
||||||
{"Color", 3, {Mode_BC1, Mode_BC3_YCoCg, Mode_BC3_RGBM, Mode_BC3_LUVW}},
|
{"Color", 4, {Mode_BC1, Mode_BC3_YCoCg, Mode_BC3_RGBM, Mode_BC6, /*Mode_BC3_LUVW*/}},
|
||||||
{"Alpha", 3, {Mode_BC1_Alpha, Mode_BC2_Alpha, Mode_BC3_Alpha}},
|
{"Alpha", 3, {Mode_BC1_Alpha, Mode_BC2_Alpha, Mode_BC3_Alpha}},
|
||||||
//{"Normal", 3, {Mode_BC1_Normal, Mode_BC3_Normal, Mode_BC5_Normal}},
|
//{"Normal", 3, {Mode_BC1_Normal, Mode_BC3_Normal, Mode_BC5_Normal}},
|
||||||
{"Normal", 4, {Mode_BC5_Normal, Mode_BC5_Normal_Stereographic, Mode_BC5_Normal_Paraboloid, Mode_BC5_Normal_Quartic}},
|
{"Normal", 4, {Mode_BC5_Normal, Mode_BC5_Normal_Stereographic, Mode_BC5_Normal_Paraboloid, Mode_BC5_Normal_Quartic}},
|
||||||
{"Lightmap", 4, {Mode_BC1, Mode_BC3_YCoCg, Mode_BC3_RGBM, Mode_BC3_RGBS}},
|
{"Lightmap", 4, {Mode_BC1, Mode_BC3_YCoCg, Mode_BC3_RGBM, Mode_BC3_RGBS}},
|
||||||
|
{"HDR", 2, {Mode_BC3_RGBM, Mode_BC6}},
|
||||||
|
//{"BC6", 1, {Mode_BC6}}, // temporary mode for testing
|
||||||
|
//{"BC7", 1, {Mode_BC7}}, // temporary mode for testing
|
||||||
};
|
};
|
||||||
const int s_imageTestCount = ARRAY_SIZE(s_imageTests);
|
const int s_imageTestCount = ARRAY_SIZE(s_imageTests);
|
||||||
|
|
||||||
@ -247,8 +252,9 @@ static ImageSet s_imageSets[] = {
|
|||||||
{"Witness", "witness", s_witnessImageSet, ARRAY_SIZE(s_witnessImageSet), ImageType_RGB}, // 6
|
{"Witness", "witness", s_witnessImageSet, ARRAY_SIZE(s_witnessImageSet), ImageType_RGB}, // 6
|
||||||
{"Lightmap", "lightmap", s_witnessLmapImageSet, ARRAY_SIZE(s_witnessLmapImageSet), ImageType_HDR}, // 7
|
{"Lightmap", "lightmap", s_witnessLmapImageSet, ARRAY_SIZE(s_witnessLmapImageSet), ImageType_HDR}, // 7
|
||||||
{"Normal", "id_tnmap", s_normalMapImageSet, ARRAY_SIZE(s_normalMapImageSet), ImageType_Normal}, // 8
|
{"Normal", "id_tnmap", s_normalMapImageSet, ARRAY_SIZE(s_normalMapImageSet), ImageType_Normal}, // 8
|
||||||
|
// !!!UNDONE: more HDR image sets
|
||||||
};
|
};
|
||||||
const int s_imageSetCount = sizeof(s_imageSets)/sizeof(s_imageSets[0]);
|
const int s_imageSetCount = ARRAY_SIZE(s_imageSets);
|
||||||
|
|
||||||
|
|
||||||
struct MyOutputHandler : public nvtt::OutputHandler
|
struct MyOutputHandler : public nvtt::OutputHandler
|
||||||
@ -396,6 +402,10 @@ int main(int argc, char *argv[])
|
|||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Warning: unrecognized option \"%s\"\n", argv[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate inputs.
|
// Validate inputs.
|
||||||
@ -419,7 +429,7 @@ int main(int argc, char *argv[])
|
|||||||
for (int i = 0; i < s_imageSetCount; i++) {
|
for (int i = 0; i < s_imageSetCount; i++) {
|
||||||
printf(" %i: \t%s.\n", i, s_imageSets[i].name);
|
printf(" %i: \t%s.\n", i, s_imageSets[i].name);
|
||||||
}
|
}
|
||||||
printf(" -test [0:%d] \tCompression tests to run.", s_imageTestCount);
|
printf(" -test [0:%d] \tCompression tests to run.\n", s_imageTestCount);
|
||||||
for (int i = 0; i < s_imageTestCount; i++) {
|
for (int i = 0; i < s_imageTestCount; i++) {
|
||||||
printf(" %i: \t%s.\n", i, s_imageTests[i].name);
|
printf(" %i: \t%s.\n", i, s_imageTests[i].name);
|
||||||
}
|
}
|
||||||
@ -551,7 +561,7 @@ int main(int argc, char *argv[])
|
|||||||
if (t != test.count-1) graphWriter << ",";
|
if (t != test.count-1) graphWriter << ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Leyends.
|
// Legends.
|
||||||
graphWriter << "&chdl=";
|
graphWriter << "&chdl=";
|
||||||
for (int t = 0; t < test.count; t++)
|
for (int t = 0; t < test.count; t++)
|
||||||
{
|
{
|
||||||
@ -584,7 +594,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (int t = 0; t < test.count; t++)
|
for (int t = 0; t < test.count; t++)
|
||||||
{
|
{
|
||||||
float totalTime = 0;
|
float totalCompressionTime = 0;
|
||||||
float totalError = 0;
|
float totalError = 0;
|
||||||
|
|
||||||
Mode mode = test.modes[t];
|
Mode mode = test.modes[t];
|
||||||
@ -602,6 +612,14 @@ int main(int argc, char *argv[])
|
|||||||
else if (mode == Mode_BC5_Normal || mode == Mode_BC5_Normal_Stereographic || mode == Mode_BC5_Normal_Paraboloid || mode == Mode_BC5_Normal_Quartic) {
|
else if (mode == Mode_BC5_Normal || mode == Mode_BC5_Normal_Stereographic || mode == Mode_BC5_Normal_Paraboloid || mode == Mode_BC5_Normal_Quartic) {
|
||||||
format = nvtt::Format_BC5;
|
format = nvtt::Format_BC5;
|
||||||
}
|
}
|
||||||
|
else if (mode == Mode_BC6)
|
||||||
|
{
|
||||||
|
format = nvtt::Format_BC6;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nvDebugCheck(false);
|
||||||
|
}
|
||||||
|
|
||||||
compressionOptions.setFormat(format);
|
compressionOptions.setFormat(format);
|
||||||
|
|
||||||
@ -633,12 +651,12 @@ int main(int argc, char *argv[])
|
|||||||
if (img.isNormalMap()) {
|
if (img.isNormalMap()) {
|
||||||
img.normalizeNormalMap();
|
img.normalizeNormalMap();
|
||||||
}
|
}
|
||||||
if (set.type == ImageType_HDR) {
|
/*if (set.type == ImageType_HDR) {
|
||||||
img.scaleBias(0, 1.0f/4.0f, 0.0f); img.clamp(0);
|
img.scaleBias(0, 1.0f/4.0f, 0.0f); img.clamp(0);
|
||||||
img.scaleBias(1, 1.0f/4.0f, 0.0f); img.clamp(1);
|
img.scaleBias(1, 1.0f/4.0f, 0.0f); img.clamp(1);
|
||||||
img.scaleBias(2, 1.0f/4.0f, 0.0f); img.clamp(2);
|
img.scaleBias(2, 1.0f/4.0f, 0.0f); img.clamp(2);
|
||||||
img.toGamma(2);
|
img.toGamma(2);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
nvtt::Surface tmp = img;
|
nvtt::Surface tmp = img;
|
||||||
if (mode == Mode_BC1) {
|
if (mode == Mode_BC1) {
|
||||||
@ -672,7 +690,9 @@ int main(int argc, char *argv[])
|
|||||||
else if (mode == Mode_BC3_RGBM) {
|
else if (mode == Mode_BC3_RGBM) {
|
||||||
tmp.setAlphaMode(nvtt::AlphaMode_None);
|
tmp.setAlphaMode(nvtt::AlphaMode_None);
|
||||||
if (set.type == ImageType_HDR) {
|
if (set.type == ImageType_HDR) {
|
||||||
tmp.toRGBM(/*4*/);
|
// Transform to gamma-2.0 space before applying RGBM - helps a lot with banding in the darks.
|
||||||
|
tmp.toGamma(2.0f);
|
||||||
|
tmp.toRGBM(3.0f); // range of 3.0 in gamma-2.0 space == range of 9.0 in linear space
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tmp.toRGBM();
|
tmp.toRGBM();
|
||||||
@ -681,7 +701,7 @@ int main(int argc, char *argv[])
|
|||||||
else if (mode == Mode_BC3_LUVW) {
|
else if (mode == Mode_BC3_LUVW) {
|
||||||
tmp.setAlphaMode(nvtt::AlphaMode_None);
|
tmp.setAlphaMode(nvtt::AlphaMode_None);
|
||||||
if (set.type == ImageType_HDR) {
|
if (set.type == ImageType_HDR) {
|
||||||
tmp.toLUVW(/*4*/);
|
tmp.toLUVW(8.0f);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tmp.toLUVW();
|
tmp.toLUVW();
|
||||||
@ -725,7 +745,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
timer.stop();
|
timer.stop();
|
||||||
printf(" Time: \t%.3f sec\n", timer.elapsed());
|
printf(" Time: \t%.3f sec\n", timer.elapsed());
|
||||||
totalTime += timer.elapsed();
|
totalCompressionTime += timer.elapsed();
|
||||||
|
|
||||||
nvtt::Surface img_out = outputHandler.decompress(mode, format, decoder);
|
nvtt::Surface img_out = outputHandler.decompress(mode, format, decoder);
|
||||||
img_out.setAlphaMode(img.alphaMode());
|
img_out.setAlphaMode(img.alphaMode());
|
||||||
@ -757,7 +777,8 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
else if (mode == Mode_BC3_RGBM) {
|
else if (mode == Mode_BC3_RGBM) {
|
||||||
if (set.type == ImageType_HDR) {
|
if (set.type == ImageType_HDR) {
|
||||||
img_out.fromRGBM(/*4*/);
|
img_out.fromRGBM(3.0f);
|
||||||
|
img_out.toLinear(2.0f);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
img_out.fromRGBM();
|
img_out.fromRGBM();
|
||||||
@ -765,7 +786,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
else if (mode == Mode_BC3_LUVW) {
|
else if (mode == Mode_BC3_LUVW) {
|
||||||
if (set.type == ImageType_HDR) {
|
if (set.type == ImageType_HDR) {
|
||||||
img_out.fromLUVW(/*4*/);
|
img_out.fromLUVW(8.0f);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
img_out.fromLUVW();
|
img_out.fromLUVW();
|
||||||
@ -837,7 +858,7 @@ int main(int argc, char *argv[])
|
|||||||
img_out.addChannel(residual_out, 2, 2, -1.0f); img_out.clamp(2);
|
img_out.addChannel(residual_out, 2, 2, -1.0f); img_out.clamp(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (set.type == ImageType_HDR)
|
/*if (set.type == ImageType_HDR)
|
||||||
{
|
{
|
||||||
Path outputFileName;
|
Path outputFileName;
|
||||||
outputFileName.format("%s/%s", outPath, set.fileNames[i]);
|
outputFileName.format("%s/%s", outPath, set.fileNames[i]);
|
||||||
@ -848,7 +869,7 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
printf("Error saving file '%s'.\n", outputFileName.str());
|
printf("Error saving file '%s'.\n", outputFileName.str());
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// Output compressed image.
|
// Output compressed image.
|
||||||
Path outputFileName;
|
Path outputFileName;
|
||||||
@ -865,7 +886,6 @@ int main(int argc, char *argv[])
|
|||||||
float error;
|
float error;
|
||||||
if (errorMode == ErrorMode_RMSE) {
|
if (errorMode == ErrorMode_RMSE) {
|
||||||
error = nvtt::rmsError(img, img_out);
|
error = nvtt::rmsError(img, img_out);
|
||||||
if (set.type == ImageType_HDR) error *= 4;
|
|
||||||
}
|
}
|
||||||
else if (errorMode == ErrorMode_CieLab) {
|
else if (errorMode == ErrorMode_CieLab) {
|
||||||
error = nvtt::cieLabError(img, img_out);
|
error = nvtt::cieLabError(img, img_out);
|
||||||
@ -932,7 +952,7 @@ int main(int argc, char *argv[])
|
|||||||
totalError /= set.fileCount;
|
totalError /= set.fileCount;
|
||||||
|
|
||||||
printf("Total Results:\n");
|
printf("Total Results:\n");
|
||||||
printf(" Total Time: \t%.3f sec\n", totalTime);
|
printf(" Total Compression Time:\t%.3f sec\n", totalCompressionTime);
|
||||||
printf(" Average Error: \t%.4f\n", totalError);
|
printf(" Average Error: \t%.4f\n", totalError);
|
||||||
|
|
||||||
if (t != test.count-1) graphWriter << "|";
|
if (t != test.count-1) graphWriter << "|";
|
||||||
|
@ -83,6 +83,10 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
files.append(argv[i]);
|
files.append(argv[i]);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Warning: unrecognized option \"%s\"\n", argv[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (files.count() == 0)
|
if (files.count() == 0)
|
||||||
|
@ -261,6 +261,15 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
format = nvtt::Format_BC5;
|
format = nvtt::Format_BC5;
|
||||||
}
|
}
|
||||||
|
else if (strcmp("-bc6", argv[i]) == 0)
|
||||||
|
{
|
||||||
|
format = nvtt::Format_BC6;
|
||||||
|
}
|
||||||
|
// !!!UNDONE: add BC7 support
|
||||||
|
/*else if (strcmp("-bc7", argv[i]) == 0)
|
||||||
|
{
|
||||||
|
format = nvtt::Format_BC7;
|
||||||
|
}*/
|
||||||
|
|
||||||
// Undocumented option. Mainly used for testing.
|
// Undocumented option. Mainly used for testing.
|
||||||
else if (strcmp("-ext", argv[i]) == 0)
|
else if (strcmp("-ext", argv[i]) == 0)
|
||||||
@ -302,6 +311,10 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Warning: unrecognized option \"%s\"\n", argv[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint version = nvtt::version();
|
const uint version = nvtt::version();
|
||||||
@ -314,7 +327,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (input.isNull())
|
if (input.isNull())
|
||||||
{
|
{
|
||||||
printf("usage: nvcompress [options] infile [outfile]\n\n");
|
printf("usage: nvcompress [options] infile [outfile.dds]\n\n");
|
||||||
|
|
||||||
printf("Input options:\n");
|
printf("Input options:\n");
|
||||||
printf(" -color \tThe input image is a color map (default).\n");
|
printf(" -color \tThe input image is a color map (default).\n");
|
||||||
@ -340,11 +353,13 @@ int main(int argc, char *argv[])
|
|||||||
printf(" -bc3 \tBC3 format (DXT5)\n");
|
printf(" -bc3 \tBC3 format (DXT5)\n");
|
||||||
printf(" -bc3n \tBC3 normal map format (DXT5nm)\n");
|
printf(" -bc3n \tBC3 normal map format (DXT5nm)\n");
|
||||||
printf(" -bc4 \tBC4 format (ATI1)\n");
|
printf(" -bc4 \tBC4 format (ATI1)\n");
|
||||||
printf(" -bc5 \tBC5 format (3Dc/ATI2)\n\n");
|
printf(" -bc5 \tBC5 format (3Dc/ATI2)\n");
|
||||||
|
printf(" -bc6 \tBC6 format\n");
|
||||||
|
//printf(" -bc7 \tBC7 format\n\n");
|
||||||
|
|
||||||
printf("Output options:\n");
|
printf("Output options:\n");
|
||||||
printf(" -silent \tDo not output progress messages\n");
|
printf(" -silent \tDo not output progress messages\n");
|
||||||
printf(" -dds10 \tUse DirectX 10 DDS format\n\n");
|
printf(" -dds10 \tUse DirectX 10 DDS format (enabled by default for BC6/7)\n\n");
|
||||||
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
@ -581,6 +596,12 @@ int main(int argc, char *argv[])
|
|||||||
outputOptions.setOutputHandler(&outputHandler);
|
outputOptions.setOutputHandler(&outputHandler);
|
||||||
outputOptions.setErrorHandler(&errorHandler);
|
outputOptions.setErrorHandler(&errorHandler);
|
||||||
|
|
||||||
|
// Automatically use dds10 if compressing to BC6 or BC7
|
||||||
|
if (format == nvtt::Format_BC6 || format == nvtt::Format_BC7)
|
||||||
|
{
|
||||||
|
dds10 = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (dds10)
|
if (dds10)
|
||||||
{
|
{
|
||||||
outputOptions.setContainer(nvtt::Container_DDS10);
|
outputOptions.setContainer(nvtt::Container_DDS10);
|
||||||
|
@ -66,6 +66,8 @@ int main(int argc, char *argv[])
|
|||||||
if (i+1 == argc) break;
|
if (i+1 == argc) break;
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
|
// !!!UNDONE: Support at least one HDR output format
|
||||||
|
|
||||||
#ifdef HAVE_PNG
|
#ifdef HAVE_PNG
|
||||||
if (strcmp("png", argv[i]) == 0) savePNG = true;
|
if (strcmp("png", argv[i]) == 0) savePNG = true;
|
||||||
else
|
else
|
||||||
@ -92,13 +94,17 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Warning: unrecognized option \"%s\"\n", argv[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("NVIDIA Texture Tools - Copyright NVIDIA Corporation 2007\n\n");
|
printf("NVIDIA Texture Tools - Copyright NVIDIA Corporation 2007\n\n");
|
||||||
|
|
||||||
if (input.isNull())
|
if (input.isNull())
|
||||||
{
|
{
|
||||||
printf("usage: nvdecompress [options] infile [outfile]\n\n");
|
printf("usage: nvdecompress [options] infile.dds [outfile]\n\n");
|
||||||
|
|
||||||
printf("Note: the .tga or .png extension is forced on outfile\n\n");
|
printf("Note: the .tga or .png extension is forced on outfile\n\n");
|
||||||
|
|
||||||
@ -112,6 +118,8 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load surface.
|
// Load surface.
|
||||||
|
// !!! DirectDrawSurface API doesn't support float images, so BC6 will be converted to 8-bit on load.
|
||||||
|
// Should use nvtt::Surface instead.
|
||||||
nv::DirectDrawSurface dds(input.str());
|
nv::DirectDrawSurface dds(input.str());
|
||||||
if (!dds.isValid())
|
if (!dds.isValid())
|
||||||
{
|
{
|
||||||
|
@ -182,11 +182,10 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
compareNormal = true;
|
compareNormal = true;
|
||||||
}
|
}
|
||||||
if (strcmp("-alpha", argv[i]) == 0)
|
else if (strcmp("-alpha", argv[i]) == 0)
|
||||||
{
|
{
|
||||||
compareAlpha = true;
|
compareAlpha = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (argv[i][0] != '-')
|
else if (argv[i][0] != '-')
|
||||||
{
|
{
|
||||||
input0 = argv[i];
|
input0 = argv[i];
|
||||||
@ -197,6 +196,10 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Warning: unrecognized option \"%s\"\n", argv[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input0.isNull() || input1.isNull())
|
if (input0.isNull() || input1.isNull())
|
||||||
|
@ -131,6 +131,10 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Warning: unrecognized option \"%s\"\n", argv[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.isNull() || output.isNull())
|
if (input.isNull() || output.isNull())
|
||||||
|
Loading…
Reference in New Issue
Block a user