From 710c5459aa04bd01b6108faae2326ea83e337d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jukka=20Jyl=C3=A4nki?= Date: Mon, 5 Jul 2021 18:19:42 +0300 Subject: [PATCH] Fix maxAnisotropy default value in sampler creation. Add new function wgpu_destroy_all_objects(). Implement wgpu_pipeline_get_bind_group_layout(). Add helper function wgpu_load_image_bitmap_from_url_async(). Add a texture rendering sample. --- CMakeLists.txt | 3 + lib/lib_webgpu.cpp | 4 +- lib/lib_webgpu.h | 40 ++++++--- lib/lib_webgpu.js | 53 ++++++++++-- texture/fish.png | Bin 0 -> 131018 bytes texture/license.txt | 1 + texture/texture.c | 202 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 283 insertions(+), 20 deletions(-) create mode 100644 texture/fish.png create mode 100644 texture/license.txt create mode 100644 texture/texture.c diff --git a/CMakeLists.txt b/CMakeLists.txt index df7bd32..038ffe6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,3 +75,6 @@ target_link_libraries(vertex_buffer webgpu) add_executable(gpu_oom gpu_oom/gpu_oom.c) target_link_libraries(gpu_oom webgpu) + +add_executable(texture texture/texture.c) +target_link_libraries(texture webgpu) diff --git a/lib/lib_webgpu.cpp b/lib/lib_webgpu.cpp index 60f662d..8faf3d0 100644 --- a/lib/lib_webgpu.cpp +++ b/lib/lib_webgpu.cpp @@ -42,7 +42,9 @@ const WGpuSamplerDescriptor WGPU_SAMPLER_DESCRIPTOR_DEFAULT_INITIALIZER = { .minFilter = WGPU_FILTER_MODE_NEAREST, .mipmapFilter = WGPU_FILTER_MODE_NEAREST, .lodMinClamp = 0, - .lodMaxClamp = 65536 // TODO change this after spec is fixed + .lodMaxClamp = 65535, // TODO change this after spec is fixed + .maxAnisotropy = 1 + }; const WGpuBindGroupLayoutEntry WGPU_BUFFER_BINDING_LAYOUT_ENTRY_DEFAULT_INITIALIZER = { diff --git a/lib/lib_webgpu.h b/lib/lib_webgpu.h index fc1a7c7..4e9f7ad 100644 --- a/lib/lib_webgpu.h +++ b/lib/lib_webgpu.h @@ -36,6 +36,9 @@ uint32_t wgpu_get_num_live_objects(void); // do excess "if (wgpuObject) wgpu_object_destroy(wgpuObject);") void wgpu_object_destroy(WGpuObjectBase wgpuObject); +// Deinitializes all initialized WebGPU objects. +void wgpu_destroy_all_objects(void); + // Acquires a canvas context from a canvas by calling canvas.getCanvasContext(). WGpuPresentationContext wgpu_canvas_get_gpupresent_context(const char *canvasSelector); @@ -733,16 +736,16 @@ dictionary GPUSamplerDescriptor : GPUObjectDescriptorBase { */ typedef struct WGpuSamplerDescriptor { - WGPU_ADDRESS_MODE addressModeU; - WGPU_ADDRESS_MODE addressModeV; - WGPU_ADDRESS_MODE addressModeW; - WGPU_FILTER_MODE magFilter; - WGPU_FILTER_MODE minFilter; - WGPU_FILTER_MODE mipmapFilter; - float lodMinClamp; - float lodMaxClamp; - WGPU_COMPARE_FUNCTION compare; - uint32_t maxAnisotropy; // N.b. this is 32-bit wide in the bindings implementation for simplicity, unlike in the IDL which specifies a unsigned short. + WGPU_ADDRESS_MODE addressModeU; // default = WGPU_ADDRESS_MODE_CLAMP_TO_EDGE + WGPU_ADDRESS_MODE addressModeV; // default = WGPU_ADDRESS_MODE_CLAMP_TO_EDGE + WGPU_ADDRESS_MODE addressModeW; // default = WGPU_ADDRESS_MODE_CLAMP_TO_EDGE + WGPU_FILTER_MODE magFilter; // default = WGPU_FILTER_MODE_NEAREST + WGPU_FILTER_MODE minFilter; // default = WGPU_FILTER_MODE_NEAREST + WGPU_FILTER_MODE mipmapFilter; // default = WGPU_FILTER_MODE_NEAREST + float lodMinClamp; // default = 0 + float lodMaxClamp; // default = ? + WGPU_COMPARE_FUNCTION compare; // default = WGPU_COMPARE_FUNCTION_INVALID (not used) + uint32_t maxAnisotropy; // default = 1. N.b. this is 32-bit wide in the bindings implementation for simplicity, unlike in the IDL which specifies a unsigned short. } WGpuSamplerDescriptor; extern const WGpuSamplerDescriptor WGPU_SAMPLER_DESCRIPTOR_DEFAULT_INITIALIZER; @@ -1097,7 +1100,9 @@ interface mixin GPUPipelineBase { GPUBindGroupLayout getBindGroupLayout(unsigned long index); }; */ -// TODO: implement +WGpuBindGroupLayout wgpu_pipeline_get_bind_group_layout(WGpuObjectBase pipelineBase, uint32_t index); +#define wgpu_render_pipeline_get_bind_group_layout wgpu_pipeline_get_bind_group_layout +#define wgpu_compute_pipeline_get_bind_group_layout wgpu_pipeline_get_bind_group_layout /* dictionary GPUProgrammableStage { @@ -2339,7 +2344,7 @@ typedef struct WGpuRenderPassColorAttachment typedef struct WGpuImageCopyExternalImage { - WGpuObjectBase source; // TODO add wgpu_acquire_dom_element_using_css_selector(const char *cssSelector); and wgpu_release_dom_element_using_css_selector(WGpuObjectBase object); + WGpuObjectBase source; // must point to a WGpuImageBitmap (could also point to a HTMLCanvasElement or OffscreenCanvas, but those are currently unimplemented) WGpuOrigin2D origin; } WGpuImageCopyExternalImage; extern const WGpuImageCopyExternalImage WGPU_IMAGE_COPY_EXTERNAL_IMAGE_DEFAULT_INITIALIZER; @@ -2431,6 +2436,17 @@ typedef struct WGpuBindGroupLayoutEntry } WGpuBindGroupLayoutEntry; extern const WGpuBindGroupLayoutEntry WGPU_BUFFER_BINDING_LAYOUT_ENTRY_DEFAULT_INITIALIZER; +//////////////////////////////////////////////////////////////// +// Extensions to the WebGPU specification: + +typedef int WGpuImageBitmap; + +// Called when the ImageBitmap finishes loading. If loading fails, this callback will be called with width==height==0. +typedef void (*WGpuLoadImageBitmapCallback)(WGpuImageBitmap bitmap, int width, int height, void *userData); + +WGpuImageBitmap wgpu_load_image_bitmap_from_url_async(const char *url, EM_BOOL flipY, WGpuLoadImageBitmapCallback callback, void *userData); + + #ifdef __cplusplus } // ~extern "C" #endif diff --git a/lib/lib_webgpu.js b/lib/lib_webgpu.js index 7e7aad6..c3b618b 100644 --- a/lib/lib_webgpu.js +++ b/lib/lib_webgpu.js @@ -76,6 +76,12 @@ mergeInto(LibraryManager.library, { {{{ wassert(`!(object in wgpu), 'wgpu dictionary should not be storing nulls/undefineds/zeroes!'`); }}} }, + wgpu_destroy_all_objects__deps: ['$wgpu'], + wgpu_destroy_all_objects: function() { + wgpu.forEach((o) => { if (o['destroy']) o['destroy'](); }); + wgpu = {}; + }, + wgpu_is_valid_object: function(o) { return !!wgpu[o]; }, // Tests if this ID references anything (not just a GPUObjectBase) wgpu_is_adapter: function(o) { return wgpu[o] instanceof GPUAdapter; }, wgpu_is_device: function(o) { return wgpu[o] instanceof GPUDevice; }, @@ -92,7 +98,7 @@ mergeInto(LibraryManager.library, { wgpu_is_render_pipeline: function(o) { return wgpu[o] instanceof GPURenderPipeline; }, wgpu_is_command_buffer: function(o) { return wgpu[o] instanceof GPUCommandBuffer; }, wgpu_is_command_encoder: function(o) { return wgpu[o] instanceof GPUCommandEncoder; }, - wgpu_is_programmable_pass_encoder: function(o) { return wgpu[o] instanceof GPUProgrammablePassEncoder; }, + wgpu_is_programmable_pass_encoder: function(o) { return wgpu[o] instanceof GPUComputePassEncoder || wgpu[o] instanceof GPURenderPassEncoder || wgpu[o] instanceof GPURenderBundleEncoder; }, // TODO: Should 'GPURenderEncoderBase' exist as a type? wgpu_is_render_encoder_base: function(o) { return wgpu[o] instanceof GPURenderPassEncoder || wgpu[o] instanceof GPURenderBundleEncoder; }, wgpu_is_render_pass_encoder: function(o) { return wgpu[o] instanceof GPURenderPassEncoder; }, @@ -975,6 +981,17 @@ mergeInto(LibraryManager.library, { return wgpuStoreAndSetParent(view, t); }, + wgpu_pipeline_get_bind_group_layout: function(pipelineBase, index) { + {{{ wdebuglog('`wgpu_pipeline_get_bind_group_layout(pipelineBase=${pipelineBase}, index=${index})`'); }}} + {{{ wassert('wgpu[pipelineBase] instanceof GPURenderPipeline || wgpu[pipelineBase] instanceof GPUComputePipeline'); }}} + + var id = wgpuAllocId(); + wgpu[id] = wgpu[pipelineBase]['getBindGroupLayout'](index); + {{{ wdebuglog('`returned:`'); }}} + {{{ wdebugdir('wgpu[id]'); }}} + return id; + }, + wgpu_command_encoder_begin_render_pass: function(commandEncoder, descriptor) { {{{ wdebuglog('`wgpu_command_encoder_begin_render_pass(commandEncoder=${commandEncoder}, descriptor=${descriptor})`'); }}} {{{ wassert('wgpu[commandEncoder] instanceof GPUCommandEncoder'); }}} @@ -1102,27 +1119,27 @@ mergeInto(LibraryManager.library, { wgpu_encoder_push_debug_group: function(encoder, groupLabel) { // TODO: this function is untested. Write a test case {{{ wdebuglog('`wgpu_command_encoder_push_debug_group(encoder=${encoder}, groupLabel=${groupLabel})`'); }}} - {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUProgrammablePassEncoder'); }}} + {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUComputePassEncoder || wgpu[encoder] instanceof GPURenderPassEncoder || wgpu[encoder] instanceof GPURenderBundleEncoder'); }}} {{{ wassert('wgpu[groupLabel]'); }}} wgpu[encoder]['pushDebugGroup'](UTF8ToString(groupLabel)); }, wgpu_encoder_pop_debug_group: function(encoder) { // TODO: this function is untested. Write a test case {{{ wdebuglog('`wgpu_command_encoder_pop_debug_group(encoder=${encoder})`'); }}} - {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUProgrammablePassEncoder'); }}} + {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUComputePassEncoder || wgpu[encoder] instanceof GPURenderPassEncoder || wgpu[encoder] instanceof GPURenderBundleEncoder'); }}} wgpu[encoder]['popDebugGroup'](); }, wgpu_encoder_insert_debug_marker: function(encoder, markerLabel) { // TODO: this function is untested. Write a test case {{{ wdebuglog('`wgpu_command_encoder_insert_debug_marker(encoder=${encoder}, markerLabel=${markerLabel})`'); }}} - {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUProgrammablePassEncoder'); }}} + {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUComputePassEncoder || wgpu[encoder] instanceof GPURenderPassEncoder || wgpu[encoder] instanceof GPURenderBundleEncoder'); }}} {{{ wassert('wgpu[markerLabel]'); }}} wgpu[encoder]['insertDebugMarker'](UTF8ToString(markerLabel)); }, wgpu_encoder_write_timestamp: function(encoder, querySet, queryIndex) { // TODO: this function is untested. Write a test case {{{ wdebuglog('`wgpu_encoder_write_timestamp(commandEncoder=${commandEncoder}, querySet=${querySet}, queryIndex=${queryIndex})`'); }}} - {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUProgrammablePassEncoder || wgpu[encoder] instanceof GPURenderPassEncoder'); }}} + {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUComputePassEncoder || wgpu[encoder] instanceof GPURenderPassEncoder || wgpu[encoder] instanceof GPURenderBundleEncoder'); }}} {{{ wassert('wgpu[querySet]'); }}} wgpu[encoder]['writeTimestamp'](wgpu[querySet], queryIndex); }, @@ -1231,7 +1248,7 @@ mergeInto(LibraryManager.library, { wgpu_programmable_pass_encoder_set_bind_group: function(encoder, index, bindGroup, dynamicOffsets, numDynamicOffsets) { // TODO: this function is untested. Write a test case {{{ wdebuglog('`wgpu_programmable_pass_encoder_set_bind_group(encoder=${encoder}, index=${index}, bindGroup=${bindGroup}, dynamicOffsets=${dynamicOffsets}, numDynamicOffsets=${numDynamicOffsets})`'); }}} - {{{ wassert('wgpu[encoder] instanceof GPUProgrammablePassEncoder'); }}} + {{{ wassert('wgpu[encoder] instanceof GPUCommandEncoder || wgpu[encoder] instanceof GPUComputePassEncoder || wgpu[encoder] instanceof GPURenderPassEncoder || wgpu[encoder] instanceof GPURenderBundleEncoder'); }}} {{{ wassert('wgpu[bindGroup] instanceof GPUBindGroup'); }}} {{{ wassert('dynamicOffsets != 0 || numDynamicOffsets == 0'); }}} {{{ wassert('dynamicOffsets % 4 == 0'); }}} @@ -1402,7 +1419,7 @@ mergeInto(LibraryManager.library, { source >>= 2; var dest = wgpuReadGpuImageCopyTexture(destination); destination >>= 2; - dest['colorSpace'] = wgpuStrings[HEAP32[destination+6]]; + dest['colorSpace'] = _wgpuStrings[HEAP32[destination+6]]; dest['premultipliedAlpha'] = !!HEAP32[destination+7]; wgpu[queue]['copyExternalImageToTexture']({ @@ -1410,4 +1427,26 @@ mergeInto(LibraryManager.library, { 'origin': [HEAP32[source+1], HEAP32[source+2]] }, dest, [copyWidth, copyHeight, copyDepthOrArrayLayers]); }, + + wgpu_load_image_bitmap_from_url_async: function(url, flipY, callback, userData) { + {{{ wdebuglog('`wgpu_load_image_bitmap_from_url_async(url=\"${UTF8ToString(url)}\" (${url}), callback=${callback}, userData=${userData})`'); }}} + var img = new Image(); + img.src = UTF8ToString(url); + var id = wgpuAllocId(); + + function dispatchCallback(imageBitmapOrError) { + {{{ wdebuglog('`createImageBitmap(img) loaded:`'); }}} + {{{ wdebugdir('imageBitmapOrError'); }}} + {{{ wdebuglog('`from:`'); }}} + {{{ wdebugdir('img'); }}} + if (imageBitmapOrError.width) wgpu[id] = imageBitmapOrError; + {{{ makeDynCall('viiii', 'callback') }}}(id, imageBitmapOrError.width, imageBitmapOrError.height, userData); + } + + img.decode().then(() => { + return createImageBitmap(img, flipY ? { 'imageOrientation': 'flipY' } : {}); + }).then(dispatchCallback).catch(dispatchCallback); + + return id; + } }); diff --git a/texture/fish.png b/texture/fish.png new file mode 100644 index 0000000000000000000000000000000000000000..ba90cd2f7ce3482b04bdaf024242453c65805fbe GIT binary patch literal 131018 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�zci>#UaR;!tZZ=2=Jf-2p}9zEmlnR0YLD@ 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 Xmy>h6qx-}M0)7 +#include +#include "lib_webgpu.h" +#include "lib_demo.h" +#include + +WGpuAdapter adapter; +WGpuPresentationContext presentationContext; +WGpuDevice device; +WGpuQueue defaultQueue; +WGpuRenderPipeline renderPipeline; +WGpuBuffer buffer = 0; +WGpuTexture texture; +int imageWidth, imageHeight; +WGpuSampler sampler; +WGpuBindGroup bindGroup; + +float v[] = { + // x, y, u, v + -1.f, -1.f, 0.f, 0.f, + 1.f, -1.f, 1.f, 0.f, + -1.f, 1.f, 0.f, 1.f, + -1.f, 1.f, 0.f, 1.f, + 1.f, -1.f, 1.f, 0.f, + 1.f, 1.f, 1.f, 1.f +}; + +void CreateGeometryAndRender() +{ + WGpuBufferDescriptor bufferDesc = {}; + bufferDesc.size = sizeof(v); + bufferDesc.usage = WGPU_BUFFER_USAGE_VERTEX; + bufferDesc.mappedAtCreation = EM_TRUE; + + int canvasWidth, canvasHeight; + emscripten_get_canvas_element_size("canvas", &canvasWidth, &canvasHeight); + + float scaleX = (float)canvasWidth/imageWidth; + float scaleY = (float)canvasHeight/imageHeight; + float scale = scaleY < scaleX ? scaleY : scaleX; + float letterbox = imageWidth * scale / canvasWidth; + float pillarbox = imageHeight * scale / canvasHeight; + v[0] = v[8] = v[12] = -letterbox; + v[4] = v[16] = v[20] = letterbox; + v[1] = v[5] = v[17] = -pillarbox; + v[9] = v[13] = v[21] = pillarbox; + + wgpu_object_destroy(buffer); + buffer = wgpu_device_create_buffer(device, &bufferDesc); + wgpu_buffer_get_mapped_range(buffer, 0, WGPU_MAP_MAX_LENGTH); + wgpu_buffer_write_mapped_range(buffer, 0, 0, v, sizeof(v)); + wgpu_buffer_unmap(buffer); + + WGpuCommandEncoder encoder = wgpu_device_create_command_encoder(device, 0); + + WGpuRenderPassColorAttachment colorAttachment = {}; + colorAttachment.view = wgpu_texture_create_view(wgpu_presentation_context_get_current_texture(presentationContext), 0); + colorAttachment.loadColor.a = 1.0; + + WGpuRenderPassDescriptor passDesc = {}; + passDesc.numColorAttachments = 1; + passDesc.colorAttachments = &colorAttachment; + + WGpuRenderPassEncoder pass = wgpu_command_encoder_begin_render_pass(encoder, &passDesc); + wgpu_render_pass_encoder_set_pipeline(pass, renderPipeline); + wgpu_render_pass_encoder_set_vertex_buffer(pass, 0, buffer, 0, sizeof(v)); + wgpu_render_pass_encoder_set_bind_group(pass, 0, bindGroup, 0, 0); + wgpu_render_pass_encoder_draw(pass, 6, 1, 0, 0); + wgpu_render_pass_encoder_end_pass(pass); + + wgpu_queue_submit_one_and_destroy(defaultQueue, wgpu_command_encoder_finish(encoder)); +} + +void DownloadedImage(WGpuImageBitmap bitmap, int width, int height, void *userData) +{ + imageWidth = width; + imageHeight = height; + emscripten_mini_stdio_printf("DownloadedImage: width: %d, height: %d\n", width, height); + if (!width) + return; + + defaultQueue = wgpu_device_get_queue(device); + + presentationContext = wgpu_canvas_get_gpupresent_context("canvas"); + + WGpuPresentationConfiguration config = WGPU_PRESENTATION_CONFIGURATION_DEFAULT_INITIALIZER; + config.device = device; + config.format = wgpu_presentation_context_get_preferred_format(presentationContext, adapter); + wgpu_presentation_context_configure(presentationContext, &config); + + const char *vertexShader = + "struct In {" + " [[location(0)]] pos : vec2;" + " [[location(1)]] uv : vec2;" + "};" + + "struct Out {" + " [[builtin(position)]] pos : vec4;" + " [[location(0)]] uv : vec2;" + "};" + + "[[stage(vertex)]]" + "fn main(in: In) -> Out {" + "var out: Out;" + "out.pos = vec4(in.pos, 0.0, 1.0);" + "out.uv = in.uv;" + "return out;" + "}"; + + const char *fragmentShader = + "[[group(0), binding(0)]] var myTexture : texture_2d;\n" + "[[group(0), binding(1)]] var mySampler : sampler;\n" + "[[stage(fragment)]]\n" + "fn main([[location(0)]] uv : vec2) -> [[location(0)]] vec4 {\n" + "return textureSample(myTexture, mySampler, uv);" + "}"; + + WGpuRenderPipelineDescriptor renderPipelineDesc = WGPU_RENDER_PIPELINE_DESCRIPTOR_DEFAULT_INITIALIZER; + + WGpuVertexAttribute vertexAttr[2] = {}; + vertexAttr[0].format = WGPU_VERTEX_FORMAT_FLOAT32X2; + vertexAttr[0].offset = 0; + vertexAttr[0].shaderLocation = 0; + vertexAttr[1].format = WGPU_VERTEX_FORMAT_FLOAT32X2; + vertexAttr[1].offset = 8; + vertexAttr[1].shaderLocation = 1; + + WGpuVertexBufferLayout vbLayout = {}; + vbLayout.numAttributes = 2; + vbLayout.attributes = vertexAttr; + vbLayout.arrayStride = 16; + + renderPipelineDesc.vertex.numBuffers = 1; + renderPipelineDesc.vertex.buffers = &vbLayout; + + WGpuShaderModuleDescriptor shaderModuleDesc = {}; + shaderModuleDesc.code = vertexShader; + renderPipelineDesc.vertex.module = wgpu_device_create_shader_module(device, &shaderModuleDesc); + renderPipelineDesc.vertex.entryPoint = "main"; + + shaderModuleDesc.code = fragmentShader; + renderPipelineDesc.fragment.module = wgpu_device_create_shader_module(device, &shaderModuleDesc); + renderPipelineDesc.fragment.entryPoint = "main"; + + WGpuColorTargetState colorTarget = WGPU_COLOR_TARGET_STATE_DEFAULT_INITIALIZER; + colorTarget.format = config.format; + renderPipelineDesc.fragment.numTargets = 1; + renderPipelineDesc.fragment.targets = &colorTarget; + + renderPipeline = wgpu_device_create_render_pipeline(device, &renderPipelineDesc); + + WGpuTextureDescriptor textureDesc = WGPU_TEXTURE_DESCRIPTOR_DEFAULT_INITIALIZER; + textureDesc.width = width; + textureDesc.height = height; + textureDesc.format = WGPU_TEXTURE_FORMAT_RGBA8UNORM; + textureDesc.usage = WGPU_TEXTURE_USAGE_COPY_DST | WGPU_TEXTURE_USAGE_SAMPLED | WGPU_TEXTURE_USAGE_RENDER_ATTACHMENT; + + texture = wgpu_device_create_texture(device, &textureDesc); + + WGpuImageCopyExternalImage src = {}; + src.source = bitmap; + + WGpuImageCopyTextureTagged dst = {}; + dst.texture = texture; + + wgpu_queue_copy_external_image_to_texture(defaultQueue, &src, &dst, width, height, 1); + + WGpuSamplerDescriptor samplerDesc = WGPU_SAMPLER_DESCRIPTOR_DEFAULT_INITIALIZER; + sampler = wgpu_device_create_sampler(device, &samplerDesc); + + WGpuBindGroupEntry bindGroupEntries[2] = {}; + bindGroupEntries[0].binding = 0; + bindGroupEntries[0].resource = wgpu_texture_create_view(texture, 0); + bindGroupEntries[1].binding = 1; + bindGroupEntries[1].resource = sampler; + + bindGroup = wgpu_device_create_bind_group(device, wgpu_pipeline_get_bind_group_layout(renderPipeline, 0), bindGroupEntries, 2); + + window_resized_callback(CreateGeometryAndRender); + CreateGeometryAndRender(); +} + +void ObtainedWebGpuDevice(WGpuDevice result, void *userData) +{ + device = result; + wgpu_load_image_bitmap_from_url_async("fish.png", EM_TRUE, DownloadedImage, 0); +} + +void ObtainedWebGpuAdapter(WGpuAdapter result, void *userData) +{ + adapter = result; + + WGpuDeviceDescriptor deviceDesc = {}; + wgpu_adapter_request_device_async(adapter, &deviceDesc, ObtainedWebGpuDevice, 0); +} + +int main() +{ + WGpuRequestAdapterOptions options = {}; + options.powerPreference = WGPU_POWER_PREFERENCE_LOW_POWER; + navigator_gpu_request_adapter_async(&options, ObtainedWebGpuAdapter, 0); +}