@nativescript/canvas 2.0.0-webgpu.2 → 2.0.0-webgpu.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/angular/package.json +20 -0
  2. package/package.json +1 -3
  3. package/platforms/android/canvas-release.aar +0 -0
  4. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  5. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  6. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  7. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +6577 -5995
  8. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  9. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/NSCCanvas.nib +0 -0
  10. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  11. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +132 -132
  12. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  13. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  14. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  15. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +6577 -5995
  16. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  17. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +6577 -5995
  18. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  19. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/NSCCanvas.nib +0 -0
  20. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  21. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +646 -646
  22. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +684 -684
  23. package/platforms/ios/src/NSOperationQueueWrapper.h +2 -0
  24. package/platforms/ios/src/cpp/AsyncCallback.h +206 -0
  25. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1 -1
  26. package/platforms/ios/src/cpp/Helpers.h +2 -164
  27. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +2 -2
  28. package/platforms/ios/src/cpp/ImageBitmapImpl.h +2 -1
  29. package/platforms/ios/src/cpp/NativeType.h +87 -0
  30. package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
  31. package/platforms/ios/src/cpp/PromiseCallback.h +198 -0
  32. package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +7 -6
  33. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -1
  34. package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +1 -1
  35. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +5 -5
  36. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +15 -10
  37. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +2 -2
  38. package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +1 -1
  39. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +10 -10
  40. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
  41. package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
  42. package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
  43. package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
  44. package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
  45. package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
  46. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
  47. package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
  48. package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
  49. package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
  50. package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
  51. package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
  52. package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
  53. package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
  54. package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
  55. package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
  56. package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
  57. package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
  58. package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
  59. package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
  60. package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
  61. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
  62. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
  63. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
  64. package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
  65. package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
  66. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
  67. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
  68. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
  69. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
  70. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
  71. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
  72. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
  73. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
  74. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
  75. package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
  76. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
  77. package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
  78. package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
  79. package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
  80. package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
  81. package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
  82. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +123 -57
  83. package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +1 -1
  84. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +1 -1
  85. package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +1 -1
  86. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +1 -1
  87. package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +1 -1
  88. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +1 -1
  89. package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +1 -1
  90. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +44 -30
  91. package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +4 -4
  92. package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +1 -1
  93. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +1 -1
  94. package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +1 -1
  95. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +30 -31
  96. package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +1 -1
  97. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +1 -1
  98. package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +1 -1
  99. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +1 -1
  100. package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +1 -1
  101. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +93 -66
  102. package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +1 -1
  103. package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +52 -39
  104. package/platforms/ios/src/cpp/webgpu/GPUImpl.h +1 -1
  105. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +1 -1
  106. package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +5 -4
  107. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +1 -1
  108. package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +1 -1
  109. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +38 -23
  110. package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +1 -1
  111. package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +1 -1
  112. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +1 -1
  113. package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +1 -1
  114. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +1 -1
  115. package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +1 -1
  116. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +1 -1
  117. package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +1 -1
  118. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +1 -1
  119. package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +1 -1
  120. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +1 -1
  121. package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +2 -2
  122. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +2 -2
  123. package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +2 -2
  124. package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +4 -4
  125. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +1 -1
  126. package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.h +2 -2
@@ -33,7 +33,7 @@ public:
33
33
  v8::EscapableHandleScope scope(isolate);
34
34
  auto object = GPUAdapterImpl::GetCtor(isolate)->GetFunction(
35
35
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
36
- SetNativeType(object, NativeType::GPUAdapter);
36
+ SetNativeType(adapter, NativeType::GPUAdapter);
37
37
  object->SetAlignedPointerInInternalField(0, adapter);
38
38
  adapter->BindFinalizer(isolate, object);
39
39
  return scope.Escape(object);
@@ -21,7 +21,7 @@ void GPUAdapterInfoImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *i
21
21
  auto context = isolate->GetCurrentContext();
22
22
  auto func = ctor->GetFunction(context).ToLocalChecked();
23
23
 
24
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUAdapterInfo"), func).FromJust();;
24
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUAdapterInfo"), func).FromJust();
25
25
  }
26
26
 
27
27
  GPUAdapterInfoImpl *GPUAdapterInfoImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -30,7 +30,7 @@ public:
30
30
  v8::EscapableHandleScope scope(isolate);
31
31
  auto object = GPUAdapterInfoImpl::GetCtor(isolate)->GetFunction(
32
32
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
33
- SetNativeType(object, NativeType::GPUAdapterInfo);
33
+ SetNativeType(info, NativeType::GPUAdapterInfo);
34
34
  object->SetAlignedPointerInInternalField(0, info);
35
35
  info->BindFinalizer(isolate, object);
36
36
  return scope.Escape(object);
@@ -22,7 +22,7 @@ void GPUBindGroupImpl::Init(v8::Local <v8::Object> canvasModule, v8::Isolate *is
22
22
  auto context = isolate->GetCurrentContext();
23
23
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
24
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroup"), func).FromJust();;
25
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroup"), func).FromJust();
26
26
  }
27
27
 
28
28
  GPUBindGroupImpl *GPUBindGroupImpl::GetPointer(const v8::Local <v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUBindGroupImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUBindGroup);
34
+ SetNativeType(groupLayout, NativeType::GPUBindGroup);
35
35
  object->SetAlignedPointerInInternalField(0, groupLayout);
36
36
  groupLayout->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -22,7 +22,7 @@ void GPUBindGroupLayoutImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolat
22
22
  auto context = isolate->GetCurrentContext();
23
23
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
24
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroupLayout"), func).FromJust();;
25
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBindGroupLayout"), func).FromJust();
26
26
  }
27
27
 
28
28
  GPUBindGroupLayoutImpl *GPUBindGroupLayoutImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUBindGroupLayoutImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUBindGroupLayout);
34
+ SetNativeType(groupLayout, NativeType::GPUBindGroupLayout);
35
35
  object->SetAlignedPointerInInternalField(0, groupLayout);
36
36
  groupLayout->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -21,7 +21,7 @@ void GPUBufferImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolat
21
21
  auto context = isolate->GetCurrentContext();
22
22
  auto func = ctor->GetFunction(context).ToLocalChecked();
23
23
 
24
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUBuffer"), func).FromJust();;
24
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUBuffer"), func).FromJust();
25
25
  }
26
26
 
27
27
  GPUBufferImpl *GPUBufferImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -154,42 +154,56 @@ void GPUBufferImpl::MapAsync(const v8::FunctionCallbackInfo<v8::Value> &args) {
154
154
  auto resolver = v8::Promise::Resolver::New(isolate->GetCurrentContext()).ToLocalChecked();
155
155
  args.GetReturnValue().Set(resolver->GetPromise());
156
156
 
157
- v8::Global<v8::Promise::Resolver> promise(isolate, resolver);
158
157
  auto callback = new PromiseCallback{
159
158
  isolate,
160
- std::move(promise)
159
+ resolver,
160
+ [](bool done, void *data){
161
+ auto async_data = static_cast<PromiseCallback *>(data);
162
+ auto func = async_data->inner_.get();
163
+ if (func != nullptr && func->isolate_ != nullptr) {
164
+ v8::Isolate *isolate = func->isolate_;
165
+ v8::Locker locker(isolate);
166
+ v8::Isolate::Scope isolate_scope(
167
+ isolate);
168
+ v8::HandleScope handle_scope(
169
+ isolate);
170
+ v8::Local<v8::Promise::Resolver> callback = func->callback_.Get(
171
+ isolate);
172
+ v8::Local<v8::Context> context = callback->GetCreationContextChecked();
173
+ v8::Context::Scope context_scope(
174
+ context);
175
+
176
+
177
+ if (func->data == nullptr) {
178
+ callback->Resolve(context, v8::Undefined(isolate));
179
+ } else {
180
+ char* error = static_cast<char*>(func->data);
181
+ callback->Reject(context,
182
+ v8::Exception::Error(
183
+ ConvertToV8String(
184
+ isolate,
185
+ error)));
186
+ canvas_native_string_destroy(
187
+ error);
188
+ func->data = nullptr;
189
+ }
190
+ delete static_cast<PromiseCallback *>(data);
191
+ }
192
+ }
161
193
  };
194
+ callback->prepare();
195
+
196
+
162
197
  canvas_native_webgpu_buffer_map_async(ptr->GetGPUBuffer(), (GPUMapMode) mode, offset, size,
163
198
  [](char *error, void *data) {
164
199
  if (data != nullptr) {
165
- auto func = static_cast<PromiseCallback *>(data);
166
- if (func->isolate != nullptr) {
167
- v8::Isolate *isolate = func->isolate;
168
- v8::Locker locker(isolate);
169
- v8::Isolate::Scope isolate_scope(
170
- isolate);
171
- v8::HandleScope handle_scope(
172
- isolate);
173
- v8::Local<v8::Promise::Resolver> callback = func->callback.Get(
174
- isolate);
175
- v8::Local<v8::Context> context = callback->GetCreationContextChecked();
176
- v8::Context::Scope context_scope(
177
- context);
178
-
179
- auto ret = v8::Object::New(
180
- isolate);
181
- if (error == nullptr) {
182
- callback->Resolve(context, ret);
183
- } else {
184
- callback->Reject(context,
185
- v8::Exception::Error(
186
- ConvertToV8String(
187
- isolate,
188
- error)));
189
- canvas_native_string_destroy(
190
- error);
200
+ auto async_data = static_cast<PromiseCallback *>(data);
201
+ auto inner = async_data->inner_.get();
202
+ if (inner != nullptr) {
203
+ if(error != nullptr){
204
+ inner->data = error;
191
205
  }
192
- delete static_cast<PromiseCallback *>(data);
206
+ async_data->execute(true);
193
207
  }
194
208
  }
195
209
  }, callback);
@@ -24,14 +24,14 @@ public:
24
24
 
25
25
  static v8::Local<v8::FunctionTemplate> GetCtor(v8::Isolate *isolate);
26
26
 
27
- static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUBufferImpl *adapter) {
27
+ static v8::Local<v8::Object> NewInstance(v8::Isolate *isolate, GPUBufferImpl *buffer) {
28
28
  auto context = isolate->GetCurrentContext();
29
29
  v8::EscapableHandleScope scope(isolate);
30
30
  auto object = GPUBufferImpl::GetCtor(isolate)->GetFunction(
31
31
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
32
- SetNativeType(object, NativeType::GPUBuffer);
33
- object->SetAlignedPointerInInternalField(0, adapter);
34
- adapter->BindFinalizer(isolate, object);
32
+ SetNativeType(buffer, NativeType::GPUBuffer);
33
+ object->SetAlignedPointerInInternalField(0, buffer);
34
+ buffer->BindFinalizer(isolate, object);
35
35
  return scope.Escape(object);
36
36
  }
37
37
 
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUCanvasContextImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUCanvasContext);
34
+ SetNativeType(ctx, NativeType::GPUCanvasContext);
35
35
  object->SetAlignedPointerInInternalField(0, ctx);
36
36
  ctx->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -22,7 +22,7 @@ void GPUCommandBufferImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate
22
22
  auto context = isolate->GetCurrentContext();
23
23
  auto func = ctor->GetFunction(context).ToLocalChecked();
24
24
 
25
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func).FromJust();;
25
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUCommandBuffer"), func).FromJust();
26
26
  }
27
27
 
28
28
  GPUCommandBufferImpl *GPUCommandBufferImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUCommandBufferImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUCommandBuffer);
34
+ SetNativeType(commandBuffer, NativeType::GPUCommandBuffer);
35
35
  object->SetAlignedPointerInInternalField(0, commandBuffer);
36
36
  commandBuffer->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);
@@ -232,7 +232,6 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
232
232
  if (!descVal->IsNullOrUndefined() && descVal->IsObject()) {
233
233
  auto desc = descVal.As<v8::Object>();
234
234
 
235
-
236
235
  v8::Local<v8::Value> labelVal;
237
236
  desc->Get(context, ConvertToV8String(isolate, "label")).ToLocal(&labelVal);
238
237
 
@@ -265,10 +264,10 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
265
264
  "view")).ToLocal(&viewVal);
266
265
 
267
266
  const CanvasGPUTextureView *view = nullptr;
268
-
267
+
269
268
  auto viewPtr = GPUTextureViewImpl::GetPointer(viewVal.As<v8::Object>());
270
269
  view = viewPtr->GetTextureView();
271
-
270
+
272
271
  const CanvasGPUTextureView *resolve_target = nullptr;
273
272
 
274
273
  v8::Local<v8::Value> resolve_target_val;
@@ -288,8 +287,8 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
288
287
  CanvasStoreOp store = CanvasStoreOp::CanvasStoreOpStore;
289
288
  v8::Local<v8::Value> loadVal;
290
289
 
291
- if(colorAttachment->Get(context, ConvertToV8String(isolate,
292
- "loadOp")).ToLocal(&loadVal)){
290
+ if (colorAttachment->Get(context, ConvertToV8String(isolate,
291
+ "loadOp")).ToLocal(&loadVal)) {
293
292
  if (loadVal->IsUint32()) {
294
293
  load = (CanvasLoadOp) loadVal->Uint32Value(
295
294
  context).ToChecked();
@@ -302,11 +301,11 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
302
301
  }
303
302
  }
304
303
  }
305
-
306
-
304
+
305
+
307
306
  v8::Local<v8::Value> storeVal;
308
- if(colorAttachment->Get(context, ConvertToV8String(isolate,
309
- "storeOp")).ToLocal(&storeVal)){
307
+ if (colorAttachment->Get(context, ConvertToV8String(isolate,
308
+ "storeOp")).ToLocal(&storeVal)) {
310
309
  if (storeVal->IsUint32()) {
311
310
  store = (CanvasStoreOp) storeVal->Uint32Value(
312
311
  context).ToChecked();
@@ -381,20 +380,20 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
381
380
  &depthLoadOp);
382
381
 
383
382
  depthStencilAttachment->depth_load_op = CanvasOptionalLoadOp{
384
- CanvasOptionalLoadOpNone
383
+ CanvasOptionalLoadOpNone
385
384
  };
386
385
 
387
386
  if (!depthLoadOp.IsEmpty() && depthLoadOp->IsString()) {
388
387
  auto value = ConvertFromV8String(isolate, depthLoadOp);
389
388
  if (value == "load") {
390
389
  depthStencilAttachment->depth_load_op = CanvasOptionalLoadOp{
391
- CanvasOptionalLoadOpSome,
392
- CanvasLoadOpLoad
390
+ CanvasOptionalLoadOpSome,
391
+ CanvasLoadOpLoad
393
392
  };
394
393
  } else if (value == "clear") {
395
394
  depthStencilAttachment->depth_load_op = CanvasOptionalLoadOp{
396
- CanvasOptionalLoadOpSome,
397
- CanvasLoadOpClear
395
+ CanvasOptionalLoadOpSome,
396
+ CanvasLoadOpClear
398
397
  };
399
398
  }
400
399
  }
@@ -406,20 +405,20 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
406
405
  &depthStoreOp);
407
406
 
408
407
  depthStencilAttachment->depth_store_op = CanvasOptionalStoreOp{
409
- CanvasOptionalStoreOpNone
408
+ CanvasOptionalStoreOpNone
410
409
  };
411
410
 
412
411
  if (!depthStoreOp.IsEmpty() && depthStoreOp->IsString()) {
413
412
  auto value = ConvertFromV8String(isolate, depthStoreOp);
414
413
  if (value == "store") {
415
414
  depthStencilAttachment->depth_store_op = depthStencilAttachment->depth_store_op = CanvasOptionalStoreOp{
416
- CanvasOptionalStoreOpSome,
417
- CanvasStoreOpStore
415
+ CanvasOptionalStoreOpSome,
416
+ CanvasStoreOpStore
418
417
  };
419
418
  } else if (value == "discard") {
420
419
  depthStencilAttachment->depth_store_op = depthStencilAttachment->depth_store_op = CanvasOptionalStoreOp{
421
- CanvasOptionalStoreOpSome,
422
- CanvasStoreOpDiscard
420
+ CanvasOptionalStoreOpSome,
421
+ CanvasStoreOpDiscard
423
422
  };
424
423
  }
425
424
  }
@@ -455,20 +454,20 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
455
454
  &stencilLoadOp);
456
455
 
457
456
  depthStencilAttachment->stencil_load_op = CanvasOptionalLoadOp{
458
- CanvasOptionalLoadOpNone
457
+ CanvasOptionalLoadOpNone
459
458
  };
460
459
 
461
460
  if (!stencilLoadOp.IsEmpty() && stencilLoadOp->IsString()) {
462
461
  auto value = ConvertFromV8String(isolate, stencilLoadOp);
463
462
  if (value == "load") {
464
463
  depthStencilAttachment->stencil_load_op = CanvasOptionalLoadOp{
465
- CanvasOptionalLoadOpSome,
466
- CanvasLoadOpLoad
464
+ CanvasOptionalLoadOpSome,
465
+ CanvasLoadOpLoad
467
466
  };
468
467
  } else if (value == "clear") {
469
468
  depthStencilAttachment->stencil_load_op = CanvasOptionalLoadOp{
470
- CanvasOptionalLoadOpSome,
471
- CanvasLoadOpClear
469
+ CanvasOptionalLoadOpSome,
470
+ CanvasLoadOpClear
472
471
  };
473
472
  }
474
473
  }
@@ -480,20 +479,20 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
480
479
  &stencilStoreOp);
481
480
 
482
481
  depthStencilAttachment->stencil_store_op = CanvasOptionalStoreOp{
483
- CanvasOptionalStoreOpNone
482
+ CanvasOptionalStoreOpNone
484
483
  };
485
484
 
486
485
  if (!stencilStoreOp.IsEmpty() && stencilStoreOp->IsString()) {
487
486
  auto value = ConvertFromV8String(isolate, stencilStoreOp);
488
487
  if (value == "store") {
489
488
  depthStencilAttachment->stencil_store_op = CanvasOptionalStoreOp{
490
- CanvasOptionalStoreOpSome,
491
- CanvasStoreOpStore
489
+ CanvasOptionalStoreOpSome,
490
+ CanvasStoreOpStore
492
491
  };
493
492
  } else if (value == "discard") {
494
493
  depthStencilAttachment->stencil_store_op = CanvasOptionalStoreOp{
495
- CanvasOptionalStoreOpSome,
496
- CanvasStoreOpDiscard
494
+ CanvasOptionalStoreOpSome,
495
+ CanvasStoreOpDiscard
497
496
  };
498
497
  }
499
498
  }
@@ -518,7 +517,7 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
518
517
  desc->Get(context, ConvertToV8String(isolate, "occlusionQuerySet")).ToLocal(
519
518
  &occlusionQuerySetVal);
520
519
 
521
-
520
+
522
521
  if (GetNativeType(occlusionQuerySetVal) == NativeType::GPUQuerySet) {
523
522
  auto occlusionQuerySet = GPUQuerySetImpl::GetPointer(
524
523
  occlusionQuerySetVal.As<v8::Object>());
@@ -585,6 +584,7 @@ void GPUCommandEncoderImpl::BeginRenderPass(const v8::FunctionCallbackInfo<v8::V
585
584
 
586
585
  if (depthStencilAttachment != nullptr) {
587
586
  delete depthStencilAttachment;
587
+ depthStencilAttachment = nullptr;
588
588
  }
589
589
 
590
590
 
@@ -1099,7 +1099,6 @@ void GPUCommandEncoderImpl::Finish(const v8::FunctionCallbackInfo<v8::Value> &ar
1099
1099
  auto isolate = args.GetIsolate();
1100
1100
  auto context = isolate->GetCurrentContext();
1101
1101
 
1102
-
1103
1102
  auto descVal = args[0];
1104
1103
  std::string label;
1105
1104
  bool didSet = false;
@@ -29,7 +29,7 @@ public:
29
29
  v8::EscapableHandleScope scope(isolate);
30
30
  auto object = GPUCommandEncoderImpl::GetCtor(isolate)->GetFunction(
31
31
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
32
- SetNativeType(object, NativeType::GPUCommandEncoder);
32
+ SetNativeType(encoder, NativeType::GPUCommandEncoder);
33
33
  object->SetAlignedPointerInInternalField(0, encoder);
34
34
  encoder->BindFinalizer(isolate, object);
35
35
  return scope.Escape(object);
@@ -26,7 +26,7 @@ void GPUComputePassEncoderImpl::Init(v8::Local<v8::Object> canvasModule, v8::Iso
26
26
  auto context = isolate->GetCurrentContext();
27
27
  auto func = ctor->GetFunction(context).ToLocalChecked();
28
28
 
29
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUComputePassEncoder"), func).FromJust();;
29
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUComputePassEncoder"), func).FromJust();
30
30
  }
31
31
 
32
32
  GPUComputePassEncoderImpl *
@@ -30,7 +30,7 @@ public:
30
30
  v8::EscapableHandleScope scope(isolate);
31
31
  auto object = GPUComputePassEncoderImpl::GetCtor(isolate)->GetFunction(
32
32
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
33
- SetNativeType(object, NativeType::GPUComputePass);
33
+ SetNativeType(pass, NativeType::GPUComputePass);
34
34
  object->SetAlignedPointerInInternalField(0, pass);
35
35
  pass->BindFinalizer(isolate, object);
36
36
  return scope.Escape(object);
@@ -24,7 +24,7 @@ void GPUComputePipelineImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolat
24
24
  auto context = isolate->GetCurrentContext();
25
25
  auto func = ctor->GetFunction(context).ToLocalChecked();
26
26
 
27
- canvasModule->Set(context, ConvertToV8String(isolate, "GPUComputePipeline"), func).FromJust();;
27
+ canvasModule->Set(context, ConvertToV8String(isolate, "GPUComputePipeline"), func).FromJust();
28
28
  }
29
29
 
30
30
  GPUComputePipelineImpl *GPUComputePipelineImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -31,7 +31,7 @@ public:
31
31
  v8::EscapableHandleScope scope(isolate);
32
32
  auto object = GPUComputePipelineImpl::GetCtor(isolate)->GetFunction(
33
33
  context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
34
- SetNativeType(object, NativeType::GPUComputePipeline);
34
+ SetNativeType(pipeline, NativeType::GPUComputePipeline);
35
35
  object->SetAlignedPointerInInternalField(0, pipeline);
36
36
  pipeline->BindFinalizer(isolate, object);
37
37
  return scope.Escape(object);