@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.
- package/angular/package.json +20 -0
- package/package.json +1 -3
- package/platforms/android/canvas-release.aar +0 -0
- package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +6577 -5995
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/NSCCanvas.nib +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +132 -132
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +6577 -5995
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +6577 -5995
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/NSCCanvas.nib +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +646 -646
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +684 -684
- package/platforms/ios/src/NSOperationQueueWrapper.h +2 -0
- package/platforms/ios/src/cpp/AsyncCallback.h +206 -0
- package/platforms/ios/src/cpp/CanvasJSIModule.cpp +1 -1
- package/platforms/ios/src/cpp/Helpers.h +2 -164
- package/platforms/ios/src/cpp/ImageAssetImpl.cpp +2 -2
- package/platforms/ios/src/cpp/ImageBitmapImpl.h +2 -1
- package/platforms/ios/src/cpp/NativeType.h +87 -0
- package/platforms/ios/src/cpp/ObjectWrapperImpl.h +50 -0
- package/platforms/ios/src/cpp/PromiseCallback.h +198 -0
- package/platforms/ios/src/cpp/canvas2d/CanvasGradient.h +7 -6
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.cpp +1 -1
- package/platforms/ios/src/cpp/canvas2d/CanvasPattern.h +1 -1
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +5 -5
- package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +15 -10
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.cpp +2 -2
- package/platforms/ios/src/cpp/canvas2d/ImageDataImpl.h +1 -1
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +10 -10
- package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +6 -3
- package/platforms/ios/src/cpp/webgl/WebGLActiveInfoImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLBuffer.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLFramebuffer.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLProgram.h +3 -3
- package/platforms/ios/src/cpp/webgl/WebGLRenderbuffer.h +3 -3
- package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLShader.h +1 -1
- package/platforms/ios/src/cpp/webgl/WebGLShaderPrecisionFormatImpl.h +5 -5
- package/platforms/ios/src/cpp/webgl/WebGLTexture.h +3 -2
- package/platforms/ios/src/cpp/webgl/WebGLUniformLocation.h +2 -2
- package/platforms/ios/src/cpp/webgl/extensions/ANGLE_instanced_arraysImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_blend_minmaxImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_color_buffer_half_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_disjoint_timer_queryImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_sRGBImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_shader_texture_lodImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/EXT_texture_filter_anisotropicImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_element_index_uintImpl.h +2 -2
- package/platforms/ios/src/cpp/webgl/extensions/OES_fbo_render_mipmap.h +5 -5
- package/platforms/ios/src/cpp/webgl/extensions/OES_standard_derivativesImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_float_linearImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_texture_half_float_linearImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/OES_vertex_array_objectImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_color_buffer_floatImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_atcImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etc1Impl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_etcImpl.h +2 -2
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_pvrtcImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tcImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_compressed_texture_s3tc_srgbImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_depth_textureImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_draw_buffersImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl/extensions/WEBGL_lose_contextImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLQuery.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLSampler.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLSyncImpl.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLTransformFeedback.h +1 -1
- package/platforms/ios/src/cpp/webgl2/WebGLVertexArrayObject.h +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.cpp +123 -57
- package/platforms/ios/src/cpp/webgpu/GPUAdapterImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUAdapterInfoImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUBindGroupLayoutImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.cpp +44 -30
- package/platforms/ios/src/cpp/webgpu/GPUBufferImpl.h +4 -4
- package/platforms/ios/src/cpp/webgpu/GPUCanvasContextImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUCommandBufferImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.cpp +30 -31
- package/platforms/ios/src/cpp/webgpu/GPUCommandEncoderImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUComputePassEncoderImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUComputePipelineImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.cpp +93 -66
- package/platforms/ios/src/cpp/webgpu/GPUDeviceImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUImpl.cpp +52 -39
- package/platforms/ios/src/cpp/webgpu/GPUImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUPipelineLayoutImpl.h +5 -4
- package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUQuerySetImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.cpp +38 -23
- package/platforms/ios/src/cpp/webgpu/GPUQueueImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleEncoderImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderBundleImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderPassEncoderImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPURenderPipelineImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUSamplerImpl.h +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.cpp +1 -1
- package/platforms/ios/src/cpp/webgpu/GPUShaderModuleImpl.h +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.cpp +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUSupportedLimitsImpl.h +2 -2
- package/platforms/ios/src/cpp/webgpu/GPUTextureImpl.h +4 -4
- package/platforms/ios/src/cpp/webgpu/GPUTextureViewImpl.cpp +1 -1
- 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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
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 *
|
|
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(
|
|
33
|
-
object->SetAlignedPointerInInternalField(0,
|
|
34
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
392
|
-
|
|
390
|
+
CanvasOptionalLoadOpSome,
|
|
391
|
+
CanvasLoadOpLoad
|
|
393
392
|
};
|
|
394
393
|
} else if (value == "clear") {
|
|
395
394
|
depthStencilAttachment->depth_load_op = CanvasOptionalLoadOp{
|
|
396
|
-
|
|
397
|
-
|
|
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
|
-
|
|
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
|
-
|
|
417
|
-
|
|
415
|
+
CanvasOptionalStoreOpSome,
|
|
416
|
+
CanvasStoreOpStore
|
|
418
417
|
};
|
|
419
418
|
} else if (value == "discard") {
|
|
420
419
|
depthStencilAttachment->depth_store_op = depthStencilAttachment->depth_store_op = CanvasOptionalStoreOp{
|
|
421
|
-
|
|
422
|
-
|
|
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
|
-
|
|
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
|
-
|
|
466
|
-
|
|
464
|
+
CanvasOptionalLoadOpSome,
|
|
465
|
+
CanvasLoadOpLoad
|
|
467
466
|
};
|
|
468
467
|
} else if (value == "clear") {
|
|
469
468
|
depthStencilAttachment->stencil_load_op = CanvasOptionalLoadOp{
|
|
470
|
-
|
|
471
|
-
|
|
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
|
-
|
|
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
|
-
|
|
491
|
-
|
|
489
|
+
CanvasOptionalStoreOpSome,
|
|
490
|
+
CanvasStoreOpStore
|
|
492
491
|
};
|
|
493
492
|
} else if (value == "discard") {
|
|
494
493
|
depthStencilAttachment->stencil_store_op = CanvasOptionalStoreOp{
|
|
495
|
-
|
|
496
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
34
|
+
SetNativeType(pipeline, NativeType::GPUComputePipeline);
|
|
35
35
|
object->SetAlignedPointerInInternalField(0, pipeline);
|
|
36
36
|
pipeline->BindFinalizer(isolate, object);
|
|
37
37
|
return scope.Escape(object);
|