gpu: begin implementing Surface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
64e023c992
commit
89b1f31de8
4 changed files with 96 additions and 86 deletions
|
|
@ -37,8 +37,67 @@ pub fn interface(native: *const NativeInstance) Interface {
|
|||
}
|
||||
|
||||
pub fn createSurface(native: *const NativeInstance, descriptor: *const Surface.Descriptor) Surface {
|
||||
// typedef enum WGPUSType {
|
||||
// WGPUSType_Invalid = 0x00000000,
|
||||
// WGPUSType_SurfaceDescriptorFromMetalLayer = 0x00000001,
|
||||
// WGPUSType_SurfaceDescriptorFromWindowsHWND = 0x00000002,
|
||||
// WGPUSType_SurfaceDescriptorFromXlibWindow = 0x00000003,
|
||||
// WGPUSType_SurfaceDescriptorFromCanvasHTMLSelector = 0x00000004,
|
||||
// WGPUSType_SurfaceDescriptorFromWindowsCoreWindow = 0x00000008,
|
||||
// WGPUSType_SurfaceDescriptorFromWindowsSwapChainPanel = 0x0000000B,
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptor {
|
||||
// WGPUChainedStruct const * nextInChain;
|
||||
// char const * label;
|
||||
// } WGPUSurfaceDescriptor;
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptorFromCanvasHTMLSelector {
|
||||
// WGPUChainedStruct chain;
|
||||
// char const * selector;
|
||||
// } WGPUSurfaceDescriptorFromCanvasHTMLSelector;
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptorFromMetalLayer {
|
||||
// WGPUChainedStruct chain;
|
||||
// void * layer;
|
||||
// } WGPUSurfaceDescriptorFromMetalLayer;
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptorFromWindowsCoreWindow {
|
||||
// WGPUChainedStruct chain;
|
||||
// void * coreWindow;
|
||||
// } WGPUSurfaceDescriptorFromWindowsCoreWindow;
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptorFromWindowsHWND {
|
||||
// WGPUChainedStruct chain;
|
||||
// void * hinstance;
|
||||
// void * hwnd;
|
||||
// } WGPUSurfaceDescriptorFromWindowsHWND;
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptorFromWindowsSwapChainPanel {
|
||||
// WGPUChainedStruct chain;
|
||||
// void * swapChainPanel;
|
||||
// } WGPUSurfaceDescriptorFromWindowsSwapChainPanel;
|
||||
|
||||
// typedef struct WGPUSurfaceDescriptorFromXlibWindow {
|
||||
// WGPUChainedStruct chain;
|
||||
// void * display;
|
||||
// uint32_t window;
|
||||
// } WGPUSurfaceDescriptorFromXlibWindow;
|
||||
|
||||
//c.wgpuInstanceCreateSurface(native.instance, )
|
||||
_ = native;
|
||||
_ = descriptor;
|
||||
// TODO:
|
||||
// WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor);
|
||||
}
|
||||
|
||||
// var desc: c.WGPUSurfaceDescriptorFromWindowsHWND = undefined;
|
||||
// desc.chain.next = null;
|
||||
// desc.chain.sType = c.WGPUSType_SurfaceDescriptorFromWindowsHWND;
|
||||
|
||||
// desc.hinstance = std.os.windows.kernel32.GetModuleHandleW(null);
|
||||
// desc.hwnd = glfw_native.getWin32Window(window);
|
||||
|
||||
// var descriptor: c.WGPUSurfaceDescriptor = undefined;
|
||||
// descriptor.nextInChain = @ptrCast(*c.WGPUChainedStruct, &desc);
|
||||
// descriptor.label = "basic surface";
|
||||
// return c.wgpuInstanceCreateSurface(instance, &descriptor);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue