aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-28 04:24:24 +0200
committerj-p <jp_bruyere@hotmail.com>2019-08-28 11:32:06 +0200
commite68d33a328fd0121d39ca780d37c80e09dfc7591 (patch)
tree14309ab32eee3e3c26806f8d34afd4af23ed7097
parent889299959b61eefc39e18328ab020c1d19884161 (diff)
SpirVTask, data project to avoid multiple datas copies
-rw-r--r--Directory.Build.targets32
-rw-r--r--SpirVTask/CompileGLSLTask.cs183
-rw-r--r--SpirVTask/SpirVTasks.csproj9
-rw-r--r--SpirVTasks.dllbin0 -> 9728 bytes
-rw-r--r--samples/Directory.Build.props9
-rw-r--r--samples/Triangle/shaders/triangle.frag8
-rw-r--r--samples/common/shaders/preamble.inc4
-rw-r--r--samples/data/textures/tex256.jpgbin24665 -> 0 bytes
-rw-r--r--samples/data/textures/texspace256.jpgbin3952 -> 0 bytes
-rw-r--r--samples/datas/Directory.Build.props5
-rw-r--r--samples/datas/data/models/Box.gltf (renamed from samples/data/models/Box.gltf)0
-rw-r--r--samples/datas/data/models/Bricks16_col.jpg (renamed from samples/data/models/Bricks16_col.jpg)0
-rw-r--r--samples/datas/data/models/Bricks16_nrm.jpg (renamed from samples/data/models/Bricks16_nrm.jpg)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf (renamed from samples/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/DamagedHelmet.bin (renamed from samples/data/models/DamagedHelmet/glTF/DamagedHelmet.bin)bin558504 -> 558504 bytes
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf (renamed from samples/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/Default_AO.jpg (renamed from samples/data/models/DamagedHelmet/glTF/Default_AO.jpg)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/Default_albedo.jpg (renamed from samples/data/models/DamagedHelmet/glTF/Default_albedo.jpg)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/Default_emissive.jpg (renamed from samples/data/models/DamagedHelmet/glTF/Default_emissive.jpg)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/Default_metalRoughness.jpg (renamed from samples/data/models/DamagedHelmet/glTF/Default_metalRoughness.jpg)0
-rw-r--r--samples/datas/data/models/DamagedHelmet/glTF/Default_normal.jpg (renamed from samples/data/models/DamagedHelmet/glTF/Default_normal.jpg)0
-rw-r--r--samples/datas/data/models/Hubble.glb (renamed from samples/data/models/Hubble.glb)0
-rw-r--r--samples/datas/data/models/ISS_stationary.glb (renamed from samples/data/models/ISS_stationary.glb)0
-rw-r--r--samples/datas/data/models/MER_static.glb (renamed from samples/data/models/MER_static.glb)0
-rw-r--r--samples/datas/data/models/Sponza/README.md (renamed from samples/data/models/Sponza/README.md)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/10381718147657362067.jpg (renamed from samples/data/models/Sponza/glTF/10381718147657362067.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/10388182081421875623.jpg (renamed from samples/data/models/Sponza/glTF/10388182081421875623.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/11474523244911310074.jpg (renamed from samples/data/models/Sponza/glTF/11474523244911310074.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/11490520546946913238.jpg (renamed from samples/data/models/Sponza/glTF/11490520546946913238.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/11872827283454512094.jpg (renamed from samples/data/models/Sponza/glTF/11872827283454512094.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/11968150294050148237.jpg (renamed from samples/data/models/Sponza/glTF/11968150294050148237.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/1219024358953944284.jpg (renamed from samples/data/models/Sponza/glTF/1219024358953944284.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/12501374198249454378.jpg (renamed from samples/data/models/Sponza/glTF/12501374198249454378.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/13196865903111448057.jpg (renamed from samples/data/models/Sponza/glTF/13196865903111448057.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/13824894030729245199.jpg (renamed from samples/data/models/Sponza/glTF/13824894030729245199.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/13982482287905699490.jpg (renamed from samples/data/models/Sponza/glTF/13982482287905699490.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/14118779221266351425.jpg (renamed from samples/data/models/Sponza/glTF/14118779221266351425.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/14170708867020035030.jpg (renamed from samples/data/models/Sponza/glTF/14170708867020035030.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/14267839433702832875.jpg (renamed from samples/data/models/Sponza/glTF/14267839433702832875.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/14650633544276105767.jpg (renamed from samples/data/models/Sponza/glTF/14650633544276105767.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/15295713303328085182.jpg (renamed from samples/data/models/Sponza/glTF/15295713303328085182.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/15722799267630235092.jpg (renamed from samples/data/models/Sponza/glTF/15722799267630235092.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/16275776544635328252.png (renamed from samples/data/models/Sponza/glTF/16275776544635328252.png)bin1077432 -> 1077432 bytes
-rw-r--r--samples/datas/data/models/Sponza/glTF/16299174074766089871.jpg (renamed from samples/data/models/Sponza/glTF/16299174074766089871.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/16885566240357350108.jpg (renamed from samples/data/models/Sponza/glTF/16885566240357350108.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/17556969131407844942.jpg (renamed from samples/data/models/Sponza/glTF/17556969131407844942.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/17876391417123941155.jpg (renamed from samples/data/models/Sponza/glTF/17876391417123941155.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2051777328469649772.jpg (renamed from samples/data/models/Sponza/glTF/2051777328469649772.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2185409758123873465.jpg (renamed from samples/data/models/Sponza/glTF/2185409758123873465.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2299742237651021498.jpg (renamed from samples/data/models/Sponza/glTF/2299742237651021498.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2374361008830720677.jpg (renamed from samples/data/models/Sponza/glTF/2374361008830720677.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2411100444841994089.jpg (renamed from samples/data/models/Sponza/glTF/2411100444841994089.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2775690330959970771.jpg (renamed from samples/data/models/Sponza/glTF/2775690330959970771.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/2969916736137545357.jpg (renamed from samples/data/models/Sponza/glTF/2969916736137545357.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/332936164838540657.jpg (renamed from samples/data/models/Sponza/glTF/332936164838540657.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/3371964815757888145.jpg (renamed from samples/data/models/Sponza/glTF/3371964815757888145.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/3455394979645218238.jpg (renamed from samples/data/models/Sponza/glTF/3455394979645218238.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/3628158980083700836.jpg (renamed from samples/data/models/Sponza/glTF/3628158980083700836.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/3827035219084910048.jpg (renamed from samples/data/models/Sponza/glTF/3827035219084910048.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/4477655471536070370.jpg (renamed from samples/data/models/Sponza/glTF/4477655471536070370.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/4601176305987539675.jpg (renamed from samples/data/models/Sponza/glTF/4601176305987539675.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/466164707995436622.jpg (renamed from samples/data/models/Sponza/glTF/466164707995436622.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/4675343432951571524.jpg (renamed from samples/data/models/Sponza/glTF/4675343432951571524.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/4871783166746854860.jpg (renamed from samples/data/models/Sponza/glTF/4871783166746854860.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/4910669866631290573.jpg (renamed from samples/data/models/Sponza/glTF/4910669866631290573.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/4975155472559461469.jpg (renamed from samples/data/models/Sponza/glTF/4975155472559461469.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/5061699253647017043.png (renamed from samples/data/models/Sponza/glTF/5061699253647017043.png)bin2427921 -> 2427921 bytes
-rw-r--r--samples/datas/data/models/Sponza/glTF/5792855332885324923.jpg (renamed from samples/data/models/Sponza/glTF/5792855332885324923.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/5823059166183034438.jpg (renamed from samples/data/models/Sponza/glTF/5823059166183034438.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/6047387724914829168.jpg (renamed from samples/data/models/Sponza/glTF/6047387724914829168.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/6151467286084645207.jpg (renamed from samples/data/models/Sponza/glTF/6151467286084645207.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/6593109234861095314.jpg (renamed from samples/data/models/Sponza/glTF/6593109234861095314.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/6667038893015345571.jpg (renamed from samples/data/models/Sponza/glTF/6667038893015345571.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/6772804448157695701.jpg (renamed from samples/data/models/Sponza/glTF/6772804448157695701.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/7056944414013900257.jpg (renamed from samples/data/models/Sponza/glTF/7056944414013900257.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/715093869573992647.jpg (renamed from samples/data/models/Sponza/glTF/715093869573992647.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/7268504077753552595.jpg (renamed from samples/data/models/Sponza/glTF/7268504077753552595.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/7441062115984513793.jpg (renamed from samples/data/models/Sponza/glTF/7441062115984513793.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/755318871556304029.jpg (renamed from samples/data/models/Sponza/glTF/755318871556304029.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/759203620573749278.jpg (renamed from samples/data/models/Sponza/glTF/759203620573749278.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/7645212358685992005.jpg (renamed from samples/data/models/Sponza/glTF/7645212358685992005.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/7815564343179553343.jpg (renamed from samples/data/models/Sponza/glTF/7815564343179553343.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8006627369776289000.png (renamed from samples/data/models/Sponza/glTF/8006627369776289000.png)bin1225157 -> 1225157 bytes
-rw-r--r--samples/datas/data/models/Sponza/glTF/8051790464816141987.jpg (renamed from samples/data/models/Sponza/glTF/8051790464816141987.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8114461559286000061.jpg (renamed from samples/data/models/Sponza/glTF/8114461559286000061.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8481240838833932244.jpg (renamed from samples/data/models/Sponza/glTF/8481240838833932244.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8503262930880235456.jpg (renamed from samples/data/models/Sponza/glTF/8503262930880235456.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8747919177698443163.jpg (renamed from samples/data/models/Sponza/glTF/8747919177698443163.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8750083169368950601.jpg (renamed from samples/data/models/Sponza/glTF/8750083169368950601.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8773302468495022225.jpg (renamed from samples/data/models/Sponza/glTF/8773302468495022225.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/8783994986360286082.jpg (renamed from samples/data/models/Sponza/glTF/8783994986360286082.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/9288698199695299068.jpg (renamed from samples/data/models/Sponza/glTF/9288698199695299068.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/9916269861720640319.jpg (renamed from samples/data/models/Sponza/glTF/9916269861720640319.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/Sponza.bin (renamed from samples/data/models/Sponza/glTF/Sponza.bin)bin9529440 -> 9529440 bytes
-rw-r--r--samples/datas/data/models/Sponza/glTF/Sponza.gltf (renamed from samples/data/models/Sponza/glTF/Sponza.gltf)0
-rw-r--r--samples/datas/data/models/Sponza/glTF/white.png (renamed from samples/data/models/Sponza/glTF/white.png)bin951 -> 951 bytes
-rw-r--r--samples/datas/data/models/Sponza/screenshot/large.jpg (renamed from samples/data/models/Sponza/screenshot/large.jpg)0
-rw-r--r--samples/datas/data/models/Sponza/screenshot/screenshot.jpg (renamed from samples/data/models/Sponza/screenshot/screenshot.jpg)0
-rw-r--r--samples/datas/data/models/Untitled.png (renamed from samples/data/models/Untitled.png)bin6630 -> 6630 bytes
-rw-r--r--samples/datas/data/models/agedplanks1-albedo.png (renamed from samples/data/models/agedplanks1-albedo.png)bin8250877 -> 8250877 bytes
-rw-r--r--samples/datas/data/models/agedplanks1-normal4-ue.png (renamed from samples/data/models/agedplanks1-normal4-ue.png)bin5187396 -> 5187396 bytes
-rw-r--r--samples/datas/data/models/chess.gltf (renamed from samples/data/models/chess.gltf)0
-rw-r--r--samples/datas/data/models/cube.gltf (renamed from samples/data/models/cube.gltf)0
-rw-r--r--samples/datas/data/models/green-ceramic-tiles_basecolor.png (renamed from samples/data/models/green-ceramic-tiles_basecolor.png)bin3108220 -> 3108220 bytes
-rw-r--r--samples/datas/data/models/green-ceramic-tiles_normal-dx.png (renamed from samples/data/models/green-ceramic-tiles_normal-dx.png)bin5300667 -> 5300667 bytes
-rw-r--r--samples/datas/data/models/icosphere.gltf (renamed from samples/data/models/icosphere.gltf)0
-rw-r--r--samples/datas/data/models/oxidized-copper-albedo.png (renamed from samples/data/models/oxidized-copper-albedo.png)bin4896506 -> 4896506 bytes
-rw-r--r--samples/datas/data/models/oxidized-copper-normal-ue.png (renamed from samples/data/models/oxidized-copper-normal-ue.png)bin5190868 -> 5190868 bytes
-rw-r--r--samples/datas/data/models/shadow.bin (renamed from samples/data/models/shadow.bin)bin29660 -> 29660 bytes
-rw-r--r--samples/datas/data/models/shadow.glb (renamed from samples/data/models/shadow.glb)0
-rw-r--r--samples/datas/data/models/shadow.gltf (renamed from samples/data/models/shadow.gltf)0
-rw-r--r--samples/datas/data/models/shadow2.gltf (renamed from samples/data/models/shadow2.gltf)0
-rw-r--r--samples/datas/data/models/untitled.bin (renamed from samples/data/models/untitled.bin)bin26168 -> 26168 bytes
-rw-r--r--samples/datas/data/models/untitled.glb (renamed from samples/data/models/untitled.glb)0
-rw-r--r--samples/datas/data/models/untitled.gltf (renamed from samples/data/models/untitled.gltf)0
-rw-r--r--samples/datas/data/textures/cubemap_yokohama_bc3_unorm.ktx (renamed from samples/data/textures/cubemap_yokohama_bc3_unorm.ktx)0
-rw-r--r--samples/datas/data/textures/empty.ktx (renamed from samples/data/textures/empty.ktx)0
-rw-r--r--samples/datas/data/textures/gcanyon_cube.ktx (renamed from samples/data/textures/gcanyon_cube.ktx)0
-rw-r--r--samples/datas/data/textures/papermill.ktx (renamed from samples/data/textures/papermill.ktx)0
-rw-r--r--samples/datas/data/textures/pisa_cube.ktx (renamed from samples/data/textures/pisa_cube.ktx)0
-rwxr-xr-xsamples/datas/data/textures/rgba-reference.ktx (renamed from samples/data/textures/rgba-reference.ktx)0
-rw-r--r--samples/datas/data/textures/tex.astc (renamed from samples/data/textures/tex.astc)bin29600 -> 29600 bytes
-rw-r--r--samples/datas/data/textures/tex256.jpg3
-rw-r--r--samples/datas/data/textures/texspace256.jpg3
-rw-r--r--samples/datas/data/textures/texture.jpg (renamed from samples/data/textures/texture.jpg)0
-rw-r--r--samples/datas/data/textures/texturearray_rocks_bc3_unorm.ktx (renamed from samples/data/textures/texturearray_rocks_bc3_unorm.ktx)0
-rw-r--r--samples/datas/data/textures/uffizi_cube.ktx (renamed from samples/data/textures/uffizi_cube.ktx)0
-rw-r--r--samples/datas/data/tiger.svg (renamed from samples/data/tiger.svg)0
-rw-r--r--samples/datas/datas.csproj13
-rw-r--r--samples/deferred/main.cs4
-rw-r--r--samples/deferred/shaders/bloom.comp26
-rw-r--r--spirv.targets27
-rw-r--r--vk.net.sln183
-rw-r--r--vke/CVKL.csproj13
134 files changed, 376 insertions, 146 deletions
diff --git a/Directory.Build.targets b/Directory.Build.targets
new file mode 100644
index 0000000..08fd921
--- /dev/null
+++ b/Directory.Build.targets
@@ -0,0 +1,32 @@
+<Project>
+ <UsingTask AssemblyFile="$(MSBuildThisFileDirectory)SpirVTasks.dll" TaskName="SpirVTasks.CompileGLSLTask" />
+ <ItemGroup>
+ <PropertyPageSchema Include="$(MSBuildThisFileDirectory)spirv.xml" />
+ <AvailableItemName Include="GLSLShader">
+ <Targets>DXC</Targets>
+ </AvailableItemName>
+ </ItemGroup>
+
+ <Target Name="DataCopy">
+ <Copy SourceFiles="@(Datas)"
+ DestinationFiles="@(Datas->'$(OutputPath)\data\%(RecursiveDir)%(Filename)%(Extension)')" />
+ </Target>
+
+ <Target Name="CompileShaders" BeforeTargets="BeforeBuild" Condition="'@(GLSLShader)'!=''" Outputs="@(CompiledShaders)">
+ <CompileGLSLTask SourceFile="%(GLSLShader.Identity)"
+ AdditionalIncludeDirectories="$(MSBuildThisFileDirectory)samples\common\shaders"
+ TempDirectory="$(IntermediateOutputPath)"
+ DestinationFile="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv" />
+<!-- <Exec Command="glslc %(GLSLShader.Identity) -o $(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv"
+ ConsoleToMSBuild="true" EchoOff="true" Outputs="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv">
+ <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
+ </Exec>-->
+ <!--<CreateItem
+ Include="$(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv">
+ <Output
+ TaskParameter="Include"
+ ItemName="EmbeddedResource"/>
+ </CreateItem>
+ <Message Importance="High" Text="Embedding $(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv" />-->
+ </Target>
+</Project>
diff --git a/SpirVTask/CompileGLSLTask.cs b/SpirVTask/CompileGLSLTask.cs
new file mode 100644
index 0000000..f0f4e2c
--- /dev/null
+++ b/SpirVTask/CompileGLSLTask.cs
@@ -0,0 +1,183 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+using Microsoft.Build.Framework;
+
+namespace SpirVTasks {
+
+ public class IncludeFileNotFound : FileNotFoundException {
+ public string SourceFile;
+ public int SourceLine;
+
+ public IncludeFileNotFound(string srcFileName, int srcLine, string includeFileName) :
+ base ("include file not found", includeFileName) {
+
+ SourceFile = srcFileName;
+ SourceLine = srcLine;
+ }
+ }
+
+ public class CompileGLSLTask : Microsoft.Build.Utilities.Task {
+
+ [Required]
+ public ITaskItem SourceFile {
+ get;
+ set;
+ }
+ [Required]
+ public ITaskItem TempDirectory {
+ get;
+ set;
+ }
+ public ITaskItem AdditionalIncludeDirectories {
+ get;
+ set;
+ }
+ [Required]
+ [Output]
+ public ITaskItem DestinationFile {
+ get;
+ set;
+ }
+
+ volatile bool success;
+
+ bool tryFindInclude (string include, out string incFile) {
+ if (!string.IsNullOrEmpty (AdditionalIncludeDirectories.ItemSpec)) {
+ foreach (string incDir in AdditionalIncludeDirectories.ItemSpec.Split (';', ',', '|')) {
+ incFile = Path.Combine (incDir, include);
+ if (File.Exists (incFile))
+ return true;
+ }
+ }
+ incFile = "";
+ return false;
+ }
+
+ void build_source (string src, StreamWriter temp) {
+ using (StreamReader sr = new StreamReader (File.OpenRead (src))) {
+ int srcLine = 0;
+ while (!sr.EndOfStream) {
+ string line = sr.ReadLine ();
+ if (line.Trim ().StartsWith ("#include", StringComparison.Ordinal)) {
+ string include = line.Split ('"', '<', '>')[1];
+ string incFile = Path.Combine (Path.GetDirectoryName (src), include);
+
+ if (!File.Exists (incFile)) {
+ if (!tryFindInclude(include, out incFile))
+ throw new IncludeFileNotFound (src, srcLine, include);
+ }
+ build_source (incFile, temp);
+ } else
+ temp.WriteLine (line);
+ srcLine++;
+ }
+ }
+ }
+
+
+ public override bool Execute () {
+
+ success = true;
+
+ string glslcPath = Path.Combine (Environment.GetEnvironmentVariable ("VULKAN_SDK"), "bin");
+ glslcPath = Path.Combine (glslcPath, "glslc");
+
+ if (!File.Exists (glslcPath)) {
+ BuildErrorEventArgs err = new BuildErrorEventArgs ("execute", "VK001", BuildEngine.ProjectFileOfTaskNode, 0, 0, 0, 0, $"glslc command not found: {glslcPath}", "Set 'VULKAN_SDK' environment variable", "SpirVTasks");
+ BuildEngine.LogErrorEvent (err);
+ return false;
+ }
+
+ //foreach (string item in SourceFile.MetadataNames) {
+ // Log.LogMessage (MessageImportance.High, $"METADATA name: {item}");
+ //}
+
+ string tempFile = Path.Combine (TempDirectory.ItemSpec, SourceFile.ItemSpec);
+ if (File.Exists (tempFile))
+ File.Delete (tempFile);
+ try {
+ Directory.CreateDirectory (Path.GetDirectoryName (tempFile));
+ using (StreamWriter sw = new StreamWriter (File.OpenWrite(tempFile))) {
+ string src = SourceFile.ItemSpec;
+ build_source (SourceFile.ItemSpec, sw);
+ }
+ } catch (IncludeFileNotFound ex) {
+ BuildErrorEventArgs err = new BuildErrorEventArgs ("include", "ERR_INC", ex.SourceFile, ex.SourceLine, 0, 0, 0, $"include file not found: {ex.FileName}", "", "SpirVTasks");
+ BuildEngine.LogErrorEvent (err);
+ return false;
+ }catch (Exception ex) {
+ BuildErrorEventArgs err = new BuildErrorEventArgs ("include", "ERR", SourceFile.ItemSpec, 0, 0, 0, 0, ex.ToString(), "", "SpirVTasks");
+ BuildEngine.LogErrorEvent (err);
+ return false;
+ }
+
+ Directory.CreateDirectory (Path.GetDirectoryName (DestinationFile.ItemSpec));
+
+ Process glslc = new Process();
+ glslc.StartInfo.StandardOutputEncoding = System.Text.Encoding.ASCII;
+ glslc.StartInfo.StandardErrorEncoding = System.Text.Encoding.ASCII;
+ glslc.StartInfo.UseShellExecute = false;
+ glslc.StartInfo.RedirectStandardOutput = true;
+ glslc.StartInfo.RedirectStandardError = true;
+ glslc.StartInfo.FileName = glslcPath;
+ glslc.StartInfo.Arguments = $"{tempFile} -o {DestinationFile.ItemSpec}";
+ glslc.StartInfo.CreateNoWindow = true;
+
+ glslc.EnableRaisingEvents = true;
+ glslc.OutputDataReceived += Glslc_OutputDataReceived;
+ glslc.ErrorDataReceived += Glslc_ErrorDataReceived;
+
+ glslc.Start ();
+
+ glslc.BeginErrorReadLine ();
+ glslc.BeginOutputReadLine ();
+
+ Log.LogMessage (MessageImportance.High, $"{SourceFile.ItemSpec} -> {DestinationFile.ItemSpec}");
+
+ glslc.WaitForExit ();
+
+ return success;
+ }
+
+ void Glslc_ErrorDataReceived (object sender, DataReceivedEventArgs e) {
+ if (e.Data == null)
+ return;
+
+ if (string.Equals (e.Data, "(0)", StringComparison.Ordinal))
+ return;
+
+ string[] tmp = e.Data.Split (':');
+
+
+ Log.LogMessage (MessageImportance.High, $"glslc: {e.Data}");
+
+ if (tmp.Length == 5) {
+ string srcFile = BuildEngine.ProjectFileOfTaskNode;
+ int line = int.Parse (tmp[1]);
+
+ BuildErrorEventArgs err = new BuildErrorEventArgs ("compile", tmp[2], srcFile, line, 0, 0, 0, $"{tmp[3]} {tmp[4]}", "no help", "SpirVTasks");
+ BuildEngine.LogErrorEvent (err);
+ success = false;
+ } else {
+ Log.LogMessage (MessageImportance.High, $"{e.Data}");
+ //BuildErrorEventArgs err = new BuildErrorEventArgs ("unkn", "ERR0", BuildEngine.ProjectFileOfTaskNode, 0, 0, 0, 0, $"{e.Data}", "no help", "SpirVTasks");
+ //BuildEngine.LogErrorEvent (err);
+ }
+ }
+
+
+ void Glslc_OutputDataReceived (object sender, DataReceivedEventArgs e) {
+ if (e.Data == null)
+ return;
+ if (string.Equals (e.Data, "(0)", StringComparison.Ordinal))
+ return;
+
+ Log.LogMessage (MessageImportance.High, $"data:{e.Data}");
+
+ BuildWarningEventArgs taskEvent = new BuildWarningEventArgs ("glslc", "0", BuildEngine.ProjectFileOfTaskNode, 0, 0, 0, 0, $"{e.Data}", "no help", "SpirVTasks");
+ BuildEngine.LogWarningEvent (taskEvent);
+ }
+
+ }
+}
diff --git a/SpirVTask/SpirVTasks.csproj b/SpirVTask/SpirVTasks.csproj
new file mode 100644
index 0000000..24472ce
--- /dev/null
+++ b/SpirVTask/SpirVTasks.csproj
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <OutputPath>$(SolutionDir)build</OutputPath>
+ <TargetFramework>net471</TargetFramework>
+ </PropertyGroup>
+ <ItemGroup>
+ <PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.0.461" />
+ </ItemGroup>
+</Project>
diff --git a/SpirVTasks.dll b/SpirVTasks.dll
new file mode 100644
index 0000000..4dfbddd
--- /dev/null
+++ b/SpirVTasks.dll
Binary files differ
diff --git a/samples/Directory.Build.props b/samples/Directory.Build.props
index 20c3076..67822eb 100644
--- a/samples/Directory.Build.props
+++ b/samples/Directory.Build.props
@@ -11,7 +11,8 @@
<OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
<OutputType>Exe</OutputType>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <IncludeDefaultNoneItems>false</IncludeDefaultNoneItems>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -34,11 +35,7 @@
</ItemGroup>
<ItemGroup>
- <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" />
- <None Remove="shaders\**\*.frag;shaders\**\*.vert" />
- <Datas Include="..\data\**\*.*">
- <Link>data\%(RecursiveDir)%(Filename)%(Extension)</Link>
- </Datas>
+ <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" />
</ItemGroup>
<Import Project="$(RootDirectory)spirv.targets" />
diff --git a/samples/Triangle/shaders/triangle.frag b/samples/Triangle/shaders/triangle.frag
index 404919c..5ff09f5 100644
--- a/samples/Triangle/shaders/triangle.frag
+++ b/samples/Triangle/shaders/triangle.frag
@@ -1,13 +1,9 @@
-#version 450
-
-#extension GL_ARB_separate_shader_objects : enable
-#extension GL_ARB_shading_language_420pack : enable
+#include <preamble.inc>
layout (location = 0) in vec3 inColor;
-
layout (location = 0) out vec4 outFragColor;
void main()
{
- outFragColor = vec4(inColor, 1.0);
+ outFragColor = vec4(inColor, 1.0);
} \ No newline at end of file
diff --git a/samples/common/shaders/preamble.inc b/samples/common/shaders/preamble.inc
new file mode 100644
index 0000000..da434f8
--- /dev/null
+++ b/samples/common/shaders/preamble.inc
@@ -0,0 +1,4 @@
+#version 450
+
+#extension GL_ARB_separate_shader_objects : enable
+#extension GL_ARB_shading_language_420pack : enable
diff --git a/samples/data/textures/tex256.jpg b/samples/data/textures/tex256.jpg
deleted file mode 100644
index 34a5b17..0000000
--- a/samples/data/textures/tex256.jpg
+++ /dev/null
Binary files differ
diff --git a/samples/data/textures/texspace256.jpg b/samples/data/textures/texspace256.jpg
deleted file mode 100644
index 8c2ed8f..0000000
--- a/samples/data/textures/texspace256.jpg
+++ /dev/null
Binary files differ
diff --git a/samples/datas/Directory.Build.props b/samples/datas/Directory.Build.props
new file mode 100644
index 0000000..faafd77
--- /dev/null
+++ b/samples/datas/Directory.Build.props
@@ -0,0 +1,5 @@
+<Project>
+ <PropertyGroup>
+ <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
+ </PropertyGroup>
+</Project>
diff --git a/samples/data/models/Box.gltf b/samples/datas/data/models/Box.gltf
index 8f9e0d3..8f9e0d3 100644
--- a/samples/data/models/Box.gltf
+++ b/samples/datas/data/models/Box.gltf
diff --git a/samples/data/models/Bricks16_col.jpg b/samples/datas/data/models/Bricks16_col.jpg
index be8ee22..be8ee22 100644
--- a/samples/data/models/Bricks16_col.jpg
+++ b/samples/datas/data/models/Bricks16_col.jpg
diff --git a/samples/data/models/Bricks16_nrm.jpg b/samples/datas/data/models/Bricks16_nrm.jpg
index 3ef28fc..3ef28fc 100644
--- a/samples/data/models/Bricks16_nrm.jpg
+++ b/samples/datas/data/models/Bricks16_nrm.jpg
diff --git a/samples/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf b/samples/datas/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf
index 0f51039..0f51039 100644
--- a/samples/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf
+++ b/samples/datas/data/models/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf
diff --git a/samples/data/models/DamagedHelmet/glTF/DamagedHelmet.bin b/samples/datas/data/models/DamagedHelmet/glTF/DamagedHelmet.bin
index 662eacc..662eacc 100644
--- a/samples/data/models/DamagedHelmet/glTF/DamagedHelmet.bin
+++ b/samples/datas/data/models/DamagedHelmet/glTF/DamagedHelmet.bin
Binary files differ
diff --git a/samples/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf b/samples/datas/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf
index d685d77..d685d77 100644
--- a/samples/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf
+++ b/samples/datas/data/models/DamagedHelmet/glTF/DamagedHelmet.gltf
diff --git a/samples/data/models/DamagedHelmet/glTF/Default_AO.jpg b/samples/datas/data/models/DamagedHelmet/glTF/Default_AO.jpg
index e3af145..e3af145 100644
--- a/samples/data/models/DamagedHelmet/glTF/Default_AO.jpg
+++ b/samples/datas/data/models/DamagedHelmet/glTF/Default_AO.jpg
diff --git a/samples/data/models/DamagedHelmet/glTF/Default_albedo.jpg b/samples/datas/data/models/DamagedHelmet/glTF/Default_albedo.jpg
index 4a15713..4a15713 100644
--- a/samples/data/models/DamagedHelmet/glTF/Default_albedo.jpg
+++ b/samples/datas/data/models/DamagedHelmet/glTF/Default_albedo.jpg
diff --git a/samples/data/models/DamagedHelmet/glTF/Default_emissive.jpg b/samples/datas/data/models/DamagedHelmet/glTF/Default_emissive.jpg
index 5e74d6b..5e74d6b 100644
--- a/samples/data/models/DamagedHelmet/glTF/Default_emissive.jpg
+++ b/samples/datas/data/models/DamagedHelmet/glTF/Default_emissive.jpg
diff --git a/samples/data/models/DamagedHelmet/glTF/Default_metalRoughness.jpg b/samples/datas/data/models/DamagedHelmet/glTF/Default_metalRoughness.jpg
index c35deb4..c35deb4 100644
--- a/samples/data/models/DamagedHelmet/glTF/Default_metalRoughness.jpg
+++ b/samples/datas/data/models/DamagedHelmet/glTF/Default_metalRoughness.jpg
diff --git a/samples/data/models/DamagedHelmet/glTF/Default_normal.jpg b/samples/datas/data/models/DamagedHelmet/glTF/Default_normal.jpg
index 6bfe6d4..6bfe6d4 100644
--- a/samples/data/models/DamagedHelmet/glTF/Default_normal.jpg
+++ b/samples/datas/data/models/DamagedHelmet/glTF/Default_normal.jpg
diff --git a/samples/data/models/Hubble.glb b/samples/datas/data/models/Hubble.glb
index 9d19921..9d19921 100644
--- a/samples/data/models/Hubble.glb
+++ b/samples/datas/data/models/Hubble.glb
diff --git a/samples/data/models/ISS_stationary.glb b/samples/datas/data/models/ISS_stationary.glb
index 40badd9..40badd9 100644
--- a/samples/data/models/ISS_stationary.glb
+++ b/samples/datas/data/models/ISS_stationary.glb
diff --git a/samples/data/models/MER_static.glb b/samples/datas/data/models/MER_static.glb
index 63de553..63de553 100644
--- a/samples/data/models/MER_static.glb
+++ b/samples/datas/data/models/MER_static.glb
diff --git a/samples/data/models/Sponza/README.md b/samples/datas/data/models/Sponza/README.md
index 89e3787..89e3787 100644
--- a/samples/data/models/Sponza/README.md
+++ b/samples/datas/data/models/Sponza/README.md
diff --git a/samples/data/models/Sponza/glTF/10381718147657362067.jpg b/samples/datas/data/models/Sponza/glTF/10381718147657362067.jpg
index de57580..de57580 100644
--- a/samples/data/models/Sponza/glTF/10381718147657362067.jpg
+++ b/samples/datas/data/models/Sponza/glTF/10381718147657362067.jpg
diff --git a/samples/data/models/Sponza/glTF/10388182081421875623.jpg b/samples/datas/data/models/Sponza/glTF/10388182081421875623.jpg
index 8a8fba3..8a8fba3 100644
--- a/samples/data/models/Sponza/glTF/10388182081421875623.jpg
+++ b/samples/datas/data/models/Sponza/glTF/10388182081421875623.jpg
diff --git a/samples/data/models/Sponza/glTF/11474523244911310074.jpg b/samples/datas/data/models/Sponza/glTF/11474523244911310074.jpg
index 406d620..406d620 100644
--- a/samples/data/models/Sponza/glTF/11474523244911310074.jpg
+++ b/samples/datas/data/models/Sponza/glTF/11474523244911310074.jpg
diff --git a/samples/data/models/Sponza/glTF/11490520546946913238.jpg b/samples/datas/data/models/Sponza/glTF/11490520546946913238.jpg
index 8ede3e8..8ede3e8 100644
--- a/samples/data/models/Sponza/glTF/11490520546946913238.jpg
+++ b/samples/datas/data/models/Sponza/glTF/11490520546946913238.jpg
diff --git a/samples/data/models/Sponza/glTF/11872827283454512094.jpg b/samples/datas/data/models/Sponza/glTF/11872827283454512094.jpg
index dc414f0..dc414f0 100644
--- a/samples/data/models/Sponza/glTF/11872827283454512094.jpg
+++ b/samples/datas/data/models/Sponza/glTF/11872827283454512094.jpg
diff --git a/samples/data/models/Sponza/glTF/11968150294050148237.jpg b/samples/datas/data/models/Sponza/glTF/11968150294050148237.jpg
index da82e39..da82e39 100644
--- a/samples/data/models/Sponza/glTF/11968150294050148237.jpg
+++ b/samples/datas/data/models/Sponza/glTF/11968150294050148237.jpg
diff --git a/samples/data/models/Sponza/glTF/1219024358953944284.jpg b/samples/datas/data/models/Sponza/glTF/1219024358953944284.jpg
index c918da1..c918da1 100644
--- a/samples/data/models/Sponza/glTF/1219024358953944284.jpg
+++ b/samples/datas/data/models/Sponza/glTF/1219024358953944284.jpg
diff --git a/samples/data/models/Sponza/glTF/12501374198249454378.jpg b/samples/datas/data/models/Sponza/glTF/12501374198249454378.jpg
index 23b8b1d..23b8b1d 100644
--- a/samples/data/models/Sponza/glTF/12501374198249454378.jpg
+++ b/samples/datas/data/models/Sponza/glTF/12501374198249454378.jpg
diff --git a/samples/data/models/Sponza/glTF/13196865903111448057.jpg b/samples/datas/data/models/Sponza/glTF/13196865903111448057.jpg
index 3058c29..3058c29 100644
--- a/samples/data/models/Sponza/glTF/13196865903111448057.jpg
+++ b/samples/datas/data/models/Sponza/glTF/13196865903111448057.jpg
diff --git a/samples/data/models/Sponza/glTF/13824894030729245199.jpg b/samples/datas/data/models/Sponza/glTF/13824894030729245199.jpg
index 90621f9..90621f9 100644
--- a/samples/data/models/Sponza/glTF/13824894030729245199.jpg
+++ b/samples/datas/data/models/Sponza/glTF/13824894030729245199.jpg
diff --git a/samples/data/models/Sponza/glTF/13982482287905699490.jpg b/samples/datas/data/models/Sponza/glTF/13982482287905699490.jpg
index da701b8..da701b8 100644
--- a/samples/data/models/Sponza/glTF/13982482287905699490.jpg
+++ b/samples/datas/data/models/Sponza/glTF/13982482287905699490.jpg
diff --git a/samples/data/models/Sponza/glTF/14118779221266351425.jpg b/samples/datas/data/models/Sponza/glTF/14118779221266351425.jpg
index 88ee024..88ee024 100644
--- a/samples/data/models/Sponza/glTF/14118779221266351425.jpg
+++ b/samples/datas/data/models/Sponza/glTF/14118779221266351425.jpg
diff --git a/samples/data/models/Sponza/glTF/14170708867020035030.jpg b/samples/datas/data/models/Sponza/glTF/14170708867020035030.jpg
index 127484f..127484f 100644
--- a/samples/data/models/Sponza/glTF/14170708867020035030.jpg
+++ b/samples/datas/data/models/Sponza/glTF/14170708867020035030.jpg
diff --git a/samples/data/models/Sponza/glTF/14267839433702832875.jpg b/samples/datas/data/models/Sponza/glTF/14267839433702832875.jpg
index 0304c61..0304c61 100644
--- a/samples/data/models/Sponza/glTF/14267839433702832875.jpg
+++ b/samples/datas/data/models/Sponza/glTF/14267839433702832875.jpg
diff --git a/samples/data/models/Sponza/glTF/14650633544276105767.jpg b/samples/datas/data/models/Sponza/glTF/14650633544276105767.jpg
index 95900bd..95900bd 100644
--- a/samples/data/models/Sponza/glTF/14650633544276105767.jpg
+++ b/samples/datas/data/models/Sponza/glTF/14650633544276105767.jpg
diff --git a/samples/data/models/Sponza/glTF/15295713303328085182.jpg b/samples/datas/data/models/Sponza/glTF/15295713303328085182.jpg
index 20f8871..20f8871 100644
--- a/samples/data/models/Sponza/glTF/15295713303328085182.jpg
+++ b/samples/datas/data/models/Sponza/glTF/15295713303328085182.jpg
diff --git a/samples/data/models/Sponza/glTF/15722799267630235092.jpg b/samples/datas/data/models/Sponza/glTF/15722799267630235092.jpg
index 549b3a7..549b3a7 100644
--- a/samples/data/models/Sponza/glTF/15722799267630235092.jpg
+++ b/samples/datas/data/models/Sponza/glTF/15722799267630235092.jpg
diff --git a/samples/data/models/Sponza/glTF/16275776544635328252.png b/samples/datas/data/models/Sponza/glTF/16275776544635328252.png
index 987e8d0..987e8d0 100644
--- a/samples/data/models/Sponza/glTF/16275776544635328252.png
+++ b/samples/datas/data/models/Sponza/glTF/16275776544635328252.png
Binary files differ
diff --git a/samples/data/models/Sponza/glTF/16299174074766089871.jpg b/samples/datas/data/models/Sponza/glTF/16299174074766089871.jpg
index f83f46e..f83f46e 100644
--- a/samples/data/models/Sponza/glTF/16299174074766089871.jpg
+++ b/samples/datas/data/models/Sponza/glTF/16299174074766089871.jpg
diff --git a/samples/data/models/Sponza/glTF/16885566240357350108.jpg b/samples/datas/data/models/Sponza/glTF/16885566240357350108.jpg
index b7dfccb..b7dfccb 100644
--- a/samples/data/models/Sponza/glTF/16885566240357350108.jpg
+++ b/samples/datas/data/models/Sponza/glTF/16885566240357350108.jpg
diff --git a/samples/data/models/Sponza/glTF/17556969131407844942.jpg b/samples/datas/data/models/Sponza/glTF/17556969131407844942.jpg
index 0cce3eb..0cce3eb 100644
--- a/samples/data/models/Sponza/glTF/17556969131407844942.jpg
+++ b/samples/datas/data/models/Sponza/glTF/17556969131407844942.jpg
diff --git a/samples/data/models/Sponza/glTF/17876391417123941155.jpg b/samples/datas/data/models/Sponza/glTF/17876391417123941155.jpg
index ae58b3b..ae58b3b 100644
--- a/samples/data/models/Sponza/glTF/17876391417123941155.jpg
+++ b/samples/datas/data/models/Sponza/glTF/17876391417123941155.jpg
diff --git a/samples/data/models/Sponza/glTF/2051777328469649772.jpg b/samples/datas/data/models/Sponza/glTF/2051777328469649772.jpg
index 28e407a..28e407a 100644
--- a/samples/data/models/Sponza/glTF/2051777328469649772.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2051777328469649772.jpg
diff --git a/samples/data/models/Sponza/glTF/2185409758123873465.jpg b/samples/datas/data/models/Sponza/glTF/2185409758123873465.jpg
index f5b06c8..f5b06c8 100644
--- a/samples/data/models/Sponza/glTF/2185409758123873465.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2185409758123873465.jpg
diff --git a/samples/data/models/Sponza/glTF/2299742237651021498.jpg b/samples/datas/data/models/Sponza/glTF/2299742237651021498.jpg
index 8a8c289..8a8c289 100644
--- a/samples/data/models/Sponza/glTF/2299742237651021498.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2299742237651021498.jpg
diff --git a/samples/data/models/Sponza/glTF/2374361008830720677.jpg b/samples/datas/data/models/Sponza/glTF/2374361008830720677.jpg
index 35885a1..35885a1 100644
--- a/samples/data/models/Sponza/glTF/2374361008830720677.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2374361008830720677.jpg
diff --git a/samples/data/models/Sponza/glTF/2411100444841994089.jpg b/samples/datas/data/models/Sponza/glTF/2411100444841994089.jpg
index 97c19f4..97c19f4 100644
--- a/samples/data/models/Sponza/glTF/2411100444841994089.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2411100444841994089.jpg
diff --git a/samples/data/models/Sponza/glTF/2775690330959970771.jpg b/samples/datas/data/models/Sponza/glTF/2775690330959970771.jpg
index e859740..e859740 100644
--- a/samples/data/models/Sponza/glTF/2775690330959970771.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2775690330959970771.jpg
diff --git a/samples/data/models/Sponza/glTF/2969916736137545357.jpg b/samples/datas/data/models/Sponza/glTF/2969916736137545357.jpg
index 1e9b6f6..1e9b6f6 100644
--- a/samples/data/models/Sponza/glTF/2969916736137545357.jpg
+++ b/samples/datas/data/models/Sponza/glTF/2969916736137545357.jpg
diff --git a/samples/data/models/Sponza/glTF/332936164838540657.jpg b/samples/datas/data/models/Sponza/glTF/332936164838540657.jpg
index 35885a1..35885a1 100644
--- a/samples/data/models/Sponza/glTF/332936164838540657.jpg
+++ b/samples/datas/data/models/Sponza/glTF/332936164838540657.jpg
diff --git a/samples/data/models/Sponza/glTF/3371964815757888145.jpg b/samples/datas/data/models/Sponza/glTF/3371964815757888145.jpg
index 145dc9d..145dc9d 100644
--- a/samples/data/models/Sponza/glTF/3371964815757888145.jpg
+++ b/samples/datas/data/models/Sponza/glTF/3371964815757888145.jpg
diff --git a/samples/data/models/Sponza/glTF/3455394979645218238.jpg b/samples/datas/data/models/Sponza/glTF/3455394979645218238.jpg
index d3918da..d3918da 100644
--- a/samples/data/models/Sponza/glTF/3455394979645218238.jpg
+++ b/samples/datas/data/models/Sponza/glTF/3455394979645218238.jpg
diff --git a/samples/data/models/Sponza/glTF/3628158980083700836.jpg b/samples/datas/data/models/Sponza/glTF/3628158980083700836.jpg
index 6dad587..6dad587 100644
--- a/samples/data/models/Sponza/glTF/3628158980083700836.jpg
+++ b/samples/datas/data/models/Sponza/glTF/3628158980083700836.jpg
diff --git a/samples/data/models/Sponza/glTF/3827035219084910048.jpg b/samples/datas/data/models/Sponza/glTF/3827035219084910048.jpg
index 154b1fa..154b1fa 100644
--- a/samples/data/models/Sponza/glTF/3827035219084910048.jpg
+++ b/samples/datas/data/models/Sponza/glTF/3827035219084910048.jpg
diff --git a/samples/data/models/Sponza/glTF/4477655471536070370.jpg b/samples/datas/data/models/Sponza/glTF/4477655471536070370.jpg
index bcdd65e..bcdd65e 100644
--- a/samples/data/models/Sponza/glTF/4477655471536070370.jpg
+++ b/samples/datas/data/models/Sponza/glTF/4477655471536070370.jpg
diff --git a/samples/data/models/Sponza/glTF/4601176305987539675.jpg b/samples/datas/data/models/Sponza/glTF/4601176305987539675.jpg
index cd11761..cd11761 100644
--- a/samples/data/models/Sponza/glTF/4601176305987539675.jpg
+++ b/samples/datas/data/models/Sponza/glTF/4601176305987539675.jpg
diff --git a/samples/data/models/Sponza/glTF/466164707995436622.jpg b/samples/datas/data/models/Sponza/glTF/466164707995436622.jpg
index e505337..e505337 100644
--- a/samples/data/models/Sponza/glTF/466164707995436622.jpg
+++ b/samples/datas/data/models/Sponza/glTF/466164707995436622.jpg
diff --git a/samples/data/models/Sponza/glTF/4675343432951571524.jpg b/samples/datas/data/models/Sponza/glTF/4675343432951571524.jpg
index 63ca00b..63ca00b 100644
--- a/samples/data/models/Sponza/glTF/4675343432951571524.jpg
+++ b/samples/datas/data/models/Sponza/glTF/4675343432951571524.jpg
diff --git a/samples/data/models/Sponza/glTF/4871783166746854860.jpg b/samples/datas/data/models/Sponza/glTF/4871783166746854860.jpg
index d1e0df9..d1e0df9 100644
--- a/samples/data/models/Sponza/glTF/4871783166746854860.jpg
+++ b/samples/datas/data/models/Sponza/glTF/4871783166746854860.jpg
diff --git a/samples/data/models/Sponza/glTF/4910669866631290573.jpg b/samples/datas/data/models/Sponza/glTF/4910669866631290573.jpg
index cd11761..cd11761 100644
--- a/samples/data/models/Sponza/glTF/4910669866631290573.jpg
+++ b/samples/datas/data/models/Sponza/glTF/4910669866631290573.jpg
diff --git a/samples/data/models/Sponza/glTF/4975155472559461469.jpg b/samples/datas/data/models/Sponza/glTF/4975155472559461469.jpg
index 43e93c0..43e93c0 100644
--- a/samples/data/models/Sponza/glTF/4975155472559461469.jpg
+++ b/samples/datas/data/models/Sponza/glTF/4975155472559461469.jpg
diff --git a/samples/data/models/Sponza/glTF/5061699253647017043.png b/samples/datas/data/models/Sponza/glTF/5061699253647017043.png
index 8b690c3..8b690c3 100644
--- a/samples/data/models/Sponza/glTF/5061699253647017043.png
+++ b/samples/datas/data/models/Sponza/glTF/5061699253647017043.png
Binary files differ
diff --git a/samples/data/models/Sponza/glTF/5792855332885324923.jpg b/samples/datas/data/models/Sponza/glTF/5792855332885324923.jpg
index cff7cf6..cff7cf6 100644
--- a/samples/data/models/Sponza/glTF/5792855332885324923.jpg
+++ b/samples/datas/data/models/Sponza/glTF/5792855332885324923.jpg
diff --git a/samples/data/models/Sponza/glTF/5823059166183034438.jpg b/samples/datas/data/models/Sponza/glTF/5823059166183034438.jpg
index d1c351c..d1c351c 100644
--- a/samples/data/models/Sponza/glTF/5823059166183034438.jpg
+++ b/samples/datas/data/models/Sponza/glTF/5823059166183034438.jpg
diff --git a/samples/data/models/Sponza/glTF/6047387724914829168.jpg b/samples/datas/data/models/Sponza/glTF/6047387724914829168.jpg
index f6e1fc5..f6e1fc5 100644
--- a/samples/data/models/Sponza/glTF/6047387724914829168.jpg
+++ b/samples/datas/data/models/Sponza/glTF/6047387724914829168.jpg
diff --git a/samples/data/models/Sponza/glTF/6151467286084645207.jpg b/samples/datas/data/models/Sponza/glTF/6151467286084645207.jpg
index ba6158f..ba6158f 100644
--- a/samples/data/models/Sponza/glTF/6151467286084645207.jpg
+++ b/samples/datas/data/models/Sponza/glTF/6151467286084645207.jpg
diff --git a/samples/data/models/Sponza/glTF/6593109234861095314.jpg b/samples/datas/data/models/Sponza/glTF/6593109234861095314.jpg
index cd11761..cd11761 100644
--- a/samples/data/models/Sponza/glTF/6593109234861095314.jpg
+++ b/samples/datas/data/models/Sponza/glTF/6593109234861095314.jpg
diff --git a/samples/data/models/Sponza/glTF/6667038893015345571.jpg b/samples/datas/data/models/Sponza/glTF/6667038893015345571.jpg
index 9d2c5f3..9d2c5f3 100644
--- a/samples/data/models/Sponza/glTF/6667038893015345571.jpg
+++ b/samples/datas/data/models/Sponza/glTF/6667038893015345571.jpg
diff --git a/samples/data/models/Sponza/glTF/6772804448157695701.jpg b/samples/datas/data/models/Sponza/glTF/6772804448157695701.jpg
index 51286b4..51286b4 100644
--- a/samples/data/models/Sponza/glTF/6772804448157695701.jpg
+++ b/samples/datas/data/models/Sponza/glTF/6772804448157695701.jpg
diff --git a/samples/data/models/Sponza/glTF/7056944414013900257.jpg b/samples/datas/data/models/Sponza/glTF/7056944414013900257.jpg
index 35885a1..35885a1 100644
--- a/samples/data/models/Sponza/glTF/7056944414013900257.jpg
+++ b/samples/datas/data/models/Sponza/glTF/7056944414013900257.jpg
diff --git a/samples/data/models/Sponza/glTF/715093869573992647.jpg b/samples/datas/data/models/Sponza/glTF/715093869573992647.jpg
index fc60f6d..fc60f6d 100644
--- a/samples/data/models/Sponza/glTF/715093869573992647.jpg
+++ b/samples/datas/data/models/Sponza/glTF/715093869573992647.jpg
diff --git a/samples/data/models/Sponza/glTF/7268504077753552595.jpg b/samples/datas/data/models/Sponza/glTF/7268504077753552595.jpg
index 74e6d24..74e6d24 100644
--- a/samples/data/models/Sponza/glTF/7268504077753552595.jpg
+++ b/samples/datas/data/models/Sponza/glTF/7268504077753552595.jpg
diff --git a/samples/data/models/Sponza/glTF/7441062115984513793.jpg b/samples/datas/data/models/Sponza/glTF/7441062115984513793.jpg
index 53c725d..53c725d 100644
--- a/samples/data/models/Sponza/glTF/7441062115984513793.jpg
+++ b/samples/datas/data/models/Sponza/glTF/7441062115984513793.jpg
diff --git a/samples/data/models/Sponza/glTF/755318871556304029.jpg b/samples/datas/data/models/Sponza/glTF/755318871556304029.jpg
index 149a0f1..149a0f1 100644
--- a/samples/data/models/Sponza/glTF/755318871556304029.jpg
+++ b/samples/datas/data/models/Sponza/glTF/755318871556304029.jpg
diff --git a/samples/data/models/Sponza/glTF/759203620573749278.jpg b/samples/datas/data/models/Sponza/glTF/759203620573749278.jpg
index 4913251..4913251 100644
--- a/samples/data/models/Sponza/glTF/759203620573749278.jpg
+++ b/samples/datas/data/models/Sponza/glTF/759203620573749278.jpg
diff --git a/samples/data/models/Sponza/glTF/7645212358685992005.jpg b/samples/datas/data/models/Sponza/glTF/7645212358685992005.jpg
index af99619..af99619 100644
--- a/samples/data/models/Sponza/glTF/7645212358685992005.jpg
+++ b/samples/datas/data/models/Sponza/glTF/7645212358685992005.jpg
diff --git a/samples/data/models/Sponza/glTF/7815564343179553343.jpg b/samples/datas/data/models/Sponza/glTF/7815564343179553343.jpg
index 9825366..9825366 100644
--- a/samples/data/models/Sponza/glTF/7815564343179553343.jpg
+++ b/samples/datas/data/models/Sponza/glTF/7815564343179553343.jpg
diff --git a/samples/data/models/Sponza/glTF/8006627369776289000.png b/samples/datas/data/models/Sponza/glTF/8006627369776289000.png
index ba5f655..ba5f655 100644
--- a/samples/data/models/Sponza/glTF/8006627369776289000.png
+++ b/samples/datas/data/models/Sponza/glTF/8006627369776289000.png
Binary files differ
diff --git a/samples/data/models/Sponza/glTF/8051790464816141987.jpg b/samples/datas/data/models/Sponza/glTF/8051790464816141987.jpg
index 5c3770a..5c3770a 100644
--- a/samples/data/models/Sponza/glTF/8051790464816141987.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8051790464816141987.jpg
diff --git a/samples/data/models/Sponza/glTF/8114461559286000061.jpg b/samples/datas/data/models/Sponza/glTF/8114461559286000061.jpg
index cf4a888..cf4a888 100644
--- a/samples/data/models/Sponza/glTF/8114461559286000061.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8114461559286000061.jpg
diff --git a/samples/data/models/Sponza/glTF/8481240838833932244.jpg b/samples/datas/data/models/Sponza/glTF/8481240838833932244.jpg
index 4d53ec1..4d53ec1 100644
--- a/samples/data/models/Sponza/glTF/8481240838833932244.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8481240838833932244.jpg
diff --git a/samples/data/models/Sponza/glTF/8503262930880235456.jpg b/samples/datas/data/models/Sponza/glTF/8503262930880235456.jpg
index 8976a20..8976a20 100644
--- a/samples/data/models/Sponza/glTF/8503262930880235456.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8503262930880235456.jpg
diff --git a/samples/data/models/Sponza/glTF/8747919177698443163.jpg b/samples/datas/data/models/Sponza/glTF/8747919177698443163.jpg
index dccdb78..dccdb78 100644
--- a/samples/data/models/Sponza/glTF/8747919177698443163.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8747919177698443163.jpg
diff --git a/samples/data/models/Sponza/glTF/8750083169368950601.jpg b/samples/datas/data/models/Sponza/glTF/8750083169368950601.jpg
index 90aa719..90aa719 100644
--- a/samples/data/models/Sponza/glTF/8750083169368950601.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8750083169368950601.jpg
diff --git a/samples/data/models/Sponza/glTF/8773302468495022225.jpg b/samples/datas/data/models/Sponza/glTF/8773302468495022225.jpg
index d85686c..d85686c 100644
--- a/samples/data/models/Sponza/glTF/8773302468495022225.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8773302468495022225.jpg
diff --git a/samples/data/models/Sponza/glTF/8783994986360286082.jpg b/samples/datas/data/models/Sponza/glTF/8783994986360286082.jpg
index 52c8e41..52c8e41 100644
--- a/samples/data/models/Sponza/glTF/8783994986360286082.jpg
+++ b/samples/datas/data/models/Sponza/glTF/8783994986360286082.jpg
diff --git a/samples/data/models/Sponza/glTF/9288698199695299068.jpg b/samples/datas/data/models/Sponza/glTF/9288698199695299068.jpg
index 833de50..833de50 100644
--- a/samples/data/models/Sponza/glTF/9288698199695299068.jpg
+++ b/samples/datas/data/models/Sponza/glTF/9288698199695299068.jpg
diff --git a/samples/data/models/Sponza/glTF/9916269861720640319.jpg b/samples/datas/data/models/Sponza/glTF/9916269861720640319.jpg
index 59ec4fa..59ec4fa 100644
--- a/samples/data/models/Sponza/glTF/9916269861720640319.jpg
+++ b/samples/datas/data/models/Sponza/glTF/9916269861720640319.jpg
diff --git a/samples/data/models/Sponza/glTF/Sponza.bin b/samples/datas/data/models/Sponza/glTF/Sponza.bin
index 971accb..971accb 100644
--- a/samples/data/models/Sponza/glTF/Sponza.bin
+++ b/samples/datas/data/models/Sponza/glTF/Sponza.bin
Binary files differ
diff --git a/samples/data/models/Sponza/glTF/Sponza.gltf b/samples/datas/data/models/Sponza/glTF/Sponza.gltf
index 3168453..3168453 100644
--- a/samples/data/models/Sponza/glTF/Sponza.gltf
+++ b/samples/datas/data/models/Sponza/glTF/Sponza.gltf
diff --git a/samples/data/models/Sponza/glTF/white.png b/samples/datas/data/models/Sponza/glTF/white.png
index 0851a35..0851a35 100644
--- a/samples/data/models/Sponza/glTF/white.png
+++ b/samples/datas/data/models/Sponza/glTF/white.png
Binary files differ
diff --git a/samples/data/models/Sponza/screenshot/large.jpg b/samples/datas/data/models/Sponza/screenshot/large.jpg
index 50d6a09..50d6a09 100644
--- a/samples/data/models/Sponza/screenshot/large.jpg
+++ b/samples/datas/data/models/Sponza/screenshot/large.jpg
diff --git a/samples/data/models/Sponza/screenshot/screenshot.jpg b/samples/datas/data/models/Sponza/screenshot/screenshot.jpg
index 458c089..458c089 100644
--- a/samples/data/models/Sponza/screenshot/screenshot.jpg
+++ b/samples/datas/data/models/Sponza/screenshot/screenshot.jpg
diff --git a/samples/data/models/Untitled.png b/samples/datas/data/models/Untitled.png
index 8b6ada9..8b6ada9 100644
--- a/samples/data/models/Untitled.png
+++ b/samples/datas/data/models/Untitled.png
Binary files differ
diff --git a/samples/data/models/agedplanks1-albedo.png b/samples/datas/data/models/agedplanks1-albedo.png
index f52a82a..f52a82a 100644
--- a/samples/data/models/agedplanks1-albedo.png
+++ b/samples/datas/data/models/agedplanks1-albedo.png
Binary files differ
diff --git a/samples/data/models/agedplanks1-normal4-ue.png b/samples/datas/data/models/agedplanks1-normal4-ue.png
index 185b6ac..185b6ac 100644
--- a/samples/data/models/agedplanks1-normal4-ue.png
+++ b/samples/datas/data/models/agedplanks1-normal4-ue.png
Binary files differ
diff --git a/samples/data/models/chess.gltf b/samples/datas/data/models/chess.gltf
index 4f42cd5..4f42cd5 100644
--- a/samples/data/models/chess.gltf
+++ b/samples/datas/data/models/chess.gltf
diff --git a/samples/data/models/cube.gltf b/samples/datas/data/models/cube.gltf
index 7d72524..7d72524 100644
--- a/samples/data/models/cube.gltf
+++ b/samples/datas/data/models/cube.gltf
diff --git a/samples/data/models/green-ceramic-tiles_basecolor.png b/samples/datas/data/models/green-ceramic-tiles_basecolor.png
index af3a519..af3a519 100644
--- a/samples/data/models/green-ceramic-tiles_basecolor.png
+++ b/samples/datas/data/models/green-ceramic-tiles_basecolor.png
Binary files differ
diff --git a/samples/data/models/green-ceramic-tiles_normal-dx.png b/samples/datas/data/models/green-ceramic-tiles_normal-dx.png
index be466d1..be466d1 100644
--- a/samples/data/models/green-ceramic-tiles_normal-dx.png
+++ b/samples/datas/data/models/green-ceramic-tiles_normal-dx.png
Binary files differ
diff --git a/samples/data/models/icosphere.gltf b/samples/datas/data/models/icosphere.gltf
index ef72668..ef72668 100644
--- a/samples/data/models/icosphere.gltf
+++ b/samples/datas/data/models/icosphere.gltf
diff --git a/samples/data/models/oxidized-copper-albedo.png b/samples/datas/data/models/oxidized-copper-albedo.png
index 42ceea7..42ceea7 100644
--- a/samples/data/models/oxidized-copper-albedo.png
+++ b/samples/datas/data/models/oxidized-copper-albedo.png
Binary files differ
diff --git a/samples/data/models/oxidized-copper-normal-ue.png b/samples/datas/data/models/oxidized-copper-normal-ue.png
index 498e389..498e389 100644
--- a/samples/data/models/oxidized-copper-normal-ue.png
+++ b/samples/datas/data/models/oxidized-copper-normal-ue.png
Binary files differ
diff --git a/samples/data/models/shadow.bin b/samples/datas/data/models/shadow.bin
index b332f19..b332f19 100644
--- a/samples/data/models/shadow.bin
+++ b/samples/datas/data/models/shadow.bin
Binary files differ
diff --git a/samples/data/models/shadow.glb b/samples/datas/data/models/shadow.glb
index 63d5bf9..63d5bf9 100644
--- a/samples/data/models/shadow.glb
+++ b/samples/datas/data/models/shadow.glb
diff --git a/samples/data/models/shadow.gltf b/samples/datas/data/models/shadow.gltf
index 62b6133..62b6133 100644
--- a/samples/data/models/shadow.gltf
+++ b/samples/datas/data/models/shadow.gltf
diff --git a/samples/data/models/shadow2.gltf b/samples/datas/data/models/shadow2.gltf
index 82bf335..82bf335 100644
--- a/samples/data/models/shadow2.gltf
+++ b/samples/datas/data/models/shadow2.gltf
diff --git a/samples/data/models/untitled.bin b/samples/datas/data/models/untitled.bin
index 621d5e6..621d5e6 100644
--- a/samples/data/models/untitled.bin
+++ b/samples/datas/data/models/untitled.bin
Binary files differ
diff --git a/samples/data/models/untitled.glb b/samples/datas/data/models/untitled.glb
index 6644bde..6644bde 100644
--- a/samples/data/models/untitled.glb
+++ b/samples/datas/data/models/untitled.glb
diff --git a/samples/data/models/untitled.gltf b/samples/datas/data/models/untitled.gltf
index 31670a5..31670a5 100644
--- a/samples/data/models/untitled.gltf
+++ b/samples/datas/data/models/untitled.gltf
diff --git a/samples/data/textures/cubemap_yokohama_bc3_unorm.ktx b/samples/datas/data/textures/cubemap_yokohama_bc3_unorm.ktx
index b6de879..b6de879 100644
--- a/samples/data/textures/cubemap_yokohama_bc3_unorm.ktx
+++ b/samples/datas/data/textures/cubemap_yokohama_bc3_unorm.ktx
diff --git a/samples/data/textures/empty.ktx b/samples/datas/data/textures/empty.ktx
index b21a8ed..b21a8ed 100644
--- a/samples/data/textures/empty.ktx
+++ b/samples/datas/data/textures/empty.ktx
diff --git a/samples/data/textures/gcanyon_cube.ktx b/samples/datas/data/textures/gcanyon_cube.ktx
index 9f266ef..9f266ef 100644
--- a/samples/data/textures/gcanyon_cube.ktx
+++ b/samples/datas/data/textures/gcanyon_cube.ktx
diff --git a/samples/data/textures/papermill.ktx b/samples/datas/data/textures/papermill.ktx
index 24589f3..24589f3 100644
--- a/samples/data/textures/papermill.ktx
+++ b/samples/datas/data/textures/papermill.ktx
diff --git a/samples/data/textures/pisa_cube.ktx b/samples/datas/data/textures/pisa_cube.ktx
index e0e0681..e0e0681 100644
--- a/samples/data/textures/pisa_cube.ktx
+++ b/samples/datas/data/textures/pisa_cube.ktx
diff --git a/samples/data/textures/rgba-reference.ktx b/samples/datas/data/textures/rgba-reference.ktx
index 1033d07..1033d07 100755
--- a/samples/data/textures/rgba-reference.ktx
+++ b/samples/datas/data/textures/rgba-reference.ktx
diff --git a/samples/data/textures/tex.astc b/samples/datas/data/textures/tex.astc
index 6756ffb..6756ffb 100644
--- a/samples/data/textures/tex.astc
+++ b/samples/datas/data/textures/tex.astc
Binary files differ
diff --git a/samples/datas/data/textures/tex256.jpg b/samples/datas/data/textures/tex256.jpg
new file mode 100644
index 0000000..b43c873
--- /dev/null
+++ b/samples/datas/data/textures/tex256.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a202a6370f0262813145ba36ae5cc5c95743c8d5cbb64bc96356f3c052d85fcb
+size 24665
diff --git a/samples/datas/data/textures/texspace256.jpg b/samples/datas/data/textures/texspace256.jpg
new file mode 100644
index 0000000..c05780e
--- /dev/null
+++ b/samples/datas/data/textures/texspace256.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d40ba8850e16ffac67cd3ddba16d8ca78cd49b4a6a0e0ac2b02f168f64e64d50
+size 3952
diff --git a/samples/data/textures/texture.jpg b/samples/datas/data/textures/texture.jpg
index b8c47a5..b8c47a5 100644
--- a/samples/data/textures/texture.jpg
+++ b/samples/datas/data/textures/texture.jpg
diff --git a/samples/data/textures/texturearray_rocks_bc3_unorm.ktx b/samples/datas/data/textures/texturearray_rocks_bc3_unorm.ktx
index 817e511..817e511 100644
--- a/samples/data/textures/texturearray_rocks_bc3_unorm.ktx
+++ b/samples/datas/data/textures/texturearray_rocks_bc3_unorm.ktx
diff --git a/samples/data/textures/uffizi_cube.ktx b/samples/datas/data/textures/uffizi_cube.ktx
index 56e6bc4..56e6bc4 100644
--- a/samples/data/textures/uffizi_cube.ktx
+++ b/samples/datas/data/textures/uffizi_cube.ktx
diff --git a/samples/data/tiger.svg b/samples/datas/data/tiger.svg
index 67ba636..67ba636 100644
--- a/samples/data/tiger.svg
+++ b/samples/datas/data/tiger.svg
diff --git a/samples/datas/datas.csproj b/samples/datas/datas.csproj
new file mode 100644
index 0000000..4f14b82
--- /dev/null
+++ b/samples/datas/datas.csproj
@@ -0,0 +1,13 @@
+<Project InitialTargets="DataCopy" Sdk="Microsoft.NET.Sdk">
+<!-- xmlns="http://schemas.microsoft.com/developer/msbuild/2003">-->
+
+ <PropertyGroup>
+ <TargetFramework>net471</TargetFramework>
+ <EnableDefaultItems>false</EnableDefaultItems>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
+ <ItemGroup>
+ <Datas Include="data\**\*.*" />
+ </ItemGroup>
+</Project>
diff --git a/samples/deferred/main.cs b/samples/deferred/main.cs
index 17d8db1..8f59c11 100644
--- a/samples/deferred/main.cs
+++ b/samples/deferred/main.cs
@@ -18,7 +18,7 @@ namespace deferred {
DeferredPbrRenderer.HDR_FORMAT = VkFormat.R16g16b16a16Sfloat;
DeferredPbrRenderer.MRT_FORMAT = VkFormat.R32g32b32a32Sfloat;
- PbrModelTexArray.TEXTURE_DIM = 1024;
+ PbrModelTexArray.TEXTURE_DIM = 512;
using (Deferred vke = new Deferred ()) {
vke.Run ();
@@ -205,7 +205,7 @@ namespace deferred {
CommandBuffer cmdPbr;
CommandBuffer cmdBlur;
VkSemaphore blurComplete;
- const uint downSizing = 2;
+ const uint downSizing = 1;
float finalDebug = -1.0f;
void buildCommandBuffers () {
diff --git a/samples/deferred/shaders/bloom.comp b/samples/deferred/shaders/bloom.comp
index e97c794..e2b1318 100644
--- a/samples/deferred/shaders/bloom.comp
+++ b/samples/deferred/shaders/bloom.comp
@@ -47,22 +47,14 @@ void main(void)
// Aspect ratio for vertical blur pass
if (pc.dir == 1)
ar = pc.texSize.y / pc.texSize.x;
-
- vec3 c = imageLoad (inputImage, ivec2(gl_GlobalInvocationID.yx)).rgb;
-
- float lum = (0.299*c.r + 0.587*c.g + 0.114*c.b);
- if (lum<0.3 && pc.dir == 0)
- imageStore(resultImage, ivec2(gl_GlobalInvocationID.xy), color);
- else {
- vec2 P = gl_GlobalInvocationID.yx - vec2(0, (weights.length() >> 1) * ar * pc.scale);
-
+
+ vec2 P = gl_GlobalInvocationID.yx - vec2(0, (weights.length() >> 1) * ar * pc.scale);
- for (int i = 0; i < weights.length(); i++)
- {
- vec2 dv = vec2(0.0, i * pc.scale) * ar;
- color += imageLoad (inputImage, ivec2(P + dv)) * weights[i] * pc.strength;
- }
-
- imageStore(resultImage, ivec2(gl_GlobalInvocationID.xy), color);
- }
+ for (int i = 0; i < weights.length(); i++)
+ {
+ vec2 dv = vec2(0.0, i * pc.scale) * ar;
+ color += imageLoad (inputImage, ivec2(P + dv)) * weights[i] * pc.strength;
+ }
+
+ imageStore(resultImage, ivec2(gl_GlobalInvocationID.xy), color);
} \ No newline at end of file
diff --git a/spirv.targets b/spirv.targets
index b2df443..957ade8 100644
--- a/spirv.targets
+++ b/spirv.targets
@@ -1,29 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <PropertyPageSchema Include="$(MSBuildThisFileDirectory)spirv.xml" />
- <AvailableItemName Include="GLSLShader">
- <Targets>DXC</Targets>
- </AvailableItemName>
- </ItemGroup>
-
- <Target Name="DataCopy" AfterTargets="CoreBuild;Build">
- <Copy SourceFiles="@(Datas)" DestinationFiles="@(Datas->'$(OutputPath)\data\%(RecursiveDir)%(Filename)%(Extension)')"/>
- </Target>
-
- <Target Name="CompileShaders" BeforeTargets="BeforeBuild" Outputs="@(CompiledShaders)">
- <Message Importance="High" Text="Compiling shaders to spirv with glslc" />
- <MakeDir Directories="$(OutputPath)%(GLSLShader.RelativeDir)"/>
- <Exec Command="glslc %(GLSLShader.Identity) -o $(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv"
- ConsoleToMSBuild="true" EchoOff="true" Outputs="$(OutputPath)%(RelativeDir)%(Filename)%(Extension).spv">
- <Output TaskParameter="ConsoleOutput" PropertyName="OutputOfExec" />
- </Exec>
- <CreateItem
- Include="$(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv">
- <Output
- TaskParameter="Include"
- ItemName="EmbeddedResource"/>
- </CreateItem>
- <Message Importance="High" Text="Embedding $(OutputPath)%(GLSLShader.RelativeDir)%(Filename)%(Extension).spv" />
- </Target>
+
</Project>
diff --git a/vk.net.sln b/vk.net.sln
index 3ad39c1..0a5b91e 100644
--- a/vk.net.sln
+++ b/vk.net.sln
@@ -3,10 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{A2A2849A-0032-4AA8-BC0E-82C69D7DE354}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Textured", "samples\Textured\Textured.csproj", "{96A2E0B8-91AE-4EB9-A435-185D01E24067}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{96A2A7896-91AE-4EB9-A435-185D01E24067}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.generator", "vk.generator\vk.generator.csproj", "{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vk.rewrite", "vk.rewrite\vk.rewrite.csproj", "{F41EA96F-A9F7-4E85-B2EE-5757C5FAD00D}"
@@ -17,19 +13,27 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vulkan", "VK\vulkan.csproj"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CVKL", "vke\CVKL.csproj", "{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "samples\Triangle\Triangle.csproj", "{001F5D64-871B-47A4-A823-78C7CE3785AA}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirVTasks", "SpirVTask\SpirVTasks.csproj", "{F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "samples\Triangle\Triangle.csproj", "{3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferred\deferred.csproj", "{D9C2AFFC-2BEC-487F-86F5-400516D8A991}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hdr", "samples\hdr\hdr.csproj", "{BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{C91689E2-6F72-4812-8166-3EA500E2D5BE}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "deferred", "samples\deferred\deferred.csproj", "{BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Textured", "samples\Textured\Textured.csproj", "{C7746F60-3A53-41CE-9241-69F89E377CF1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{05515E15-D3C3-4A8C-A940-9467D9D77823}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TexturedCube", "samples\TexturedCube\TexturedCube.csproj", "{28109FE9-9CA7-4B01-A184-5F612CC6C2E1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pbr", "samples\pbr\pbr.csproj", "{790642C5-7AD1-437D-9F9C-3F721133AFEF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "datas", "samples\datas\datas.csproj", "{E34F499F-99A4-4930-81F5-32E85CD39E13}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "samples\Model\Model.csproj", "{0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compute", "samples\compute\compute.csproj", "{D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tests", "samples\tests\tests.csproj", "{1972F90F-9995-4B5D-9696-1B0692F8F650}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Model", "samples\Model\Model.csproj", "{F134D6DF-893C-41B0-85FC-82E30773F3D5}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hdr", "samples\hdr\hdr.csproj", "{77D1C316-5BFE-4646-A465-EFAF1813F910}"
+Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "tests", "samples\tests\tests.csproj", "{3FE2F866-C21D-4FED-B2F3-3385789165A2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -39,18 +43,6 @@ Global
DebugCrow|Any CPU = DebugCrow|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {96A2E0B8-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.Build.0 = Release|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {96A2A7896-91AE-4EB9-A435-185D01E24067}.Release|Any CPU.Build.0 = Release|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87AC7BE1-143E-4FF4-91F8-981B1CAAF1DD}.Release|Any CPU.Build.0 = Release|Any CPU
@@ -82,69 +74,94 @@ Global
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
{9E12DFE6-7DC7-4BF2-8077-42DDC69FD0A1}.Release|Any CPU.Build.0 = Release|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {001F5D64-871B-47A4-A823-78C7CE3785AA}.Release|Any CPU.Build.0 = Release|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36}.Release|Any CPU.Build.0 = Release|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {05515E15-D3C3-4A8C-A940-9467D9D77823}.Release|Any CPU.Build.0 = Release|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.temp|Any CPU.Build.0 = Debug|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
- {790642C5-7AD1-437D-9F9C-3F721133AFEF}.Release|Any CPU.Build.0 = Release|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.Release|Any CPU.Build.0 = Release|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.temp|Any CPU.Build.0 = Debug|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.Release|Any CPU.Build.0 = Release|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.temp|Any CPU.Build.0 = Debug|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {1972F90F-9995-4B5D-9696-1B0692F8F650}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.Release|Any CPU.Build.0 = Release|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.temp|Any CPU.ActiveCfg = Debug|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.temp|Any CPU.Build.0 = Debug|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
- {77D1C316-5BFE-4646-A465-EFAF1813F910}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {F72F73E4-86CC-4F56-B004-BCC4BF0AF30B}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.DebugCrow|Any CPU.ActiveCfg = DebugCrow|Any CPU
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991}.DebugCrow|Any CPU.Build.0 = DebugCrow|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+ {C7746F60-3A53-41CE-9241-69F89E377CF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7746F60-3A53-41CE-9241-69F89E377CF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C7746F60-3A53-41CE-9241-69F89E377CF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C7746F60-3A53-41CE-9241-69F89E377CF1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C7746F60-3A53-41CE-9241-69F89E377CF1}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7746F60-3A53-41CE-9241-69F89E377CF1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {E34F499F-99A4-4930-81F5-32E85CD39E13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E34F499F-99A4-4930-81F5-32E85CD39E13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E34F499F-99A4-4930-81F5-32E85CD39E13}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E34F499F-99A4-4930-81F5-32E85CD39E13}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.temp|Any CPU.ActiveCfg = Debug|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.temp|Any CPU.Build.0 = Debug|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.DebugCrow|Any CPU.ActiveCfg = Debug|Any CPU
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2}.DebugCrow|Any CPU.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {96A2E0B8-91AE-4EB9-A435-185D01E24067} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {96A2A7896-91AE-4EB9-A435-185D01E24067} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
{1F05E74F-AEE8-481C-8FDF-456654CC30BE} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {001F5D64-871B-47A4-A823-78C7CE3785AA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {BFF1BEEC-2E93-4963-AD3C-2A8C9BA05C36} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {05515E15-D3C3-4A8C-A940-9467D9D77823} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {790642C5-7AD1-437D-9F9C-3F721133AFEF} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {0E4346C3-87C0-4C0A-8CDB-DBF1E29F5385} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {1972F90F-9995-4B5D-9696-1B0692F8F650} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
- {77D1C316-5BFE-4646-A465-EFAF1813F910} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {3CFF99D3-8C0E-4B37-9146-9A7ED9D28CAA} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {D9C2AFFC-2BEC-487F-86F5-400516D8A991} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {BFD9B8B7-B7D2-4D25-B8DE-08D3EC6626CF} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {C91689E2-6F72-4812-8166-3EA500E2D5BE} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {C7746F60-3A53-41CE-9241-69F89E377CF1} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {28109FE9-9CA7-4B01-A184-5F612CC6C2E1} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {E34F499F-99A4-4930-81F5-32E85CD39E13} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {D6B4200E-25FA-4AFD-BD9E-4240BAF1AFE4} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {F134D6DF-893C-41B0-85FC-82E30773F3D5} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
+ {3FE2F866-C21D-4FED-B2F3-3385789165A2} = {A2A2849A-0032-4AA8-BC0E-82C69D7DE354}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
diff --git a/vke/CVKL.csproj b/vke/CVKL.csproj
index 8577539..b2c6032 100644
--- a/vke/CVKL.csproj
+++ b/vke/CVKL.csproj
@@ -33,26 +33,27 @@
<DefineConstants>MEMORY_POOLS</DefineConstants>
</PropertyGroup>
- <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
+<!-- <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<Reference Include="System" />
<Reference Include="System.Runtime" />
<Reference Include="System.Core" />
- </ItemGroup>
+ </ItemGroup>-->
<ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
<PackageReference Include="System.Numerics.Vectors" Version="4.6.0-preview4.19212.13" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="glTF2Loader" Version="1.1.3-alpha" />
- <PackageReference Include="Vulkan" Version="0.1.4-beta" />
+ <PackageReference Include="Vulkan" Version="0.1.4-beta" />
+<!-- <ProjectReference Include="$(SolutionDir)SpirVTask\SpirVTasks.csproj" />-->
</ItemGroup>
<ItemGroup>
- <None Remove="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" />
- <GLSLShader Include="shaders\**\*.frag;shaders\**\*.vert;shaders\**\*.comp;shaders\**\*.geom" />
<Compile Remove="Properties\AssemblyInfo.cs;src\Renderer.cs;src\QueueFamily.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="src\base\" />
</ItemGroup>
- <Import Project="$(SolutionDir)spirv.targets" />
+ <ItemGroup>
+<!-- -->
+ </ItemGroup>
</Project>