├── docs
└── index.html
├── lib
└── vulkan-1.lib
├── README.md
├── .gitignore
├── index.js
├── vulkan
├── vulkan_level_10.h
├── vulkan_pfn.h
├── vulkan_level_20_Event.h
├── vulkan_level_20_Fence.h
├── vulkan_level_20_Image.h
├── vulkan_level_20_Buffer.h
├── vulkan_level_20_Sampler.h
├── vulkan_level_20_ImageView.h
├── vulkan_level_20_QueryPool.h
├── vulkan_level_20_Semaphore.h
├── vulkan_level_20_BufferView.h
├── vulkan_level_20_CommandPool.h
├── vulkan_level_20_RenderPass.h
├── vulkan_level_20_Framebuffer.h
├── vulkan_level_20_ShaderModule.h
├── vulkan_level_20_PipelineCache.h
├── vulkan_level_20_ComputePipeline.h
├── vulkan_level_20_DescriptorPool.h
├── vulkan_level_20_PipelineLayout.h
├── vulkan_level_20_GraphicsPipeline.h
├── vulkan_level_20_DescriptorSetLayout.h
├── VulkanDll.h
├── vulkan_level_20_DebugReportCallbackEXT.h
├── vulkan_level_20.cpp
├── dllmain.cpp
├── vulkan_level_20_Event.cpp
├── vulkan_level_20_Fence.cpp
├── vulkan_level_20_Image.cpp
├── vulkan_level_20_Buffer.cpp
├── vulkan_level_20_Sampler.cpp
├── vulkan_level_20_ImageView.cpp
├── vulkan_level_20_QueryPool.cpp
├── vulkan_level_20_Semaphore.cpp
├── vulkan_level_20_BufferView.cpp
├── vulkan_level_20_RenderPass.cpp
├── vulkan_level_20_CommandPool.cpp
├── vulkan_level_20_Framebuffer.cpp
├── vulkan_level_20_ShaderModule.cpp
├── vulkan_level_20_PipelineCache.cpp
├── vulkan_level_20_DescriptorPool.cpp
├── vulkan_level_20_PipelineLayout.cpp
├── vulkan_level_20_ComputePipeline.cpp
├── vulkan_level_20_GraphicsPipeline.cpp
├── vulkan_level_20_DescriptorSetLayout.cpp
├── VulkanDll.cpp
├── vulkan_levels.h
└── vulkan_level_20_DebugReportCallbackEXT.cpp
├── package.json
├── autogen
├── Instance.h
├── Event.h
├── Fence.h
├── Image.h
├── Buffer.h
├── Sampler.h
├── ImageView.h
├── QueryPool.h
├── Semaphore.h
├── BufferView.h
├── RenderPass.h
├── CommandPool.h
├── Framebuffer.h
├── Device.h
├── ShaderModule.h
├── SwapchainKHR.h
├── ComputePipeline.h
├── PipelineCache.h
├── GraphicsPipeline.h
├── DescriptorPool.h
├── PipelineLayout.h
├── SharedSwapchainKHR.h
├── DisplayPlaneSurfaceKHR.h
├── DescriptorSetLayout.h
├── DisplayModeKHR.h
├── MirSurfaceKHR.h
├── XcbSurfaceKHR.h
├── XlibSurfaceKHR.h
├── Win32SurfaceKHR.h
├── DebugReportCallbackEXT.h
├── AndroidSurfaceKHR.h
├── WaylandSurfaceKHR.h
├── vulkan_autogen.cpp
├── Instance.cpp
├── Event.cpp
├── Fence.cpp
├── Image.cpp
├── Buffer.cpp
├── Sampler.cpp
├── Device.cpp
├── DisplayModeKHR.cpp
├── ImageView.cpp
├── QueryPool.cpp
├── Semaphore.cpp
├── BufferView.cpp
├── RenderPass.cpp
├── CommandPool.cpp
├── Framebuffer.cpp
├── ShaderModule.cpp
├── SwapchainKHR.cpp
├── PipelineCache.cpp
├── DescriptorPool.cpp
├── PipelineLayout.cpp
├── ComputePipeline.cpp
├── GraphicsPipeline.cpp
├── MirSurfaceKHR.cpp
├── XcbSurfaceKHR.cpp
├── SharedSwapchainKHR.cpp
├── XlibSurfaceKHR.cpp
├── Win32SurfaceKHR.cpp
├── DescriptorSetLayout.cpp
├── AndroidSurfaceKHR.cpp
├── WaylandSurfaceKHR.cpp
├── DisplayPlaneSurfaceKHR.cpp
└── DebugReportCallbackEXT.cpp
└── include
└── vulkan
├── icd-spv.h
├── vk_debug_marker_layer.h
├── vk_sdk_platform.h
├── vk_icd.h
├── vk_lunarg_debug_marker.h
├── GLSL.std.450.h
└── vk_platform.h
/docs/index.html:
--------------------------------------------------------------------------------
1 |
Demo of how node.js would work in action using vulkan
--------------------------------------------------------------------------------
/lib/vulkan-1.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codepilot/vulkan/HEAD/lib/vulkan-1.lib
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vulkan
2 | NodeJS and C++ bindings for https://www.khronos.org/vulkan/
3 | http://codepilot.github.io
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.suo
2 | *.user
3 | *.userosscache
4 | *.sln.docstates
5 |
6 | /build
7 |
8 | /Win32
9 | /x64
10 | /vulkan/Win32
11 | /vulkan/x64
12 | /.vs
13 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | try {
4 | const vulkan = new require("./build/Debug/binding.node");
5 |
6 | for (const k in vulkan) {
7 | exports[k] = vulkan[k];
8 | }
9 | } catch(err) {
10 | console.log(err);
11 |
12 | const vulkan = new require("./build/Release/binding.node");
13 |
14 | for (const k in vulkan) {
15 | exports[k] = vulkan[k];
16 | }
17 | }
--------------------------------------------------------------------------------
/vulkan/vulkan_level_10.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | namespace vulkan_level_10 {
4 | using v8::FunctionCallbackInfo;
5 | using v8::Value;
6 | using v8::Local;
7 | using v8::Object;
8 |
9 | void wrap_vkCreateInstance(const FunctionCallbackInfo& args);
10 | void wrap_vkDestroyInstance(const FunctionCallbackInfo& args);
11 | void Init(Local