github.com/primecitizens/pcz/std@v0.2.1/plat/js/web/apis17_js_wasm.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  
     4  package web
     5  
     6  import (
     7  	"github.com/primecitizens/pcz/std/ffi/js"
     8  	"github.com/primecitizens/pcz/std/plat/js/web/bindings"
     9  )
    10  
    11  type GPURenderPassEncoder struct {
    12  	ref js.Ref
    13  }
    14  
    15  func (this GPURenderPassEncoder) Once() GPURenderPassEncoder {
    16  	this.ref.Once()
    17  	return this
    18  }
    19  
    20  func (this GPURenderPassEncoder) Ref() js.Ref {
    21  	return this.ref
    22  }
    23  
    24  func (this GPURenderPassEncoder) FromRef(ref js.Ref) GPURenderPassEncoder {
    25  	this.ref = ref
    26  	return this
    27  }
    28  
    29  func (this GPURenderPassEncoder) Free() {
    30  	this.ref.Free()
    31  }
    32  
    33  // Label returns the value of property "GPURenderPassEncoder.label".
    34  //
    35  // It returns ok=false if there is no such property.
    36  func (this GPURenderPassEncoder) Label() (ret js.String, ok bool) {
    37  	ok = js.True == bindings.GetGPURenderPassEncoderLabel(
    38  		this.ref, js.Pointer(&ret),
    39  	)
    40  	return
    41  }
    42  
    43  // SetLabel sets the value of property "GPURenderPassEncoder.label" to val.
    44  //
    45  // It returns false if the property cannot be set.
    46  func (this GPURenderPassEncoder) SetLabel(val js.String) bool {
    47  	return js.True == bindings.SetGPURenderPassEncoderLabel(
    48  		this.ref,
    49  		val.Ref(),
    50  	)
    51  }
    52  
    53  // HasFuncSetViewport returns true if the method "GPURenderPassEncoder.setViewport" exists.
    54  func (this GPURenderPassEncoder) HasFuncSetViewport() bool {
    55  	return js.True == bindings.HasFuncGPURenderPassEncoderSetViewport(
    56  		this.ref,
    57  	)
    58  }
    59  
    60  // FuncSetViewport returns the method "GPURenderPassEncoder.setViewport".
    61  func (this GPURenderPassEncoder) FuncSetViewport() (fn js.Func[func(x float32, y float32, width float32, height float32, minDepth float32, maxDepth float32)]) {
    62  	bindings.FuncGPURenderPassEncoderSetViewport(
    63  		this.ref, js.Pointer(&fn),
    64  	)
    65  	return
    66  }
    67  
    68  // SetViewport calls the method "GPURenderPassEncoder.setViewport".
    69  func (this GPURenderPassEncoder) SetViewport(x float32, y float32, width float32, height float32, minDepth float32, maxDepth float32) (ret js.Void) {
    70  	bindings.CallGPURenderPassEncoderSetViewport(
    71  		this.ref, js.Pointer(&ret),
    72  		float32(x),
    73  		float32(y),
    74  		float32(width),
    75  		float32(height),
    76  		float32(minDepth),
    77  		float32(maxDepth),
    78  	)
    79  
    80  	return
    81  }
    82  
    83  // TrySetViewport calls the method "GPURenderPassEncoder.setViewport"
    84  // in a try/catch block and returns (_, err, ok = false) when it went through
    85  // the catch clause.
    86  func (this GPURenderPassEncoder) TrySetViewport(x float32, y float32, width float32, height float32, minDepth float32, maxDepth float32) (ret js.Void, exception js.Any, ok bool) {
    87  	ok = js.True == bindings.TryGPURenderPassEncoderSetViewport(
    88  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
    89  		float32(x),
    90  		float32(y),
    91  		float32(width),
    92  		float32(height),
    93  		float32(minDepth),
    94  		float32(maxDepth),
    95  	)
    96  
    97  	return
    98  }
    99  
   100  // HasFuncSetScissorRect returns true if the method "GPURenderPassEncoder.setScissorRect" exists.
   101  func (this GPURenderPassEncoder) HasFuncSetScissorRect() bool {
   102  	return js.True == bindings.HasFuncGPURenderPassEncoderSetScissorRect(
   103  		this.ref,
   104  	)
   105  }
   106  
   107  // FuncSetScissorRect returns the method "GPURenderPassEncoder.setScissorRect".
   108  func (this GPURenderPassEncoder) FuncSetScissorRect() (fn js.Func[func(x GPUIntegerCoordinate, y GPUIntegerCoordinate, width GPUIntegerCoordinate, height GPUIntegerCoordinate)]) {
   109  	bindings.FuncGPURenderPassEncoderSetScissorRect(
   110  		this.ref, js.Pointer(&fn),
   111  	)
   112  	return
   113  }
   114  
   115  // SetScissorRect calls the method "GPURenderPassEncoder.setScissorRect".
   116  func (this GPURenderPassEncoder) SetScissorRect(x GPUIntegerCoordinate, y GPUIntegerCoordinate, width GPUIntegerCoordinate, height GPUIntegerCoordinate) (ret js.Void) {
   117  	bindings.CallGPURenderPassEncoderSetScissorRect(
   118  		this.ref, js.Pointer(&ret),
   119  		uint32(x),
   120  		uint32(y),
   121  		uint32(width),
   122  		uint32(height),
   123  	)
   124  
   125  	return
   126  }
   127  
   128  // TrySetScissorRect calls the method "GPURenderPassEncoder.setScissorRect"
   129  // in a try/catch block and returns (_, err, ok = false) when it went through
   130  // the catch clause.
   131  func (this GPURenderPassEncoder) TrySetScissorRect(x GPUIntegerCoordinate, y GPUIntegerCoordinate, width GPUIntegerCoordinate, height GPUIntegerCoordinate) (ret js.Void, exception js.Any, ok bool) {
   132  	ok = js.True == bindings.TryGPURenderPassEncoderSetScissorRect(
   133  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   134  		uint32(x),
   135  		uint32(y),
   136  		uint32(width),
   137  		uint32(height),
   138  	)
   139  
   140  	return
   141  }
   142  
   143  // HasFuncSetBlendConstant returns true if the method "GPURenderPassEncoder.setBlendConstant" exists.
   144  func (this GPURenderPassEncoder) HasFuncSetBlendConstant() bool {
   145  	return js.True == bindings.HasFuncGPURenderPassEncoderSetBlendConstant(
   146  		this.ref,
   147  	)
   148  }
   149  
   150  // FuncSetBlendConstant returns the method "GPURenderPassEncoder.setBlendConstant".
   151  func (this GPURenderPassEncoder) FuncSetBlendConstant() (fn js.Func[func(color GPUColor)]) {
   152  	bindings.FuncGPURenderPassEncoderSetBlendConstant(
   153  		this.ref, js.Pointer(&fn),
   154  	)
   155  	return
   156  }
   157  
   158  // SetBlendConstant calls the method "GPURenderPassEncoder.setBlendConstant".
   159  func (this GPURenderPassEncoder) SetBlendConstant(color GPUColor) (ret js.Void) {
   160  	bindings.CallGPURenderPassEncoderSetBlendConstant(
   161  		this.ref, js.Pointer(&ret),
   162  		color.Ref(),
   163  	)
   164  
   165  	return
   166  }
   167  
   168  // TrySetBlendConstant calls the method "GPURenderPassEncoder.setBlendConstant"
   169  // in a try/catch block and returns (_, err, ok = false) when it went through
   170  // the catch clause.
   171  func (this GPURenderPassEncoder) TrySetBlendConstant(color GPUColor) (ret js.Void, exception js.Any, ok bool) {
   172  	ok = js.True == bindings.TryGPURenderPassEncoderSetBlendConstant(
   173  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   174  		color.Ref(),
   175  	)
   176  
   177  	return
   178  }
   179  
   180  // HasFuncSetStencilReference returns true if the method "GPURenderPassEncoder.setStencilReference" exists.
   181  func (this GPURenderPassEncoder) HasFuncSetStencilReference() bool {
   182  	return js.True == bindings.HasFuncGPURenderPassEncoderSetStencilReference(
   183  		this.ref,
   184  	)
   185  }
   186  
   187  // FuncSetStencilReference returns the method "GPURenderPassEncoder.setStencilReference".
   188  func (this GPURenderPassEncoder) FuncSetStencilReference() (fn js.Func[func(reference GPUStencilValue)]) {
   189  	bindings.FuncGPURenderPassEncoderSetStencilReference(
   190  		this.ref, js.Pointer(&fn),
   191  	)
   192  	return
   193  }
   194  
   195  // SetStencilReference calls the method "GPURenderPassEncoder.setStencilReference".
   196  func (this GPURenderPassEncoder) SetStencilReference(reference GPUStencilValue) (ret js.Void) {
   197  	bindings.CallGPURenderPassEncoderSetStencilReference(
   198  		this.ref, js.Pointer(&ret),
   199  		uint32(reference),
   200  	)
   201  
   202  	return
   203  }
   204  
   205  // TrySetStencilReference calls the method "GPURenderPassEncoder.setStencilReference"
   206  // in a try/catch block and returns (_, err, ok = false) when it went through
   207  // the catch clause.
   208  func (this GPURenderPassEncoder) TrySetStencilReference(reference GPUStencilValue) (ret js.Void, exception js.Any, ok bool) {
   209  	ok = js.True == bindings.TryGPURenderPassEncoderSetStencilReference(
   210  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   211  		uint32(reference),
   212  	)
   213  
   214  	return
   215  }
   216  
   217  // HasFuncBeginOcclusionQuery returns true if the method "GPURenderPassEncoder.beginOcclusionQuery" exists.
   218  func (this GPURenderPassEncoder) HasFuncBeginOcclusionQuery() bool {
   219  	return js.True == bindings.HasFuncGPURenderPassEncoderBeginOcclusionQuery(
   220  		this.ref,
   221  	)
   222  }
   223  
   224  // FuncBeginOcclusionQuery returns the method "GPURenderPassEncoder.beginOcclusionQuery".
   225  func (this GPURenderPassEncoder) FuncBeginOcclusionQuery() (fn js.Func[func(queryIndex GPUSize32)]) {
   226  	bindings.FuncGPURenderPassEncoderBeginOcclusionQuery(
   227  		this.ref, js.Pointer(&fn),
   228  	)
   229  	return
   230  }
   231  
   232  // BeginOcclusionQuery calls the method "GPURenderPassEncoder.beginOcclusionQuery".
   233  func (this GPURenderPassEncoder) BeginOcclusionQuery(queryIndex GPUSize32) (ret js.Void) {
   234  	bindings.CallGPURenderPassEncoderBeginOcclusionQuery(
   235  		this.ref, js.Pointer(&ret),
   236  		uint32(queryIndex),
   237  	)
   238  
   239  	return
   240  }
   241  
   242  // TryBeginOcclusionQuery calls the method "GPURenderPassEncoder.beginOcclusionQuery"
   243  // in a try/catch block and returns (_, err, ok = false) when it went through
   244  // the catch clause.
   245  func (this GPURenderPassEncoder) TryBeginOcclusionQuery(queryIndex GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   246  	ok = js.True == bindings.TryGPURenderPassEncoderBeginOcclusionQuery(
   247  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   248  		uint32(queryIndex),
   249  	)
   250  
   251  	return
   252  }
   253  
   254  // HasFuncEndOcclusionQuery returns true if the method "GPURenderPassEncoder.endOcclusionQuery" exists.
   255  func (this GPURenderPassEncoder) HasFuncEndOcclusionQuery() bool {
   256  	return js.True == bindings.HasFuncGPURenderPassEncoderEndOcclusionQuery(
   257  		this.ref,
   258  	)
   259  }
   260  
   261  // FuncEndOcclusionQuery returns the method "GPURenderPassEncoder.endOcclusionQuery".
   262  func (this GPURenderPassEncoder) FuncEndOcclusionQuery() (fn js.Func[func()]) {
   263  	bindings.FuncGPURenderPassEncoderEndOcclusionQuery(
   264  		this.ref, js.Pointer(&fn),
   265  	)
   266  	return
   267  }
   268  
   269  // EndOcclusionQuery calls the method "GPURenderPassEncoder.endOcclusionQuery".
   270  func (this GPURenderPassEncoder) EndOcclusionQuery() (ret js.Void) {
   271  	bindings.CallGPURenderPassEncoderEndOcclusionQuery(
   272  		this.ref, js.Pointer(&ret),
   273  	)
   274  
   275  	return
   276  }
   277  
   278  // TryEndOcclusionQuery calls the method "GPURenderPassEncoder.endOcclusionQuery"
   279  // in a try/catch block and returns (_, err, ok = false) when it went through
   280  // the catch clause.
   281  func (this GPURenderPassEncoder) TryEndOcclusionQuery() (ret js.Void, exception js.Any, ok bool) {
   282  	ok = js.True == bindings.TryGPURenderPassEncoderEndOcclusionQuery(
   283  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   284  	)
   285  
   286  	return
   287  }
   288  
   289  // HasFuncExecuteBundles returns true if the method "GPURenderPassEncoder.executeBundles" exists.
   290  func (this GPURenderPassEncoder) HasFuncExecuteBundles() bool {
   291  	return js.True == bindings.HasFuncGPURenderPassEncoderExecuteBundles(
   292  		this.ref,
   293  	)
   294  }
   295  
   296  // FuncExecuteBundles returns the method "GPURenderPassEncoder.executeBundles".
   297  func (this GPURenderPassEncoder) FuncExecuteBundles() (fn js.Func[func(bundles js.Array[GPURenderBundle])]) {
   298  	bindings.FuncGPURenderPassEncoderExecuteBundles(
   299  		this.ref, js.Pointer(&fn),
   300  	)
   301  	return
   302  }
   303  
   304  // ExecuteBundles calls the method "GPURenderPassEncoder.executeBundles".
   305  func (this GPURenderPassEncoder) ExecuteBundles(bundles js.Array[GPURenderBundle]) (ret js.Void) {
   306  	bindings.CallGPURenderPassEncoderExecuteBundles(
   307  		this.ref, js.Pointer(&ret),
   308  		bundles.Ref(),
   309  	)
   310  
   311  	return
   312  }
   313  
   314  // TryExecuteBundles calls the method "GPURenderPassEncoder.executeBundles"
   315  // in a try/catch block and returns (_, err, ok = false) when it went through
   316  // the catch clause.
   317  func (this GPURenderPassEncoder) TryExecuteBundles(bundles js.Array[GPURenderBundle]) (ret js.Void, exception js.Any, ok bool) {
   318  	ok = js.True == bindings.TryGPURenderPassEncoderExecuteBundles(
   319  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   320  		bundles.Ref(),
   321  	)
   322  
   323  	return
   324  }
   325  
   326  // HasFuncEnd returns true if the method "GPURenderPassEncoder.end" exists.
   327  func (this GPURenderPassEncoder) HasFuncEnd() bool {
   328  	return js.True == bindings.HasFuncGPURenderPassEncoderEnd(
   329  		this.ref,
   330  	)
   331  }
   332  
   333  // FuncEnd returns the method "GPURenderPassEncoder.end".
   334  func (this GPURenderPassEncoder) FuncEnd() (fn js.Func[func()]) {
   335  	bindings.FuncGPURenderPassEncoderEnd(
   336  		this.ref, js.Pointer(&fn),
   337  	)
   338  	return
   339  }
   340  
   341  // End calls the method "GPURenderPassEncoder.end".
   342  func (this GPURenderPassEncoder) End() (ret js.Void) {
   343  	bindings.CallGPURenderPassEncoderEnd(
   344  		this.ref, js.Pointer(&ret),
   345  	)
   346  
   347  	return
   348  }
   349  
   350  // TryEnd calls the method "GPURenderPassEncoder.end"
   351  // in a try/catch block and returns (_, err, ok = false) when it went through
   352  // the catch clause.
   353  func (this GPURenderPassEncoder) TryEnd() (ret js.Void, exception js.Any, ok bool) {
   354  	ok = js.True == bindings.TryGPURenderPassEncoderEnd(
   355  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   356  	)
   357  
   358  	return
   359  }
   360  
   361  // HasFuncSetPipeline returns true if the method "GPURenderPassEncoder.setPipeline" exists.
   362  func (this GPURenderPassEncoder) HasFuncSetPipeline() bool {
   363  	return js.True == bindings.HasFuncGPURenderPassEncoderSetPipeline(
   364  		this.ref,
   365  	)
   366  }
   367  
   368  // FuncSetPipeline returns the method "GPURenderPassEncoder.setPipeline".
   369  func (this GPURenderPassEncoder) FuncSetPipeline() (fn js.Func[func(pipeline GPURenderPipeline)]) {
   370  	bindings.FuncGPURenderPassEncoderSetPipeline(
   371  		this.ref, js.Pointer(&fn),
   372  	)
   373  	return
   374  }
   375  
   376  // SetPipeline calls the method "GPURenderPassEncoder.setPipeline".
   377  func (this GPURenderPassEncoder) SetPipeline(pipeline GPURenderPipeline) (ret js.Void) {
   378  	bindings.CallGPURenderPassEncoderSetPipeline(
   379  		this.ref, js.Pointer(&ret),
   380  		pipeline.Ref(),
   381  	)
   382  
   383  	return
   384  }
   385  
   386  // TrySetPipeline calls the method "GPURenderPassEncoder.setPipeline"
   387  // in a try/catch block and returns (_, err, ok = false) when it went through
   388  // the catch clause.
   389  func (this GPURenderPassEncoder) TrySetPipeline(pipeline GPURenderPipeline) (ret js.Void, exception js.Any, ok bool) {
   390  	ok = js.True == bindings.TryGPURenderPassEncoderSetPipeline(
   391  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   392  		pipeline.Ref(),
   393  	)
   394  
   395  	return
   396  }
   397  
   398  // HasFuncSetIndexBuffer returns true if the method "GPURenderPassEncoder.setIndexBuffer" exists.
   399  func (this GPURenderPassEncoder) HasFuncSetIndexBuffer() bool {
   400  	return js.True == bindings.HasFuncGPURenderPassEncoderSetIndexBuffer(
   401  		this.ref,
   402  	)
   403  }
   404  
   405  // FuncSetIndexBuffer returns the method "GPURenderPassEncoder.setIndexBuffer".
   406  func (this GPURenderPassEncoder) FuncSetIndexBuffer() (fn js.Func[func(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64, size GPUSize64)]) {
   407  	bindings.FuncGPURenderPassEncoderSetIndexBuffer(
   408  		this.ref, js.Pointer(&fn),
   409  	)
   410  	return
   411  }
   412  
   413  // SetIndexBuffer calls the method "GPURenderPassEncoder.setIndexBuffer".
   414  func (this GPURenderPassEncoder) SetIndexBuffer(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64, size GPUSize64) (ret js.Void) {
   415  	bindings.CallGPURenderPassEncoderSetIndexBuffer(
   416  		this.ref, js.Pointer(&ret),
   417  		buffer.Ref(),
   418  		uint32(indexFormat),
   419  		float64(offset),
   420  		float64(size),
   421  	)
   422  
   423  	return
   424  }
   425  
   426  // TrySetIndexBuffer calls the method "GPURenderPassEncoder.setIndexBuffer"
   427  // in a try/catch block and returns (_, err, ok = false) when it went through
   428  // the catch clause.
   429  func (this GPURenderPassEncoder) TrySetIndexBuffer(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
   430  	ok = js.True == bindings.TryGPURenderPassEncoderSetIndexBuffer(
   431  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   432  		buffer.Ref(),
   433  		uint32(indexFormat),
   434  		float64(offset),
   435  		float64(size),
   436  	)
   437  
   438  	return
   439  }
   440  
   441  // HasFuncSetIndexBuffer1 returns true if the method "GPURenderPassEncoder.setIndexBuffer" exists.
   442  func (this GPURenderPassEncoder) HasFuncSetIndexBuffer1() bool {
   443  	return js.True == bindings.HasFuncGPURenderPassEncoderSetIndexBuffer1(
   444  		this.ref,
   445  	)
   446  }
   447  
   448  // FuncSetIndexBuffer1 returns the method "GPURenderPassEncoder.setIndexBuffer".
   449  func (this GPURenderPassEncoder) FuncSetIndexBuffer1() (fn js.Func[func(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64)]) {
   450  	bindings.FuncGPURenderPassEncoderSetIndexBuffer1(
   451  		this.ref, js.Pointer(&fn),
   452  	)
   453  	return
   454  }
   455  
   456  // SetIndexBuffer1 calls the method "GPURenderPassEncoder.setIndexBuffer".
   457  func (this GPURenderPassEncoder) SetIndexBuffer1(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64) (ret js.Void) {
   458  	bindings.CallGPURenderPassEncoderSetIndexBuffer1(
   459  		this.ref, js.Pointer(&ret),
   460  		buffer.Ref(),
   461  		uint32(indexFormat),
   462  		float64(offset),
   463  	)
   464  
   465  	return
   466  }
   467  
   468  // TrySetIndexBuffer1 calls the method "GPURenderPassEncoder.setIndexBuffer"
   469  // in a try/catch block and returns (_, err, ok = false) when it went through
   470  // the catch clause.
   471  func (this GPURenderPassEncoder) TrySetIndexBuffer1(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
   472  	ok = js.True == bindings.TryGPURenderPassEncoderSetIndexBuffer1(
   473  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   474  		buffer.Ref(),
   475  		uint32(indexFormat),
   476  		float64(offset),
   477  	)
   478  
   479  	return
   480  }
   481  
   482  // HasFuncSetIndexBuffer2 returns true if the method "GPURenderPassEncoder.setIndexBuffer" exists.
   483  func (this GPURenderPassEncoder) HasFuncSetIndexBuffer2() bool {
   484  	return js.True == bindings.HasFuncGPURenderPassEncoderSetIndexBuffer2(
   485  		this.ref,
   486  	)
   487  }
   488  
   489  // FuncSetIndexBuffer2 returns the method "GPURenderPassEncoder.setIndexBuffer".
   490  func (this GPURenderPassEncoder) FuncSetIndexBuffer2() (fn js.Func[func(buffer GPUBuffer, indexFormat GPUIndexFormat)]) {
   491  	bindings.FuncGPURenderPassEncoderSetIndexBuffer2(
   492  		this.ref, js.Pointer(&fn),
   493  	)
   494  	return
   495  }
   496  
   497  // SetIndexBuffer2 calls the method "GPURenderPassEncoder.setIndexBuffer".
   498  func (this GPURenderPassEncoder) SetIndexBuffer2(buffer GPUBuffer, indexFormat GPUIndexFormat) (ret js.Void) {
   499  	bindings.CallGPURenderPassEncoderSetIndexBuffer2(
   500  		this.ref, js.Pointer(&ret),
   501  		buffer.Ref(),
   502  		uint32(indexFormat),
   503  	)
   504  
   505  	return
   506  }
   507  
   508  // TrySetIndexBuffer2 calls the method "GPURenderPassEncoder.setIndexBuffer"
   509  // in a try/catch block and returns (_, err, ok = false) when it went through
   510  // the catch clause.
   511  func (this GPURenderPassEncoder) TrySetIndexBuffer2(buffer GPUBuffer, indexFormat GPUIndexFormat) (ret js.Void, exception js.Any, ok bool) {
   512  	ok = js.True == bindings.TryGPURenderPassEncoderSetIndexBuffer2(
   513  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   514  		buffer.Ref(),
   515  		uint32(indexFormat),
   516  	)
   517  
   518  	return
   519  }
   520  
   521  // HasFuncSetVertexBuffer returns true if the method "GPURenderPassEncoder.setVertexBuffer" exists.
   522  func (this GPURenderPassEncoder) HasFuncSetVertexBuffer() bool {
   523  	return js.True == bindings.HasFuncGPURenderPassEncoderSetVertexBuffer(
   524  		this.ref,
   525  	)
   526  }
   527  
   528  // FuncSetVertexBuffer returns the method "GPURenderPassEncoder.setVertexBuffer".
   529  func (this GPURenderPassEncoder) FuncSetVertexBuffer() (fn js.Func[func(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64, size GPUSize64)]) {
   530  	bindings.FuncGPURenderPassEncoderSetVertexBuffer(
   531  		this.ref, js.Pointer(&fn),
   532  	)
   533  	return
   534  }
   535  
   536  // SetVertexBuffer calls the method "GPURenderPassEncoder.setVertexBuffer".
   537  func (this GPURenderPassEncoder) SetVertexBuffer(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64, size GPUSize64) (ret js.Void) {
   538  	bindings.CallGPURenderPassEncoderSetVertexBuffer(
   539  		this.ref, js.Pointer(&ret),
   540  		uint32(slot),
   541  		buffer.Ref(),
   542  		float64(offset),
   543  		float64(size),
   544  	)
   545  
   546  	return
   547  }
   548  
   549  // TrySetVertexBuffer calls the method "GPURenderPassEncoder.setVertexBuffer"
   550  // in a try/catch block and returns (_, err, ok = false) when it went through
   551  // the catch clause.
   552  func (this GPURenderPassEncoder) TrySetVertexBuffer(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
   553  	ok = js.True == bindings.TryGPURenderPassEncoderSetVertexBuffer(
   554  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   555  		uint32(slot),
   556  		buffer.Ref(),
   557  		float64(offset),
   558  		float64(size),
   559  	)
   560  
   561  	return
   562  }
   563  
   564  // HasFuncSetVertexBuffer1 returns true if the method "GPURenderPassEncoder.setVertexBuffer" exists.
   565  func (this GPURenderPassEncoder) HasFuncSetVertexBuffer1() bool {
   566  	return js.True == bindings.HasFuncGPURenderPassEncoderSetVertexBuffer1(
   567  		this.ref,
   568  	)
   569  }
   570  
   571  // FuncSetVertexBuffer1 returns the method "GPURenderPassEncoder.setVertexBuffer".
   572  func (this GPURenderPassEncoder) FuncSetVertexBuffer1() (fn js.Func[func(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64)]) {
   573  	bindings.FuncGPURenderPassEncoderSetVertexBuffer1(
   574  		this.ref, js.Pointer(&fn),
   575  	)
   576  	return
   577  }
   578  
   579  // SetVertexBuffer1 calls the method "GPURenderPassEncoder.setVertexBuffer".
   580  func (this GPURenderPassEncoder) SetVertexBuffer1(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64) (ret js.Void) {
   581  	bindings.CallGPURenderPassEncoderSetVertexBuffer1(
   582  		this.ref, js.Pointer(&ret),
   583  		uint32(slot),
   584  		buffer.Ref(),
   585  		float64(offset),
   586  	)
   587  
   588  	return
   589  }
   590  
   591  // TrySetVertexBuffer1 calls the method "GPURenderPassEncoder.setVertexBuffer"
   592  // in a try/catch block and returns (_, err, ok = false) when it went through
   593  // the catch clause.
   594  func (this GPURenderPassEncoder) TrySetVertexBuffer1(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
   595  	ok = js.True == bindings.TryGPURenderPassEncoderSetVertexBuffer1(
   596  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   597  		uint32(slot),
   598  		buffer.Ref(),
   599  		float64(offset),
   600  	)
   601  
   602  	return
   603  }
   604  
   605  // HasFuncSetVertexBuffer2 returns true if the method "GPURenderPassEncoder.setVertexBuffer" exists.
   606  func (this GPURenderPassEncoder) HasFuncSetVertexBuffer2() bool {
   607  	return js.True == bindings.HasFuncGPURenderPassEncoderSetVertexBuffer2(
   608  		this.ref,
   609  	)
   610  }
   611  
   612  // FuncSetVertexBuffer2 returns the method "GPURenderPassEncoder.setVertexBuffer".
   613  func (this GPURenderPassEncoder) FuncSetVertexBuffer2() (fn js.Func[func(slot GPUIndex32, buffer GPUBuffer)]) {
   614  	bindings.FuncGPURenderPassEncoderSetVertexBuffer2(
   615  		this.ref, js.Pointer(&fn),
   616  	)
   617  	return
   618  }
   619  
   620  // SetVertexBuffer2 calls the method "GPURenderPassEncoder.setVertexBuffer".
   621  func (this GPURenderPassEncoder) SetVertexBuffer2(slot GPUIndex32, buffer GPUBuffer) (ret js.Void) {
   622  	bindings.CallGPURenderPassEncoderSetVertexBuffer2(
   623  		this.ref, js.Pointer(&ret),
   624  		uint32(slot),
   625  		buffer.Ref(),
   626  	)
   627  
   628  	return
   629  }
   630  
   631  // TrySetVertexBuffer2 calls the method "GPURenderPassEncoder.setVertexBuffer"
   632  // in a try/catch block and returns (_, err, ok = false) when it went through
   633  // the catch clause.
   634  func (this GPURenderPassEncoder) TrySetVertexBuffer2(slot GPUIndex32, buffer GPUBuffer) (ret js.Void, exception js.Any, ok bool) {
   635  	ok = js.True == bindings.TryGPURenderPassEncoderSetVertexBuffer2(
   636  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   637  		uint32(slot),
   638  		buffer.Ref(),
   639  	)
   640  
   641  	return
   642  }
   643  
   644  // HasFuncDraw returns true if the method "GPURenderPassEncoder.draw" exists.
   645  func (this GPURenderPassEncoder) HasFuncDraw() bool {
   646  	return js.True == bindings.HasFuncGPURenderPassEncoderDraw(
   647  		this.ref,
   648  	)
   649  }
   650  
   651  // FuncDraw returns the method "GPURenderPassEncoder.draw".
   652  func (this GPURenderPassEncoder) FuncDraw() (fn js.Func[func(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32, firstInstance GPUSize32)]) {
   653  	bindings.FuncGPURenderPassEncoderDraw(
   654  		this.ref, js.Pointer(&fn),
   655  	)
   656  	return
   657  }
   658  
   659  // Draw calls the method "GPURenderPassEncoder.draw".
   660  func (this GPURenderPassEncoder) Draw(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32, firstInstance GPUSize32) (ret js.Void) {
   661  	bindings.CallGPURenderPassEncoderDraw(
   662  		this.ref, js.Pointer(&ret),
   663  		uint32(vertexCount),
   664  		uint32(instanceCount),
   665  		uint32(firstVertex),
   666  		uint32(firstInstance),
   667  	)
   668  
   669  	return
   670  }
   671  
   672  // TryDraw calls the method "GPURenderPassEncoder.draw"
   673  // in a try/catch block and returns (_, err, ok = false) when it went through
   674  // the catch clause.
   675  func (this GPURenderPassEncoder) TryDraw(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32, firstInstance GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   676  	ok = js.True == bindings.TryGPURenderPassEncoderDraw(
   677  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   678  		uint32(vertexCount),
   679  		uint32(instanceCount),
   680  		uint32(firstVertex),
   681  		uint32(firstInstance),
   682  	)
   683  
   684  	return
   685  }
   686  
   687  // HasFuncDraw1 returns true if the method "GPURenderPassEncoder.draw" exists.
   688  func (this GPURenderPassEncoder) HasFuncDraw1() bool {
   689  	return js.True == bindings.HasFuncGPURenderPassEncoderDraw1(
   690  		this.ref,
   691  	)
   692  }
   693  
   694  // FuncDraw1 returns the method "GPURenderPassEncoder.draw".
   695  func (this GPURenderPassEncoder) FuncDraw1() (fn js.Func[func(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32)]) {
   696  	bindings.FuncGPURenderPassEncoderDraw1(
   697  		this.ref, js.Pointer(&fn),
   698  	)
   699  	return
   700  }
   701  
   702  // Draw1 calls the method "GPURenderPassEncoder.draw".
   703  func (this GPURenderPassEncoder) Draw1(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32) (ret js.Void) {
   704  	bindings.CallGPURenderPassEncoderDraw1(
   705  		this.ref, js.Pointer(&ret),
   706  		uint32(vertexCount),
   707  		uint32(instanceCount),
   708  		uint32(firstVertex),
   709  	)
   710  
   711  	return
   712  }
   713  
   714  // TryDraw1 calls the method "GPURenderPassEncoder.draw"
   715  // in a try/catch block and returns (_, err, ok = false) when it went through
   716  // the catch clause.
   717  func (this GPURenderPassEncoder) TryDraw1(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   718  	ok = js.True == bindings.TryGPURenderPassEncoderDraw1(
   719  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   720  		uint32(vertexCount),
   721  		uint32(instanceCount),
   722  		uint32(firstVertex),
   723  	)
   724  
   725  	return
   726  }
   727  
   728  // HasFuncDraw2 returns true if the method "GPURenderPassEncoder.draw" exists.
   729  func (this GPURenderPassEncoder) HasFuncDraw2() bool {
   730  	return js.True == bindings.HasFuncGPURenderPassEncoderDraw2(
   731  		this.ref,
   732  	)
   733  }
   734  
   735  // FuncDraw2 returns the method "GPURenderPassEncoder.draw".
   736  func (this GPURenderPassEncoder) FuncDraw2() (fn js.Func[func(vertexCount GPUSize32, instanceCount GPUSize32)]) {
   737  	bindings.FuncGPURenderPassEncoderDraw2(
   738  		this.ref, js.Pointer(&fn),
   739  	)
   740  	return
   741  }
   742  
   743  // Draw2 calls the method "GPURenderPassEncoder.draw".
   744  func (this GPURenderPassEncoder) Draw2(vertexCount GPUSize32, instanceCount GPUSize32) (ret js.Void) {
   745  	bindings.CallGPURenderPassEncoderDraw2(
   746  		this.ref, js.Pointer(&ret),
   747  		uint32(vertexCount),
   748  		uint32(instanceCount),
   749  	)
   750  
   751  	return
   752  }
   753  
   754  // TryDraw2 calls the method "GPURenderPassEncoder.draw"
   755  // in a try/catch block and returns (_, err, ok = false) when it went through
   756  // the catch clause.
   757  func (this GPURenderPassEncoder) TryDraw2(vertexCount GPUSize32, instanceCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   758  	ok = js.True == bindings.TryGPURenderPassEncoderDraw2(
   759  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   760  		uint32(vertexCount),
   761  		uint32(instanceCount),
   762  	)
   763  
   764  	return
   765  }
   766  
   767  // HasFuncDraw3 returns true if the method "GPURenderPassEncoder.draw" exists.
   768  func (this GPURenderPassEncoder) HasFuncDraw3() bool {
   769  	return js.True == bindings.HasFuncGPURenderPassEncoderDraw3(
   770  		this.ref,
   771  	)
   772  }
   773  
   774  // FuncDraw3 returns the method "GPURenderPassEncoder.draw".
   775  func (this GPURenderPassEncoder) FuncDraw3() (fn js.Func[func(vertexCount GPUSize32)]) {
   776  	bindings.FuncGPURenderPassEncoderDraw3(
   777  		this.ref, js.Pointer(&fn),
   778  	)
   779  	return
   780  }
   781  
   782  // Draw3 calls the method "GPURenderPassEncoder.draw".
   783  func (this GPURenderPassEncoder) Draw3(vertexCount GPUSize32) (ret js.Void) {
   784  	bindings.CallGPURenderPassEncoderDraw3(
   785  		this.ref, js.Pointer(&ret),
   786  		uint32(vertexCount),
   787  	)
   788  
   789  	return
   790  }
   791  
   792  // TryDraw3 calls the method "GPURenderPassEncoder.draw"
   793  // in a try/catch block and returns (_, err, ok = false) when it went through
   794  // the catch clause.
   795  func (this GPURenderPassEncoder) TryDraw3(vertexCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   796  	ok = js.True == bindings.TryGPURenderPassEncoderDraw3(
   797  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   798  		uint32(vertexCount),
   799  	)
   800  
   801  	return
   802  }
   803  
   804  // HasFuncDrawIndexed returns true if the method "GPURenderPassEncoder.drawIndexed" exists.
   805  func (this GPURenderPassEncoder) HasFuncDrawIndexed() bool {
   806  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndexed(
   807  		this.ref,
   808  	)
   809  }
   810  
   811  // FuncDrawIndexed returns the method "GPURenderPassEncoder.drawIndexed".
   812  func (this GPURenderPassEncoder) FuncDrawIndexed() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32, firstInstance GPUSize32)]) {
   813  	bindings.FuncGPURenderPassEncoderDrawIndexed(
   814  		this.ref, js.Pointer(&fn),
   815  	)
   816  	return
   817  }
   818  
   819  // DrawIndexed calls the method "GPURenderPassEncoder.drawIndexed".
   820  func (this GPURenderPassEncoder) DrawIndexed(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32, firstInstance GPUSize32) (ret js.Void) {
   821  	bindings.CallGPURenderPassEncoderDrawIndexed(
   822  		this.ref, js.Pointer(&ret),
   823  		uint32(indexCount),
   824  		uint32(instanceCount),
   825  		uint32(firstIndex),
   826  		int32(baseVertex),
   827  		uint32(firstInstance),
   828  	)
   829  
   830  	return
   831  }
   832  
   833  // TryDrawIndexed calls the method "GPURenderPassEncoder.drawIndexed"
   834  // in a try/catch block and returns (_, err, ok = false) when it went through
   835  // the catch clause.
   836  func (this GPURenderPassEncoder) TryDrawIndexed(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32, firstInstance GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   837  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndexed(
   838  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   839  		uint32(indexCount),
   840  		uint32(instanceCount),
   841  		uint32(firstIndex),
   842  		int32(baseVertex),
   843  		uint32(firstInstance),
   844  	)
   845  
   846  	return
   847  }
   848  
   849  // HasFuncDrawIndexed1 returns true if the method "GPURenderPassEncoder.drawIndexed" exists.
   850  func (this GPURenderPassEncoder) HasFuncDrawIndexed1() bool {
   851  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndexed1(
   852  		this.ref,
   853  	)
   854  }
   855  
   856  // FuncDrawIndexed1 returns the method "GPURenderPassEncoder.drawIndexed".
   857  func (this GPURenderPassEncoder) FuncDrawIndexed1() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32)]) {
   858  	bindings.FuncGPURenderPassEncoderDrawIndexed1(
   859  		this.ref, js.Pointer(&fn),
   860  	)
   861  	return
   862  }
   863  
   864  // DrawIndexed1 calls the method "GPURenderPassEncoder.drawIndexed".
   865  func (this GPURenderPassEncoder) DrawIndexed1(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32) (ret js.Void) {
   866  	bindings.CallGPURenderPassEncoderDrawIndexed1(
   867  		this.ref, js.Pointer(&ret),
   868  		uint32(indexCount),
   869  		uint32(instanceCount),
   870  		uint32(firstIndex),
   871  		int32(baseVertex),
   872  	)
   873  
   874  	return
   875  }
   876  
   877  // TryDrawIndexed1 calls the method "GPURenderPassEncoder.drawIndexed"
   878  // in a try/catch block and returns (_, err, ok = false) when it went through
   879  // the catch clause.
   880  func (this GPURenderPassEncoder) TryDrawIndexed1(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32) (ret js.Void, exception js.Any, ok bool) {
   881  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndexed1(
   882  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   883  		uint32(indexCount),
   884  		uint32(instanceCount),
   885  		uint32(firstIndex),
   886  		int32(baseVertex),
   887  	)
   888  
   889  	return
   890  }
   891  
   892  // HasFuncDrawIndexed2 returns true if the method "GPURenderPassEncoder.drawIndexed" exists.
   893  func (this GPURenderPassEncoder) HasFuncDrawIndexed2() bool {
   894  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndexed2(
   895  		this.ref,
   896  	)
   897  }
   898  
   899  // FuncDrawIndexed2 returns the method "GPURenderPassEncoder.drawIndexed".
   900  func (this GPURenderPassEncoder) FuncDrawIndexed2() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32)]) {
   901  	bindings.FuncGPURenderPassEncoderDrawIndexed2(
   902  		this.ref, js.Pointer(&fn),
   903  	)
   904  	return
   905  }
   906  
   907  // DrawIndexed2 calls the method "GPURenderPassEncoder.drawIndexed".
   908  func (this GPURenderPassEncoder) DrawIndexed2(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32) (ret js.Void) {
   909  	bindings.CallGPURenderPassEncoderDrawIndexed2(
   910  		this.ref, js.Pointer(&ret),
   911  		uint32(indexCount),
   912  		uint32(instanceCount),
   913  		uint32(firstIndex),
   914  	)
   915  
   916  	return
   917  }
   918  
   919  // TryDrawIndexed2 calls the method "GPURenderPassEncoder.drawIndexed"
   920  // in a try/catch block and returns (_, err, ok = false) when it went through
   921  // the catch clause.
   922  func (this GPURenderPassEncoder) TryDrawIndexed2(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   923  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndexed2(
   924  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   925  		uint32(indexCount),
   926  		uint32(instanceCount),
   927  		uint32(firstIndex),
   928  	)
   929  
   930  	return
   931  }
   932  
   933  // HasFuncDrawIndexed3 returns true if the method "GPURenderPassEncoder.drawIndexed" exists.
   934  func (this GPURenderPassEncoder) HasFuncDrawIndexed3() bool {
   935  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndexed3(
   936  		this.ref,
   937  	)
   938  }
   939  
   940  // FuncDrawIndexed3 returns the method "GPURenderPassEncoder.drawIndexed".
   941  func (this GPURenderPassEncoder) FuncDrawIndexed3() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32)]) {
   942  	bindings.FuncGPURenderPassEncoderDrawIndexed3(
   943  		this.ref, js.Pointer(&fn),
   944  	)
   945  	return
   946  }
   947  
   948  // DrawIndexed3 calls the method "GPURenderPassEncoder.drawIndexed".
   949  func (this GPURenderPassEncoder) DrawIndexed3(indexCount GPUSize32, instanceCount GPUSize32) (ret js.Void) {
   950  	bindings.CallGPURenderPassEncoderDrawIndexed3(
   951  		this.ref, js.Pointer(&ret),
   952  		uint32(indexCount),
   953  		uint32(instanceCount),
   954  	)
   955  
   956  	return
   957  }
   958  
   959  // TryDrawIndexed3 calls the method "GPURenderPassEncoder.drawIndexed"
   960  // in a try/catch block and returns (_, err, ok = false) when it went through
   961  // the catch clause.
   962  func (this GPURenderPassEncoder) TryDrawIndexed3(indexCount GPUSize32, instanceCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
   963  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndexed3(
   964  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
   965  		uint32(indexCount),
   966  		uint32(instanceCount),
   967  	)
   968  
   969  	return
   970  }
   971  
   972  // HasFuncDrawIndexed4 returns true if the method "GPURenderPassEncoder.drawIndexed" exists.
   973  func (this GPURenderPassEncoder) HasFuncDrawIndexed4() bool {
   974  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndexed4(
   975  		this.ref,
   976  	)
   977  }
   978  
   979  // FuncDrawIndexed4 returns the method "GPURenderPassEncoder.drawIndexed".
   980  func (this GPURenderPassEncoder) FuncDrawIndexed4() (fn js.Func[func(indexCount GPUSize32)]) {
   981  	bindings.FuncGPURenderPassEncoderDrawIndexed4(
   982  		this.ref, js.Pointer(&fn),
   983  	)
   984  	return
   985  }
   986  
   987  // DrawIndexed4 calls the method "GPURenderPassEncoder.drawIndexed".
   988  func (this GPURenderPassEncoder) DrawIndexed4(indexCount GPUSize32) (ret js.Void) {
   989  	bindings.CallGPURenderPassEncoderDrawIndexed4(
   990  		this.ref, js.Pointer(&ret),
   991  		uint32(indexCount),
   992  	)
   993  
   994  	return
   995  }
   996  
   997  // TryDrawIndexed4 calls the method "GPURenderPassEncoder.drawIndexed"
   998  // in a try/catch block and returns (_, err, ok = false) when it went through
   999  // the catch clause.
  1000  func (this GPURenderPassEncoder) TryDrawIndexed4(indexCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  1001  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndexed4(
  1002  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1003  		uint32(indexCount),
  1004  	)
  1005  
  1006  	return
  1007  }
  1008  
  1009  // HasFuncDrawIndirect returns true if the method "GPURenderPassEncoder.drawIndirect" exists.
  1010  func (this GPURenderPassEncoder) HasFuncDrawIndirect() bool {
  1011  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndirect(
  1012  		this.ref,
  1013  	)
  1014  }
  1015  
  1016  // FuncDrawIndirect returns the method "GPURenderPassEncoder.drawIndirect".
  1017  func (this GPURenderPassEncoder) FuncDrawIndirect() (fn js.Func[func(indirectBuffer GPUBuffer, indirectOffset GPUSize64)]) {
  1018  	bindings.FuncGPURenderPassEncoderDrawIndirect(
  1019  		this.ref, js.Pointer(&fn),
  1020  	)
  1021  	return
  1022  }
  1023  
  1024  // DrawIndirect calls the method "GPURenderPassEncoder.drawIndirect".
  1025  func (this GPURenderPassEncoder) DrawIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void) {
  1026  	bindings.CallGPURenderPassEncoderDrawIndirect(
  1027  		this.ref, js.Pointer(&ret),
  1028  		indirectBuffer.Ref(),
  1029  		float64(indirectOffset),
  1030  	)
  1031  
  1032  	return
  1033  }
  1034  
  1035  // TryDrawIndirect calls the method "GPURenderPassEncoder.drawIndirect"
  1036  // in a try/catch block and returns (_, err, ok = false) when it went through
  1037  // the catch clause.
  1038  func (this GPURenderPassEncoder) TryDrawIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  1039  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndirect(
  1040  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1041  		indirectBuffer.Ref(),
  1042  		float64(indirectOffset),
  1043  	)
  1044  
  1045  	return
  1046  }
  1047  
  1048  // HasFuncDrawIndexedIndirect returns true if the method "GPURenderPassEncoder.drawIndexedIndirect" exists.
  1049  func (this GPURenderPassEncoder) HasFuncDrawIndexedIndirect() bool {
  1050  	return js.True == bindings.HasFuncGPURenderPassEncoderDrawIndexedIndirect(
  1051  		this.ref,
  1052  	)
  1053  }
  1054  
  1055  // FuncDrawIndexedIndirect returns the method "GPURenderPassEncoder.drawIndexedIndirect".
  1056  func (this GPURenderPassEncoder) FuncDrawIndexedIndirect() (fn js.Func[func(indirectBuffer GPUBuffer, indirectOffset GPUSize64)]) {
  1057  	bindings.FuncGPURenderPassEncoderDrawIndexedIndirect(
  1058  		this.ref, js.Pointer(&fn),
  1059  	)
  1060  	return
  1061  }
  1062  
  1063  // DrawIndexedIndirect calls the method "GPURenderPassEncoder.drawIndexedIndirect".
  1064  func (this GPURenderPassEncoder) DrawIndexedIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void) {
  1065  	bindings.CallGPURenderPassEncoderDrawIndexedIndirect(
  1066  		this.ref, js.Pointer(&ret),
  1067  		indirectBuffer.Ref(),
  1068  		float64(indirectOffset),
  1069  	)
  1070  
  1071  	return
  1072  }
  1073  
  1074  // TryDrawIndexedIndirect calls the method "GPURenderPassEncoder.drawIndexedIndirect"
  1075  // in a try/catch block and returns (_, err, ok = false) when it went through
  1076  // the catch clause.
  1077  func (this GPURenderPassEncoder) TryDrawIndexedIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  1078  	ok = js.True == bindings.TryGPURenderPassEncoderDrawIndexedIndirect(
  1079  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1080  		indirectBuffer.Ref(),
  1081  		float64(indirectOffset),
  1082  	)
  1083  
  1084  	return
  1085  }
  1086  
  1087  // HasFuncSetBindGroup returns true if the method "GPURenderPassEncoder.setBindGroup" exists.
  1088  func (this GPURenderPassEncoder) HasFuncSetBindGroup() bool {
  1089  	return js.True == bindings.HasFuncGPURenderPassEncoderSetBindGroup(
  1090  		this.ref,
  1091  	)
  1092  }
  1093  
  1094  // FuncSetBindGroup returns the method "GPURenderPassEncoder.setBindGroup".
  1095  func (this GPURenderPassEncoder) FuncSetBindGroup() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset])]) {
  1096  	bindings.FuncGPURenderPassEncoderSetBindGroup(
  1097  		this.ref, js.Pointer(&fn),
  1098  	)
  1099  	return
  1100  }
  1101  
  1102  // SetBindGroup calls the method "GPURenderPassEncoder.setBindGroup".
  1103  func (this GPURenderPassEncoder) SetBindGroup(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset]) (ret js.Void) {
  1104  	bindings.CallGPURenderPassEncoderSetBindGroup(
  1105  		this.ref, js.Pointer(&ret),
  1106  		uint32(index),
  1107  		bindGroup.Ref(),
  1108  		dynamicOffsets.Ref(),
  1109  	)
  1110  
  1111  	return
  1112  }
  1113  
  1114  // TrySetBindGroup calls the method "GPURenderPassEncoder.setBindGroup"
  1115  // in a try/catch block and returns (_, err, ok = false) when it went through
  1116  // the catch clause.
  1117  func (this GPURenderPassEncoder) TrySetBindGroup(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset]) (ret js.Void, exception js.Any, ok bool) {
  1118  	ok = js.True == bindings.TryGPURenderPassEncoderSetBindGroup(
  1119  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1120  		uint32(index),
  1121  		bindGroup.Ref(),
  1122  		dynamicOffsets.Ref(),
  1123  	)
  1124  
  1125  	return
  1126  }
  1127  
  1128  // HasFuncSetBindGroup1 returns true if the method "GPURenderPassEncoder.setBindGroup" exists.
  1129  func (this GPURenderPassEncoder) HasFuncSetBindGroup1() bool {
  1130  	return js.True == bindings.HasFuncGPURenderPassEncoderSetBindGroup1(
  1131  		this.ref,
  1132  	)
  1133  }
  1134  
  1135  // FuncSetBindGroup1 returns the method "GPURenderPassEncoder.setBindGroup".
  1136  func (this GPURenderPassEncoder) FuncSetBindGroup1() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup)]) {
  1137  	bindings.FuncGPURenderPassEncoderSetBindGroup1(
  1138  		this.ref, js.Pointer(&fn),
  1139  	)
  1140  	return
  1141  }
  1142  
  1143  // SetBindGroup1 calls the method "GPURenderPassEncoder.setBindGroup".
  1144  func (this GPURenderPassEncoder) SetBindGroup1(index GPUIndex32, bindGroup GPUBindGroup) (ret js.Void) {
  1145  	bindings.CallGPURenderPassEncoderSetBindGroup1(
  1146  		this.ref, js.Pointer(&ret),
  1147  		uint32(index),
  1148  		bindGroup.Ref(),
  1149  	)
  1150  
  1151  	return
  1152  }
  1153  
  1154  // TrySetBindGroup1 calls the method "GPURenderPassEncoder.setBindGroup"
  1155  // in a try/catch block and returns (_, err, ok = false) when it went through
  1156  // the catch clause.
  1157  func (this GPURenderPassEncoder) TrySetBindGroup1(index GPUIndex32, bindGroup GPUBindGroup) (ret js.Void, exception js.Any, ok bool) {
  1158  	ok = js.True == bindings.TryGPURenderPassEncoderSetBindGroup1(
  1159  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1160  		uint32(index),
  1161  		bindGroup.Ref(),
  1162  	)
  1163  
  1164  	return
  1165  }
  1166  
  1167  // HasFuncSetBindGroup2 returns true if the method "GPURenderPassEncoder.setBindGroup" exists.
  1168  func (this GPURenderPassEncoder) HasFuncSetBindGroup2() bool {
  1169  	return js.True == bindings.HasFuncGPURenderPassEncoderSetBindGroup2(
  1170  		this.ref,
  1171  	)
  1172  }
  1173  
  1174  // FuncSetBindGroup2 returns the method "GPURenderPassEncoder.setBindGroup".
  1175  func (this GPURenderPassEncoder) FuncSetBindGroup2() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32)]) {
  1176  	bindings.FuncGPURenderPassEncoderSetBindGroup2(
  1177  		this.ref, js.Pointer(&fn),
  1178  	)
  1179  	return
  1180  }
  1181  
  1182  // SetBindGroup2 calls the method "GPURenderPassEncoder.setBindGroup".
  1183  func (this GPURenderPassEncoder) SetBindGroup2(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32) (ret js.Void) {
  1184  	bindings.CallGPURenderPassEncoderSetBindGroup2(
  1185  		this.ref, js.Pointer(&ret),
  1186  		uint32(index),
  1187  		bindGroup.Ref(),
  1188  		dynamicOffsetsData.Ref(),
  1189  		float64(dynamicOffsetsDataStart),
  1190  		uint32(dynamicOffsetsDataLength),
  1191  	)
  1192  
  1193  	return
  1194  }
  1195  
  1196  // TrySetBindGroup2 calls the method "GPURenderPassEncoder.setBindGroup"
  1197  // in a try/catch block and returns (_, err, ok = false) when it went through
  1198  // the catch clause.
  1199  func (this GPURenderPassEncoder) TrySetBindGroup2(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  1200  	ok = js.True == bindings.TryGPURenderPassEncoderSetBindGroup2(
  1201  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1202  		uint32(index),
  1203  		bindGroup.Ref(),
  1204  		dynamicOffsetsData.Ref(),
  1205  		float64(dynamicOffsetsDataStart),
  1206  		uint32(dynamicOffsetsDataLength),
  1207  	)
  1208  
  1209  	return
  1210  }
  1211  
  1212  // HasFuncPushDebugGroup returns true if the method "GPURenderPassEncoder.pushDebugGroup" exists.
  1213  func (this GPURenderPassEncoder) HasFuncPushDebugGroup() bool {
  1214  	return js.True == bindings.HasFuncGPURenderPassEncoderPushDebugGroup(
  1215  		this.ref,
  1216  	)
  1217  }
  1218  
  1219  // FuncPushDebugGroup returns the method "GPURenderPassEncoder.pushDebugGroup".
  1220  func (this GPURenderPassEncoder) FuncPushDebugGroup() (fn js.Func[func(groupLabel js.String)]) {
  1221  	bindings.FuncGPURenderPassEncoderPushDebugGroup(
  1222  		this.ref, js.Pointer(&fn),
  1223  	)
  1224  	return
  1225  }
  1226  
  1227  // PushDebugGroup calls the method "GPURenderPassEncoder.pushDebugGroup".
  1228  func (this GPURenderPassEncoder) PushDebugGroup(groupLabel js.String) (ret js.Void) {
  1229  	bindings.CallGPURenderPassEncoderPushDebugGroup(
  1230  		this.ref, js.Pointer(&ret),
  1231  		groupLabel.Ref(),
  1232  	)
  1233  
  1234  	return
  1235  }
  1236  
  1237  // TryPushDebugGroup calls the method "GPURenderPassEncoder.pushDebugGroup"
  1238  // in a try/catch block and returns (_, err, ok = false) when it went through
  1239  // the catch clause.
  1240  func (this GPURenderPassEncoder) TryPushDebugGroup(groupLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  1241  	ok = js.True == bindings.TryGPURenderPassEncoderPushDebugGroup(
  1242  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1243  		groupLabel.Ref(),
  1244  	)
  1245  
  1246  	return
  1247  }
  1248  
  1249  // HasFuncPopDebugGroup returns true if the method "GPURenderPassEncoder.popDebugGroup" exists.
  1250  func (this GPURenderPassEncoder) HasFuncPopDebugGroup() bool {
  1251  	return js.True == bindings.HasFuncGPURenderPassEncoderPopDebugGroup(
  1252  		this.ref,
  1253  	)
  1254  }
  1255  
  1256  // FuncPopDebugGroup returns the method "GPURenderPassEncoder.popDebugGroup".
  1257  func (this GPURenderPassEncoder) FuncPopDebugGroup() (fn js.Func[func()]) {
  1258  	bindings.FuncGPURenderPassEncoderPopDebugGroup(
  1259  		this.ref, js.Pointer(&fn),
  1260  	)
  1261  	return
  1262  }
  1263  
  1264  // PopDebugGroup calls the method "GPURenderPassEncoder.popDebugGroup".
  1265  func (this GPURenderPassEncoder) PopDebugGroup() (ret js.Void) {
  1266  	bindings.CallGPURenderPassEncoderPopDebugGroup(
  1267  		this.ref, js.Pointer(&ret),
  1268  	)
  1269  
  1270  	return
  1271  }
  1272  
  1273  // TryPopDebugGroup calls the method "GPURenderPassEncoder.popDebugGroup"
  1274  // in a try/catch block and returns (_, err, ok = false) when it went through
  1275  // the catch clause.
  1276  func (this GPURenderPassEncoder) TryPopDebugGroup() (ret js.Void, exception js.Any, ok bool) {
  1277  	ok = js.True == bindings.TryGPURenderPassEncoderPopDebugGroup(
  1278  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1279  	)
  1280  
  1281  	return
  1282  }
  1283  
  1284  // HasFuncInsertDebugMarker returns true if the method "GPURenderPassEncoder.insertDebugMarker" exists.
  1285  func (this GPURenderPassEncoder) HasFuncInsertDebugMarker() bool {
  1286  	return js.True == bindings.HasFuncGPURenderPassEncoderInsertDebugMarker(
  1287  		this.ref,
  1288  	)
  1289  }
  1290  
  1291  // FuncInsertDebugMarker returns the method "GPURenderPassEncoder.insertDebugMarker".
  1292  func (this GPURenderPassEncoder) FuncInsertDebugMarker() (fn js.Func[func(markerLabel js.String)]) {
  1293  	bindings.FuncGPURenderPassEncoderInsertDebugMarker(
  1294  		this.ref, js.Pointer(&fn),
  1295  	)
  1296  	return
  1297  }
  1298  
  1299  // InsertDebugMarker calls the method "GPURenderPassEncoder.insertDebugMarker".
  1300  func (this GPURenderPassEncoder) InsertDebugMarker(markerLabel js.String) (ret js.Void) {
  1301  	bindings.CallGPURenderPassEncoderInsertDebugMarker(
  1302  		this.ref, js.Pointer(&ret),
  1303  		markerLabel.Ref(),
  1304  	)
  1305  
  1306  	return
  1307  }
  1308  
  1309  // TryInsertDebugMarker calls the method "GPURenderPassEncoder.insertDebugMarker"
  1310  // in a try/catch block and returns (_, err, ok = false) when it went through
  1311  // the catch clause.
  1312  func (this GPURenderPassEncoder) TryInsertDebugMarker(markerLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  1313  	ok = js.True == bindings.TryGPURenderPassEncoderInsertDebugMarker(
  1314  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1315  		markerLabel.Ref(),
  1316  	)
  1317  
  1318  	return
  1319  }
  1320  
  1321  type GPULoadOp uint32
  1322  
  1323  const (
  1324  	_ GPULoadOp = iota
  1325  
  1326  	GPULoadOp_LOAD
  1327  	GPULoadOp_CLEAR
  1328  )
  1329  
  1330  func (GPULoadOp) FromRef(str js.Ref) GPULoadOp {
  1331  	return GPULoadOp(bindings.ConstOfGPULoadOp(str))
  1332  }
  1333  
  1334  func (x GPULoadOp) String() (string, bool) {
  1335  	switch x {
  1336  	case GPULoadOp_LOAD:
  1337  		return "load", true
  1338  	case GPULoadOp_CLEAR:
  1339  		return "clear", true
  1340  	default:
  1341  		return "", false
  1342  	}
  1343  }
  1344  
  1345  type GPUStoreOp uint32
  1346  
  1347  const (
  1348  	_ GPUStoreOp = iota
  1349  
  1350  	GPUStoreOp_STORE
  1351  	GPUStoreOp_DISCARD
  1352  )
  1353  
  1354  func (GPUStoreOp) FromRef(str js.Ref) GPUStoreOp {
  1355  	return GPUStoreOp(bindings.ConstOfGPUStoreOp(str))
  1356  }
  1357  
  1358  func (x GPUStoreOp) String() (string, bool) {
  1359  	switch x {
  1360  	case GPUStoreOp_STORE:
  1361  		return "store", true
  1362  	case GPUStoreOp_DISCARD:
  1363  		return "discard", true
  1364  	default:
  1365  		return "", false
  1366  	}
  1367  }
  1368  
  1369  type GPURenderPassColorAttachment struct {
  1370  	// View is "GPURenderPassColorAttachment.view"
  1371  	//
  1372  	// Required
  1373  	View GPUTextureView
  1374  	// ResolveTarget is "GPURenderPassColorAttachment.resolveTarget"
  1375  	//
  1376  	// Optional
  1377  	ResolveTarget GPUTextureView
  1378  	// ClearValue is "GPURenderPassColorAttachment.clearValue"
  1379  	//
  1380  	// Optional
  1381  	ClearValue GPUColor
  1382  	// LoadOp is "GPURenderPassColorAttachment.loadOp"
  1383  	//
  1384  	// Required
  1385  	LoadOp GPULoadOp
  1386  	// StoreOp is "GPURenderPassColorAttachment.storeOp"
  1387  	//
  1388  	// Required
  1389  	StoreOp GPUStoreOp
  1390  
  1391  	FFI_USE bool
  1392  }
  1393  
  1394  // FromRef calls UpdateFrom and returns a GPURenderPassColorAttachment with all fields set.
  1395  func (p GPURenderPassColorAttachment) FromRef(ref js.Ref) GPURenderPassColorAttachment {
  1396  	p.UpdateFrom(ref)
  1397  	return p
  1398  }
  1399  
  1400  // New creates a new GPURenderPassColorAttachment in the application heap.
  1401  func (p GPURenderPassColorAttachment) New() js.Ref {
  1402  	return bindings.GPURenderPassColorAttachmentJSLoad(
  1403  		js.Pointer(&p), js.True, 0,
  1404  	)
  1405  }
  1406  
  1407  // UpdateFrom copies value of all fields of the heap object to p.
  1408  func (p *GPURenderPassColorAttachment) UpdateFrom(ref js.Ref) {
  1409  	bindings.GPURenderPassColorAttachmentJSStore(
  1410  		js.Pointer(p), ref,
  1411  	)
  1412  }
  1413  
  1414  // Update writes all fields of the p to the heap object referenced by ref.
  1415  func (p *GPURenderPassColorAttachment) Update(ref js.Ref) {
  1416  	bindings.GPURenderPassColorAttachmentJSLoad(
  1417  		js.Pointer(p), js.False, ref,
  1418  	)
  1419  }
  1420  
  1421  // FreeMembers frees fields with heap reference, if recursive is true
  1422  // free all heap references reachable from p.
  1423  func (p *GPURenderPassColorAttachment) FreeMembers(recursive bool) {
  1424  	js.Free(
  1425  		p.View.Ref(),
  1426  		p.ResolveTarget.Ref(),
  1427  		p.ClearValue.Ref(),
  1428  	)
  1429  	p.View = p.View.FromRef(js.Undefined)
  1430  	p.ResolveTarget = p.ResolveTarget.FromRef(js.Undefined)
  1431  	p.ClearValue = p.ClearValue.FromRef(js.Undefined)
  1432  }
  1433  
  1434  type GPURenderPassDepthStencilAttachment struct {
  1435  	// View is "GPURenderPassDepthStencilAttachment.view"
  1436  	//
  1437  	// Required
  1438  	View GPUTextureView
  1439  	// DepthClearValue is "GPURenderPassDepthStencilAttachment.depthClearValue"
  1440  	//
  1441  	// Optional
  1442  	//
  1443  	// NOTE: FFI_USE_DepthClearValue MUST be set to true to make this field effective.
  1444  	DepthClearValue float32
  1445  	// DepthLoadOp is "GPURenderPassDepthStencilAttachment.depthLoadOp"
  1446  	//
  1447  	// Optional
  1448  	DepthLoadOp GPULoadOp
  1449  	// DepthStoreOp is "GPURenderPassDepthStencilAttachment.depthStoreOp"
  1450  	//
  1451  	// Optional
  1452  	DepthStoreOp GPUStoreOp
  1453  	// DepthReadOnly is "GPURenderPassDepthStencilAttachment.depthReadOnly"
  1454  	//
  1455  	// Optional, defaults to false.
  1456  	//
  1457  	// NOTE: FFI_USE_DepthReadOnly MUST be set to true to make this field effective.
  1458  	DepthReadOnly bool
  1459  	// StencilClearValue is "GPURenderPassDepthStencilAttachment.stencilClearValue"
  1460  	//
  1461  	// Optional, defaults to 0.
  1462  	//
  1463  	// NOTE: FFI_USE_StencilClearValue MUST be set to true to make this field effective.
  1464  	StencilClearValue GPUStencilValue
  1465  	// StencilLoadOp is "GPURenderPassDepthStencilAttachment.stencilLoadOp"
  1466  	//
  1467  	// Optional
  1468  	StencilLoadOp GPULoadOp
  1469  	// StencilStoreOp is "GPURenderPassDepthStencilAttachment.stencilStoreOp"
  1470  	//
  1471  	// Optional
  1472  	StencilStoreOp GPUStoreOp
  1473  	// StencilReadOnly is "GPURenderPassDepthStencilAttachment.stencilReadOnly"
  1474  	//
  1475  	// Optional, defaults to false.
  1476  	//
  1477  	// NOTE: FFI_USE_StencilReadOnly MUST be set to true to make this field effective.
  1478  	StencilReadOnly bool
  1479  
  1480  	FFI_USE_DepthClearValue   bool // for DepthClearValue.
  1481  	FFI_USE_DepthReadOnly     bool // for DepthReadOnly.
  1482  	FFI_USE_StencilClearValue bool // for StencilClearValue.
  1483  	FFI_USE_StencilReadOnly   bool // for StencilReadOnly.
  1484  
  1485  	FFI_USE bool
  1486  }
  1487  
  1488  // FromRef calls UpdateFrom and returns a GPURenderPassDepthStencilAttachment with all fields set.
  1489  func (p GPURenderPassDepthStencilAttachment) FromRef(ref js.Ref) GPURenderPassDepthStencilAttachment {
  1490  	p.UpdateFrom(ref)
  1491  	return p
  1492  }
  1493  
  1494  // New creates a new GPURenderPassDepthStencilAttachment in the application heap.
  1495  func (p GPURenderPassDepthStencilAttachment) New() js.Ref {
  1496  	return bindings.GPURenderPassDepthStencilAttachmentJSLoad(
  1497  		js.Pointer(&p), js.True, 0,
  1498  	)
  1499  }
  1500  
  1501  // UpdateFrom copies value of all fields of the heap object to p.
  1502  func (p *GPURenderPassDepthStencilAttachment) UpdateFrom(ref js.Ref) {
  1503  	bindings.GPURenderPassDepthStencilAttachmentJSStore(
  1504  		js.Pointer(p), ref,
  1505  	)
  1506  }
  1507  
  1508  // Update writes all fields of the p to the heap object referenced by ref.
  1509  func (p *GPURenderPassDepthStencilAttachment) Update(ref js.Ref) {
  1510  	bindings.GPURenderPassDepthStencilAttachmentJSLoad(
  1511  		js.Pointer(p), js.False, ref,
  1512  	)
  1513  }
  1514  
  1515  // FreeMembers frees fields with heap reference, if recursive is true
  1516  // free all heap references reachable from p.
  1517  func (p *GPURenderPassDepthStencilAttachment) FreeMembers(recursive bool) {
  1518  	js.Free(
  1519  		p.View.Ref(),
  1520  	)
  1521  	p.View = p.View.FromRef(js.Undefined)
  1522  }
  1523  
  1524  type GPUQueryType uint32
  1525  
  1526  const (
  1527  	_ GPUQueryType = iota
  1528  
  1529  	GPUQueryType_OCCLUSION
  1530  	GPUQueryType_TIMESTAMP
  1531  )
  1532  
  1533  func (GPUQueryType) FromRef(str js.Ref) GPUQueryType {
  1534  	return GPUQueryType(bindings.ConstOfGPUQueryType(str))
  1535  }
  1536  
  1537  func (x GPUQueryType) String() (string, bool) {
  1538  	switch x {
  1539  	case GPUQueryType_OCCLUSION:
  1540  		return "occlusion", true
  1541  	case GPUQueryType_TIMESTAMP:
  1542  		return "timestamp", true
  1543  	default:
  1544  		return "", false
  1545  	}
  1546  }
  1547  
  1548  type GPUQuerySet struct {
  1549  	ref js.Ref
  1550  }
  1551  
  1552  func (this GPUQuerySet) Once() GPUQuerySet {
  1553  	this.ref.Once()
  1554  	return this
  1555  }
  1556  
  1557  func (this GPUQuerySet) Ref() js.Ref {
  1558  	return this.ref
  1559  }
  1560  
  1561  func (this GPUQuerySet) FromRef(ref js.Ref) GPUQuerySet {
  1562  	this.ref = ref
  1563  	return this
  1564  }
  1565  
  1566  func (this GPUQuerySet) Free() {
  1567  	this.ref.Free()
  1568  }
  1569  
  1570  // Type returns the value of property "GPUQuerySet.type".
  1571  //
  1572  // It returns ok=false if there is no such property.
  1573  func (this GPUQuerySet) Type() (ret GPUQueryType, ok bool) {
  1574  	ok = js.True == bindings.GetGPUQuerySetType(
  1575  		this.ref, js.Pointer(&ret),
  1576  	)
  1577  	return
  1578  }
  1579  
  1580  // Count returns the value of property "GPUQuerySet.count".
  1581  //
  1582  // It returns ok=false if there is no such property.
  1583  func (this GPUQuerySet) Count() (ret GPUSize32Out, ok bool) {
  1584  	ok = js.True == bindings.GetGPUQuerySetCount(
  1585  		this.ref, js.Pointer(&ret),
  1586  	)
  1587  	return
  1588  }
  1589  
  1590  // Label returns the value of property "GPUQuerySet.label".
  1591  //
  1592  // It returns ok=false if there is no such property.
  1593  func (this GPUQuerySet) Label() (ret js.String, ok bool) {
  1594  	ok = js.True == bindings.GetGPUQuerySetLabel(
  1595  		this.ref, js.Pointer(&ret),
  1596  	)
  1597  	return
  1598  }
  1599  
  1600  // SetLabel sets the value of property "GPUQuerySet.label" to val.
  1601  //
  1602  // It returns false if the property cannot be set.
  1603  func (this GPUQuerySet) SetLabel(val js.String) bool {
  1604  	return js.True == bindings.SetGPUQuerySetLabel(
  1605  		this.ref,
  1606  		val.Ref(),
  1607  	)
  1608  }
  1609  
  1610  // HasFuncDestroy returns true if the method "GPUQuerySet.destroy" exists.
  1611  func (this GPUQuerySet) HasFuncDestroy() bool {
  1612  	return js.True == bindings.HasFuncGPUQuerySetDestroy(
  1613  		this.ref,
  1614  	)
  1615  }
  1616  
  1617  // FuncDestroy returns the method "GPUQuerySet.destroy".
  1618  func (this GPUQuerySet) FuncDestroy() (fn js.Func[func()]) {
  1619  	bindings.FuncGPUQuerySetDestroy(
  1620  		this.ref, js.Pointer(&fn),
  1621  	)
  1622  	return
  1623  }
  1624  
  1625  // Destroy calls the method "GPUQuerySet.destroy".
  1626  func (this GPUQuerySet) Destroy() (ret js.Void) {
  1627  	bindings.CallGPUQuerySetDestroy(
  1628  		this.ref, js.Pointer(&ret),
  1629  	)
  1630  
  1631  	return
  1632  }
  1633  
  1634  // TryDestroy calls the method "GPUQuerySet.destroy"
  1635  // in a try/catch block and returns (_, err, ok = false) when it went through
  1636  // the catch clause.
  1637  func (this GPUQuerySet) TryDestroy() (ret js.Void, exception js.Any, ok bool) {
  1638  	ok = js.True == bindings.TryGPUQuerySetDestroy(
  1639  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1640  	)
  1641  
  1642  	return
  1643  }
  1644  
  1645  type GPURenderPassTimestampWrites struct {
  1646  	// QuerySet is "GPURenderPassTimestampWrites.querySet"
  1647  	//
  1648  	// Required
  1649  	QuerySet GPUQuerySet
  1650  	// BeginningOfPassWriteIndex is "GPURenderPassTimestampWrites.beginningOfPassWriteIndex"
  1651  	//
  1652  	// Optional
  1653  	//
  1654  	// NOTE: FFI_USE_BeginningOfPassWriteIndex MUST be set to true to make this field effective.
  1655  	BeginningOfPassWriteIndex GPUSize32
  1656  	// EndOfPassWriteIndex is "GPURenderPassTimestampWrites.endOfPassWriteIndex"
  1657  	//
  1658  	// Optional
  1659  	//
  1660  	// NOTE: FFI_USE_EndOfPassWriteIndex MUST be set to true to make this field effective.
  1661  	EndOfPassWriteIndex GPUSize32
  1662  
  1663  	FFI_USE_BeginningOfPassWriteIndex bool // for BeginningOfPassWriteIndex.
  1664  	FFI_USE_EndOfPassWriteIndex       bool // for EndOfPassWriteIndex.
  1665  
  1666  	FFI_USE bool
  1667  }
  1668  
  1669  // FromRef calls UpdateFrom and returns a GPURenderPassTimestampWrites with all fields set.
  1670  func (p GPURenderPassTimestampWrites) FromRef(ref js.Ref) GPURenderPassTimestampWrites {
  1671  	p.UpdateFrom(ref)
  1672  	return p
  1673  }
  1674  
  1675  // New creates a new GPURenderPassTimestampWrites in the application heap.
  1676  func (p GPURenderPassTimestampWrites) New() js.Ref {
  1677  	return bindings.GPURenderPassTimestampWritesJSLoad(
  1678  		js.Pointer(&p), js.True, 0,
  1679  	)
  1680  }
  1681  
  1682  // UpdateFrom copies value of all fields of the heap object to p.
  1683  func (p *GPURenderPassTimestampWrites) UpdateFrom(ref js.Ref) {
  1684  	bindings.GPURenderPassTimestampWritesJSStore(
  1685  		js.Pointer(p), ref,
  1686  	)
  1687  }
  1688  
  1689  // Update writes all fields of the p to the heap object referenced by ref.
  1690  func (p *GPURenderPassTimestampWrites) Update(ref js.Ref) {
  1691  	bindings.GPURenderPassTimestampWritesJSLoad(
  1692  		js.Pointer(p), js.False, ref,
  1693  	)
  1694  }
  1695  
  1696  // FreeMembers frees fields with heap reference, if recursive is true
  1697  // free all heap references reachable from p.
  1698  func (p *GPURenderPassTimestampWrites) FreeMembers(recursive bool) {
  1699  	js.Free(
  1700  		p.QuerySet.Ref(),
  1701  	)
  1702  	p.QuerySet = p.QuerySet.FromRef(js.Undefined)
  1703  }
  1704  
  1705  type GPURenderPassDescriptor struct {
  1706  	// ColorAttachments is "GPURenderPassDescriptor.colorAttachments"
  1707  	//
  1708  	// Required
  1709  	ColorAttachments js.Array[GPURenderPassColorAttachment]
  1710  	// DepthStencilAttachment is "GPURenderPassDescriptor.depthStencilAttachment"
  1711  	//
  1712  	// Optional
  1713  	//
  1714  	// NOTE: DepthStencilAttachment.FFI_USE MUST be set to true to get DepthStencilAttachment used.
  1715  	DepthStencilAttachment GPURenderPassDepthStencilAttachment
  1716  	// OcclusionQuerySet is "GPURenderPassDescriptor.occlusionQuerySet"
  1717  	//
  1718  	// Optional
  1719  	OcclusionQuerySet GPUQuerySet
  1720  	// TimestampWrites is "GPURenderPassDescriptor.timestampWrites"
  1721  	//
  1722  	// Optional
  1723  	//
  1724  	// NOTE: TimestampWrites.FFI_USE MUST be set to true to get TimestampWrites used.
  1725  	TimestampWrites GPURenderPassTimestampWrites
  1726  	// MaxDrawCount is "GPURenderPassDescriptor.maxDrawCount"
  1727  	//
  1728  	// Optional, defaults to 50000000.
  1729  	//
  1730  	// NOTE: FFI_USE_MaxDrawCount MUST be set to true to make this field effective.
  1731  	MaxDrawCount GPUSize64
  1732  	// Label is "GPURenderPassDescriptor.label"
  1733  	//
  1734  	// Optional, defaults to "".
  1735  	Label js.String
  1736  
  1737  	FFI_USE_MaxDrawCount bool // for MaxDrawCount.
  1738  
  1739  	FFI_USE bool
  1740  }
  1741  
  1742  // FromRef calls UpdateFrom and returns a GPURenderPassDescriptor with all fields set.
  1743  func (p GPURenderPassDescriptor) FromRef(ref js.Ref) GPURenderPassDescriptor {
  1744  	p.UpdateFrom(ref)
  1745  	return p
  1746  }
  1747  
  1748  // New creates a new GPURenderPassDescriptor in the application heap.
  1749  func (p GPURenderPassDescriptor) New() js.Ref {
  1750  	return bindings.GPURenderPassDescriptorJSLoad(
  1751  		js.Pointer(&p), js.True, 0,
  1752  	)
  1753  }
  1754  
  1755  // UpdateFrom copies value of all fields of the heap object to p.
  1756  func (p *GPURenderPassDescriptor) UpdateFrom(ref js.Ref) {
  1757  	bindings.GPURenderPassDescriptorJSStore(
  1758  		js.Pointer(p), ref,
  1759  	)
  1760  }
  1761  
  1762  // Update writes all fields of the p to the heap object referenced by ref.
  1763  func (p *GPURenderPassDescriptor) Update(ref js.Ref) {
  1764  	bindings.GPURenderPassDescriptorJSLoad(
  1765  		js.Pointer(p), js.False, ref,
  1766  	)
  1767  }
  1768  
  1769  // FreeMembers frees fields with heap reference, if recursive is true
  1770  // free all heap references reachable from p.
  1771  func (p *GPURenderPassDescriptor) FreeMembers(recursive bool) {
  1772  	js.Free(
  1773  		p.ColorAttachments.Ref(),
  1774  		p.OcclusionQuerySet.Ref(),
  1775  		p.Label.Ref(),
  1776  	)
  1777  	p.ColorAttachments = p.ColorAttachments.FromRef(js.Undefined)
  1778  	p.OcclusionQuerySet = p.OcclusionQuerySet.FromRef(js.Undefined)
  1779  	p.Label = p.Label.FromRef(js.Undefined)
  1780  	if recursive {
  1781  		p.DepthStencilAttachment.FreeMembers(true)
  1782  		p.TimestampWrites.FreeMembers(true)
  1783  	}
  1784  }
  1785  
  1786  type GPUComputePassEncoder struct {
  1787  	ref js.Ref
  1788  }
  1789  
  1790  func (this GPUComputePassEncoder) Once() GPUComputePassEncoder {
  1791  	this.ref.Once()
  1792  	return this
  1793  }
  1794  
  1795  func (this GPUComputePassEncoder) Ref() js.Ref {
  1796  	return this.ref
  1797  }
  1798  
  1799  func (this GPUComputePassEncoder) FromRef(ref js.Ref) GPUComputePassEncoder {
  1800  	this.ref = ref
  1801  	return this
  1802  }
  1803  
  1804  func (this GPUComputePassEncoder) Free() {
  1805  	this.ref.Free()
  1806  }
  1807  
  1808  // Label returns the value of property "GPUComputePassEncoder.label".
  1809  //
  1810  // It returns ok=false if there is no such property.
  1811  func (this GPUComputePassEncoder) Label() (ret js.String, ok bool) {
  1812  	ok = js.True == bindings.GetGPUComputePassEncoderLabel(
  1813  		this.ref, js.Pointer(&ret),
  1814  	)
  1815  	return
  1816  }
  1817  
  1818  // SetLabel sets the value of property "GPUComputePassEncoder.label" to val.
  1819  //
  1820  // It returns false if the property cannot be set.
  1821  func (this GPUComputePassEncoder) SetLabel(val js.String) bool {
  1822  	return js.True == bindings.SetGPUComputePassEncoderLabel(
  1823  		this.ref,
  1824  		val.Ref(),
  1825  	)
  1826  }
  1827  
  1828  // HasFuncSetPipeline returns true if the method "GPUComputePassEncoder.setPipeline" exists.
  1829  func (this GPUComputePassEncoder) HasFuncSetPipeline() bool {
  1830  	return js.True == bindings.HasFuncGPUComputePassEncoderSetPipeline(
  1831  		this.ref,
  1832  	)
  1833  }
  1834  
  1835  // FuncSetPipeline returns the method "GPUComputePassEncoder.setPipeline".
  1836  func (this GPUComputePassEncoder) FuncSetPipeline() (fn js.Func[func(pipeline GPUComputePipeline)]) {
  1837  	bindings.FuncGPUComputePassEncoderSetPipeline(
  1838  		this.ref, js.Pointer(&fn),
  1839  	)
  1840  	return
  1841  }
  1842  
  1843  // SetPipeline calls the method "GPUComputePassEncoder.setPipeline".
  1844  func (this GPUComputePassEncoder) SetPipeline(pipeline GPUComputePipeline) (ret js.Void) {
  1845  	bindings.CallGPUComputePassEncoderSetPipeline(
  1846  		this.ref, js.Pointer(&ret),
  1847  		pipeline.Ref(),
  1848  	)
  1849  
  1850  	return
  1851  }
  1852  
  1853  // TrySetPipeline calls the method "GPUComputePassEncoder.setPipeline"
  1854  // in a try/catch block and returns (_, err, ok = false) when it went through
  1855  // the catch clause.
  1856  func (this GPUComputePassEncoder) TrySetPipeline(pipeline GPUComputePipeline) (ret js.Void, exception js.Any, ok bool) {
  1857  	ok = js.True == bindings.TryGPUComputePassEncoderSetPipeline(
  1858  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1859  		pipeline.Ref(),
  1860  	)
  1861  
  1862  	return
  1863  }
  1864  
  1865  // HasFuncDispatchWorkgroups returns true if the method "GPUComputePassEncoder.dispatchWorkgroups" exists.
  1866  func (this GPUComputePassEncoder) HasFuncDispatchWorkgroups() bool {
  1867  	return js.True == bindings.HasFuncGPUComputePassEncoderDispatchWorkgroups(
  1868  		this.ref,
  1869  	)
  1870  }
  1871  
  1872  // FuncDispatchWorkgroups returns the method "GPUComputePassEncoder.dispatchWorkgroups".
  1873  func (this GPUComputePassEncoder) FuncDispatchWorkgroups() (fn js.Func[func(workgroupCountX GPUSize32, workgroupCountY GPUSize32, workgroupCountZ GPUSize32)]) {
  1874  	bindings.FuncGPUComputePassEncoderDispatchWorkgroups(
  1875  		this.ref, js.Pointer(&fn),
  1876  	)
  1877  	return
  1878  }
  1879  
  1880  // DispatchWorkgroups calls the method "GPUComputePassEncoder.dispatchWorkgroups".
  1881  func (this GPUComputePassEncoder) DispatchWorkgroups(workgroupCountX GPUSize32, workgroupCountY GPUSize32, workgroupCountZ GPUSize32) (ret js.Void) {
  1882  	bindings.CallGPUComputePassEncoderDispatchWorkgroups(
  1883  		this.ref, js.Pointer(&ret),
  1884  		uint32(workgroupCountX),
  1885  		uint32(workgroupCountY),
  1886  		uint32(workgroupCountZ),
  1887  	)
  1888  
  1889  	return
  1890  }
  1891  
  1892  // TryDispatchWorkgroups calls the method "GPUComputePassEncoder.dispatchWorkgroups"
  1893  // in a try/catch block and returns (_, err, ok = false) when it went through
  1894  // the catch clause.
  1895  func (this GPUComputePassEncoder) TryDispatchWorkgroups(workgroupCountX GPUSize32, workgroupCountY GPUSize32, workgroupCountZ GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  1896  	ok = js.True == bindings.TryGPUComputePassEncoderDispatchWorkgroups(
  1897  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1898  		uint32(workgroupCountX),
  1899  		uint32(workgroupCountY),
  1900  		uint32(workgroupCountZ),
  1901  	)
  1902  
  1903  	return
  1904  }
  1905  
  1906  // HasFuncDispatchWorkgroups1 returns true if the method "GPUComputePassEncoder.dispatchWorkgroups" exists.
  1907  func (this GPUComputePassEncoder) HasFuncDispatchWorkgroups1() bool {
  1908  	return js.True == bindings.HasFuncGPUComputePassEncoderDispatchWorkgroups1(
  1909  		this.ref,
  1910  	)
  1911  }
  1912  
  1913  // FuncDispatchWorkgroups1 returns the method "GPUComputePassEncoder.dispatchWorkgroups".
  1914  func (this GPUComputePassEncoder) FuncDispatchWorkgroups1() (fn js.Func[func(workgroupCountX GPUSize32, workgroupCountY GPUSize32)]) {
  1915  	bindings.FuncGPUComputePassEncoderDispatchWorkgroups1(
  1916  		this.ref, js.Pointer(&fn),
  1917  	)
  1918  	return
  1919  }
  1920  
  1921  // DispatchWorkgroups1 calls the method "GPUComputePassEncoder.dispatchWorkgroups".
  1922  func (this GPUComputePassEncoder) DispatchWorkgroups1(workgroupCountX GPUSize32, workgroupCountY GPUSize32) (ret js.Void) {
  1923  	bindings.CallGPUComputePassEncoderDispatchWorkgroups1(
  1924  		this.ref, js.Pointer(&ret),
  1925  		uint32(workgroupCountX),
  1926  		uint32(workgroupCountY),
  1927  	)
  1928  
  1929  	return
  1930  }
  1931  
  1932  // TryDispatchWorkgroups1 calls the method "GPUComputePassEncoder.dispatchWorkgroups"
  1933  // in a try/catch block and returns (_, err, ok = false) when it went through
  1934  // the catch clause.
  1935  func (this GPUComputePassEncoder) TryDispatchWorkgroups1(workgroupCountX GPUSize32, workgroupCountY GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  1936  	ok = js.True == bindings.TryGPUComputePassEncoderDispatchWorkgroups1(
  1937  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1938  		uint32(workgroupCountX),
  1939  		uint32(workgroupCountY),
  1940  	)
  1941  
  1942  	return
  1943  }
  1944  
  1945  // HasFuncDispatchWorkgroups2 returns true if the method "GPUComputePassEncoder.dispatchWorkgroups" exists.
  1946  func (this GPUComputePassEncoder) HasFuncDispatchWorkgroups2() bool {
  1947  	return js.True == bindings.HasFuncGPUComputePassEncoderDispatchWorkgroups2(
  1948  		this.ref,
  1949  	)
  1950  }
  1951  
  1952  // FuncDispatchWorkgroups2 returns the method "GPUComputePassEncoder.dispatchWorkgroups".
  1953  func (this GPUComputePassEncoder) FuncDispatchWorkgroups2() (fn js.Func[func(workgroupCountX GPUSize32)]) {
  1954  	bindings.FuncGPUComputePassEncoderDispatchWorkgroups2(
  1955  		this.ref, js.Pointer(&fn),
  1956  	)
  1957  	return
  1958  }
  1959  
  1960  // DispatchWorkgroups2 calls the method "GPUComputePassEncoder.dispatchWorkgroups".
  1961  func (this GPUComputePassEncoder) DispatchWorkgroups2(workgroupCountX GPUSize32) (ret js.Void) {
  1962  	bindings.CallGPUComputePassEncoderDispatchWorkgroups2(
  1963  		this.ref, js.Pointer(&ret),
  1964  		uint32(workgroupCountX),
  1965  	)
  1966  
  1967  	return
  1968  }
  1969  
  1970  // TryDispatchWorkgroups2 calls the method "GPUComputePassEncoder.dispatchWorkgroups"
  1971  // in a try/catch block and returns (_, err, ok = false) when it went through
  1972  // the catch clause.
  1973  func (this GPUComputePassEncoder) TryDispatchWorkgroups2(workgroupCountX GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  1974  	ok = js.True == bindings.TryGPUComputePassEncoderDispatchWorkgroups2(
  1975  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  1976  		uint32(workgroupCountX),
  1977  	)
  1978  
  1979  	return
  1980  }
  1981  
  1982  // HasFuncDispatchWorkgroupsIndirect returns true if the method "GPUComputePassEncoder.dispatchWorkgroupsIndirect" exists.
  1983  func (this GPUComputePassEncoder) HasFuncDispatchWorkgroupsIndirect() bool {
  1984  	return js.True == bindings.HasFuncGPUComputePassEncoderDispatchWorkgroupsIndirect(
  1985  		this.ref,
  1986  	)
  1987  }
  1988  
  1989  // FuncDispatchWorkgroupsIndirect returns the method "GPUComputePassEncoder.dispatchWorkgroupsIndirect".
  1990  func (this GPUComputePassEncoder) FuncDispatchWorkgroupsIndirect() (fn js.Func[func(indirectBuffer GPUBuffer, indirectOffset GPUSize64)]) {
  1991  	bindings.FuncGPUComputePassEncoderDispatchWorkgroupsIndirect(
  1992  		this.ref, js.Pointer(&fn),
  1993  	)
  1994  	return
  1995  }
  1996  
  1997  // DispatchWorkgroupsIndirect calls the method "GPUComputePassEncoder.dispatchWorkgroupsIndirect".
  1998  func (this GPUComputePassEncoder) DispatchWorkgroupsIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void) {
  1999  	bindings.CallGPUComputePassEncoderDispatchWorkgroupsIndirect(
  2000  		this.ref, js.Pointer(&ret),
  2001  		indirectBuffer.Ref(),
  2002  		float64(indirectOffset),
  2003  	)
  2004  
  2005  	return
  2006  }
  2007  
  2008  // TryDispatchWorkgroupsIndirect calls the method "GPUComputePassEncoder.dispatchWorkgroupsIndirect"
  2009  // in a try/catch block and returns (_, err, ok = false) when it went through
  2010  // the catch clause.
  2011  func (this GPUComputePassEncoder) TryDispatchWorkgroupsIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  2012  	ok = js.True == bindings.TryGPUComputePassEncoderDispatchWorkgroupsIndirect(
  2013  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2014  		indirectBuffer.Ref(),
  2015  		float64(indirectOffset),
  2016  	)
  2017  
  2018  	return
  2019  }
  2020  
  2021  // HasFuncEnd returns true if the method "GPUComputePassEncoder.end" exists.
  2022  func (this GPUComputePassEncoder) HasFuncEnd() bool {
  2023  	return js.True == bindings.HasFuncGPUComputePassEncoderEnd(
  2024  		this.ref,
  2025  	)
  2026  }
  2027  
  2028  // FuncEnd returns the method "GPUComputePassEncoder.end".
  2029  func (this GPUComputePassEncoder) FuncEnd() (fn js.Func[func()]) {
  2030  	bindings.FuncGPUComputePassEncoderEnd(
  2031  		this.ref, js.Pointer(&fn),
  2032  	)
  2033  	return
  2034  }
  2035  
  2036  // End calls the method "GPUComputePassEncoder.end".
  2037  func (this GPUComputePassEncoder) End() (ret js.Void) {
  2038  	bindings.CallGPUComputePassEncoderEnd(
  2039  		this.ref, js.Pointer(&ret),
  2040  	)
  2041  
  2042  	return
  2043  }
  2044  
  2045  // TryEnd calls the method "GPUComputePassEncoder.end"
  2046  // in a try/catch block and returns (_, err, ok = false) when it went through
  2047  // the catch clause.
  2048  func (this GPUComputePassEncoder) TryEnd() (ret js.Void, exception js.Any, ok bool) {
  2049  	ok = js.True == bindings.TryGPUComputePassEncoderEnd(
  2050  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2051  	)
  2052  
  2053  	return
  2054  }
  2055  
  2056  // HasFuncPushDebugGroup returns true if the method "GPUComputePassEncoder.pushDebugGroup" exists.
  2057  func (this GPUComputePassEncoder) HasFuncPushDebugGroup() bool {
  2058  	return js.True == bindings.HasFuncGPUComputePassEncoderPushDebugGroup(
  2059  		this.ref,
  2060  	)
  2061  }
  2062  
  2063  // FuncPushDebugGroup returns the method "GPUComputePassEncoder.pushDebugGroup".
  2064  func (this GPUComputePassEncoder) FuncPushDebugGroup() (fn js.Func[func(groupLabel js.String)]) {
  2065  	bindings.FuncGPUComputePassEncoderPushDebugGroup(
  2066  		this.ref, js.Pointer(&fn),
  2067  	)
  2068  	return
  2069  }
  2070  
  2071  // PushDebugGroup calls the method "GPUComputePassEncoder.pushDebugGroup".
  2072  func (this GPUComputePassEncoder) PushDebugGroup(groupLabel js.String) (ret js.Void) {
  2073  	bindings.CallGPUComputePassEncoderPushDebugGroup(
  2074  		this.ref, js.Pointer(&ret),
  2075  		groupLabel.Ref(),
  2076  	)
  2077  
  2078  	return
  2079  }
  2080  
  2081  // TryPushDebugGroup calls the method "GPUComputePassEncoder.pushDebugGroup"
  2082  // in a try/catch block and returns (_, err, ok = false) when it went through
  2083  // the catch clause.
  2084  func (this GPUComputePassEncoder) TryPushDebugGroup(groupLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  2085  	ok = js.True == bindings.TryGPUComputePassEncoderPushDebugGroup(
  2086  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2087  		groupLabel.Ref(),
  2088  	)
  2089  
  2090  	return
  2091  }
  2092  
  2093  // HasFuncPopDebugGroup returns true if the method "GPUComputePassEncoder.popDebugGroup" exists.
  2094  func (this GPUComputePassEncoder) HasFuncPopDebugGroup() bool {
  2095  	return js.True == bindings.HasFuncGPUComputePassEncoderPopDebugGroup(
  2096  		this.ref,
  2097  	)
  2098  }
  2099  
  2100  // FuncPopDebugGroup returns the method "GPUComputePassEncoder.popDebugGroup".
  2101  func (this GPUComputePassEncoder) FuncPopDebugGroup() (fn js.Func[func()]) {
  2102  	bindings.FuncGPUComputePassEncoderPopDebugGroup(
  2103  		this.ref, js.Pointer(&fn),
  2104  	)
  2105  	return
  2106  }
  2107  
  2108  // PopDebugGroup calls the method "GPUComputePassEncoder.popDebugGroup".
  2109  func (this GPUComputePassEncoder) PopDebugGroup() (ret js.Void) {
  2110  	bindings.CallGPUComputePassEncoderPopDebugGroup(
  2111  		this.ref, js.Pointer(&ret),
  2112  	)
  2113  
  2114  	return
  2115  }
  2116  
  2117  // TryPopDebugGroup calls the method "GPUComputePassEncoder.popDebugGroup"
  2118  // in a try/catch block and returns (_, err, ok = false) when it went through
  2119  // the catch clause.
  2120  func (this GPUComputePassEncoder) TryPopDebugGroup() (ret js.Void, exception js.Any, ok bool) {
  2121  	ok = js.True == bindings.TryGPUComputePassEncoderPopDebugGroup(
  2122  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2123  	)
  2124  
  2125  	return
  2126  }
  2127  
  2128  // HasFuncInsertDebugMarker returns true if the method "GPUComputePassEncoder.insertDebugMarker" exists.
  2129  func (this GPUComputePassEncoder) HasFuncInsertDebugMarker() bool {
  2130  	return js.True == bindings.HasFuncGPUComputePassEncoderInsertDebugMarker(
  2131  		this.ref,
  2132  	)
  2133  }
  2134  
  2135  // FuncInsertDebugMarker returns the method "GPUComputePassEncoder.insertDebugMarker".
  2136  func (this GPUComputePassEncoder) FuncInsertDebugMarker() (fn js.Func[func(markerLabel js.String)]) {
  2137  	bindings.FuncGPUComputePassEncoderInsertDebugMarker(
  2138  		this.ref, js.Pointer(&fn),
  2139  	)
  2140  	return
  2141  }
  2142  
  2143  // InsertDebugMarker calls the method "GPUComputePassEncoder.insertDebugMarker".
  2144  func (this GPUComputePassEncoder) InsertDebugMarker(markerLabel js.String) (ret js.Void) {
  2145  	bindings.CallGPUComputePassEncoderInsertDebugMarker(
  2146  		this.ref, js.Pointer(&ret),
  2147  		markerLabel.Ref(),
  2148  	)
  2149  
  2150  	return
  2151  }
  2152  
  2153  // TryInsertDebugMarker calls the method "GPUComputePassEncoder.insertDebugMarker"
  2154  // in a try/catch block and returns (_, err, ok = false) when it went through
  2155  // the catch clause.
  2156  func (this GPUComputePassEncoder) TryInsertDebugMarker(markerLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  2157  	ok = js.True == bindings.TryGPUComputePassEncoderInsertDebugMarker(
  2158  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2159  		markerLabel.Ref(),
  2160  	)
  2161  
  2162  	return
  2163  }
  2164  
  2165  // HasFuncSetBindGroup returns true if the method "GPUComputePassEncoder.setBindGroup" exists.
  2166  func (this GPUComputePassEncoder) HasFuncSetBindGroup() bool {
  2167  	return js.True == bindings.HasFuncGPUComputePassEncoderSetBindGroup(
  2168  		this.ref,
  2169  	)
  2170  }
  2171  
  2172  // FuncSetBindGroup returns the method "GPUComputePassEncoder.setBindGroup".
  2173  func (this GPUComputePassEncoder) FuncSetBindGroup() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset])]) {
  2174  	bindings.FuncGPUComputePassEncoderSetBindGroup(
  2175  		this.ref, js.Pointer(&fn),
  2176  	)
  2177  	return
  2178  }
  2179  
  2180  // SetBindGroup calls the method "GPUComputePassEncoder.setBindGroup".
  2181  func (this GPUComputePassEncoder) SetBindGroup(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset]) (ret js.Void) {
  2182  	bindings.CallGPUComputePassEncoderSetBindGroup(
  2183  		this.ref, js.Pointer(&ret),
  2184  		uint32(index),
  2185  		bindGroup.Ref(),
  2186  		dynamicOffsets.Ref(),
  2187  	)
  2188  
  2189  	return
  2190  }
  2191  
  2192  // TrySetBindGroup calls the method "GPUComputePassEncoder.setBindGroup"
  2193  // in a try/catch block and returns (_, err, ok = false) when it went through
  2194  // the catch clause.
  2195  func (this GPUComputePassEncoder) TrySetBindGroup(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset]) (ret js.Void, exception js.Any, ok bool) {
  2196  	ok = js.True == bindings.TryGPUComputePassEncoderSetBindGroup(
  2197  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2198  		uint32(index),
  2199  		bindGroup.Ref(),
  2200  		dynamicOffsets.Ref(),
  2201  	)
  2202  
  2203  	return
  2204  }
  2205  
  2206  // HasFuncSetBindGroup1 returns true if the method "GPUComputePassEncoder.setBindGroup" exists.
  2207  func (this GPUComputePassEncoder) HasFuncSetBindGroup1() bool {
  2208  	return js.True == bindings.HasFuncGPUComputePassEncoderSetBindGroup1(
  2209  		this.ref,
  2210  	)
  2211  }
  2212  
  2213  // FuncSetBindGroup1 returns the method "GPUComputePassEncoder.setBindGroup".
  2214  func (this GPUComputePassEncoder) FuncSetBindGroup1() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup)]) {
  2215  	bindings.FuncGPUComputePassEncoderSetBindGroup1(
  2216  		this.ref, js.Pointer(&fn),
  2217  	)
  2218  	return
  2219  }
  2220  
  2221  // SetBindGroup1 calls the method "GPUComputePassEncoder.setBindGroup".
  2222  func (this GPUComputePassEncoder) SetBindGroup1(index GPUIndex32, bindGroup GPUBindGroup) (ret js.Void) {
  2223  	bindings.CallGPUComputePassEncoderSetBindGroup1(
  2224  		this.ref, js.Pointer(&ret),
  2225  		uint32(index),
  2226  		bindGroup.Ref(),
  2227  	)
  2228  
  2229  	return
  2230  }
  2231  
  2232  // TrySetBindGroup1 calls the method "GPUComputePassEncoder.setBindGroup"
  2233  // in a try/catch block and returns (_, err, ok = false) when it went through
  2234  // the catch clause.
  2235  func (this GPUComputePassEncoder) TrySetBindGroup1(index GPUIndex32, bindGroup GPUBindGroup) (ret js.Void, exception js.Any, ok bool) {
  2236  	ok = js.True == bindings.TryGPUComputePassEncoderSetBindGroup1(
  2237  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2238  		uint32(index),
  2239  		bindGroup.Ref(),
  2240  	)
  2241  
  2242  	return
  2243  }
  2244  
  2245  // HasFuncSetBindGroup2 returns true if the method "GPUComputePassEncoder.setBindGroup" exists.
  2246  func (this GPUComputePassEncoder) HasFuncSetBindGroup2() bool {
  2247  	return js.True == bindings.HasFuncGPUComputePassEncoderSetBindGroup2(
  2248  		this.ref,
  2249  	)
  2250  }
  2251  
  2252  // FuncSetBindGroup2 returns the method "GPUComputePassEncoder.setBindGroup".
  2253  func (this GPUComputePassEncoder) FuncSetBindGroup2() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32)]) {
  2254  	bindings.FuncGPUComputePassEncoderSetBindGroup2(
  2255  		this.ref, js.Pointer(&fn),
  2256  	)
  2257  	return
  2258  }
  2259  
  2260  // SetBindGroup2 calls the method "GPUComputePassEncoder.setBindGroup".
  2261  func (this GPUComputePassEncoder) SetBindGroup2(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32) (ret js.Void) {
  2262  	bindings.CallGPUComputePassEncoderSetBindGroup2(
  2263  		this.ref, js.Pointer(&ret),
  2264  		uint32(index),
  2265  		bindGroup.Ref(),
  2266  		dynamicOffsetsData.Ref(),
  2267  		float64(dynamicOffsetsDataStart),
  2268  		uint32(dynamicOffsetsDataLength),
  2269  	)
  2270  
  2271  	return
  2272  }
  2273  
  2274  // TrySetBindGroup2 calls the method "GPUComputePassEncoder.setBindGroup"
  2275  // in a try/catch block and returns (_, err, ok = false) when it went through
  2276  // the catch clause.
  2277  func (this GPUComputePassEncoder) TrySetBindGroup2(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  2278  	ok = js.True == bindings.TryGPUComputePassEncoderSetBindGroup2(
  2279  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2280  		uint32(index),
  2281  		bindGroup.Ref(),
  2282  		dynamicOffsetsData.Ref(),
  2283  		float64(dynamicOffsetsDataStart),
  2284  		uint32(dynamicOffsetsDataLength),
  2285  	)
  2286  
  2287  	return
  2288  }
  2289  
  2290  type GPUComputePassTimestampWrites struct {
  2291  	// QuerySet is "GPUComputePassTimestampWrites.querySet"
  2292  	//
  2293  	// Required
  2294  	QuerySet GPUQuerySet
  2295  	// BeginningOfPassWriteIndex is "GPUComputePassTimestampWrites.beginningOfPassWriteIndex"
  2296  	//
  2297  	// Optional
  2298  	//
  2299  	// NOTE: FFI_USE_BeginningOfPassWriteIndex MUST be set to true to make this field effective.
  2300  	BeginningOfPassWriteIndex GPUSize32
  2301  	// EndOfPassWriteIndex is "GPUComputePassTimestampWrites.endOfPassWriteIndex"
  2302  	//
  2303  	// Optional
  2304  	//
  2305  	// NOTE: FFI_USE_EndOfPassWriteIndex MUST be set to true to make this field effective.
  2306  	EndOfPassWriteIndex GPUSize32
  2307  
  2308  	FFI_USE_BeginningOfPassWriteIndex bool // for BeginningOfPassWriteIndex.
  2309  	FFI_USE_EndOfPassWriteIndex       bool // for EndOfPassWriteIndex.
  2310  
  2311  	FFI_USE bool
  2312  }
  2313  
  2314  // FromRef calls UpdateFrom and returns a GPUComputePassTimestampWrites with all fields set.
  2315  func (p GPUComputePassTimestampWrites) FromRef(ref js.Ref) GPUComputePassTimestampWrites {
  2316  	p.UpdateFrom(ref)
  2317  	return p
  2318  }
  2319  
  2320  // New creates a new GPUComputePassTimestampWrites in the application heap.
  2321  func (p GPUComputePassTimestampWrites) New() js.Ref {
  2322  	return bindings.GPUComputePassTimestampWritesJSLoad(
  2323  		js.Pointer(&p), js.True, 0,
  2324  	)
  2325  }
  2326  
  2327  // UpdateFrom copies value of all fields of the heap object to p.
  2328  func (p *GPUComputePassTimestampWrites) UpdateFrom(ref js.Ref) {
  2329  	bindings.GPUComputePassTimestampWritesJSStore(
  2330  		js.Pointer(p), ref,
  2331  	)
  2332  }
  2333  
  2334  // Update writes all fields of the p to the heap object referenced by ref.
  2335  func (p *GPUComputePassTimestampWrites) Update(ref js.Ref) {
  2336  	bindings.GPUComputePassTimestampWritesJSLoad(
  2337  		js.Pointer(p), js.False, ref,
  2338  	)
  2339  }
  2340  
  2341  // FreeMembers frees fields with heap reference, if recursive is true
  2342  // free all heap references reachable from p.
  2343  func (p *GPUComputePassTimestampWrites) FreeMembers(recursive bool) {
  2344  	js.Free(
  2345  		p.QuerySet.Ref(),
  2346  	)
  2347  	p.QuerySet = p.QuerySet.FromRef(js.Undefined)
  2348  }
  2349  
  2350  type GPUComputePassDescriptor struct {
  2351  	// TimestampWrites is "GPUComputePassDescriptor.timestampWrites"
  2352  	//
  2353  	// Optional
  2354  	//
  2355  	// NOTE: TimestampWrites.FFI_USE MUST be set to true to get TimestampWrites used.
  2356  	TimestampWrites GPUComputePassTimestampWrites
  2357  	// Label is "GPUComputePassDescriptor.label"
  2358  	//
  2359  	// Optional, defaults to "".
  2360  	Label js.String
  2361  
  2362  	FFI_USE bool
  2363  }
  2364  
  2365  // FromRef calls UpdateFrom and returns a GPUComputePassDescriptor with all fields set.
  2366  func (p GPUComputePassDescriptor) FromRef(ref js.Ref) GPUComputePassDescriptor {
  2367  	p.UpdateFrom(ref)
  2368  	return p
  2369  }
  2370  
  2371  // New creates a new GPUComputePassDescriptor in the application heap.
  2372  func (p GPUComputePassDescriptor) New() js.Ref {
  2373  	return bindings.GPUComputePassDescriptorJSLoad(
  2374  		js.Pointer(&p), js.True, 0,
  2375  	)
  2376  }
  2377  
  2378  // UpdateFrom copies value of all fields of the heap object to p.
  2379  func (p *GPUComputePassDescriptor) UpdateFrom(ref js.Ref) {
  2380  	bindings.GPUComputePassDescriptorJSStore(
  2381  		js.Pointer(p), ref,
  2382  	)
  2383  }
  2384  
  2385  // Update writes all fields of the p to the heap object referenced by ref.
  2386  func (p *GPUComputePassDescriptor) Update(ref js.Ref) {
  2387  	bindings.GPUComputePassDescriptorJSLoad(
  2388  		js.Pointer(p), js.False, ref,
  2389  	)
  2390  }
  2391  
  2392  // FreeMembers frees fields with heap reference, if recursive is true
  2393  // free all heap references reachable from p.
  2394  func (p *GPUComputePassDescriptor) FreeMembers(recursive bool) {
  2395  	js.Free(
  2396  		p.Label.Ref(),
  2397  	)
  2398  	p.Label = p.Label.FromRef(js.Undefined)
  2399  	if recursive {
  2400  		p.TimestampWrites.FreeMembers(true)
  2401  	}
  2402  }
  2403  
  2404  type GPUImageCopyBuffer struct {
  2405  	// Buffer is "GPUImageCopyBuffer.buffer"
  2406  	//
  2407  	// Required
  2408  	Buffer GPUBuffer
  2409  	// Offset is "GPUImageCopyBuffer.offset"
  2410  	//
  2411  	// Optional, defaults to 0.
  2412  	//
  2413  	// NOTE: FFI_USE_Offset MUST be set to true to make this field effective.
  2414  	Offset GPUSize64
  2415  	// BytesPerRow is "GPUImageCopyBuffer.bytesPerRow"
  2416  	//
  2417  	// Optional
  2418  	//
  2419  	// NOTE: FFI_USE_BytesPerRow MUST be set to true to make this field effective.
  2420  	BytesPerRow GPUSize32
  2421  	// RowsPerImage is "GPUImageCopyBuffer.rowsPerImage"
  2422  	//
  2423  	// Optional
  2424  	//
  2425  	// NOTE: FFI_USE_RowsPerImage MUST be set to true to make this field effective.
  2426  	RowsPerImage GPUSize32
  2427  
  2428  	FFI_USE_Offset       bool // for Offset.
  2429  	FFI_USE_BytesPerRow  bool // for BytesPerRow.
  2430  	FFI_USE_RowsPerImage bool // for RowsPerImage.
  2431  
  2432  	FFI_USE bool
  2433  }
  2434  
  2435  // FromRef calls UpdateFrom and returns a GPUImageCopyBuffer with all fields set.
  2436  func (p GPUImageCopyBuffer) FromRef(ref js.Ref) GPUImageCopyBuffer {
  2437  	p.UpdateFrom(ref)
  2438  	return p
  2439  }
  2440  
  2441  // New creates a new GPUImageCopyBuffer in the application heap.
  2442  func (p GPUImageCopyBuffer) New() js.Ref {
  2443  	return bindings.GPUImageCopyBufferJSLoad(
  2444  		js.Pointer(&p), js.True, 0,
  2445  	)
  2446  }
  2447  
  2448  // UpdateFrom copies value of all fields of the heap object to p.
  2449  func (p *GPUImageCopyBuffer) UpdateFrom(ref js.Ref) {
  2450  	bindings.GPUImageCopyBufferJSStore(
  2451  		js.Pointer(p), ref,
  2452  	)
  2453  }
  2454  
  2455  // Update writes all fields of the p to the heap object referenced by ref.
  2456  func (p *GPUImageCopyBuffer) Update(ref js.Ref) {
  2457  	bindings.GPUImageCopyBufferJSLoad(
  2458  		js.Pointer(p), js.False, ref,
  2459  	)
  2460  }
  2461  
  2462  // FreeMembers frees fields with heap reference, if recursive is true
  2463  // free all heap references reachable from p.
  2464  func (p *GPUImageCopyBuffer) FreeMembers(recursive bool) {
  2465  	js.Free(
  2466  		p.Buffer.Ref(),
  2467  	)
  2468  	p.Buffer = p.Buffer.FromRef(js.Undefined)
  2469  }
  2470  
  2471  type GPUOrigin3DDict struct {
  2472  	// X is "GPUOrigin3DDict.x"
  2473  	//
  2474  	// Optional, defaults to 0.
  2475  	//
  2476  	// NOTE: FFI_USE_X MUST be set to true to make this field effective.
  2477  	X GPUIntegerCoordinate
  2478  	// Y is "GPUOrigin3DDict.y"
  2479  	//
  2480  	// Optional, defaults to 0.
  2481  	//
  2482  	// NOTE: FFI_USE_Y MUST be set to true to make this field effective.
  2483  	Y GPUIntegerCoordinate
  2484  	// Z is "GPUOrigin3DDict.z"
  2485  	//
  2486  	// Optional, defaults to 0.
  2487  	//
  2488  	// NOTE: FFI_USE_Z MUST be set to true to make this field effective.
  2489  	Z GPUIntegerCoordinate
  2490  
  2491  	FFI_USE_X bool // for X.
  2492  	FFI_USE_Y bool // for Y.
  2493  	FFI_USE_Z bool // for Z.
  2494  
  2495  	FFI_USE bool
  2496  }
  2497  
  2498  // FromRef calls UpdateFrom and returns a GPUOrigin3DDict with all fields set.
  2499  func (p GPUOrigin3DDict) FromRef(ref js.Ref) GPUOrigin3DDict {
  2500  	p.UpdateFrom(ref)
  2501  	return p
  2502  }
  2503  
  2504  // New creates a new GPUOrigin3DDict in the application heap.
  2505  func (p GPUOrigin3DDict) New() js.Ref {
  2506  	return bindings.GPUOrigin3DDictJSLoad(
  2507  		js.Pointer(&p), js.True, 0,
  2508  	)
  2509  }
  2510  
  2511  // UpdateFrom copies value of all fields of the heap object to p.
  2512  func (p *GPUOrigin3DDict) UpdateFrom(ref js.Ref) {
  2513  	bindings.GPUOrigin3DDictJSStore(
  2514  		js.Pointer(p), ref,
  2515  	)
  2516  }
  2517  
  2518  // Update writes all fields of the p to the heap object referenced by ref.
  2519  func (p *GPUOrigin3DDict) Update(ref js.Ref) {
  2520  	bindings.GPUOrigin3DDictJSLoad(
  2521  		js.Pointer(p), js.False, ref,
  2522  	)
  2523  }
  2524  
  2525  // FreeMembers frees fields with heap reference, if recursive is true
  2526  // free all heap references reachable from p.
  2527  func (p *GPUOrigin3DDict) FreeMembers(recursive bool) {
  2528  }
  2529  
  2530  type OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict struct {
  2531  	ref js.Ref
  2532  }
  2533  
  2534  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict) Ref() js.Ref {
  2535  	return x.ref
  2536  }
  2537  
  2538  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict) Free() {
  2539  	x.ref.Free()
  2540  }
  2541  
  2542  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict) FromRef(ref js.Ref) OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict {
  2543  	return OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict{
  2544  		ref: ref,
  2545  	}
  2546  }
  2547  
  2548  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict) ArrayGPUIntegerCoordinate() js.Array[GPUIntegerCoordinate] {
  2549  	return js.Array[GPUIntegerCoordinate]{}.FromRef(x.ref)
  2550  }
  2551  
  2552  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict) GPUOrigin3DDict() GPUOrigin3DDict {
  2553  	var ret GPUOrigin3DDict
  2554  	ret.UpdateFrom(x.ref)
  2555  	return ret
  2556  }
  2557  
  2558  type GPUOrigin3D = OneOf_ArrayGPUIntegerCoordinate_GPUOrigin3DDict
  2559  
  2560  type GPUImageCopyTexture struct {
  2561  	// Texture is "GPUImageCopyTexture.texture"
  2562  	//
  2563  	// Required
  2564  	Texture GPUTexture
  2565  	// MipLevel is "GPUImageCopyTexture.mipLevel"
  2566  	//
  2567  	// Optional, defaults to 0.
  2568  	//
  2569  	// NOTE: FFI_USE_MipLevel MUST be set to true to make this field effective.
  2570  	MipLevel GPUIntegerCoordinate
  2571  	// Origin is "GPUImageCopyTexture.origin"
  2572  	//
  2573  	// Optional, defaults to {}.
  2574  	Origin GPUOrigin3D
  2575  	// Aspect is "GPUImageCopyTexture.aspect"
  2576  	//
  2577  	// Optional, defaults to "all".
  2578  	Aspect GPUTextureAspect
  2579  
  2580  	FFI_USE_MipLevel bool // for MipLevel.
  2581  
  2582  	FFI_USE bool
  2583  }
  2584  
  2585  // FromRef calls UpdateFrom and returns a GPUImageCopyTexture with all fields set.
  2586  func (p GPUImageCopyTexture) FromRef(ref js.Ref) GPUImageCopyTexture {
  2587  	p.UpdateFrom(ref)
  2588  	return p
  2589  }
  2590  
  2591  // New creates a new GPUImageCopyTexture in the application heap.
  2592  func (p GPUImageCopyTexture) New() js.Ref {
  2593  	return bindings.GPUImageCopyTextureJSLoad(
  2594  		js.Pointer(&p), js.True, 0,
  2595  	)
  2596  }
  2597  
  2598  // UpdateFrom copies value of all fields of the heap object to p.
  2599  func (p *GPUImageCopyTexture) UpdateFrom(ref js.Ref) {
  2600  	bindings.GPUImageCopyTextureJSStore(
  2601  		js.Pointer(p), ref,
  2602  	)
  2603  }
  2604  
  2605  // Update writes all fields of the p to the heap object referenced by ref.
  2606  func (p *GPUImageCopyTexture) Update(ref js.Ref) {
  2607  	bindings.GPUImageCopyTextureJSLoad(
  2608  		js.Pointer(p), js.False, ref,
  2609  	)
  2610  }
  2611  
  2612  // FreeMembers frees fields with heap reference, if recursive is true
  2613  // free all heap references reachable from p.
  2614  func (p *GPUImageCopyTexture) FreeMembers(recursive bool) {
  2615  	js.Free(
  2616  		p.Texture.Ref(),
  2617  		p.Origin.Ref(),
  2618  	)
  2619  	p.Texture = p.Texture.FromRef(js.Undefined)
  2620  	p.Origin = p.Origin.FromRef(js.Undefined)
  2621  }
  2622  
  2623  type GPUCommandBuffer struct {
  2624  	ref js.Ref
  2625  }
  2626  
  2627  func (this GPUCommandBuffer) Once() GPUCommandBuffer {
  2628  	this.ref.Once()
  2629  	return this
  2630  }
  2631  
  2632  func (this GPUCommandBuffer) Ref() js.Ref {
  2633  	return this.ref
  2634  }
  2635  
  2636  func (this GPUCommandBuffer) FromRef(ref js.Ref) GPUCommandBuffer {
  2637  	this.ref = ref
  2638  	return this
  2639  }
  2640  
  2641  func (this GPUCommandBuffer) Free() {
  2642  	this.ref.Free()
  2643  }
  2644  
  2645  // Label returns the value of property "GPUCommandBuffer.label".
  2646  //
  2647  // It returns ok=false if there is no such property.
  2648  func (this GPUCommandBuffer) Label() (ret js.String, ok bool) {
  2649  	ok = js.True == bindings.GetGPUCommandBufferLabel(
  2650  		this.ref, js.Pointer(&ret),
  2651  	)
  2652  	return
  2653  }
  2654  
  2655  // SetLabel sets the value of property "GPUCommandBuffer.label" to val.
  2656  //
  2657  // It returns false if the property cannot be set.
  2658  func (this GPUCommandBuffer) SetLabel(val js.String) bool {
  2659  	return js.True == bindings.SetGPUCommandBufferLabel(
  2660  		this.ref,
  2661  		val.Ref(),
  2662  	)
  2663  }
  2664  
  2665  type GPUCommandBufferDescriptor struct {
  2666  	// Label is "GPUCommandBufferDescriptor.label"
  2667  	//
  2668  	// Optional, defaults to "".
  2669  	Label js.String
  2670  
  2671  	FFI_USE bool
  2672  }
  2673  
  2674  // FromRef calls UpdateFrom and returns a GPUCommandBufferDescriptor with all fields set.
  2675  func (p GPUCommandBufferDescriptor) FromRef(ref js.Ref) GPUCommandBufferDescriptor {
  2676  	p.UpdateFrom(ref)
  2677  	return p
  2678  }
  2679  
  2680  // New creates a new GPUCommandBufferDescriptor in the application heap.
  2681  func (p GPUCommandBufferDescriptor) New() js.Ref {
  2682  	return bindings.GPUCommandBufferDescriptorJSLoad(
  2683  		js.Pointer(&p), js.True, 0,
  2684  	)
  2685  }
  2686  
  2687  // UpdateFrom copies value of all fields of the heap object to p.
  2688  func (p *GPUCommandBufferDescriptor) UpdateFrom(ref js.Ref) {
  2689  	bindings.GPUCommandBufferDescriptorJSStore(
  2690  		js.Pointer(p), ref,
  2691  	)
  2692  }
  2693  
  2694  // Update writes all fields of the p to the heap object referenced by ref.
  2695  func (p *GPUCommandBufferDescriptor) Update(ref js.Ref) {
  2696  	bindings.GPUCommandBufferDescriptorJSLoad(
  2697  		js.Pointer(p), js.False, ref,
  2698  	)
  2699  }
  2700  
  2701  // FreeMembers frees fields with heap reference, if recursive is true
  2702  // free all heap references reachable from p.
  2703  func (p *GPUCommandBufferDescriptor) FreeMembers(recursive bool) {
  2704  	js.Free(
  2705  		p.Label.Ref(),
  2706  	)
  2707  	p.Label = p.Label.FromRef(js.Undefined)
  2708  }
  2709  
  2710  type GPUCommandEncoder struct {
  2711  	ref js.Ref
  2712  }
  2713  
  2714  func (this GPUCommandEncoder) Once() GPUCommandEncoder {
  2715  	this.ref.Once()
  2716  	return this
  2717  }
  2718  
  2719  func (this GPUCommandEncoder) Ref() js.Ref {
  2720  	return this.ref
  2721  }
  2722  
  2723  func (this GPUCommandEncoder) FromRef(ref js.Ref) GPUCommandEncoder {
  2724  	this.ref = ref
  2725  	return this
  2726  }
  2727  
  2728  func (this GPUCommandEncoder) Free() {
  2729  	this.ref.Free()
  2730  }
  2731  
  2732  // Label returns the value of property "GPUCommandEncoder.label".
  2733  //
  2734  // It returns ok=false if there is no such property.
  2735  func (this GPUCommandEncoder) Label() (ret js.String, ok bool) {
  2736  	ok = js.True == bindings.GetGPUCommandEncoderLabel(
  2737  		this.ref, js.Pointer(&ret),
  2738  	)
  2739  	return
  2740  }
  2741  
  2742  // SetLabel sets the value of property "GPUCommandEncoder.label" to val.
  2743  //
  2744  // It returns false if the property cannot be set.
  2745  func (this GPUCommandEncoder) SetLabel(val js.String) bool {
  2746  	return js.True == bindings.SetGPUCommandEncoderLabel(
  2747  		this.ref,
  2748  		val.Ref(),
  2749  	)
  2750  }
  2751  
  2752  // HasFuncBeginRenderPass returns true if the method "GPUCommandEncoder.beginRenderPass" exists.
  2753  func (this GPUCommandEncoder) HasFuncBeginRenderPass() bool {
  2754  	return js.True == bindings.HasFuncGPUCommandEncoderBeginRenderPass(
  2755  		this.ref,
  2756  	)
  2757  }
  2758  
  2759  // FuncBeginRenderPass returns the method "GPUCommandEncoder.beginRenderPass".
  2760  func (this GPUCommandEncoder) FuncBeginRenderPass() (fn js.Func[func(descriptor GPURenderPassDescriptor) GPURenderPassEncoder]) {
  2761  	bindings.FuncGPUCommandEncoderBeginRenderPass(
  2762  		this.ref, js.Pointer(&fn),
  2763  	)
  2764  	return
  2765  }
  2766  
  2767  // BeginRenderPass calls the method "GPUCommandEncoder.beginRenderPass".
  2768  func (this GPUCommandEncoder) BeginRenderPass(descriptor GPURenderPassDescriptor) (ret GPURenderPassEncoder) {
  2769  	bindings.CallGPUCommandEncoderBeginRenderPass(
  2770  		this.ref, js.Pointer(&ret),
  2771  		js.Pointer(&descriptor),
  2772  	)
  2773  
  2774  	return
  2775  }
  2776  
  2777  // TryBeginRenderPass calls the method "GPUCommandEncoder.beginRenderPass"
  2778  // in a try/catch block and returns (_, err, ok = false) when it went through
  2779  // the catch clause.
  2780  func (this GPUCommandEncoder) TryBeginRenderPass(descriptor GPURenderPassDescriptor) (ret GPURenderPassEncoder, exception js.Any, ok bool) {
  2781  	ok = js.True == bindings.TryGPUCommandEncoderBeginRenderPass(
  2782  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2783  		js.Pointer(&descriptor),
  2784  	)
  2785  
  2786  	return
  2787  }
  2788  
  2789  // HasFuncBeginComputePass returns true if the method "GPUCommandEncoder.beginComputePass" exists.
  2790  func (this GPUCommandEncoder) HasFuncBeginComputePass() bool {
  2791  	return js.True == bindings.HasFuncGPUCommandEncoderBeginComputePass(
  2792  		this.ref,
  2793  	)
  2794  }
  2795  
  2796  // FuncBeginComputePass returns the method "GPUCommandEncoder.beginComputePass".
  2797  func (this GPUCommandEncoder) FuncBeginComputePass() (fn js.Func[func(descriptor GPUComputePassDescriptor) GPUComputePassEncoder]) {
  2798  	bindings.FuncGPUCommandEncoderBeginComputePass(
  2799  		this.ref, js.Pointer(&fn),
  2800  	)
  2801  	return
  2802  }
  2803  
  2804  // BeginComputePass calls the method "GPUCommandEncoder.beginComputePass".
  2805  func (this GPUCommandEncoder) BeginComputePass(descriptor GPUComputePassDescriptor) (ret GPUComputePassEncoder) {
  2806  	bindings.CallGPUCommandEncoderBeginComputePass(
  2807  		this.ref, js.Pointer(&ret),
  2808  		js.Pointer(&descriptor),
  2809  	)
  2810  
  2811  	return
  2812  }
  2813  
  2814  // TryBeginComputePass calls the method "GPUCommandEncoder.beginComputePass"
  2815  // in a try/catch block and returns (_, err, ok = false) when it went through
  2816  // the catch clause.
  2817  func (this GPUCommandEncoder) TryBeginComputePass(descriptor GPUComputePassDescriptor) (ret GPUComputePassEncoder, exception js.Any, ok bool) {
  2818  	ok = js.True == bindings.TryGPUCommandEncoderBeginComputePass(
  2819  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2820  		js.Pointer(&descriptor),
  2821  	)
  2822  
  2823  	return
  2824  }
  2825  
  2826  // HasFuncBeginComputePass1 returns true if the method "GPUCommandEncoder.beginComputePass" exists.
  2827  func (this GPUCommandEncoder) HasFuncBeginComputePass1() bool {
  2828  	return js.True == bindings.HasFuncGPUCommandEncoderBeginComputePass1(
  2829  		this.ref,
  2830  	)
  2831  }
  2832  
  2833  // FuncBeginComputePass1 returns the method "GPUCommandEncoder.beginComputePass".
  2834  func (this GPUCommandEncoder) FuncBeginComputePass1() (fn js.Func[func() GPUComputePassEncoder]) {
  2835  	bindings.FuncGPUCommandEncoderBeginComputePass1(
  2836  		this.ref, js.Pointer(&fn),
  2837  	)
  2838  	return
  2839  }
  2840  
  2841  // BeginComputePass1 calls the method "GPUCommandEncoder.beginComputePass".
  2842  func (this GPUCommandEncoder) BeginComputePass1() (ret GPUComputePassEncoder) {
  2843  	bindings.CallGPUCommandEncoderBeginComputePass1(
  2844  		this.ref, js.Pointer(&ret),
  2845  	)
  2846  
  2847  	return
  2848  }
  2849  
  2850  // TryBeginComputePass1 calls the method "GPUCommandEncoder.beginComputePass"
  2851  // in a try/catch block and returns (_, err, ok = false) when it went through
  2852  // the catch clause.
  2853  func (this GPUCommandEncoder) TryBeginComputePass1() (ret GPUComputePassEncoder, exception js.Any, ok bool) {
  2854  	ok = js.True == bindings.TryGPUCommandEncoderBeginComputePass1(
  2855  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2856  	)
  2857  
  2858  	return
  2859  }
  2860  
  2861  // HasFuncCopyBufferToBuffer returns true if the method "GPUCommandEncoder.copyBufferToBuffer" exists.
  2862  func (this GPUCommandEncoder) HasFuncCopyBufferToBuffer() bool {
  2863  	return js.True == bindings.HasFuncGPUCommandEncoderCopyBufferToBuffer(
  2864  		this.ref,
  2865  	)
  2866  }
  2867  
  2868  // FuncCopyBufferToBuffer returns the method "GPUCommandEncoder.copyBufferToBuffer".
  2869  func (this GPUCommandEncoder) FuncCopyBufferToBuffer() (fn js.Func[func(source GPUBuffer, sourceOffset GPUSize64, destination GPUBuffer, destinationOffset GPUSize64, size GPUSize64)]) {
  2870  	bindings.FuncGPUCommandEncoderCopyBufferToBuffer(
  2871  		this.ref, js.Pointer(&fn),
  2872  	)
  2873  	return
  2874  }
  2875  
  2876  // CopyBufferToBuffer calls the method "GPUCommandEncoder.copyBufferToBuffer".
  2877  func (this GPUCommandEncoder) CopyBufferToBuffer(source GPUBuffer, sourceOffset GPUSize64, destination GPUBuffer, destinationOffset GPUSize64, size GPUSize64) (ret js.Void) {
  2878  	bindings.CallGPUCommandEncoderCopyBufferToBuffer(
  2879  		this.ref, js.Pointer(&ret),
  2880  		source.Ref(),
  2881  		float64(sourceOffset),
  2882  		destination.Ref(),
  2883  		float64(destinationOffset),
  2884  		float64(size),
  2885  	)
  2886  
  2887  	return
  2888  }
  2889  
  2890  // TryCopyBufferToBuffer calls the method "GPUCommandEncoder.copyBufferToBuffer"
  2891  // in a try/catch block and returns (_, err, ok = false) when it went through
  2892  // the catch clause.
  2893  func (this GPUCommandEncoder) TryCopyBufferToBuffer(source GPUBuffer, sourceOffset GPUSize64, destination GPUBuffer, destinationOffset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  2894  	ok = js.True == bindings.TryGPUCommandEncoderCopyBufferToBuffer(
  2895  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2896  		source.Ref(),
  2897  		float64(sourceOffset),
  2898  		destination.Ref(),
  2899  		float64(destinationOffset),
  2900  		float64(size),
  2901  	)
  2902  
  2903  	return
  2904  }
  2905  
  2906  // HasFuncCopyBufferToTexture returns true if the method "GPUCommandEncoder.copyBufferToTexture" exists.
  2907  func (this GPUCommandEncoder) HasFuncCopyBufferToTexture() bool {
  2908  	return js.True == bindings.HasFuncGPUCommandEncoderCopyBufferToTexture(
  2909  		this.ref,
  2910  	)
  2911  }
  2912  
  2913  // FuncCopyBufferToTexture returns the method "GPUCommandEncoder.copyBufferToTexture".
  2914  func (this GPUCommandEncoder) FuncCopyBufferToTexture() (fn js.Func[func(source GPUImageCopyBuffer, destination GPUImageCopyTexture, copySize GPUExtent3D)]) {
  2915  	bindings.FuncGPUCommandEncoderCopyBufferToTexture(
  2916  		this.ref, js.Pointer(&fn),
  2917  	)
  2918  	return
  2919  }
  2920  
  2921  // CopyBufferToTexture calls the method "GPUCommandEncoder.copyBufferToTexture".
  2922  func (this GPUCommandEncoder) CopyBufferToTexture(source GPUImageCopyBuffer, destination GPUImageCopyTexture, copySize GPUExtent3D) (ret js.Void) {
  2923  	bindings.CallGPUCommandEncoderCopyBufferToTexture(
  2924  		this.ref, js.Pointer(&ret),
  2925  		js.Pointer(&source),
  2926  		js.Pointer(&destination),
  2927  		copySize.Ref(),
  2928  	)
  2929  
  2930  	return
  2931  }
  2932  
  2933  // TryCopyBufferToTexture calls the method "GPUCommandEncoder.copyBufferToTexture"
  2934  // in a try/catch block and returns (_, err, ok = false) when it went through
  2935  // the catch clause.
  2936  func (this GPUCommandEncoder) TryCopyBufferToTexture(source GPUImageCopyBuffer, destination GPUImageCopyTexture, copySize GPUExtent3D) (ret js.Void, exception js.Any, ok bool) {
  2937  	ok = js.True == bindings.TryGPUCommandEncoderCopyBufferToTexture(
  2938  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2939  		js.Pointer(&source),
  2940  		js.Pointer(&destination),
  2941  		copySize.Ref(),
  2942  	)
  2943  
  2944  	return
  2945  }
  2946  
  2947  // HasFuncCopyTextureToBuffer returns true if the method "GPUCommandEncoder.copyTextureToBuffer" exists.
  2948  func (this GPUCommandEncoder) HasFuncCopyTextureToBuffer() bool {
  2949  	return js.True == bindings.HasFuncGPUCommandEncoderCopyTextureToBuffer(
  2950  		this.ref,
  2951  	)
  2952  }
  2953  
  2954  // FuncCopyTextureToBuffer returns the method "GPUCommandEncoder.copyTextureToBuffer".
  2955  func (this GPUCommandEncoder) FuncCopyTextureToBuffer() (fn js.Func[func(source GPUImageCopyTexture, destination GPUImageCopyBuffer, copySize GPUExtent3D)]) {
  2956  	bindings.FuncGPUCommandEncoderCopyTextureToBuffer(
  2957  		this.ref, js.Pointer(&fn),
  2958  	)
  2959  	return
  2960  }
  2961  
  2962  // CopyTextureToBuffer calls the method "GPUCommandEncoder.copyTextureToBuffer".
  2963  func (this GPUCommandEncoder) CopyTextureToBuffer(source GPUImageCopyTexture, destination GPUImageCopyBuffer, copySize GPUExtent3D) (ret js.Void) {
  2964  	bindings.CallGPUCommandEncoderCopyTextureToBuffer(
  2965  		this.ref, js.Pointer(&ret),
  2966  		js.Pointer(&source),
  2967  		js.Pointer(&destination),
  2968  		copySize.Ref(),
  2969  	)
  2970  
  2971  	return
  2972  }
  2973  
  2974  // TryCopyTextureToBuffer calls the method "GPUCommandEncoder.copyTextureToBuffer"
  2975  // in a try/catch block and returns (_, err, ok = false) when it went through
  2976  // the catch clause.
  2977  func (this GPUCommandEncoder) TryCopyTextureToBuffer(source GPUImageCopyTexture, destination GPUImageCopyBuffer, copySize GPUExtent3D) (ret js.Void, exception js.Any, ok bool) {
  2978  	ok = js.True == bindings.TryGPUCommandEncoderCopyTextureToBuffer(
  2979  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  2980  		js.Pointer(&source),
  2981  		js.Pointer(&destination),
  2982  		copySize.Ref(),
  2983  	)
  2984  
  2985  	return
  2986  }
  2987  
  2988  // HasFuncCopyTextureToTexture returns true if the method "GPUCommandEncoder.copyTextureToTexture" exists.
  2989  func (this GPUCommandEncoder) HasFuncCopyTextureToTexture() bool {
  2990  	return js.True == bindings.HasFuncGPUCommandEncoderCopyTextureToTexture(
  2991  		this.ref,
  2992  	)
  2993  }
  2994  
  2995  // FuncCopyTextureToTexture returns the method "GPUCommandEncoder.copyTextureToTexture".
  2996  func (this GPUCommandEncoder) FuncCopyTextureToTexture() (fn js.Func[func(source GPUImageCopyTexture, destination GPUImageCopyTexture, copySize GPUExtent3D)]) {
  2997  	bindings.FuncGPUCommandEncoderCopyTextureToTexture(
  2998  		this.ref, js.Pointer(&fn),
  2999  	)
  3000  	return
  3001  }
  3002  
  3003  // CopyTextureToTexture calls the method "GPUCommandEncoder.copyTextureToTexture".
  3004  func (this GPUCommandEncoder) CopyTextureToTexture(source GPUImageCopyTexture, destination GPUImageCopyTexture, copySize GPUExtent3D) (ret js.Void) {
  3005  	bindings.CallGPUCommandEncoderCopyTextureToTexture(
  3006  		this.ref, js.Pointer(&ret),
  3007  		js.Pointer(&source),
  3008  		js.Pointer(&destination),
  3009  		copySize.Ref(),
  3010  	)
  3011  
  3012  	return
  3013  }
  3014  
  3015  // TryCopyTextureToTexture calls the method "GPUCommandEncoder.copyTextureToTexture"
  3016  // in a try/catch block and returns (_, err, ok = false) when it went through
  3017  // the catch clause.
  3018  func (this GPUCommandEncoder) TryCopyTextureToTexture(source GPUImageCopyTexture, destination GPUImageCopyTexture, copySize GPUExtent3D) (ret js.Void, exception js.Any, ok bool) {
  3019  	ok = js.True == bindings.TryGPUCommandEncoderCopyTextureToTexture(
  3020  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3021  		js.Pointer(&source),
  3022  		js.Pointer(&destination),
  3023  		copySize.Ref(),
  3024  	)
  3025  
  3026  	return
  3027  }
  3028  
  3029  // HasFuncClearBuffer returns true if the method "GPUCommandEncoder.clearBuffer" exists.
  3030  func (this GPUCommandEncoder) HasFuncClearBuffer() bool {
  3031  	return js.True == bindings.HasFuncGPUCommandEncoderClearBuffer(
  3032  		this.ref,
  3033  	)
  3034  }
  3035  
  3036  // FuncClearBuffer returns the method "GPUCommandEncoder.clearBuffer".
  3037  func (this GPUCommandEncoder) FuncClearBuffer() (fn js.Func[func(buffer GPUBuffer, offset GPUSize64, size GPUSize64)]) {
  3038  	bindings.FuncGPUCommandEncoderClearBuffer(
  3039  		this.ref, js.Pointer(&fn),
  3040  	)
  3041  	return
  3042  }
  3043  
  3044  // ClearBuffer calls the method "GPUCommandEncoder.clearBuffer".
  3045  func (this GPUCommandEncoder) ClearBuffer(buffer GPUBuffer, offset GPUSize64, size GPUSize64) (ret js.Void) {
  3046  	bindings.CallGPUCommandEncoderClearBuffer(
  3047  		this.ref, js.Pointer(&ret),
  3048  		buffer.Ref(),
  3049  		float64(offset),
  3050  		float64(size),
  3051  	)
  3052  
  3053  	return
  3054  }
  3055  
  3056  // TryClearBuffer calls the method "GPUCommandEncoder.clearBuffer"
  3057  // in a try/catch block and returns (_, err, ok = false) when it went through
  3058  // the catch clause.
  3059  func (this GPUCommandEncoder) TryClearBuffer(buffer GPUBuffer, offset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3060  	ok = js.True == bindings.TryGPUCommandEncoderClearBuffer(
  3061  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3062  		buffer.Ref(),
  3063  		float64(offset),
  3064  		float64(size),
  3065  	)
  3066  
  3067  	return
  3068  }
  3069  
  3070  // HasFuncClearBuffer1 returns true if the method "GPUCommandEncoder.clearBuffer" exists.
  3071  func (this GPUCommandEncoder) HasFuncClearBuffer1() bool {
  3072  	return js.True == bindings.HasFuncGPUCommandEncoderClearBuffer1(
  3073  		this.ref,
  3074  	)
  3075  }
  3076  
  3077  // FuncClearBuffer1 returns the method "GPUCommandEncoder.clearBuffer".
  3078  func (this GPUCommandEncoder) FuncClearBuffer1() (fn js.Func[func(buffer GPUBuffer, offset GPUSize64)]) {
  3079  	bindings.FuncGPUCommandEncoderClearBuffer1(
  3080  		this.ref, js.Pointer(&fn),
  3081  	)
  3082  	return
  3083  }
  3084  
  3085  // ClearBuffer1 calls the method "GPUCommandEncoder.clearBuffer".
  3086  func (this GPUCommandEncoder) ClearBuffer1(buffer GPUBuffer, offset GPUSize64) (ret js.Void) {
  3087  	bindings.CallGPUCommandEncoderClearBuffer1(
  3088  		this.ref, js.Pointer(&ret),
  3089  		buffer.Ref(),
  3090  		float64(offset),
  3091  	)
  3092  
  3093  	return
  3094  }
  3095  
  3096  // TryClearBuffer1 calls the method "GPUCommandEncoder.clearBuffer"
  3097  // in a try/catch block and returns (_, err, ok = false) when it went through
  3098  // the catch clause.
  3099  func (this GPUCommandEncoder) TryClearBuffer1(buffer GPUBuffer, offset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3100  	ok = js.True == bindings.TryGPUCommandEncoderClearBuffer1(
  3101  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3102  		buffer.Ref(),
  3103  		float64(offset),
  3104  	)
  3105  
  3106  	return
  3107  }
  3108  
  3109  // HasFuncClearBuffer2 returns true if the method "GPUCommandEncoder.clearBuffer" exists.
  3110  func (this GPUCommandEncoder) HasFuncClearBuffer2() bool {
  3111  	return js.True == bindings.HasFuncGPUCommandEncoderClearBuffer2(
  3112  		this.ref,
  3113  	)
  3114  }
  3115  
  3116  // FuncClearBuffer2 returns the method "GPUCommandEncoder.clearBuffer".
  3117  func (this GPUCommandEncoder) FuncClearBuffer2() (fn js.Func[func(buffer GPUBuffer)]) {
  3118  	bindings.FuncGPUCommandEncoderClearBuffer2(
  3119  		this.ref, js.Pointer(&fn),
  3120  	)
  3121  	return
  3122  }
  3123  
  3124  // ClearBuffer2 calls the method "GPUCommandEncoder.clearBuffer".
  3125  func (this GPUCommandEncoder) ClearBuffer2(buffer GPUBuffer) (ret js.Void) {
  3126  	bindings.CallGPUCommandEncoderClearBuffer2(
  3127  		this.ref, js.Pointer(&ret),
  3128  		buffer.Ref(),
  3129  	)
  3130  
  3131  	return
  3132  }
  3133  
  3134  // TryClearBuffer2 calls the method "GPUCommandEncoder.clearBuffer"
  3135  // in a try/catch block and returns (_, err, ok = false) when it went through
  3136  // the catch clause.
  3137  func (this GPUCommandEncoder) TryClearBuffer2(buffer GPUBuffer) (ret js.Void, exception js.Any, ok bool) {
  3138  	ok = js.True == bindings.TryGPUCommandEncoderClearBuffer2(
  3139  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3140  		buffer.Ref(),
  3141  	)
  3142  
  3143  	return
  3144  }
  3145  
  3146  // HasFuncWriteTimestamp returns true if the method "GPUCommandEncoder.writeTimestamp" exists.
  3147  func (this GPUCommandEncoder) HasFuncWriteTimestamp() bool {
  3148  	return js.True == bindings.HasFuncGPUCommandEncoderWriteTimestamp(
  3149  		this.ref,
  3150  	)
  3151  }
  3152  
  3153  // FuncWriteTimestamp returns the method "GPUCommandEncoder.writeTimestamp".
  3154  func (this GPUCommandEncoder) FuncWriteTimestamp() (fn js.Func[func(querySet GPUQuerySet, queryIndex GPUSize32)]) {
  3155  	bindings.FuncGPUCommandEncoderWriteTimestamp(
  3156  		this.ref, js.Pointer(&fn),
  3157  	)
  3158  	return
  3159  }
  3160  
  3161  // WriteTimestamp calls the method "GPUCommandEncoder.writeTimestamp".
  3162  func (this GPUCommandEncoder) WriteTimestamp(querySet GPUQuerySet, queryIndex GPUSize32) (ret js.Void) {
  3163  	bindings.CallGPUCommandEncoderWriteTimestamp(
  3164  		this.ref, js.Pointer(&ret),
  3165  		querySet.Ref(),
  3166  		uint32(queryIndex),
  3167  	)
  3168  
  3169  	return
  3170  }
  3171  
  3172  // TryWriteTimestamp calls the method "GPUCommandEncoder.writeTimestamp"
  3173  // in a try/catch block and returns (_, err, ok = false) when it went through
  3174  // the catch clause.
  3175  func (this GPUCommandEncoder) TryWriteTimestamp(querySet GPUQuerySet, queryIndex GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  3176  	ok = js.True == bindings.TryGPUCommandEncoderWriteTimestamp(
  3177  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3178  		querySet.Ref(),
  3179  		uint32(queryIndex),
  3180  	)
  3181  
  3182  	return
  3183  }
  3184  
  3185  // HasFuncResolveQuerySet returns true if the method "GPUCommandEncoder.resolveQuerySet" exists.
  3186  func (this GPUCommandEncoder) HasFuncResolveQuerySet() bool {
  3187  	return js.True == bindings.HasFuncGPUCommandEncoderResolveQuerySet(
  3188  		this.ref,
  3189  	)
  3190  }
  3191  
  3192  // FuncResolveQuerySet returns the method "GPUCommandEncoder.resolveQuerySet".
  3193  func (this GPUCommandEncoder) FuncResolveQuerySet() (fn js.Func[func(querySet GPUQuerySet, firstQuery GPUSize32, queryCount GPUSize32, destination GPUBuffer, destinationOffset GPUSize64)]) {
  3194  	bindings.FuncGPUCommandEncoderResolveQuerySet(
  3195  		this.ref, js.Pointer(&fn),
  3196  	)
  3197  	return
  3198  }
  3199  
  3200  // ResolveQuerySet calls the method "GPUCommandEncoder.resolveQuerySet".
  3201  func (this GPUCommandEncoder) ResolveQuerySet(querySet GPUQuerySet, firstQuery GPUSize32, queryCount GPUSize32, destination GPUBuffer, destinationOffset GPUSize64) (ret js.Void) {
  3202  	bindings.CallGPUCommandEncoderResolveQuerySet(
  3203  		this.ref, js.Pointer(&ret),
  3204  		querySet.Ref(),
  3205  		uint32(firstQuery),
  3206  		uint32(queryCount),
  3207  		destination.Ref(),
  3208  		float64(destinationOffset),
  3209  	)
  3210  
  3211  	return
  3212  }
  3213  
  3214  // TryResolveQuerySet calls the method "GPUCommandEncoder.resolveQuerySet"
  3215  // in a try/catch block and returns (_, err, ok = false) when it went through
  3216  // the catch clause.
  3217  func (this GPUCommandEncoder) TryResolveQuerySet(querySet GPUQuerySet, firstQuery GPUSize32, queryCount GPUSize32, destination GPUBuffer, destinationOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3218  	ok = js.True == bindings.TryGPUCommandEncoderResolveQuerySet(
  3219  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3220  		querySet.Ref(),
  3221  		uint32(firstQuery),
  3222  		uint32(queryCount),
  3223  		destination.Ref(),
  3224  		float64(destinationOffset),
  3225  	)
  3226  
  3227  	return
  3228  }
  3229  
  3230  // HasFuncFinish returns true if the method "GPUCommandEncoder.finish" exists.
  3231  func (this GPUCommandEncoder) HasFuncFinish() bool {
  3232  	return js.True == bindings.HasFuncGPUCommandEncoderFinish(
  3233  		this.ref,
  3234  	)
  3235  }
  3236  
  3237  // FuncFinish returns the method "GPUCommandEncoder.finish".
  3238  func (this GPUCommandEncoder) FuncFinish() (fn js.Func[func(descriptor GPUCommandBufferDescriptor) GPUCommandBuffer]) {
  3239  	bindings.FuncGPUCommandEncoderFinish(
  3240  		this.ref, js.Pointer(&fn),
  3241  	)
  3242  	return
  3243  }
  3244  
  3245  // Finish calls the method "GPUCommandEncoder.finish".
  3246  func (this GPUCommandEncoder) Finish(descriptor GPUCommandBufferDescriptor) (ret GPUCommandBuffer) {
  3247  	bindings.CallGPUCommandEncoderFinish(
  3248  		this.ref, js.Pointer(&ret),
  3249  		js.Pointer(&descriptor),
  3250  	)
  3251  
  3252  	return
  3253  }
  3254  
  3255  // TryFinish calls the method "GPUCommandEncoder.finish"
  3256  // in a try/catch block and returns (_, err, ok = false) when it went through
  3257  // the catch clause.
  3258  func (this GPUCommandEncoder) TryFinish(descriptor GPUCommandBufferDescriptor) (ret GPUCommandBuffer, exception js.Any, ok bool) {
  3259  	ok = js.True == bindings.TryGPUCommandEncoderFinish(
  3260  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3261  		js.Pointer(&descriptor),
  3262  	)
  3263  
  3264  	return
  3265  }
  3266  
  3267  // HasFuncFinish1 returns true if the method "GPUCommandEncoder.finish" exists.
  3268  func (this GPUCommandEncoder) HasFuncFinish1() bool {
  3269  	return js.True == bindings.HasFuncGPUCommandEncoderFinish1(
  3270  		this.ref,
  3271  	)
  3272  }
  3273  
  3274  // FuncFinish1 returns the method "GPUCommandEncoder.finish".
  3275  func (this GPUCommandEncoder) FuncFinish1() (fn js.Func[func() GPUCommandBuffer]) {
  3276  	bindings.FuncGPUCommandEncoderFinish1(
  3277  		this.ref, js.Pointer(&fn),
  3278  	)
  3279  	return
  3280  }
  3281  
  3282  // Finish1 calls the method "GPUCommandEncoder.finish".
  3283  func (this GPUCommandEncoder) Finish1() (ret GPUCommandBuffer) {
  3284  	bindings.CallGPUCommandEncoderFinish1(
  3285  		this.ref, js.Pointer(&ret),
  3286  	)
  3287  
  3288  	return
  3289  }
  3290  
  3291  // TryFinish1 calls the method "GPUCommandEncoder.finish"
  3292  // in a try/catch block and returns (_, err, ok = false) when it went through
  3293  // the catch clause.
  3294  func (this GPUCommandEncoder) TryFinish1() (ret GPUCommandBuffer, exception js.Any, ok bool) {
  3295  	ok = js.True == bindings.TryGPUCommandEncoderFinish1(
  3296  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3297  	)
  3298  
  3299  	return
  3300  }
  3301  
  3302  // HasFuncPushDebugGroup returns true if the method "GPUCommandEncoder.pushDebugGroup" exists.
  3303  func (this GPUCommandEncoder) HasFuncPushDebugGroup() bool {
  3304  	return js.True == bindings.HasFuncGPUCommandEncoderPushDebugGroup(
  3305  		this.ref,
  3306  	)
  3307  }
  3308  
  3309  // FuncPushDebugGroup returns the method "GPUCommandEncoder.pushDebugGroup".
  3310  func (this GPUCommandEncoder) FuncPushDebugGroup() (fn js.Func[func(groupLabel js.String)]) {
  3311  	bindings.FuncGPUCommandEncoderPushDebugGroup(
  3312  		this.ref, js.Pointer(&fn),
  3313  	)
  3314  	return
  3315  }
  3316  
  3317  // PushDebugGroup calls the method "GPUCommandEncoder.pushDebugGroup".
  3318  func (this GPUCommandEncoder) PushDebugGroup(groupLabel js.String) (ret js.Void) {
  3319  	bindings.CallGPUCommandEncoderPushDebugGroup(
  3320  		this.ref, js.Pointer(&ret),
  3321  		groupLabel.Ref(),
  3322  	)
  3323  
  3324  	return
  3325  }
  3326  
  3327  // TryPushDebugGroup calls the method "GPUCommandEncoder.pushDebugGroup"
  3328  // in a try/catch block and returns (_, err, ok = false) when it went through
  3329  // the catch clause.
  3330  func (this GPUCommandEncoder) TryPushDebugGroup(groupLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  3331  	ok = js.True == bindings.TryGPUCommandEncoderPushDebugGroup(
  3332  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3333  		groupLabel.Ref(),
  3334  	)
  3335  
  3336  	return
  3337  }
  3338  
  3339  // HasFuncPopDebugGroup returns true if the method "GPUCommandEncoder.popDebugGroup" exists.
  3340  func (this GPUCommandEncoder) HasFuncPopDebugGroup() bool {
  3341  	return js.True == bindings.HasFuncGPUCommandEncoderPopDebugGroup(
  3342  		this.ref,
  3343  	)
  3344  }
  3345  
  3346  // FuncPopDebugGroup returns the method "GPUCommandEncoder.popDebugGroup".
  3347  func (this GPUCommandEncoder) FuncPopDebugGroup() (fn js.Func[func()]) {
  3348  	bindings.FuncGPUCommandEncoderPopDebugGroup(
  3349  		this.ref, js.Pointer(&fn),
  3350  	)
  3351  	return
  3352  }
  3353  
  3354  // PopDebugGroup calls the method "GPUCommandEncoder.popDebugGroup".
  3355  func (this GPUCommandEncoder) PopDebugGroup() (ret js.Void) {
  3356  	bindings.CallGPUCommandEncoderPopDebugGroup(
  3357  		this.ref, js.Pointer(&ret),
  3358  	)
  3359  
  3360  	return
  3361  }
  3362  
  3363  // TryPopDebugGroup calls the method "GPUCommandEncoder.popDebugGroup"
  3364  // in a try/catch block and returns (_, err, ok = false) when it went through
  3365  // the catch clause.
  3366  func (this GPUCommandEncoder) TryPopDebugGroup() (ret js.Void, exception js.Any, ok bool) {
  3367  	ok = js.True == bindings.TryGPUCommandEncoderPopDebugGroup(
  3368  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3369  	)
  3370  
  3371  	return
  3372  }
  3373  
  3374  // HasFuncInsertDebugMarker returns true if the method "GPUCommandEncoder.insertDebugMarker" exists.
  3375  func (this GPUCommandEncoder) HasFuncInsertDebugMarker() bool {
  3376  	return js.True == bindings.HasFuncGPUCommandEncoderInsertDebugMarker(
  3377  		this.ref,
  3378  	)
  3379  }
  3380  
  3381  // FuncInsertDebugMarker returns the method "GPUCommandEncoder.insertDebugMarker".
  3382  func (this GPUCommandEncoder) FuncInsertDebugMarker() (fn js.Func[func(markerLabel js.String)]) {
  3383  	bindings.FuncGPUCommandEncoderInsertDebugMarker(
  3384  		this.ref, js.Pointer(&fn),
  3385  	)
  3386  	return
  3387  }
  3388  
  3389  // InsertDebugMarker calls the method "GPUCommandEncoder.insertDebugMarker".
  3390  func (this GPUCommandEncoder) InsertDebugMarker(markerLabel js.String) (ret js.Void) {
  3391  	bindings.CallGPUCommandEncoderInsertDebugMarker(
  3392  		this.ref, js.Pointer(&ret),
  3393  		markerLabel.Ref(),
  3394  	)
  3395  
  3396  	return
  3397  }
  3398  
  3399  // TryInsertDebugMarker calls the method "GPUCommandEncoder.insertDebugMarker"
  3400  // in a try/catch block and returns (_, err, ok = false) when it went through
  3401  // the catch clause.
  3402  func (this GPUCommandEncoder) TryInsertDebugMarker(markerLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  3403  	ok = js.True == bindings.TryGPUCommandEncoderInsertDebugMarker(
  3404  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3405  		markerLabel.Ref(),
  3406  	)
  3407  
  3408  	return
  3409  }
  3410  
  3411  type GPUCommandEncoderDescriptor struct {
  3412  	// Label is "GPUCommandEncoderDescriptor.label"
  3413  	//
  3414  	// Optional, defaults to "".
  3415  	Label js.String
  3416  
  3417  	FFI_USE bool
  3418  }
  3419  
  3420  // FromRef calls UpdateFrom and returns a GPUCommandEncoderDescriptor with all fields set.
  3421  func (p GPUCommandEncoderDescriptor) FromRef(ref js.Ref) GPUCommandEncoderDescriptor {
  3422  	p.UpdateFrom(ref)
  3423  	return p
  3424  }
  3425  
  3426  // New creates a new GPUCommandEncoderDescriptor in the application heap.
  3427  func (p GPUCommandEncoderDescriptor) New() js.Ref {
  3428  	return bindings.GPUCommandEncoderDescriptorJSLoad(
  3429  		js.Pointer(&p), js.True, 0,
  3430  	)
  3431  }
  3432  
  3433  // UpdateFrom copies value of all fields of the heap object to p.
  3434  func (p *GPUCommandEncoderDescriptor) UpdateFrom(ref js.Ref) {
  3435  	bindings.GPUCommandEncoderDescriptorJSStore(
  3436  		js.Pointer(p), ref,
  3437  	)
  3438  }
  3439  
  3440  // Update writes all fields of the p to the heap object referenced by ref.
  3441  func (p *GPUCommandEncoderDescriptor) Update(ref js.Ref) {
  3442  	bindings.GPUCommandEncoderDescriptorJSLoad(
  3443  		js.Pointer(p), js.False, ref,
  3444  	)
  3445  }
  3446  
  3447  // FreeMembers frees fields with heap reference, if recursive is true
  3448  // free all heap references reachable from p.
  3449  func (p *GPUCommandEncoderDescriptor) FreeMembers(recursive bool) {
  3450  	js.Free(
  3451  		p.Label.Ref(),
  3452  	)
  3453  	p.Label = p.Label.FromRef(js.Undefined)
  3454  }
  3455  
  3456  type GPURenderBundleDescriptor struct {
  3457  	// Label is "GPURenderBundleDescriptor.label"
  3458  	//
  3459  	// Optional, defaults to "".
  3460  	Label js.String
  3461  
  3462  	FFI_USE bool
  3463  }
  3464  
  3465  // FromRef calls UpdateFrom and returns a GPURenderBundleDescriptor with all fields set.
  3466  func (p GPURenderBundleDescriptor) FromRef(ref js.Ref) GPURenderBundleDescriptor {
  3467  	p.UpdateFrom(ref)
  3468  	return p
  3469  }
  3470  
  3471  // New creates a new GPURenderBundleDescriptor in the application heap.
  3472  func (p GPURenderBundleDescriptor) New() js.Ref {
  3473  	return bindings.GPURenderBundleDescriptorJSLoad(
  3474  		js.Pointer(&p), js.True, 0,
  3475  	)
  3476  }
  3477  
  3478  // UpdateFrom copies value of all fields of the heap object to p.
  3479  func (p *GPURenderBundleDescriptor) UpdateFrom(ref js.Ref) {
  3480  	bindings.GPURenderBundleDescriptorJSStore(
  3481  		js.Pointer(p), ref,
  3482  	)
  3483  }
  3484  
  3485  // Update writes all fields of the p to the heap object referenced by ref.
  3486  func (p *GPURenderBundleDescriptor) Update(ref js.Ref) {
  3487  	bindings.GPURenderBundleDescriptorJSLoad(
  3488  		js.Pointer(p), js.False, ref,
  3489  	)
  3490  }
  3491  
  3492  // FreeMembers frees fields with heap reference, if recursive is true
  3493  // free all heap references reachable from p.
  3494  func (p *GPURenderBundleDescriptor) FreeMembers(recursive bool) {
  3495  	js.Free(
  3496  		p.Label.Ref(),
  3497  	)
  3498  	p.Label = p.Label.FromRef(js.Undefined)
  3499  }
  3500  
  3501  type GPURenderBundleEncoder struct {
  3502  	ref js.Ref
  3503  }
  3504  
  3505  func (this GPURenderBundleEncoder) Once() GPURenderBundleEncoder {
  3506  	this.ref.Once()
  3507  	return this
  3508  }
  3509  
  3510  func (this GPURenderBundleEncoder) Ref() js.Ref {
  3511  	return this.ref
  3512  }
  3513  
  3514  func (this GPURenderBundleEncoder) FromRef(ref js.Ref) GPURenderBundleEncoder {
  3515  	this.ref = ref
  3516  	return this
  3517  }
  3518  
  3519  func (this GPURenderBundleEncoder) Free() {
  3520  	this.ref.Free()
  3521  }
  3522  
  3523  // Label returns the value of property "GPURenderBundleEncoder.label".
  3524  //
  3525  // It returns ok=false if there is no such property.
  3526  func (this GPURenderBundleEncoder) Label() (ret js.String, ok bool) {
  3527  	ok = js.True == bindings.GetGPURenderBundleEncoderLabel(
  3528  		this.ref, js.Pointer(&ret),
  3529  	)
  3530  	return
  3531  }
  3532  
  3533  // SetLabel sets the value of property "GPURenderBundleEncoder.label" to val.
  3534  //
  3535  // It returns false if the property cannot be set.
  3536  func (this GPURenderBundleEncoder) SetLabel(val js.String) bool {
  3537  	return js.True == bindings.SetGPURenderBundleEncoderLabel(
  3538  		this.ref,
  3539  		val.Ref(),
  3540  	)
  3541  }
  3542  
  3543  // HasFuncFinish returns true if the method "GPURenderBundleEncoder.finish" exists.
  3544  func (this GPURenderBundleEncoder) HasFuncFinish() bool {
  3545  	return js.True == bindings.HasFuncGPURenderBundleEncoderFinish(
  3546  		this.ref,
  3547  	)
  3548  }
  3549  
  3550  // FuncFinish returns the method "GPURenderBundleEncoder.finish".
  3551  func (this GPURenderBundleEncoder) FuncFinish() (fn js.Func[func(descriptor GPURenderBundleDescriptor) GPURenderBundle]) {
  3552  	bindings.FuncGPURenderBundleEncoderFinish(
  3553  		this.ref, js.Pointer(&fn),
  3554  	)
  3555  	return
  3556  }
  3557  
  3558  // Finish calls the method "GPURenderBundleEncoder.finish".
  3559  func (this GPURenderBundleEncoder) Finish(descriptor GPURenderBundleDescriptor) (ret GPURenderBundle) {
  3560  	bindings.CallGPURenderBundleEncoderFinish(
  3561  		this.ref, js.Pointer(&ret),
  3562  		js.Pointer(&descriptor),
  3563  	)
  3564  
  3565  	return
  3566  }
  3567  
  3568  // TryFinish calls the method "GPURenderBundleEncoder.finish"
  3569  // in a try/catch block and returns (_, err, ok = false) when it went through
  3570  // the catch clause.
  3571  func (this GPURenderBundleEncoder) TryFinish(descriptor GPURenderBundleDescriptor) (ret GPURenderBundle, exception js.Any, ok bool) {
  3572  	ok = js.True == bindings.TryGPURenderBundleEncoderFinish(
  3573  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3574  		js.Pointer(&descriptor),
  3575  	)
  3576  
  3577  	return
  3578  }
  3579  
  3580  // HasFuncFinish1 returns true if the method "GPURenderBundleEncoder.finish" exists.
  3581  func (this GPURenderBundleEncoder) HasFuncFinish1() bool {
  3582  	return js.True == bindings.HasFuncGPURenderBundleEncoderFinish1(
  3583  		this.ref,
  3584  	)
  3585  }
  3586  
  3587  // FuncFinish1 returns the method "GPURenderBundleEncoder.finish".
  3588  func (this GPURenderBundleEncoder) FuncFinish1() (fn js.Func[func() GPURenderBundle]) {
  3589  	bindings.FuncGPURenderBundleEncoderFinish1(
  3590  		this.ref, js.Pointer(&fn),
  3591  	)
  3592  	return
  3593  }
  3594  
  3595  // Finish1 calls the method "GPURenderBundleEncoder.finish".
  3596  func (this GPURenderBundleEncoder) Finish1() (ret GPURenderBundle) {
  3597  	bindings.CallGPURenderBundleEncoderFinish1(
  3598  		this.ref, js.Pointer(&ret),
  3599  	)
  3600  
  3601  	return
  3602  }
  3603  
  3604  // TryFinish1 calls the method "GPURenderBundleEncoder.finish"
  3605  // in a try/catch block and returns (_, err, ok = false) when it went through
  3606  // the catch clause.
  3607  func (this GPURenderBundleEncoder) TryFinish1() (ret GPURenderBundle, exception js.Any, ok bool) {
  3608  	ok = js.True == bindings.TryGPURenderBundleEncoderFinish1(
  3609  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3610  	)
  3611  
  3612  	return
  3613  }
  3614  
  3615  // HasFuncSetPipeline returns true if the method "GPURenderBundleEncoder.setPipeline" exists.
  3616  func (this GPURenderBundleEncoder) HasFuncSetPipeline() bool {
  3617  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetPipeline(
  3618  		this.ref,
  3619  	)
  3620  }
  3621  
  3622  // FuncSetPipeline returns the method "GPURenderBundleEncoder.setPipeline".
  3623  func (this GPURenderBundleEncoder) FuncSetPipeline() (fn js.Func[func(pipeline GPURenderPipeline)]) {
  3624  	bindings.FuncGPURenderBundleEncoderSetPipeline(
  3625  		this.ref, js.Pointer(&fn),
  3626  	)
  3627  	return
  3628  }
  3629  
  3630  // SetPipeline calls the method "GPURenderBundleEncoder.setPipeline".
  3631  func (this GPURenderBundleEncoder) SetPipeline(pipeline GPURenderPipeline) (ret js.Void) {
  3632  	bindings.CallGPURenderBundleEncoderSetPipeline(
  3633  		this.ref, js.Pointer(&ret),
  3634  		pipeline.Ref(),
  3635  	)
  3636  
  3637  	return
  3638  }
  3639  
  3640  // TrySetPipeline calls the method "GPURenderBundleEncoder.setPipeline"
  3641  // in a try/catch block and returns (_, err, ok = false) when it went through
  3642  // the catch clause.
  3643  func (this GPURenderBundleEncoder) TrySetPipeline(pipeline GPURenderPipeline) (ret js.Void, exception js.Any, ok bool) {
  3644  	ok = js.True == bindings.TryGPURenderBundleEncoderSetPipeline(
  3645  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3646  		pipeline.Ref(),
  3647  	)
  3648  
  3649  	return
  3650  }
  3651  
  3652  // HasFuncSetIndexBuffer returns true if the method "GPURenderBundleEncoder.setIndexBuffer" exists.
  3653  func (this GPURenderBundleEncoder) HasFuncSetIndexBuffer() bool {
  3654  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetIndexBuffer(
  3655  		this.ref,
  3656  	)
  3657  }
  3658  
  3659  // FuncSetIndexBuffer returns the method "GPURenderBundleEncoder.setIndexBuffer".
  3660  func (this GPURenderBundleEncoder) FuncSetIndexBuffer() (fn js.Func[func(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64, size GPUSize64)]) {
  3661  	bindings.FuncGPURenderBundleEncoderSetIndexBuffer(
  3662  		this.ref, js.Pointer(&fn),
  3663  	)
  3664  	return
  3665  }
  3666  
  3667  // SetIndexBuffer calls the method "GPURenderBundleEncoder.setIndexBuffer".
  3668  func (this GPURenderBundleEncoder) SetIndexBuffer(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64, size GPUSize64) (ret js.Void) {
  3669  	bindings.CallGPURenderBundleEncoderSetIndexBuffer(
  3670  		this.ref, js.Pointer(&ret),
  3671  		buffer.Ref(),
  3672  		uint32(indexFormat),
  3673  		float64(offset),
  3674  		float64(size),
  3675  	)
  3676  
  3677  	return
  3678  }
  3679  
  3680  // TrySetIndexBuffer calls the method "GPURenderBundleEncoder.setIndexBuffer"
  3681  // in a try/catch block and returns (_, err, ok = false) when it went through
  3682  // the catch clause.
  3683  func (this GPURenderBundleEncoder) TrySetIndexBuffer(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3684  	ok = js.True == bindings.TryGPURenderBundleEncoderSetIndexBuffer(
  3685  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3686  		buffer.Ref(),
  3687  		uint32(indexFormat),
  3688  		float64(offset),
  3689  		float64(size),
  3690  	)
  3691  
  3692  	return
  3693  }
  3694  
  3695  // HasFuncSetIndexBuffer1 returns true if the method "GPURenderBundleEncoder.setIndexBuffer" exists.
  3696  func (this GPURenderBundleEncoder) HasFuncSetIndexBuffer1() bool {
  3697  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetIndexBuffer1(
  3698  		this.ref,
  3699  	)
  3700  }
  3701  
  3702  // FuncSetIndexBuffer1 returns the method "GPURenderBundleEncoder.setIndexBuffer".
  3703  func (this GPURenderBundleEncoder) FuncSetIndexBuffer1() (fn js.Func[func(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64)]) {
  3704  	bindings.FuncGPURenderBundleEncoderSetIndexBuffer1(
  3705  		this.ref, js.Pointer(&fn),
  3706  	)
  3707  	return
  3708  }
  3709  
  3710  // SetIndexBuffer1 calls the method "GPURenderBundleEncoder.setIndexBuffer".
  3711  func (this GPURenderBundleEncoder) SetIndexBuffer1(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64) (ret js.Void) {
  3712  	bindings.CallGPURenderBundleEncoderSetIndexBuffer1(
  3713  		this.ref, js.Pointer(&ret),
  3714  		buffer.Ref(),
  3715  		uint32(indexFormat),
  3716  		float64(offset),
  3717  	)
  3718  
  3719  	return
  3720  }
  3721  
  3722  // TrySetIndexBuffer1 calls the method "GPURenderBundleEncoder.setIndexBuffer"
  3723  // in a try/catch block and returns (_, err, ok = false) when it went through
  3724  // the catch clause.
  3725  func (this GPURenderBundleEncoder) TrySetIndexBuffer1(buffer GPUBuffer, indexFormat GPUIndexFormat, offset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3726  	ok = js.True == bindings.TryGPURenderBundleEncoderSetIndexBuffer1(
  3727  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3728  		buffer.Ref(),
  3729  		uint32(indexFormat),
  3730  		float64(offset),
  3731  	)
  3732  
  3733  	return
  3734  }
  3735  
  3736  // HasFuncSetIndexBuffer2 returns true if the method "GPURenderBundleEncoder.setIndexBuffer" exists.
  3737  func (this GPURenderBundleEncoder) HasFuncSetIndexBuffer2() bool {
  3738  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetIndexBuffer2(
  3739  		this.ref,
  3740  	)
  3741  }
  3742  
  3743  // FuncSetIndexBuffer2 returns the method "GPURenderBundleEncoder.setIndexBuffer".
  3744  func (this GPURenderBundleEncoder) FuncSetIndexBuffer2() (fn js.Func[func(buffer GPUBuffer, indexFormat GPUIndexFormat)]) {
  3745  	bindings.FuncGPURenderBundleEncoderSetIndexBuffer2(
  3746  		this.ref, js.Pointer(&fn),
  3747  	)
  3748  	return
  3749  }
  3750  
  3751  // SetIndexBuffer2 calls the method "GPURenderBundleEncoder.setIndexBuffer".
  3752  func (this GPURenderBundleEncoder) SetIndexBuffer2(buffer GPUBuffer, indexFormat GPUIndexFormat) (ret js.Void) {
  3753  	bindings.CallGPURenderBundleEncoderSetIndexBuffer2(
  3754  		this.ref, js.Pointer(&ret),
  3755  		buffer.Ref(),
  3756  		uint32(indexFormat),
  3757  	)
  3758  
  3759  	return
  3760  }
  3761  
  3762  // TrySetIndexBuffer2 calls the method "GPURenderBundleEncoder.setIndexBuffer"
  3763  // in a try/catch block and returns (_, err, ok = false) when it went through
  3764  // the catch clause.
  3765  func (this GPURenderBundleEncoder) TrySetIndexBuffer2(buffer GPUBuffer, indexFormat GPUIndexFormat) (ret js.Void, exception js.Any, ok bool) {
  3766  	ok = js.True == bindings.TryGPURenderBundleEncoderSetIndexBuffer2(
  3767  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3768  		buffer.Ref(),
  3769  		uint32(indexFormat),
  3770  	)
  3771  
  3772  	return
  3773  }
  3774  
  3775  // HasFuncSetVertexBuffer returns true if the method "GPURenderBundleEncoder.setVertexBuffer" exists.
  3776  func (this GPURenderBundleEncoder) HasFuncSetVertexBuffer() bool {
  3777  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetVertexBuffer(
  3778  		this.ref,
  3779  	)
  3780  }
  3781  
  3782  // FuncSetVertexBuffer returns the method "GPURenderBundleEncoder.setVertexBuffer".
  3783  func (this GPURenderBundleEncoder) FuncSetVertexBuffer() (fn js.Func[func(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64, size GPUSize64)]) {
  3784  	bindings.FuncGPURenderBundleEncoderSetVertexBuffer(
  3785  		this.ref, js.Pointer(&fn),
  3786  	)
  3787  	return
  3788  }
  3789  
  3790  // SetVertexBuffer calls the method "GPURenderBundleEncoder.setVertexBuffer".
  3791  func (this GPURenderBundleEncoder) SetVertexBuffer(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64, size GPUSize64) (ret js.Void) {
  3792  	bindings.CallGPURenderBundleEncoderSetVertexBuffer(
  3793  		this.ref, js.Pointer(&ret),
  3794  		uint32(slot),
  3795  		buffer.Ref(),
  3796  		float64(offset),
  3797  		float64(size),
  3798  	)
  3799  
  3800  	return
  3801  }
  3802  
  3803  // TrySetVertexBuffer calls the method "GPURenderBundleEncoder.setVertexBuffer"
  3804  // in a try/catch block and returns (_, err, ok = false) when it went through
  3805  // the catch clause.
  3806  func (this GPURenderBundleEncoder) TrySetVertexBuffer(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3807  	ok = js.True == bindings.TryGPURenderBundleEncoderSetVertexBuffer(
  3808  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3809  		uint32(slot),
  3810  		buffer.Ref(),
  3811  		float64(offset),
  3812  		float64(size),
  3813  	)
  3814  
  3815  	return
  3816  }
  3817  
  3818  // HasFuncSetVertexBuffer1 returns true if the method "GPURenderBundleEncoder.setVertexBuffer" exists.
  3819  func (this GPURenderBundleEncoder) HasFuncSetVertexBuffer1() bool {
  3820  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetVertexBuffer1(
  3821  		this.ref,
  3822  	)
  3823  }
  3824  
  3825  // FuncSetVertexBuffer1 returns the method "GPURenderBundleEncoder.setVertexBuffer".
  3826  func (this GPURenderBundleEncoder) FuncSetVertexBuffer1() (fn js.Func[func(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64)]) {
  3827  	bindings.FuncGPURenderBundleEncoderSetVertexBuffer1(
  3828  		this.ref, js.Pointer(&fn),
  3829  	)
  3830  	return
  3831  }
  3832  
  3833  // SetVertexBuffer1 calls the method "GPURenderBundleEncoder.setVertexBuffer".
  3834  func (this GPURenderBundleEncoder) SetVertexBuffer1(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64) (ret js.Void) {
  3835  	bindings.CallGPURenderBundleEncoderSetVertexBuffer1(
  3836  		this.ref, js.Pointer(&ret),
  3837  		uint32(slot),
  3838  		buffer.Ref(),
  3839  		float64(offset),
  3840  	)
  3841  
  3842  	return
  3843  }
  3844  
  3845  // TrySetVertexBuffer1 calls the method "GPURenderBundleEncoder.setVertexBuffer"
  3846  // in a try/catch block and returns (_, err, ok = false) when it went through
  3847  // the catch clause.
  3848  func (this GPURenderBundleEncoder) TrySetVertexBuffer1(slot GPUIndex32, buffer GPUBuffer, offset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  3849  	ok = js.True == bindings.TryGPURenderBundleEncoderSetVertexBuffer1(
  3850  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3851  		uint32(slot),
  3852  		buffer.Ref(),
  3853  		float64(offset),
  3854  	)
  3855  
  3856  	return
  3857  }
  3858  
  3859  // HasFuncSetVertexBuffer2 returns true if the method "GPURenderBundleEncoder.setVertexBuffer" exists.
  3860  func (this GPURenderBundleEncoder) HasFuncSetVertexBuffer2() bool {
  3861  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetVertexBuffer2(
  3862  		this.ref,
  3863  	)
  3864  }
  3865  
  3866  // FuncSetVertexBuffer2 returns the method "GPURenderBundleEncoder.setVertexBuffer".
  3867  func (this GPURenderBundleEncoder) FuncSetVertexBuffer2() (fn js.Func[func(slot GPUIndex32, buffer GPUBuffer)]) {
  3868  	bindings.FuncGPURenderBundleEncoderSetVertexBuffer2(
  3869  		this.ref, js.Pointer(&fn),
  3870  	)
  3871  	return
  3872  }
  3873  
  3874  // SetVertexBuffer2 calls the method "GPURenderBundleEncoder.setVertexBuffer".
  3875  func (this GPURenderBundleEncoder) SetVertexBuffer2(slot GPUIndex32, buffer GPUBuffer) (ret js.Void) {
  3876  	bindings.CallGPURenderBundleEncoderSetVertexBuffer2(
  3877  		this.ref, js.Pointer(&ret),
  3878  		uint32(slot),
  3879  		buffer.Ref(),
  3880  	)
  3881  
  3882  	return
  3883  }
  3884  
  3885  // TrySetVertexBuffer2 calls the method "GPURenderBundleEncoder.setVertexBuffer"
  3886  // in a try/catch block and returns (_, err, ok = false) when it went through
  3887  // the catch clause.
  3888  func (this GPURenderBundleEncoder) TrySetVertexBuffer2(slot GPUIndex32, buffer GPUBuffer) (ret js.Void, exception js.Any, ok bool) {
  3889  	ok = js.True == bindings.TryGPURenderBundleEncoderSetVertexBuffer2(
  3890  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3891  		uint32(slot),
  3892  		buffer.Ref(),
  3893  	)
  3894  
  3895  	return
  3896  }
  3897  
  3898  // HasFuncDraw returns true if the method "GPURenderBundleEncoder.draw" exists.
  3899  func (this GPURenderBundleEncoder) HasFuncDraw() bool {
  3900  	return js.True == bindings.HasFuncGPURenderBundleEncoderDraw(
  3901  		this.ref,
  3902  	)
  3903  }
  3904  
  3905  // FuncDraw returns the method "GPURenderBundleEncoder.draw".
  3906  func (this GPURenderBundleEncoder) FuncDraw() (fn js.Func[func(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32, firstInstance GPUSize32)]) {
  3907  	bindings.FuncGPURenderBundleEncoderDraw(
  3908  		this.ref, js.Pointer(&fn),
  3909  	)
  3910  	return
  3911  }
  3912  
  3913  // Draw calls the method "GPURenderBundleEncoder.draw".
  3914  func (this GPURenderBundleEncoder) Draw(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32, firstInstance GPUSize32) (ret js.Void) {
  3915  	bindings.CallGPURenderBundleEncoderDraw(
  3916  		this.ref, js.Pointer(&ret),
  3917  		uint32(vertexCount),
  3918  		uint32(instanceCount),
  3919  		uint32(firstVertex),
  3920  		uint32(firstInstance),
  3921  	)
  3922  
  3923  	return
  3924  }
  3925  
  3926  // TryDraw calls the method "GPURenderBundleEncoder.draw"
  3927  // in a try/catch block and returns (_, err, ok = false) when it went through
  3928  // the catch clause.
  3929  func (this GPURenderBundleEncoder) TryDraw(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32, firstInstance GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  3930  	ok = js.True == bindings.TryGPURenderBundleEncoderDraw(
  3931  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3932  		uint32(vertexCount),
  3933  		uint32(instanceCount),
  3934  		uint32(firstVertex),
  3935  		uint32(firstInstance),
  3936  	)
  3937  
  3938  	return
  3939  }
  3940  
  3941  // HasFuncDraw1 returns true if the method "GPURenderBundleEncoder.draw" exists.
  3942  func (this GPURenderBundleEncoder) HasFuncDraw1() bool {
  3943  	return js.True == bindings.HasFuncGPURenderBundleEncoderDraw1(
  3944  		this.ref,
  3945  	)
  3946  }
  3947  
  3948  // FuncDraw1 returns the method "GPURenderBundleEncoder.draw".
  3949  func (this GPURenderBundleEncoder) FuncDraw1() (fn js.Func[func(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32)]) {
  3950  	bindings.FuncGPURenderBundleEncoderDraw1(
  3951  		this.ref, js.Pointer(&fn),
  3952  	)
  3953  	return
  3954  }
  3955  
  3956  // Draw1 calls the method "GPURenderBundleEncoder.draw".
  3957  func (this GPURenderBundleEncoder) Draw1(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32) (ret js.Void) {
  3958  	bindings.CallGPURenderBundleEncoderDraw1(
  3959  		this.ref, js.Pointer(&ret),
  3960  		uint32(vertexCount),
  3961  		uint32(instanceCount),
  3962  		uint32(firstVertex),
  3963  	)
  3964  
  3965  	return
  3966  }
  3967  
  3968  // TryDraw1 calls the method "GPURenderBundleEncoder.draw"
  3969  // in a try/catch block and returns (_, err, ok = false) when it went through
  3970  // the catch clause.
  3971  func (this GPURenderBundleEncoder) TryDraw1(vertexCount GPUSize32, instanceCount GPUSize32, firstVertex GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  3972  	ok = js.True == bindings.TryGPURenderBundleEncoderDraw1(
  3973  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  3974  		uint32(vertexCount),
  3975  		uint32(instanceCount),
  3976  		uint32(firstVertex),
  3977  	)
  3978  
  3979  	return
  3980  }
  3981  
  3982  // HasFuncDraw2 returns true if the method "GPURenderBundleEncoder.draw" exists.
  3983  func (this GPURenderBundleEncoder) HasFuncDraw2() bool {
  3984  	return js.True == bindings.HasFuncGPURenderBundleEncoderDraw2(
  3985  		this.ref,
  3986  	)
  3987  }
  3988  
  3989  // FuncDraw2 returns the method "GPURenderBundleEncoder.draw".
  3990  func (this GPURenderBundleEncoder) FuncDraw2() (fn js.Func[func(vertexCount GPUSize32, instanceCount GPUSize32)]) {
  3991  	bindings.FuncGPURenderBundleEncoderDraw2(
  3992  		this.ref, js.Pointer(&fn),
  3993  	)
  3994  	return
  3995  }
  3996  
  3997  // Draw2 calls the method "GPURenderBundleEncoder.draw".
  3998  func (this GPURenderBundleEncoder) Draw2(vertexCount GPUSize32, instanceCount GPUSize32) (ret js.Void) {
  3999  	bindings.CallGPURenderBundleEncoderDraw2(
  4000  		this.ref, js.Pointer(&ret),
  4001  		uint32(vertexCount),
  4002  		uint32(instanceCount),
  4003  	)
  4004  
  4005  	return
  4006  }
  4007  
  4008  // TryDraw2 calls the method "GPURenderBundleEncoder.draw"
  4009  // in a try/catch block and returns (_, err, ok = false) when it went through
  4010  // the catch clause.
  4011  func (this GPURenderBundleEncoder) TryDraw2(vertexCount GPUSize32, instanceCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4012  	ok = js.True == bindings.TryGPURenderBundleEncoderDraw2(
  4013  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4014  		uint32(vertexCount),
  4015  		uint32(instanceCount),
  4016  	)
  4017  
  4018  	return
  4019  }
  4020  
  4021  // HasFuncDraw3 returns true if the method "GPURenderBundleEncoder.draw" exists.
  4022  func (this GPURenderBundleEncoder) HasFuncDraw3() bool {
  4023  	return js.True == bindings.HasFuncGPURenderBundleEncoderDraw3(
  4024  		this.ref,
  4025  	)
  4026  }
  4027  
  4028  // FuncDraw3 returns the method "GPURenderBundleEncoder.draw".
  4029  func (this GPURenderBundleEncoder) FuncDraw3() (fn js.Func[func(vertexCount GPUSize32)]) {
  4030  	bindings.FuncGPURenderBundleEncoderDraw3(
  4031  		this.ref, js.Pointer(&fn),
  4032  	)
  4033  	return
  4034  }
  4035  
  4036  // Draw3 calls the method "GPURenderBundleEncoder.draw".
  4037  func (this GPURenderBundleEncoder) Draw3(vertexCount GPUSize32) (ret js.Void) {
  4038  	bindings.CallGPURenderBundleEncoderDraw3(
  4039  		this.ref, js.Pointer(&ret),
  4040  		uint32(vertexCount),
  4041  	)
  4042  
  4043  	return
  4044  }
  4045  
  4046  // TryDraw3 calls the method "GPURenderBundleEncoder.draw"
  4047  // in a try/catch block and returns (_, err, ok = false) when it went through
  4048  // the catch clause.
  4049  func (this GPURenderBundleEncoder) TryDraw3(vertexCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4050  	ok = js.True == bindings.TryGPURenderBundleEncoderDraw3(
  4051  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4052  		uint32(vertexCount),
  4053  	)
  4054  
  4055  	return
  4056  }
  4057  
  4058  // HasFuncDrawIndexed returns true if the method "GPURenderBundleEncoder.drawIndexed" exists.
  4059  func (this GPURenderBundleEncoder) HasFuncDrawIndexed() bool {
  4060  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndexed(
  4061  		this.ref,
  4062  	)
  4063  }
  4064  
  4065  // FuncDrawIndexed returns the method "GPURenderBundleEncoder.drawIndexed".
  4066  func (this GPURenderBundleEncoder) FuncDrawIndexed() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32, firstInstance GPUSize32)]) {
  4067  	bindings.FuncGPURenderBundleEncoderDrawIndexed(
  4068  		this.ref, js.Pointer(&fn),
  4069  	)
  4070  	return
  4071  }
  4072  
  4073  // DrawIndexed calls the method "GPURenderBundleEncoder.drawIndexed".
  4074  func (this GPURenderBundleEncoder) DrawIndexed(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32, firstInstance GPUSize32) (ret js.Void) {
  4075  	bindings.CallGPURenderBundleEncoderDrawIndexed(
  4076  		this.ref, js.Pointer(&ret),
  4077  		uint32(indexCount),
  4078  		uint32(instanceCount),
  4079  		uint32(firstIndex),
  4080  		int32(baseVertex),
  4081  		uint32(firstInstance),
  4082  	)
  4083  
  4084  	return
  4085  }
  4086  
  4087  // TryDrawIndexed calls the method "GPURenderBundleEncoder.drawIndexed"
  4088  // in a try/catch block and returns (_, err, ok = false) when it went through
  4089  // the catch clause.
  4090  func (this GPURenderBundleEncoder) TryDrawIndexed(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32, firstInstance GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4091  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndexed(
  4092  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4093  		uint32(indexCount),
  4094  		uint32(instanceCount),
  4095  		uint32(firstIndex),
  4096  		int32(baseVertex),
  4097  		uint32(firstInstance),
  4098  	)
  4099  
  4100  	return
  4101  }
  4102  
  4103  // HasFuncDrawIndexed1 returns true if the method "GPURenderBundleEncoder.drawIndexed" exists.
  4104  func (this GPURenderBundleEncoder) HasFuncDrawIndexed1() bool {
  4105  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndexed1(
  4106  		this.ref,
  4107  	)
  4108  }
  4109  
  4110  // FuncDrawIndexed1 returns the method "GPURenderBundleEncoder.drawIndexed".
  4111  func (this GPURenderBundleEncoder) FuncDrawIndexed1() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32)]) {
  4112  	bindings.FuncGPURenderBundleEncoderDrawIndexed1(
  4113  		this.ref, js.Pointer(&fn),
  4114  	)
  4115  	return
  4116  }
  4117  
  4118  // DrawIndexed1 calls the method "GPURenderBundleEncoder.drawIndexed".
  4119  func (this GPURenderBundleEncoder) DrawIndexed1(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32) (ret js.Void) {
  4120  	bindings.CallGPURenderBundleEncoderDrawIndexed1(
  4121  		this.ref, js.Pointer(&ret),
  4122  		uint32(indexCount),
  4123  		uint32(instanceCount),
  4124  		uint32(firstIndex),
  4125  		int32(baseVertex),
  4126  	)
  4127  
  4128  	return
  4129  }
  4130  
  4131  // TryDrawIndexed1 calls the method "GPURenderBundleEncoder.drawIndexed"
  4132  // in a try/catch block and returns (_, err, ok = false) when it went through
  4133  // the catch clause.
  4134  func (this GPURenderBundleEncoder) TryDrawIndexed1(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32, baseVertex GPUSignedOffset32) (ret js.Void, exception js.Any, ok bool) {
  4135  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndexed1(
  4136  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4137  		uint32(indexCount),
  4138  		uint32(instanceCount),
  4139  		uint32(firstIndex),
  4140  		int32(baseVertex),
  4141  	)
  4142  
  4143  	return
  4144  }
  4145  
  4146  // HasFuncDrawIndexed2 returns true if the method "GPURenderBundleEncoder.drawIndexed" exists.
  4147  func (this GPURenderBundleEncoder) HasFuncDrawIndexed2() bool {
  4148  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndexed2(
  4149  		this.ref,
  4150  	)
  4151  }
  4152  
  4153  // FuncDrawIndexed2 returns the method "GPURenderBundleEncoder.drawIndexed".
  4154  func (this GPURenderBundleEncoder) FuncDrawIndexed2() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32)]) {
  4155  	bindings.FuncGPURenderBundleEncoderDrawIndexed2(
  4156  		this.ref, js.Pointer(&fn),
  4157  	)
  4158  	return
  4159  }
  4160  
  4161  // DrawIndexed2 calls the method "GPURenderBundleEncoder.drawIndexed".
  4162  func (this GPURenderBundleEncoder) DrawIndexed2(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32) (ret js.Void) {
  4163  	bindings.CallGPURenderBundleEncoderDrawIndexed2(
  4164  		this.ref, js.Pointer(&ret),
  4165  		uint32(indexCount),
  4166  		uint32(instanceCount),
  4167  		uint32(firstIndex),
  4168  	)
  4169  
  4170  	return
  4171  }
  4172  
  4173  // TryDrawIndexed2 calls the method "GPURenderBundleEncoder.drawIndexed"
  4174  // in a try/catch block and returns (_, err, ok = false) when it went through
  4175  // the catch clause.
  4176  func (this GPURenderBundleEncoder) TryDrawIndexed2(indexCount GPUSize32, instanceCount GPUSize32, firstIndex GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4177  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndexed2(
  4178  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4179  		uint32(indexCount),
  4180  		uint32(instanceCount),
  4181  		uint32(firstIndex),
  4182  	)
  4183  
  4184  	return
  4185  }
  4186  
  4187  // HasFuncDrawIndexed3 returns true if the method "GPURenderBundleEncoder.drawIndexed" exists.
  4188  func (this GPURenderBundleEncoder) HasFuncDrawIndexed3() bool {
  4189  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndexed3(
  4190  		this.ref,
  4191  	)
  4192  }
  4193  
  4194  // FuncDrawIndexed3 returns the method "GPURenderBundleEncoder.drawIndexed".
  4195  func (this GPURenderBundleEncoder) FuncDrawIndexed3() (fn js.Func[func(indexCount GPUSize32, instanceCount GPUSize32)]) {
  4196  	bindings.FuncGPURenderBundleEncoderDrawIndexed3(
  4197  		this.ref, js.Pointer(&fn),
  4198  	)
  4199  	return
  4200  }
  4201  
  4202  // DrawIndexed3 calls the method "GPURenderBundleEncoder.drawIndexed".
  4203  func (this GPURenderBundleEncoder) DrawIndexed3(indexCount GPUSize32, instanceCount GPUSize32) (ret js.Void) {
  4204  	bindings.CallGPURenderBundleEncoderDrawIndexed3(
  4205  		this.ref, js.Pointer(&ret),
  4206  		uint32(indexCount),
  4207  		uint32(instanceCount),
  4208  	)
  4209  
  4210  	return
  4211  }
  4212  
  4213  // TryDrawIndexed3 calls the method "GPURenderBundleEncoder.drawIndexed"
  4214  // in a try/catch block and returns (_, err, ok = false) when it went through
  4215  // the catch clause.
  4216  func (this GPURenderBundleEncoder) TryDrawIndexed3(indexCount GPUSize32, instanceCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4217  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndexed3(
  4218  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4219  		uint32(indexCount),
  4220  		uint32(instanceCount),
  4221  	)
  4222  
  4223  	return
  4224  }
  4225  
  4226  // HasFuncDrawIndexed4 returns true if the method "GPURenderBundleEncoder.drawIndexed" exists.
  4227  func (this GPURenderBundleEncoder) HasFuncDrawIndexed4() bool {
  4228  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndexed4(
  4229  		this.ref,
  4230  	)
  4231  }
  4232  
  4233  // FuncDrawIndexed4 returns the method "GPURenderBundleEncoder.drawIndexed".
  4234  func (this GPURenderBundleEncoder) FuncDrawIndexed4() (fn js.Func[func(indexCount GPUSize32)]) {
  4235  	bindings.FuncGPURenderBundleEncoderDrawIndexed4(
  4236  		this.ref, js.Pointer(&fn),
  4237  	)
  4238  	return
  4239  }
  4240  
  4241  // DrawIndexed4 calls the method "GPURenderBundleEncoder.drawIndexed".
  4242  func (this GPURenderBundleEncoder) DrawIndexed4(indexCount GPUSize32) (ret js.Void) {
  4243  	bindings.CallGPURenderBundleEncoderDrawIndexed4(
  4244  		this.ref, js.Pointer(&ret),
  4245  		uint32(indexCount),
  4246  	)
  4247  
  4248  	return
  4249  }
  4250  
  4251  // TryDrawIndexed4 calls the method "GPURenderBundleEncoder.drawIndexed"
  4252  // in a try/catch block and returns (_, err, ok = false) when it went through
  4253  // the catch clause.
  4254  func (this GPURenderBundleEncoder) TryDrawIndexed4(indexCount GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4255  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndexed4(
  4256  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4257  		uint32(indexCount),
  4258  	)
  4259  
  4260  	return
  4261  }
  4262  
  4263  // HasFuncDrawIndirect returns true if the method "GPURenderBundleEncoder.drawIndirect" exists.
  4264  func (this GPURenderBundleEncoder) HasFuncDrawIndirect() bool {
  4265  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndirect(
  4266  		this.ref,
  4267  	)
  4268  }
  4269  
  4270  // FuncDrawIndirect returns the method "GPURenderBundleEncoder.drawIndirect".
  4271  func (this GPURenderBundleEncoder) FuncDrawIndirect() (fn js.Func[func(indirectBuffer GPUBuffer, indirectOffset GPUSize64)]) {
  4272  	bindings.FuncGPURenderBundleEncoderDrawIndirect(
  4273  		this.ref, js.Pointer(&fn),
  4274  	)
  4275  	return
  4276  }
  4277  
  4278  // DrawIndirect calls the method "GPURenderBundleEncoder.drawIndirect".
  4279  func (this GPURenderBundleEncoder) DrawIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void) {
  4280  	bindings.CallGPURenderBundleEncoderDrawIndirect(
  4281  		this.ref, js.Pointer(&ret),
  4282  		indirectBuffer.Ref(),
  4283  		float64(indirectOffset),
  4284  	)
  4285  
  4286  	return
  4287  }
  4288  
  4289  // TryDrawIndirect calls the method "GPURenderBundleEncoder.drawIndirect"
  4290  // in a try/catch block and returns (_, err, ok = false) when it went through
  4291  // the catch clause.
  4292  func (this GPURenderBundleEncoder) TryDrawIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  4293  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndirect(
  4294  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4295  		indirectBuffer.Ref(),
  4296  		float64(indirectOffset),
  4297  	)
  4298  
  4299  	return
  4300  }
  4301  
  4302  // HasFuncDrawIndexedIndirect returns true if the method "GPURenderBundleEncoder.drawIndexedIndirect" exists.
  4303  func (this GPURenderBundleEncoder) HasFuncDrawIndexedIndirect() bool {
  4304  	return js.True == bindings.HasFuncGPURenderBundleEncoderDrawIndexedIndirect(
  4305  		this.ref,
  4306  	)
  4307  }
  4308  
  4309  // FuncDrawIndexedIndirect returns the method "GPURenderBundleEncoder.drawIndexedIndirect".
  4310  func (this GPURenderBundleEncoder) FuncDrawIndexedIndirect() (fn js.Func[func(indirectBuffer GPUBuffer, indirectOffset GPUSize64)]) {
  4311  	bindings.FuncGPURenderBundleEncoderDrawIndexedIndirect(
  4312  		this.ref, js.Pointer(&fn),
  4313  	)
  4314  	return
  4315  }
  4316  
  4317  // DrawIndexedIndirect calls the method "GPURenderBundleEncoder.drawIndexedIndirect".
  4318  func (this GPURenderBundleEncoder) DrawIndexedIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void) {
  4319  	bindings.CallGPURenderBundleEncoderDrawIndexedIndirect(
  4320  		this.ref, js.Pointer(&ret),
  4321  		indirectBuffer.Ref(),
  4322  		float64(indirectOffset),
  4323  	)
  4324  
  4325  	return
  4326  }
  4327  
  4328  // TryDrawIndexedIndirect calls the method "GPURenderBundleEncoder.drawIndexedIndirect"
  4329  // in a try/catch block and returns (_, err, ok = false) when it went through
  4330  // the catch clause.
  4331  func (this GPURenderBundleEncoder) TryDrawIndexedIndirect(indirectBuffer GPUBuffer, indirectOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  4332  	ok = js.True == bindings.TryGPURenderBundleEncoderDrawIndexedIndirect(
  4333  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4334  		indirectBuffer.Ref(),
  4335  		float64(indirectOffset),
  4336  	)
  4337  
  4338  	return
  4339  }
  4340  
  4341  // HasFuncSetBindGroup returns true if the method "GPURenderBundleEncoder.setBindGroup" exists.
  4342  func (this GPURenderBundleEncoder) HasFuncSetBindGroup() bool {
  4343  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetBindGroup(
  4344  		this.ref,
  4345  	)
  4346  }
  4347  
  4348  // FuncSetBindGroup returns the method "GPURenderBundleEncoder.setBindGroup".
  4349  func (this GPURenderBundleEncoder) FuncSetBindGroup() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset])]) {
  4350  	bindings.FuncGPURenderBundleEncoderSetBindGroup(
  4351  		this.ref, js.Pointer(&fn),
  4352  	)
  4353  	return
  4354  }
  4355  
  4356  // SetBindGroup calls the method "GPURenderBundleEncoder.setBindGroup".
  4357  func (this GPURenderBundleEncoder) SetBindGroup(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset]) (ret js.Void) {
  4358  	bindings.CallGPURenderBundleEncoderSetBindGroup(
  4359  		this.ref, js.Pointer(&ret),
  4360  		uint32(index),
  4361  		bindGroup.Ref(),
  4362  		dynamicOffsets.Ref(),
  4363  	)
  4364  
  4365  	return
  4366  }
  4367  
  4368  // TrySetBindGroup calls the method "GPURenderBundleEncoder.setBindGroup"
  4369  // in a try/catch block and returns (_, err, ok = false) when it went through
  4370  // the catch clause.
  4371  func (this GPURenderBundleEncoder) TrySetBindGroup(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsets js.Array[GPUBufferDynamicOffset]) (ret js.Void, exception js.Any, ok bool) {
  4372  	ok = js.True == bindings.TryGPURenderBundleEncoderSetBindGroup(
  4373  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4374  		uint32(index),
  4375  		bindGroup.Ref(),
  4376  		dynamicOffsets.Ref(),
  4377  	)
  4378  
  4379  	return
  4380  }
  4381  
  4382  // HasFuncSetBindGroup1 returns true if the method "GPURenderBundleEncoder.setBindGroup" exists.
  4383  func (this GPURenderBundleEncoder) HasFuncSetBindGroup1() bool {
  4384  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetBindGroup1(
  4385  		this.ref,
  4386  	)
  4387  }
  4388  
  4389  // FuncSetBindGroup1 returns the method "GPURenderBundleEncoder.setBindGroup".
  4390  func (this GPURenderBundleEncoder) FuncSetBindGroup1() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup)]) {
  4391  	bindings.FuncGPURenderBundleEncoderSetBindGroup1(
  4392  		this.ref, js.Pointer(&fn),
  4393  	)
  4394  	return
  4395  }
  4396  
  4397  // SetBindGroup1 calls the method "GPURenderBundleEncoder.setBindGroup".
  4398  func (this GPURenderBundleEncoder) SetBindGroup1(index GPUIndex32, bindGroup GPUBindGroup) (ret js.Void) {
  4399  	bindings.CallGPURenderBundleEncoderSetBindGroup1(
  4400  		this.ref, js.Pointer(&ret),
  4401  		uint32(index),
  4402  		bindGroup.Ref(),
  4403  	)
  4404  
  4405  	return
  4406  }
  4407  
  4408  // TrySetBindGroup1 calls the method "GPURenderBundleEncoder.setBindGroup"
  4409  // in a try/catch block and returns (_, err, ok = false) when it went through
  4410  // the catch clause.
  4411  func (this GPURenderBundleEncoder) TrySetBindGroup1(index GPUIndex32, bindGroup GPUBindGroup) (ret js.Void, exception js.Any, ok bool) {
  4412  	ok = js.True == bindings.TryGPURenderBundleEncoderSetBindGroup1(
  4413  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4414  		uint32(index),
  4415  		bindGroup.Ref(),
  4416  	)
  4417  
  4418  	return
  4419  }
  4420  
  4421  // HasFuncSetBindGroup2 returns true if the method "GPURenderBundleEncoder.setBindGroup" exists.
  4422  func (this GPURenderBundleEncoder) HasFuncSetBindGroup2() bool {
  4423  	return js.True == bindings.HasFuncGPURenderBundleEncoderSetBindGroup2(
  4424  		this.ref,
  4425  	)
  4426  }
  4427  
  4428  // FuncSetBindGroup2 returns the method "GPURenderBundleEncoder.setBindGroup".
  4429  func (this GPURenderBundleEncoder) FuncSetBindGroup2() (fn js.Func[func(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32)]) {
  4430  	bindings.FuncGPURenderBundleEncoderSetBindGroup2(
  4431  		this.ref, js.Pointer(&fn),
  4432  	)
  4433  	return
  4434  }
  4435  
  4436  // SetBindGroup2 calls the method "GPURenderBundleEncoder.setBindGroup".
  4437  func (this GPURenderBundleEncoder) SetBindGroup2(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32) (ret js.Void) {
  4438  	bindings.CallGPURenderBundleEncoderSetBindGroup2(
  4439  		this.ref, js.Pointer(&ret),
  4440  		uint32(index),
  4441  		bindGroup.Ref(),
  4442  		dynamicOffsetsData.Ref(),
  4443  		float64(dynamicOffsetsDataStart),
  4444  		uint32(dynamicOffsetsDataLength),
  4445  	)
  4446  
  4447  	return
  4448  }
  4449  
  4450  // TrySetBindGroup2 calls the method "GPURenderBundleEncoder.setBindGroup"
  4451  // in a try/catch block and returns (_, err, ok = false) when it went through
  4452  // the catch clause.
  4453  func (this GPURenderBundleEncoder) TrySetBindGroup2(index GPUIndex32, bindGroup GPUBindGroup, dynamicOffsetsData js.TypedArray[uint32], dynamicOffsetsDataStart GPUSize64, dynamicOffsetsDataLength GPUSize32) (ret js.Void, exception js.Any, ok bool) {
  4454  	ok = js.True == bindings.TryGPURenderBundleEncoderSetBindGroup2(
  4455  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4456  		uint32(index),
  4457  		bindGroup.Ref(),
  4458  		dynamicOffsetsData.Ref(),
  4459  		float64(dynamicOffsetsDataStart),
  4460  		uint32(dynamicOffsetsDataLength),
  4461  	)
  4462  
  4463  	return
  4464  }
  4465  
  4466  // HasFuncPushDebugGroup returns true if the method "GPURenderBundleEncoder.pushDebugGroup" exists.
  4467  func (this GPURenderBundleEncoder) HasFuncPushDebugGroup() bool {
  4468  	return js.True == bindings.HasFuncGPURenderBundleEncoderPushDebugGroup(
  4469  		this.ref,
  4470  	)
  4471  }
  4472  
  4473  // FuncPushDebugGroup returns the method "GPURenderBundleEncoder.pushDebugGroup".
  4474  func (this GPURenderBundleEncoder) FuncPushDebugGroup() (fn js.Func[func(groupLabel js.String)]) {
  4475  	bindings.FuncGPURenderBundleEncoderPushDebugGroup(
  4476  		this.ref, js.Pointer(&fn),
  4477  	)
  4478  	return
  4479  }
  4480  
  4481  // PushDebugGroup calls the method "GPURenderBundleEncoder.pushDebugGroup".
  4482  func (this GPURenderBundleEncoder) PushDebugGroup(groupLabel js.String) (ret js.Void) {
  4483  	bindings.CallGPURenderBundleEncoderPushDebugGroup(
  4484  		this.ref, js.Pointer(&ret),
  4485  		groupLabel.Ref(),
  4486  	)
  4487  
  4488  	return
  4489  }
  4490  
  4491  // TryPushDebugGroup calls the method "GPURenderBundleEncoder.pushDebugGroup"
  4492  // in a try/catch block and returns (_, err, ok = false) when it went through
  4493  // the catch clause.
  4494  func (this GPURenderBundleEncoder) TryPushDebugGroup(groupLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  4495  	ok = js.True == bindings.TryGPURenderBundleEncoderPushDebugGroup(
  4496  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4497  		groupLabel.Ref(),
  4498  	)
  4499  
  4500  	return
  4501  }
  4502  
  4503  // HasFuncPopDebugGroup returns true if the method "GPURenderBundleEncoder.popDebugGroup" exists.
  4504  func (this GPURenderBundleEncoder) HasFuncPopDebugGroup() bool {
  4505  	return js.True == bindings.HasFuncGPURenderBundleEncoderPopDebugGroup(
  4506  		this.ref,
  4507  	)
  4508  }
  4509  
  4510  // FuncPopDebugGroup returns the method "GPURenderBundleEncoder.popDebugGroup".
  4511  func (this GPURenderBundleEncoder) FuncPopDebugGroup() (fn js.Func[func()]) {
  4512  	bindings.FuncGPURenderBundleEncoderPopDebugGroup(
  4513  		this.ref, js.Pointer(&fn),
  4514  	)
  4515  	return
  4516  }
  4517  
  4518  // PopDebugGroup calls the method "GPURenderBundleEncoder.popDebugGroup".
  4519  func (this GPURenderBundleEncoder) PopDebugGroup() (ret js.Void) {
  4520  	bindings.CallGPURenderBundleEncoderPopDebugGroup(
  4521  		this.ref, js.Pointer(&ret),
  4522  	)
  4523  
  4524  	return
  4525  }
  4526  
  4527  // TryPopDebugGroup calls the method "GPURenderBundleEncoder.popDebugGroup"
  4528  // in a try/catch block and returns (_, err, ok = false) when it went through
  4529  // the catch clause.
  4530  func (this GPURenderBundleEncoder) TryPopDebugGroup() (ret js.Void, exception js.Any, ok bool) {
  4531  	ok = js.True == bindings.TryGPURenderBundleEncoderPopDebugGroup(
  4532  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4533  	)
  4534  
  4535  	return
  4536  }
  4537  
  4538  // HasFuncInsertDebugMarker returns true if the method "GPURenderBundleEncoder.insertDebugMarker" exists.
  4539  func (this GPURenderBundleEncoder) HasFuncInsertDebugMarker() bool {
  4540  	return js.True == bindings.HasFuncGPURenderBundleEncoderInsertDebugMarker(
  4541  		this.ref,
  4542  	)
  4543  }
  4544  
  4545  // FuncInsertDebugMarker returns the method "GPURenderBundleEncoder.insertDebugMarker".
  4546  func (this GPURenderBundleEncoder) FuncInsertDebugMarker() (fn js.Func[func(markerLabel js.String)]) {
  4547  	bindings.FuncGPURenderBundleEncoderInsertDebugMarker(
  4548  		this.ref, js.Pointer(&fn),
  4549  	)
  4550  	return
  4551  }
  4552  
  4553  // InsertDebugMarker calls the method "GPURenderBundleEncoder.insertDebugMarker".
  4554  func (this GPURenderBundleEncoder) InsertDebugMarker(markerLabel js.String) (ret js.Void) {
  4555  	bindings.CallGPURenderBundleEncoderInsertDebugMarker(
  4556  		this.ref, js.Pointer(&ret),
  4557  		markerLabel.Ref(),
  4558  	)
  4559  
  4560  	return
  4561  }
  4562  
  4563  // TryInsertDebugMarker calls the method "GPURenderBundleEncoder.insertDebugMarker"
  4564  // in a try/catch block and returns (_, err, ok = false) when it went through
  4565  // the catch clause.
  4566  func (this GPURenderBundleEncoder) TryInsertDebugMarker(markerLabel js.String) (ret js.Void, exception js.Any, ok bool) {
  4567  	ok = js.True == bindings.TryGPURenderBundleEncoderInsertDebugMarker(
  4568  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  4569  		markerLabel.Ref(),
  4570  	)
  4571  
  4572  	return
  4573  }
  4574  
  4575  type GPURenderBundleEncoderDescriptor struct {
  4576  	// DepthReadOnly is "GPURenderBundleEncoderDescriptor.depthReadOnly"
  4577  	//
  4578  	// Optional, defaults to false.
  4579  	//
  4580  	// NOTE: FFI_USE_DepthReadOnly MUST be set to true to make this field effective.
  4581  	DepthReadOnly bool
  4582  	// StencilReadOnly is "GPURenderBundleEncoderDescriptor.stencilReadOnly"
  4583  	//
  4584  	// Optional, defaults to false.
  4585  	//
  4586  	// NOTE: FFI_USE_StencilReadOnly MUST be set to true to make this field effective.
  4587  	StencilReadOnly bool
  4588  	// ColorFormats is "GPURenderBundleEncoderDescriptor.colorFormats"
  4589  	//
  4590  	// Required
  4591  	ColorFormats js.Array[GPUTextureFormat]
  4592  	// DepthStencilFormat is "GPURenderBundleEncoderDescriptor.depthStencilFormat"
  4593  	//
  4594  	// Optional
  4595  	DepthStencilFormat GPUTextureFormat
  4596  	// SampleCount is "GPURenderBundleEncoderDescriptor.sampleCount"
  4597  	//
  4598  	// Optional, defaults to 1.
  4599  	//
  4600  	// NOTE: FFI_USE_SampleCount MUST be set to true to make this field effective.
  4601  	SampleCount GPUSize32
  4602  	// Label is "GPURenderBundleEncoderDescriptor.label"
  4603  	//
  4604  	// Optional, defaults to "".
  4605  	Label js.String
  4606  
  4607  	FFI_USE_DepthReadOnly   bool // for DepthReadOnly.
  4608  	FFI_USE_StencilReadOnly bool // for StencilReadOnly.
  4609  	FFI_USE_SampleCount     bool // for SampleCount.
  4610  
  4611  	FFI_USE bool
  4612  }
  4613  
  4614  // FromRef calls UpdateFrom and returns a GPURenderBundleEncoderDescriptor with all fields set.
  4615  func (p GPURenderBundleEncoderDescriptor) FromRef(ref js.Ref) GPURenderBundleEncoderDescriptor {
  4616  	p.UpdateFrom(ref)
  4617  	return p
  4618  }
  4619  
  4620  // New creates a new GPURenderBundleEncoderDescriptor in the application heap.
  4621  func (p GPURenderBundleEncoderDescriptor) New() js.Ref {
  4622  	return bindings.GPURenderBundleEncoderDescriptorJSLoad(
  4623  		js.Pointer(&p), js.True, 0,
  4624  	)
  4625  }
  4626  
  4627  // UpdateFrom copies value of all fields of the heap object to p.
  4628  func (p *GPURenderBundleEncoderDescriptor) UpdateFrom(ref js.Ref) {
  4629  	bindings.GPURenderBundleEncoderDescriptorJSStore(
  4630  		js.Pointer(p), ref,
  4631  	)
  4632  }
  4633  
  4634  // Update writes all fields of the p to the heap object referenced by ref.
  4635  func (p *GPURenderBundleEncoderDescriptor) Update(ref js.Ref) {
  4636  	bindings.GPURenderBundleEncoderDescriptorJSLoad(
  4637  		js.Pointer(p), js.False, ref,
  4638  	)
  4639  }
  4640  
  4641  // FreeMembers frees fields with heap reference, if recursive is true
  4642  // free all heap references reachable from p.
  4643  func (p *GPURenderBundleEncoderDescriptor) FreeMembers(recursive bool) {
  4644  	js.Free(
  4645  		p.ColorFormats.Ref(),
  4646  		p.Label.Ref(),
  4647  	)
  4648  	p.ColorFormats = p.ColorFormats.FromRef(js.Undefined)
  4649  	p.Label = p.Label.FromRef(js.Undefined)
  4650  }
  4651  
  4652  type GPUQuerySetDescriptor struct {
  4653  	// Type is "GPUQuerySetDescriptor.type"
  4654  	//
  4655  	// Required
  4656  	Type GPUQueryType
  4657  	// Count is "GPUQuerySetDescriptor.count"
  4658  	//
  4659  	// Required
  4660  	Count GPUSize32
  4661  	// Label is "GPUQuerySetDescriptor.label"
  4662  	//
  4663  	// Optional, defaults to "".
  4664  	Label js.String
  4665  
  4666  	FFI_USE bool
  4667  }
  4668  
  4669  // FromRef calls UpdateFrom and returns a GPUQuerySetDescriptor with all fields set.
  4670  func (p GPUQuerySetDescriptor) FromRef(ref js.Ref) GPUQuerySetDescriptor {
  4671  	p.UpdateFrom(ref)
  4672  	return p
  4673  }
  4674  
  4675  // New creates a new GPUQuerySetDescriptor in the application heap.
  4676  func (p GPUQuerySetDescriptor) New() js.Ref {
  4677  	return bindings.GPUQuerySetDescriptorJSLoad(
  4678  		js.Pointer(&p), js.True, 0,
  4679  	)
  4680  }
  4681  
  4682  // UpdateFrom copies value of all fields of the heap object to p.
  4683  func (p *GPUQuerySetDescriptor) UpdateFrom(ref js.Ref) {
  4684  	bindings.GPUQuerySetDescriptorJSStore(
  4685  		js.Pointer(p), ref,
  4686  	)
  4687  }
  4688  
  4689  // Update writes all fields of the p to the heap object referenced by ref.
  4690  func (p *GPUQuerySetDescriptor) Update(ref js.Ref) {
  4691  	bindings.GPUQuerySetDescriptorJSLoad(
  4692  		js.Pointer(p), js.False, ref,
  4693  	)
  4694  }
  4695  
  4696  // FreeMembers frees fields with heap reference, if recursive is true
  4697  // free all heap references reachable from p.
  4698  func (p *GPUQuerySetDescriptor) FreeMembers(recursive bool) {
  4699  	js.Free(
  4700  		p.Label.Ref(),
  4701  	)
  4702  	p.Label = p.Label.FromRef(js.Undefined)
  4703  }
  4704  
  4705  type GPUErrorFilter uint32
  4706  
  4707  const (
  4708  	_ GPUErrorFilter = iota
  4709  
  4710  	GPUErrorFilter_VALIDATION
  4711  	GPUErrorFilter_OUT_OF_MEMORY
  4712  	GPUErrorFilter_INTERNAL
  4713  )
  4714  
  4715  func (GPUErrorFilter) FromRef(str js.Ref) GPUErrorFilter {
  4716  	return GPUErrorFilter(bindings.ConstOfGPUErrorFilter(str))
  4717  }
  4718  
  4719  func (x GPUErrorFilter) String() (string, bool) {
  4720  	switch x {
  4721  	case GPUErrorFilter_VALIDATION:
  4722  		return "validation", true
  4723  	case GPUErrorFilter_OUT_OF_MEMORY:
  4724  		return "out-of-memory", true
  4725  	case GPUErrorFilter_INTERNAL:
  4726  		return "internal", true
  4727  	default:
  4728  		return "", false
  4729  	}
  4730  }
  4731  
  4732  type GPUError struct {
  4733  	ref js.Ref
  4734  }
  4735  
  4736  func (this GPUError) Once() GPUError {
  4737  	this.ref.Once()
  4738  	return this
  4739  }
  4740  
  4741  func (this GPUError) Ref() js.Ref {
  4742  	return this.ref
  4743  }
  4744  
  4745  func (this GPUError) FromRef(ref js.Ref) GPUError {
  4746  	this.ref = ref
  4747  	return this
  4748  }
  4749  
  4750  func (this GPUError) Free() {
  4751  	this.ref.Free()
  4752  }
  4753  
  4754  // Message returns the value of property "GPUError.message".
  4755  //
  4756  // It returns ok=false if there is no such property.
  4757  func (this GPUError) Message() (ret js.String, ok bool) {
  4758  	ok = js.True == bindings.GetGPUErrorMessage(
  4759  		this.ref, js.Pointer(&ret),
  4760  	)
  4761  	return
  4762  }
  4763  
  4764  type GPUSupportedFeatures struct {
  4765  	ref js.Ref
  4766  }
  4767  
  4768  func (this GPUSupportedFeatures) Once() GPUSupportedFeatures {
  4769  	this.ref.Once()
  4770  	return this
  4771  }
  4772  
  4773  func (this GPUSupportedFeatures) Ref() js.Ref {
  4774  	return this.ref
  4775  }
  4776  
  4777  func (this GPUSupportedFeatures) FromRef(ref js.Ref) GPUSupportedFeatures {
  4778  	this.ref = ref
  4779  	return this
  4780  }
  4781  
  4782  func (this GPUSupportedFeatures) Free() {
  4783  	this.ref.Free()
  4784  }
  4785  
  4786  type GPUSupportedLimits struct {
  4787  	ref js.Ref
  4788  }
  4789  
  4790  func (this GPUSupportedLimits) Once() GPUSupportedLimits {
  4791  	this.ref.Once()
  4792  	return this
  4793  }
  4794  
  4795  func (this GPUSupportedLimits) Ref() js.Ref {
  4796  	return this.ref
  4797  }
  4798  
  4799  func (this GPUSupportedLimits) FromRef(ref js.Ref) GPUSupportedLimits {
  4800  	this.ref = ref
  4801  	return this
  4802  }
  4803  
  4804  func (this GPUSupportedLimits) Free() {
  4805  	this.ref.Free()
  4806  }
  4807  
  4808  // MaxTextureDimension1D returns the value of property "GPUSupportedLimits.maxTextureDimension1D".
  4809  //
  4810  // It returns ok=false if there is no such property.
  4811  func (this GPUSupportedLimits) MaxTextureDimension1D() (ret uint32, ok bool) {
  4812  	ok = js.True == bindings.GetGPUSupportedLimitsMaxTextureDimension1D(
  4813  		this.ref, js.Pointer(&ret),
  4814  	)
  4815  	return
  4816  }
  4817  
  4818  // MaxTextureDimension2D returns the value of property "GPUSupportedLimits.maxTextureDimension2D".
  4819  //
  4820  // It returns ok=false if there is no such property.
  4821  func (this GPUSupportedLimits) MaxTextureDimension2D() (ret uint32, ok bool) {
  4822  	ok = js.True == bindings.GetGPUSupportedLimitsMaxTextureDimension2D(
  4823  		this.ref, js.Pointer(&ret),
  4824  	)
  4825  	return
  4826  }
  4827  
  4828  // MaxTextureDimension3D returns the value of property "GPUSupportedLimits.maxTextureDimension3D".
  4829  //
  4830  // It returns ok=false if there is no such property.
  4831  func (this GPUSupportedLimits) MaxTextureDimension3D() (ret uint32, ok bool) {
  4832  	ok = js.True == bindings.GetGPUSupportedLimitsMaxTextureDimension3D(
  4833  		this.ref, js.Pointer(&ret),
  4834  	)
  4835  	return
  4836  }
  4837  
  4838  // MaxTextureArrayLayers returns the value of property "GPUSupportedLimits.maxTextureArrayLayers".
  4839  //
  4840  // It returns ok=false if there is no such property.
  4841  func (this GPUSupportedLimits) MaxTextureArrayLayers() (ret uint32, ok bool) {
  4842  	ok = js.True == bindings.GetGPUSupportedLimitsMaxTextureArrayLayers(
  4843  		this.ref, js.Pointer(&ret),
  4844  	)
  4845  	return
  4846  }
  4847  
  4848  // MaxBindGroups returns the value of property "GPUSupportedLimits.maxBindGroups".
  4849  //
  4850  // It returns ok=false if there is no such property.
  4851  func (this GPUSupportedLimits) MaxBindGroups() (ret uint32, ok bool) {
  4852  	ok = js.True == bindings.GetGPUSupportedLimitsMaxBindGroups(
  4853  		this.ref, js.Pointer(&ret),
  4854  	)
  4855  	return
  4856  }
  4857  
  4858  // MaxBindGroupsPlusVertexBuffers returns the value of property "GPUSupportedLimits.maxBindGroupsPlusVertexBuffers".
  4859  //
  4860  // It returns ok=false if there is no such property.
  4861  func (this GPUSupportedLimits) MaxBindGroupsPlusVertexBuffers() (ret uint32, ok bool) {
  4862  	ok = js.True == bindings.GetGPUSupportedLimitsMaxBindGroupsPlusVertexBuffers(
  4863  		this.ref, js.Pointer(&ret),
  4864  	)
  4865  	return
  4866  }
  4867  
  4868  // MaxBindingsPerBindGroup returns the value of property "GPUSupportedLimits.maxBindingsPerBindGroup".
  4869  //
  4870  // It returns ok=false if there is no such property.
  4871  func (this GPUSupportedLimits) MaxBindingsPerBindGroup() (ret uint32, ok bool) {
  4872  	ok = js.True == bindings.GetGPUSupportedLimitsMaxBindingsPerBindGroup(
  4873  		this.ref, js.Pointer(&ret),
  4874  	)
  4875  	return
  4876  }
  4877  
  4878  // MaxDynamicUniformBuffersPerPipelineLayout returns the value of property "GPUSupportedLimits.maxDynamicUniformBuffersPerPipelineLayout".
  4879  //
  4880  // It returns ok=false if there is no such property.
  4881  func (this GPUSupportedLimits) MaxDynamicUniformBuffersPerPipelineLayout() (ret uint32, ok bool) {
  4882  	ok = js.True == bindings.GetGPUSupportedLimitsMaxDynamicUniformBuffersPerPipelineLayout(
  4883  		this.ref, js.Pointer(&ret),
  4884  	)
  4885  	return
  4886  }
  4887  
  4888  // MaxDynamicStorageBuffersPerPipelineLayout returns the value of property "GPUSupportedLimits.maxDynamicStorageBuffersPerPipelineLayout".
  4889  //
  4890  // It returns ok=false if there is no such property.
  4891  func (this GPUSupportedLimits) MaxDynamicStorageBuffersPerPipelineLayout() (ret uint32, ok bool) {
  4892  	ok = js.True == bindings.GetGPUSupportedLimitsMaxDynamicStorageBuffersPerPipelineLayout(
  4893  		this.ref, js.Pointer(&ret),
  4894  	)
  4895  	return
  4896  }
  4897  
  4898  // MaxSampledTexturesPerShaderStage returns the value of property "GPUSupportedLimits.maxSampledTexturesPerShaderStage".
  4899  //
  4900  // It returns ok=false if there is no such property.
  4901  func (this GPUSupportedLimits) MaxSampledTexturesPerShaderStage() (ret uint32, ok bool) {
  4902  	ok = js.True == bindings.GetGPUSupportedLimitsMaxSampledTexturesPerShaderStage(
  4903  		this.ref, js.Pointer(&ret),
  4904  	)
  4905  	return
  4906  }
  4907  
  4908  // MaxSamplersPerShaderStage returns the value of property "GPUSupportedLimits.maxSamplersPerShaderStage".
  4909  //
  4910  // It returns ok=false if there is no such property.
  4911  func (this GPUSupportedLimits) MaxSamplersPerShaderStage() (ret uint32, ok bool) {
  4912  	ok = js.True == bindings.GetGPUSupportedLimitsMaxSamplersPerShaderStage(
  4913  		this.ref, js.Pointer(&ret),
  4914  	)
  4915  	return
  4916  }
  4917  
  4918  // MaxStorageBuffersPerShaderStage returns the value of property "GPUSupportedLimits.maxStorageBuffersPerShaderStage".
  4919  //
  4920  // It returns ok=false if there is no such property.
  4921  func (this GPUSupportedLimits) MaxStorageBuffersPerShaderStage() (ret uint32, ok bool) {
  4922  	ok = js.True == bindings.GetGPUSupportedLimitsMaxStorageBuffersPerShaderStage(
  4923  		this.ref, js.Pointer(&ret),
  4924  	)
  4925  	return
  4926  }
  4927  
  4928  // MaxStorageTexturesPerShaderStage returns the value of property "GPUSupportedLimits.maxStorageTexturesPerShaderStage".
  4929  //
  4930  // It returns ok=false if there is no such property.
  4931  func (this GPUSupportedLimits) MaxStorageTexturesPerShaderStage() (ret uint32, ok bool) {
  4932  	ok = js.True == bindings.GetGPUSupportedLimitsMaxStorageTexturesPerShaderStage(
  4933  		this.ref, js.Pointer(&ret),
  4934  	)
  4935  	return
  4936  }
  4937  
  4938  // MaxUniformBuffersPerShaderStage returns the value of property "GPUSupportedLimits.maxUniformBuffersPerShaderStage".
  4939  //
  4940  // It returns ok=false if there is no such property.
  4941  func (this GPUSupportedLimits) MaxUniformBuffersPerShaderStage() (ret uint32, ok bool) {
  4942  	ok = js.True == bindings.GetGPUSupportedLimitsMaxUniformBuffersPerShaderStage(
  4943  		this.ref, js.Pointer(&ret),
  4944  	)
  4945  	return
  4946  }
  4947  
  4948  // MaxUniformBufferBindingSize returns the value of property "GPUSupportedLimits.maxUniformBufferBindingSize".
  4949  //
  4950  // It returns ok=false if there is no such property.
  4951  func (this GPUSupportedLimits) MaxUniformBufferBindingSize() (ret uint64, ok bool) {
  4952  	ok = js.True == bindings.GetGPUSupportedLimitsMaxUniformBufferBindingSize(
  4953  		this.ref, js.Pointer(&ret),
  4954  	)
  4955  	return
  4956  }
  4957  
  4958  // MaxStorageBufferBindingSize returns the value of property "GPUSupportedLimits.maxStorageBufferBindingSize".
  4959  //
  4960  // It returns ok=false if there is no such property.
  4961  func (this GPUSupportedLimits) MaxStorageBufferBindingSize() (ret uint64, ok bool) {
  4962  	ok = js.True == bindings.GetGPUSupportedLimitsMaxStorageBufferBindingSize(
  4963  		this.ref, js.Pointer(&ret),
  4964  	)
  4965  	return
  4966  }
  4967  
  4968  // MinUniformBufferOffsetAlignment returns the value of property "GPUSupportedLimits.minUniformBufferOffsetAlignment".
  4969  //
  4970  // It returns ok=false if there is no such property.
  4971  func (this GPUSupportedLimits) MinUniformBufferOffsetAlignment() (ret uint32, ok bool) {
  4972  	ok = js.True == bindings.GetGPUSupportedLimitsMinUniformBufferOffsetAlignment(
  4973  		this.ref, js.Pointer(&ret),
  4974  	)
  4975  	return
  4976  }
  4977  
  4978  // MinStorageBufferOffsetAlignment returns the value of property "GPUSupportedLimits.minStorageBufferOffsetAlignment".
  4979  //
  4980  // It returns ok=false if there is no such property.
  4981  func (this GPUSupportedLimits) MinStorageBufferOffsetAlignment() (ret uint32, ok bool) {
  4982  	ok = js.True == bindings.GetGPUSupportedLimitsMinStorageBufferOffsetAlignment(
  4983  		this.ref, js.Pointer(&ret),
  4984  	)
  4985  	return
  4986  }
  4987  
  4988  // MaxVertexBuffers returns the value of property "GPUSupportedLimits.maxVertexBuffers".
  4989  //
  4990  // It returns ok=false if there is no such property.
  4991  func (this GPUSupportedLimits) MaxVertexBuffers() (ret uint32, ok bool) {
  4992  	ok = js.True == bindings.GetGPUSupportedLimitsMaxVertexBuffers(
  4993  		this.ref, js.Pointer(&ret),
  4994  	)
  4995  	return
  4996  }
  4997  
  4998  // MaxBufferSize returns the value of property "GPUSupportedLimits.maxBufferSize".
  4999  //
  5000  // It returns ok=false if there is no such property.
  5001  func (this GPUSupportedLimits) MaxBufferSize() (ret uint64, ok bool) {
  5002  	ok = js.True == bindings.GetGPUSupportedLimitsMaxBufferSize(
  5003  		this.ref, js.Pointer(&ret),
  5004  	)
  5005  	return
  5006  }
  5007  
  5008  // MaxVertexAttributes returns the value of property "GPUSupportedLimits.maxVertexAttributes".
  5009  //
  5010  // It returns ok=false if there is no such property.
  5011  func (this GPUSupportedLimits) MaxVertexAttributes() (ret uint32, ok bool) {
  5012  	ok = js.True == bindings.GetGPUSupportedLimitsMaxVertexAttributes(
  5013  		this.ref, js.Pointer(&ret),
  5014  	)
  5015  	return
  5016  }
  5017  
  5018  // MaxVertexBufferArrayStride returns the value of property "GPUSupportedLimits.maxVertexBufferArrayStride".
  5019  //
  5020  // It returns ok=false if there is no such property.
  5021  func (this GPUSupportedLimits) MaxVertexBufferArrayStride() (ret uint32, ok bool) {
  5022  	ok = js.True == bindings.GetGPUSupportedLimitsMaxVertexBufferArrayStride(
  5023  		this.ref, js.Pointer(&ret),
  5024  	)
  5025  	return
  5026  }
  5027  
  5028  // MaxInterStageShaderComponents returns the value of property "GPUSupportedLimits.maxInterStageShaderComponents".
  5029  //
  5030  // It returns ok=false if there is no such property.
  5031  func (this GPUSupportedLimits) MaxInterStageShaderComponents() (ret uint32, ok bool) {
  5032  	ok = js.True == bindings.GetGPUSupportedLimitsMaxInterStageShaderComponents(
  5033  		this.ref, js.Pointer(&ret),
  5034  	)
  5035  	return
  5036  }
  5037  
  5038  // MaxInterStageShaderVariables returns the value of property "GPUSupportedLimits.maxInterStageShaderVariables".
  5039  //
  5040  // It returns ok=false if there is no such property.
  5041  func (this GPUSupportedLimits) MaxInterStageShaderVariables() (ret uint32, ok bool) {
  5042  	ok = js.True == bindings.GetGPUSupportedLimitsMaxInterStageShaderVariables(
  5043  		this.ref, js.Pointer(&ret),
  5044  	)
  5045  	return
  5046  }
  5047  
  5048  // MaxColorAttachments returns the value of property "GPUSupportedLimits.maxColorAttachments".
  5049  //
  5050  // It returns ok=false if there is no such property.
  5051  func (this GPUSupportedLimits) MaxColorAttachments() (ret uint32, ok bool) {
  5052  	ok = js.True == bindings.GetGPUSupportedLimitsMaxColorAttachments(
  5053  		this.ref, js.Pointer(&ret),
  5054  	)
  5055  	return
  5056  }
  5057  
  5058  // MaxColorAttachmentBytesPerSample returns the value of property "GPUSupportedLimits.maxColorAttachmentBytesPerSample".
  5059  //
  5060  // It returns ok=false if there is no such property.
  5061  func (this GPUSupportedLimits) MaxColorAttachmentBytesPerSample() (ret uint32, ok bool) {
  5062  	ok = js.True == bindings.GetGPUSupportedLimitsMaxColorAttachmentBytesPerSample(
  5063  		this.ref, js.Pointer(&ret),
  5064  	)
  5065  	return
  5066  }
  5067  
  5068  // MaxComputeWorkgroupStorageSize returns the value of property "GPUSupportedLimits.maxComputeWorkgroupStorageSize".
  5069  //
  5070  // It returns ok=false if there is no such property.
  5071  func (this GPUSupportedLimits) MaxComputeWorkgroupStorageSize() (ret uint32, ok bool) {
  5072  	ok = js.True == bindings.GetGPUSupportedLimitsMaxComputeWorkgroupStorageSize(
  5073  		this.ref, js.Pointer(&ret),
  5074  	)
  5075  	return
  5076  }
  5077  
  5078  // MaxComputeInvocationsPerWorkgroup returns the value of property "GPUSupportedLimits.maxComputeInvocationsPerWorkgroup".
  5079  //
  5080  // It returns ok=false if there is no such property.
  5081  func (this GPUSupportedLimits) MaxComputeInvocationsPerWorkgroup() (ret uint32, ok bool) {
  5082  	ok = js.True == bindings.GetGPUSupportedLimitsMaxComputeInvocationsPerWorkgroup(
  5083  		this.ref, js.Pointer(&ret),
  5084  	)
  5085  	return
  5086  }
  5087  
  5088  // MaxComputeWorkgroupSizeX returns the value of property "GPUSupportedLimits.maxComputeWorkgroupSizeX".
  5089  //
  5090  // It returns ok=false if there is no such property.
  5091  func (this GPUSupportedLimits) MaxComputeWorkgroupSizeX() (ret uint32, ok bool) {
  5092  	ok = js.True == bindings.GetGPUSupportedLimitsMaxComputeWorkgroupSizeX(
  5093  		this.ref, js.Pointer(&ret),
  5094  	)
  5095  	return
  5096  }
  5097  
  5098  // MaxComputeWorkgroupSizeY returns the value of property "GPUSupportedLimits.maxComputeWorkgroupSizeY".
  5099  //
  5100  // It returns ok=false if there is no such property.
  5101  func (this GPUSupportedLimits) MaxComputeWorkgroupSizeY() (ret uint32, ok bool) {
  5102  	ok = js.True == bindings.GetGPUSupportedLimitsMaxComputeWorkgroupSizeY(
  5103  		this.ref, js.Pointer(&ret),
  5104  	)
  5105  	return
  5106  }
  5107  
  5108  // MaxComputeWorkgroupSizeZ returns the value of property "GPUSupportedLimits.maxComputeWorkgroupSizeZ".
  5109  //
  5110  // It returns ok=false if there is no such property.
  5111  func (this GPUSupportedLimits) MaxComputeWorkgroupSizeZ() (ret uint32, ok bool) {
  5112  	ok = js.True == bindings.GetGPUSupportedLimitsMaxComputeWorkgroupSizeZ(
  5113  		this.ref, js.Pointer(&ret),
  5114  	)
  5115  	return
  5116  }
  5117  
  5118  // MaxComputeWorkgroupsPerDimension returns the value of property "GPUSupportedLimits.maxComputeWorkgroupsPerDimension".
  5119  //
  5120  // It returns ok=false if there is no such property.
  5121  func (this GPUSupportedLimits) MaxComputeWorkgroupsPerDimension() (ret uint32, ok bool) {
  5122  	ok = js.True == bindings.GetGPUSupportedLimitsMaxComputeWorkgroupsPerDimension(
  5123  		this.ref, js.Pointer(&ret),
  5124  	)
  5125  	return
  5126  }
  5127  
  5128  type GPUImageDataLayout struct {
  5129  	// Offset is "GPUImageDataLayout.offset"
  5130  	//
  5131  	// Optional, defaults to 0.
  5132  	//
  5133  	// NOTE: FFI_USE_Offset MUST be set to true to make this field effective.
  5134  	Offset GPUSize64
  5135  	// BytesPerRow is "GPUImageDataLayout.bytesPerRow"
  5136  	//
  5137  	// Optional
  5138  	//
  5139  	// NOTE: FFI_USE_BytesPerRow MUST be set to true to make this field effective.
  5140  	BytesPerRow GPUSize32
  5141  	// RowsPerImage is "GPUImageDataLayout.rowsPerImage"
  5142  	//
  5143  	// Optional
  5144  	//
  5145  	// NOTE: FFI_USE_RowsPerImage MUST be set to true to make this field effective.
  5146  	RowsPerImage GPUSize32
  5147  
  5148  	FFI_USE_Offset       bool // for Offset.
  5149  	FFI_USE_BytesPerRow  bool // for BytesPerRow.
  5150  	FFI_USE_RowsPerImage bool // for RowsPerImage.
  5151  
  5152  	FFI_USE bool
  5153  }
  5154  
  5155  // FromRef calls UpdateFrom and returns a GPUImageDataLayout with all fields set.
  5156  func (p GPUImageDataLayout) FromRef(ref js.Ref) GPUImageDataLayout {
  5157  	p.UpdateFrom(ref)
  5158  	return p
  5159  }
  5160  
  5161  // New creates a new GPUImageDataLayout in the application heap.
  5162  func (p GPUImageDataLayout) New() js.Ref {
  5163  	return bindings.GPUImageDataLayoutJSLoad(
  5164  		js.Pointer(&p), js.True, 0,
  5165  	)
  5166  }
  5167  
  5168  // UpdateFrom copies value of all fields of the heap object to p.
  5169  func (p *GPUImageDataLayout) UpdateFrom(ref js.Ref) {
  5170  	bindings.GPUImageDataLayoutJSStore(
  5171  		js.Pointer(p), ref,
  5172  	)
  5173  }
  5174  
  5175  // Update writes all fields of the p to the heap object referenced by ref.
  5176  func (p *GPUImageDataLayout) Update(ref js.Ref) {
  5177  	bindings.GPUImageDataLayoutJSLoad(
  5178  		js.Pointer(p), js.False, ref,
  5179  	)
  5180  }
  5181  
  5182  // FreeMembers frees fields with heap reference, if recursive is true
  5183  // free all heap references reachable from p.
  5184  func (p *GPUImageDataLayout) FreeMembers(recursive bool) {
  5185  }
  5186  
  5187  type OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas struct {
  5188  	ref js.Ref
  5189  }
  5190  
  5191  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) Ref() js.Ref {
  5192  	return x.ref
  5193  }
  5194  
  5195  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) Free() {
  5196  	x.ref.Free()
  5197  }
  5198  
  5199  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) FromRef(ref js.Ref) OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas {
  5200  	return OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas{
  5201  		ref: ref,
  5202  	}
  5203  }
  5204  
  5205  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) ImageBitmap() ImageBitmap {
  5206  	return ImageBitmap{}.FromRef(x.ref)
  5207  }
  5208  
  5209  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) ImageData() ImageData {
  5210  	return ImageData{}.FromRef(x.ref)
  5211  }
  5212  
  5213  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) HTMLImageElement() HTMLImageElement {
  5214  	return HTMLImageElement{}.FromRef(x.ref)
  5215  }
  5216  
  5217  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) HTMLVideoElement() HTMLVideoElement {
  5218  	return HTMLVideoElement{}.FromRef(x.ref)
  5219  }
  5220  
  5221  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) VideoFrame() VideoFrame {
  5222  	return VideoFrame{}.FromRef(x.ref)
  5223  }
  5224  
  5225  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) HTMLCanvasElement() HTMLCanvasElement {
  5226  	return HTMLCanvasElement{}.FromRef(x.ref)
  5227  }
  5228  
  5229  func (x OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas) OffscreenCanvas() OffscreenCanvas {
  5230  	return OffscreenCanvas{}.FromRef(x.ref)
  5231  }
  5232  
  5233  type GPUImageCopyExternalImageSource = OneOf_ImageBitmap_ImageData_HTMLImageElement_HTMLVideoElement_VideoFrame_HTMLCanvasElement_OffscreenCanvas
  5234  
  5235  type GPUOrigin2DDict struct {
  5236  	// X is "GPUOrigin2DDict.x"
  5237  	//
  5238  	// Optional, defaults to 0.
  5239  	//
  5240  	// NOTE: FFI_USE_X MUST be set to true to make this field effective.
  5241  	X GPUIntegerCoordinate
  5242  	// Y is "GPUOrigin2DDict.y"
  5243  	//
  5244  	// Optional, defaults to 0.
  5245  	//
  5246  	// NOTE: FFI_USE_Y MUST be set to true to make this field effective.
  5247  	Y GPUIntegerCoordinate
  5248  
  5249  	FFI_USE_X bool // for X.
  5250  	FFI_USE_Y bool // for Y.
  5251  
  5252  	FFI_USE bool
  5253  }
  5254  
  5255  // FromRef calls UpdateFrom and returns a GPUOrigin2DDict with all fields set.
  5256  func (p GPUOrigin2DDict) FromRef(ref js.Ref) GPUOrigin2DDict {
  5257  	p.UpdateFrom(ref)
  5258  	return p
  5259  }
  5260  
  5261  // New creates a new GPUOrigin2DDict in the application heap.
  5262  func (p GPUOrigin2DDict) New() js.Ref {
  5263  	return bindings.GPUOrigin2DDictJSLoad(
  5264  		js.Pointer(&p), js.True, 0,
  5265  	)
  5266  }
  5267  
  5268  // UpdateFrom copies value of all fields of the heap object to p.
  5269  func (p *GPUOrigin2DDict) UpdateFrom(ref js.Ref) {
  5270  	bindings.GPUOrigin2DDictJSStore(
  5271  		js.Pointer(p), ref,
  5272  	)
  5273  }
  5274  
  5275  // Update writes all fields of the p to the heap object referenced by ref.
  5276  func (p *GPUOrigin2DDict) Update(ref js.Ref) {
  5277  	bindings.GPUOrigin2DDictJSLoad(
  5278  		js.Pointer(p), js.False, ref,
  5279  	)
  5280  }
  5281  
  5282  // FreeMembers frees fields with heap reference, if recursive is true
  5283  // free all heap references reachable from p.
  5284  func (p *GPUOrigin2DDict) FreeMembers(recursive bool) {
  5285  }
  5286  
  5287  type OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict struct {
  5288  	ref js.Ref
  5289  }
  5290  
  5291  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict) Ref() js.Ref {
  5292  	return x.ref
  5293  }
  5294  
  5295  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict) Free() {
  5296  	x.ref.Free()
  5297  }
  5298  
  5299  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict) FromRef(ref js.Ref) OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict {
  5300  	return OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict{
  5301  		ref: ref,
  5302  	}
  5303  }
  5304  
  5305  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict) ArrayGPUIntegerCoordinate() js.Array[GPUIntegerCoordinate] {
  5306  	return js.Array[GPUIntegerCoordinate]{}.FromRef(x.ref)
  5307  }
  5308  
  5309  func (x OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict) GPUOrigin2DDict() GPUOrigin2DDict {
  5310  	var ret GPUOrigin2DDict
  5311  	ret.UpdateFrom(x.ref)
  5312  	return ret
  5313  }
  5314  
  5315  type GPUOrigin2D = OneOf_ArrayGPUIntegerCoordinate_GPUOrigin2DDict
  5316  
  5317  type GPUImageCopyExternalImage struct {
  5318  	// Source is "GPUImageCopyExternalImage.source"
  5319  	//
  5320  	// Required
  5321  	Source GPUImageCopyExternalImageSource
  5322  	// Origin is "GPUImageCopyExternalImage.origin"
  5323  	//
  5324  	// Optional, defaults to {}.
  5325  	Origin GPUOrigin2D
  5326  	// FlipY is "GPUImageCopyExternalImage.flipY"
  5327  	//
  5328  	// Optional, defaults to false.
  5329  	//
  5330  	// NOTE: FFI_USE_FlipY MUST be set to true to make this field effective.
  5331  	FlipY bool
  5332  
  5333  	FFI_USE_FlipY bool // for FlipY.
  5334  
  5335  	FFI_USE bool
  5336  }
  5337  
  5338  // FromRef calls UpdateFrom and returns a GPUImageCopyExternalImage with all fields set.
  5339  func (p GPUImageCopyExternalImage) FromRef(ref js.Ref) GPUImageCopyExternalImage {
  5340  	p.UpdateFrom(ref)
  5341  	return p
  5342  }
  5343  
  5344  // New creates a new GPUImageCopyExternalImage in the application heap.
  5345  func (p GPUImageCopyExternalImage) New() js.Ref {
  5346  	return bindings.GPUImageCopyExternalImageJSLoad(
  5347  		js.Pointer(&p), js.True, 0,
  5348  	)
  5349  }
  5350  
  5351  // UpdateFrom copies value of all fields of the heap object to p.
  5352  func (p *GPUImageCopyExternalImage) UpdateFrom(ref js.Ref) {
  5353  	bindings.GPUImageCopyExternalImageJSStore(
  5354  		js.Pointer(p), ref,
  5355  	)
  5356  }
  5357  
  5358  // Update writes all fields of the p to the heap object referenced by ref.
  5359  func (p *GPUImageCopyExternalImage) Update(ref js.Ref) {
  5360  	bindings.GPUImageCopyExternalImageJSLoad(
  5361  		js.Pointer(p), js.False, ref,
  5362  	)
  5363  }
  5364  
  5365  // FreeMembers frees fields with heap reference, if recursive is true
  5366  // free all heap references reachable from p.
  5367  func (p *GPUImageCopyExternalImage) FreeMembers(recursive bool) {
  5368  	js.Free(
  5369  		p.Source.Ref(),
  5370  		p.Origin.Ref(),
  5371  	)
  5372  	p.Source = p.Source.FromRef(js.Undefined)
  5373  	p.Origin = p.Origin.FromRef(js.Undefined)
  5374  }
  5375  
  5376  type GPUImageCopyTextureTagged struct {
  5377  	// ColorSpace is "GPUImageCopyTextureTagged.colorSpace"
  5378  	//
  5379  	// Optional, defaults to "srgb".
  5380  	ColorSpace PredefinedColorSpace
  5381  	// PremultipliedAlpha is "GPUImageCopyTextureTagged.premultipliedAlpha"
  5382  	//
  5383  	// Optional, defaults to false.
  5384  	//
  5385  	// NOTE: FFI_USE_PremultipliedAlpha MUST be set to true to make this field effective.
  5386  	PremultipliedAlpha bool
  5387  	// Texture is "GPUImageCopyTextureTagged.texture"
  5388  	//
  5389  	// Required
  5390  	Texture GPUTexture
  5391  	// MipLevel is "GPUImageCopyTextureTagged.mipLevel"
  5392  	//
  5393  	// Optional, defaults to 0.
  5394  	//
  5395  	// NOTE: FFI_USE_MipLevel MUST be set to true to make this field effective.
  5396  	MipLevel GPUIntegerCoordinate
  5397  	// Origin is "GPUImageCopyTextureTagged.origin"
  5398  	//
  5399  	// Optional, defaults to {}.
  5400  	Origin GPUOrigin3D
  5401  	// Aspect is "GPUImageCopyTextureTagged.aspect"
  5402  	//
  5403  	// Optional, defaults to "all".
  5404  	Aspect GPUTextureAspect
  5405  
  5406  	FFI_USE_PremultipliedAlpha bool // for PremultipliedAlpha.
  5407  	FFI_USE_MipLevel           bool // for MipLevel.
  5408  
  5409  	FFI_USE bool
  5410  }
  5411  
  5412  // FromRef calls UpdateFrom and returns a GPUImageCopyTextureTagged with all fields set.
  5413  func (p GPUImageCopyTextureTagged) FromRef(ref js.Ref) GPUImageCopyTextureTagged {
  5414  	p.UpdateFrom(ref)
  5415  	return p
  5416  }
  5417  
  5418  // New creates a new GPUImageCopyTextureTagged in the application heap.
  5419  func (p GPUImageCopyTextureTagged) New() js.Ref {
  5420  	return bindings.GPUImageCopyTextureTaggedJSLoad(
  5421  		js.Pointer(&p), js.True, 0,
  5422  	)
  5423  }
  5424  
  5425  // UpdateFrom copies value of all fields of the heap object to p.
  5426  func (p *GPUImageCopyTextureTagged) UpdateFrom(ref js.Ref) {
  5427  	bindings.GPUImageCopyTextureTaggedJSStore(
  5428  		js.Pointer(p), ref,
  5429  	)
  5430  }
  5431  
  5432  // Update writes all fields of the p to the heap object referenced by ref.
  5433  func (p *GPUImageCopyTextureTagged) Update(ref js.Ref) {
  5434  	bindings.GPUImageCopyTextureTaggedJSLoad(
  5435  		js.Pointer(p), js.False, ref,
  5436  	)
  5437  }
  5438  
  5439  // FreeMembers frees fields with heap reference, if recursive is true
  5440  // free all heap references reachable from p.
  5441  func (p *GPUImageCopyTextureTagged) FreeMembers(recursive bool) {
  5442  	js.Free(
  5443  		p.Texture.Ref(),
  5444  		p.Origin.Ref(),
  5445  	)
  5446  	p.Texture = p.Texture.FromRef(js.Undefined)
  5447  	p.Origin = p.Origin.FromRef(js.Undefined)
  5448  }
  5449  
  5450  type GPUQueue struct {
  5451  	ref js.Ref
  5452  }
  5453  
  5454  func (this GPUQueue) Once() GPUQueue {
  5455  	this.ref.Once()
  5456  	return this
  5457  }
  5458  
  5459  func (this GPUQueue) Ref() js.Ref {
  5460  	return this.ref
  5461  }
  5462  
  5463  func (this GPUQueue) FromRef(ref js.Ref) GPUQueue {
  5464  	this.ref = ref
  5465  	return this
  5466  }
  5467  
  5468  func (this GPUQueue) Free() {
  5469  	this.ref.Free()
  5470  }
  5471  
  5472  // Label returns the value of property "GPUQueue.label".
  5473  //
  5474  // It returns ok=false if there is no such property.
  5475  func (this GPUQueue) Label() (ret js.String, ok bool) {
  5476  	ok = js.True == bindings.GetGPUQueueLabel(
  5477  		this.ref, js.Pointer(&ret),
  5478  	)
  5479  	return
  5480  }
  5481  
  5482  // SetLabel sets the value of property "GPUQueue.label" to val.
  5483  //
  5484  // It returns false if the property cannot be set.
  5485  func (this GPUQueue) SetLabel(val js.String) bool {
  5486  	return js.True == bindings.SetGPUQueueLabel(
  5487  		this.ref,
  5488  		val.Ref(),
  5489  	)
  5490  }
  5491  
  5492  // HasFuncSubmit returns true if the method "GPUQueue.submit" exists.
  5493  func (this GPUQueue) HasFuncSubmit() bool {
  5494  	return js.True == bindings.HasFuncGPUQueueSubmit(
  5495  		this.ref,
  5496  	)
  5497  }
  5498  
  5499  // FuncSubmit returns the method "GPUQueue.submit".
  5500  func (this GPUQueue) FuncSubmit() (fn js.Func[func(commandBuffers js.Array[GPUCommandBuffer])]) {
  5501  	bindings.FuncGPUQueueSubmit(
  5502  		this.ref, js.Pointer(&fn),
  5503  	)
  5504  	return
  5505  }
  5506  
  5507  // Submit calls the method "GPUQueue.submit".
  5508  func (this GPUQueue) Submit(commandBuffers js.Array[GPUCommandBuffer]) (ret js.Void) {
  5509  	bindings.CallGPUQueueSubmit(
  5510  		this.ref, js.Pointer(&ret),
  5511  		commandBuffers.Ref(),
  5512  	)
  5513  
  5514  	return
  5515  }
  5516  
  5517  // TrySubmit calls the method "GPUQueue.submit"
  5518  // in a try/catch block and returns (_, err, ok = false) when it went through
  5519  // the catch clause.
  5520  func (this GPUQueue) TrySubmit(commandBuffers js.Array[GPUCommandBuffer]) (ret js.Void, exception js.Any, ok bool) {
  5521  	ok = js.True == bindings.TryGPUQueueSubmit(
  5522  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5523  		commandBuffers.Ref(),
  5524  	)
  5525  
  5526  	return
  5527  }
  5528  
  5529  // HasFuncOnSubmittedWorkDone returns true if the method "GPUQueue.onSubmittedWorkDone" exists.
  5530  func (this GPUQueue) HasFuncOnSubmittedWorkDone() bool {
  5531  	return js.True == bindings.HasFuncGPUQueueOnSubmittedWorkDone(
  5532  		this.ref,
  5533  	)
  5534  }
  5535  
  5536  // FuncOnSubmittedWorkDone returns the method "GPUQueue.onSubmittedWorkDone".
  5537  func (this GPUQueue) FuncOnSubmittedWorkDone() (fn js.Func[func() js.Promise[js.Void]]) {
  5538  	bindings.FuncGPUQueueOnSubmittedWorkDone(
  5539  		this.ref, js.Pointer(&fn),
  5540  	)
  5541  	return
  5542  }
  5543  
  5544  // OnSubmittedWorkDone calls the method "GPUQueue.onSubmittedWorkDone".
  5545  func (this GPUQueue) OnSubmittedWorkDone() (ret js.Promise[js.Void]) {
  5546  	bindings.CallGPUQueueOnSubmittedWorkDone(
  5547  		this.ref, js.Pointer(&ret),
  5548  	)
  5549  
  5550  	return
  5551  }
  5552  
  5553  // TryOnSubmittedWorkDone calls the method "GPUQueue.onSubmittedWorkDone"
  5554  // in a try/catch block and returns (_, err, ok = false) when it went through
  5555  // the catch clause.
  5556  func (this GPUQueue) TryOnSubmittedWorkDone() (ret js.Promise[js.Void], exception js.Any, ok bool) {
  5557  	ok = js.True == bindings.TryGPUQueueOnSubmittedWorkDone(
  5558  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5559  	)
  5560  
  5561  	return
  5562  }
  5563  
  5564  // HasFuncWriteBuffer returns true if the method "GPUQueue.writeBuffer" exists.
  5565  func (this GPUQueue) HasFuncWriteBuffer() bool {
  5566  	return js.True == bindings.HasFuncGPUQueueWriteBuffer(
  5567  		this.ref,
  5568  	)
  5569  }
  5570  
  5571  // FuncWriteBuffer returns the method "GPUQueue.writeBuffer".
  5572  func (this GPUQueue) FuncWriteBuffer() (fn js.Func[func(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource, dataOffset GPUSize64, size GPUSize64)]) {
  5573  	bindings.FuncGPUQueueWriteBuffer(
  5574  		this.ref, js.Pointer(&fn),
  5575  	)
  5576  	return
  5577  }
  5578  
  5579  // WriteBuffer calls the method "GPUQueue.writeBuffer".
  5580  func (this GPUQueue) WriteBuffer(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource, dataOffset GPUSize64, size GPUSize64) (ret js.Void) {
  5581  	bindings.CallGPUQueueWriteBuffer(
  5582  		this.ref, js.Pointer(&ret),
  5583  		buffer.Ref(),
  5584  		float64(bufferOffset),
  5585  		data.Ref(),
  5586  		float64(dataOffset),
  5587  		float64(size),
  5588  	)
  5589  
  5590  	return
  5591  }
  5592  
  5593  // TryWriteBuffer calls the method "GPUQueue.writeBuffer"
  5594  // in a try/catch block and returns (_, err, ok = false) when it went through
  5595  // the catch clause.
  5596  func (this GPUQueue) TryWriteBuffer(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource, dataOffset GPUSize64, size GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  5597  	ok = js.True == bindings.TryGPUQueueWriteBuffer(
  5598  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5599  		buffer.Ref(),
  5600  		float64(bufferOffset),
  5601  		data.Ref(),
  5602  		float64(dataOffset),
  5603  		float64(size),
  5604  	)
  5605  
  5606  	return
  5607  }
  5608  
  5609  // HasFuncWriteBuffer1 returns true if the method "GPUQueue.writeBuffer" exists.
  5610  func (this GPUQueue) HasFuncWriteBuffer1() bool {
  5611  	return js.True == bindings.HasFuncGPUQueueWriteBuffer1(
  5612  		this.ref,
  5613  	)
  5614  }
  5615  
  5616  // FuncWriteBuffer1 returns the method "GPUQueue.writeBuffer".
  5617  func (this GPUQueue) FuncWriteBuffer1() (fn js.Func[func(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource, dataOffset GPUSize64)]) {
  5618  	bindings.FuncGPUQueueWriteBuffer1(
  5619  		this.ref, js.Pointer(&fn),
  5620  	)
  5621  	return
  5622  }
  5623  
  5624  // WriteBuffer1 calls the method "GPUQueue.writeBuffer".
  5625  func (this GPUQueue) WriteBuffer1(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource, dataOffset GPUSize64) (ret js.Void) {
  5626  	bindings.CallGPUQueueWriteBuffer1(
  5627  		this.ref, js.Pointer(&ret),
  5628  		buffer.Ref(),
  5629  		float64(bufferOffset),
  5630  		data.Ref(),
  5631  		float64(dataOffset),
  5632  	)
  5633  
  5634  	return
  5635  }
  5636  
  5637  // TryWriteBuffer1 calls the method "GPUQueue.writeBuffer"
  5638  // in a try/catch block and returns (_, err, ok = false) when it went through
  5639  // the catch clause.
  5640  func (this GPUQueue) TryWriteBuffer1(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource, dataOffset GPUSize64) (ret js.Void, exception js.Any, ok bool) {
  5641  	ok = js.True == bindings.TryGPUQueueWriteBuffer1(
  5642  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5643  		buffer.Ref(),
  5644  		float64(bufferOffset),
  5645  		data.Ref(),
  5646  		float64(dataOffset),
  5647  	)
  5648  
  5649  	return
  5650  }
  5651  
  5652  // HasFuncWriteBuffer2 returns true if the method "GPUQueue.writeBuffer" exists.
  5653  func (this GPUQueue) HasFuncWriteBuffer2() bool {
  5654  	return js.True == bindings.HasFuncGPUQueueWriteBuffer2(
  5655  		this.ref,
  5656  	)
  5657  }
  5658  
  5659  // FuncWriteBuffer2 returns the method "GPUQueue.writeBuffer".
  5660  func (this GPUQueue) FuncWriteBuffer2() (fn js.Func[func(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource)]) {
  5661  	bindings.FuncGPUQueueWriteBuffer2(
  5662  		this.ref, js.Pointer(&fn),
  5663  	)
  5664  	return
  5665  }
  5666  
  5667  // WriteBuffer2 calls the method "GPUQueue.writeBuffer".
  5668  func (this GPUQueue) WriteBuffer2(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource) (ret js.Void) {
  5669  	bindings.CallGPUQueueWriteBuffer2(
  5670  		this.ref, js.Pointer(&ret),
  5671  		buffer.Ref(),
  5672  		float64(bufferOffset),
  5673  		data.Ref(),
  5674  	)
  5675  
  5676  	return
  5677  }
  5678  
  5679  // TryWriteBuffer2 calls the method "GPUQueue.writeBuffer"
  5680  // in a try/catch block and returns (_, err, ok = false) when it went through
  5681  // the catch clause.
  5682  func (this GPUQueue) TryWriteBuffer2(buffer GPUBuffer, bufferOffset GPUSize64, data AllowSharedBufferSource) (ret js.Void, exception js.Any, ok bool) {
  5683  	ok = js.True == bindings.TryGPUQueueWriteBuffer2(
  5684  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5685  		buffer.Ref(),
  5686  		float64(bufferOffset),
  5687  		data.Ref(),
  5688  	)
  5689  
  5690  	return
  5691  }
  5692  
  5693  // HasFuncWriteTexture returns true if the method "GPUQueue.writeTexture" exists.
  5694  func (this GPUQueue) HasFuncWriteTexture() bool {
  5695  	return js.True == bindings.HasFuncGPUQueueWriteTexture(
  5696  		this.ref,
  5697  	)
  5698  }
  5699  
  5700  // FuncWriteTexture returns the method "GPUQueue.writeTexture".
  5701  func (this GPUQueue) FuncWriteTexture() (fn js.Func[func(destination GPUImageCopyTexture, data AllowSharedBufferSource, dataLayout GPUImageDataLayout, size GPUExtent3D)]) {
  5702  	bindings.FuncGPUQueueWriteTexture(
  5703  		this.ref, js.Pointer(&fn),
  5704  	)
  5705  	return
  5706  }
  5707  
  5708  // WriteTexture calls the method "GPUQueue.writeTexture".
  5709  func (this GPUQueue) WriteTexture(destination GPUImageCopyTexture, data AllowSharedBufferSource, dataLayout GPUImageDataLayout, size GPUExtent3D) (ret js.Void) {
  5710  	bindings.CallGPUQueueWriteTexture(
  5711  		this.ref, js.Pointer(&ret),
  5712  		js.Pointer(&destination),
  5713  		data.Ref(),
  5714  		js.Pointer(&dataLayout),
  5715  		size.Ref(),
  5716  	)
  5717  
  5718  	return
  5719  }
  5720  
  5721  // TryWriteTexture calls the method "GPUQueue.writeTexture"
  5722  // in a try/catch block and returns (_, err, ok = false) when it went through
  5723  // the catch clause.
  5724  func (this GPUQueue) TryWriteTexture(destination GPUImageCopyTexture, data AllowSharedBufferSource, dataLayout GPUImageDataLayout, size GPUExtent3D) (ret js.Void, exception js.Any, ok bool) {
  5725  	ok = js.True == bindings.TryGPUQueueWriteTexture(
  5726  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5727  		js.Pointer(&destination),
  5728  		data.Ref(),
  5729  		js.Pointer(&dataLayout),
  5730  		size.Ref(),
  5731  	)
  5732  
  5733  	return
  5734  }
  5735  
  5736  // HasFuncCopyExternalImageToTexture returns true if the method "GPUQueue.copyExternalImageToTexture" exists.
  5737  func (this GPUQueue) HasFuncCopyExternalImageToTexture() bool {
  5738  	return js.True == bindings.HasFuncGPUQueueCopyExternalImageToTexture(
  5739  		this.ref,
  5740  	)
  5741  }
  5742  
  5743  // FuncCopyExternalImageToTexture returns the method "GPUQueue.copyExternalImageToTexture".
  5744  func (this GPUQueue) FuncCopyExternalImageToTexture() (fn js.Func[func(source GPUImageCopyExternalImage, destination GPUImageCopyTextureTagged, copySize GPUExtent3D)]) {
  5745  	bindings.FuncGPUQueueCopyExternalImageToTexture(
  5746  		this.ref, js.Pointer(&fn),
  5747  	)
  5748  	return
  5749  }
  5750  
  5751  // CopyExternalImageToTexture calls the method "GPUQueue.copyExternalImageToTexture".
  5752  func (this GPUQueue) CopyExternalImageToTexture(source GPUImageCopyExternalImage, destination GPUImageCopyTextureTagged, copySize GPUExtent3D) (ret js.Void) {
  5753  	bindings.CallGPUQueueCopyExternalImageToTexture(
  5754  		this.ref, js.Pointer(&ret),
  5755  		js.Pointer(&source),
  5756  		js.Pointer(&destination),
  5757  		copySize.Ref(),
  5758  	)
  5759  
  5760  	return
  5761  }
  5762  
  5763  // TryCopyExternalImageToTexture calls the method "GPUQueue.copyExternalImageToTexture"
  5764  // in a try/catch block and returns (_, err, ok = false) when it went through
  5765  // the catch clause.
  5766  func (this GPUQueue) TryCopyExternalImageToTexture(source GPUImageCopyExternalImage, destination GPUImageCopyTextureTagged, copySize GPUExtent3D) (ret js.Void, exception js.Any, ok bool) {
  5767  	ok = js.True == bindings.TryGPUQueueCopyExternalImageToTexture(
  5768  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5769  		js.Pointer(&source),
  5770  		js.Pointer(&destination),
  5771  		copySize.Ref(),
  5772  	)
  5773  
  5774  	return
  5775  }
  5776  
  5777  type GPUDeviceLostReason uint32
  5778  
  5779  const (
  5780  	_ GPUDeviceLostReason = iota
  5781  
  5782  	GPUDeviceLostReason_UNKNOWN
  5783  	GPUDeviceLostReason_DESTROYED
  5784  )
  5785  
  5786  func (GPUDeviceLostReason) FromRef(str js.Ref) GPUDeviceLostReason {
  5787  	return GPUDeviceLostReason(bindings.ConstOfGPUDeviceLostReason(str))
  5788  }
  5789  
  5790  func (x GPUDeviceLostReason) String() (string, bool) {
  5791  	switch x {
  5792  	case GPUDeviceLostReason_UNKNOWN:
  5793  		return "unknown", true
  5794  	case GPUDeviceLostReason_DESTROYED:
  5795  		return "destroyed", true
  5796  	default:
  5797  		return "", false
  5798  	}
  5799  }
  5800  
  5801  type GPUDeviceLostInfo struct {
  5802  	ref js.Ref
  5803  }
  5804  
  5805  func (this GPUDeviceLostInfo) Once() GPUDeviceLostInfo {
  5806  	this.ref.Once()
  5807  	return this
  5808  }
  5809  
  5810  func (this GPUDeviceLostInfo) Ref() js.Ref {
  5811  	return this.ref
  5812  }
  5813  
  5814  func (this GPUDeviceLostInfo) FromRef(ref js.Ref) GPUDeviceLostInfo {
  5815  	this.ref = ref
  5816  	return this
  5817  }
  5818  
  5819  func (this GPUDeviceLostInfo) Free() {
  5820  	this.ref.Free()
  5821  }
  5822  
  5823  // Reason returns the value of property "GPUDeviceLostInfo.reason".
  5824  //
  5825  // It returns ok=false if there is no such property.
  5826  func (this GPUDeviceLostInfo) Reason() (ret GPUDeviceLostReason, ok bool) {
  5827  	ok = js.True == bindings.GetGPUDeviceLostInfoReason(
  5828  		this.ref, js.Pointer(&ret),
  5829  	)
  5830  	return
  5831  }
  5832  
  5833  // Message returns the value of property "GPUDeviceLostInfo.message".
  5834  //
  5835  // It returns ok=false if there is no such property.
  5836  func (this GPUDeviceLostInfo) Message() (ret js.String, ok bool) {
  5837  	ok = js.True == bindings.GetGPUDeviceLostInfoMessage(
  5838  		this.ref, js.Pointer(&ret),
  5839  	)
  5840  	return
  5841  }
  5842  
  5843  type GPUDevice struct {
  5844  	EventTarget
  5845  }
  5846  
  5847  func (this GPUDevice) Once() GPUDevice {
  5848  	this.ref.Once()
  5849  	return this
  5850  }
  5851  
  5852  func (this GPUDevice) Ref() js.Ref {
  5853  	return this.EventTarget.Ref()
  5854  }
  5855  
  5856  func (this GPUDevice) FromRef(ref js.Ref) GPUDevice {
  5857  	this.EventTarget = this.EventTarget.FromRef(ref)
  5858  	return this
  5859  }
  5860  
  5861  func (this GPUDevice) Free() {
  5862  	this.ref.Free()
  5863  }
  5864  
  5865  // Features returns the value of property "GPUDevice.features".
  5866  //
  5867  // It returns ok=false if there is no such property.
  5868  func (this GPUDevice) Features() (ret GPUSupportedFeatures, ok bool) {
  5869  	ok = js.True == bindings.GetGPUDeviceFeatures(
  5870  		this.ref, js.Pointer(&ret),
  5871  	)
  5872  	return
  5873  }
  5874  
  5875  // Limits returns the value of property "GPUDevice.limits".
  5876  //
  5877  // It returns ok=false if there is no such property.
  5878  func (this GPUDevice) Limits() (ret GPUSupportedLimits, ok bool) {
  5879  	ok = js.True == bindings.GetGPUDeviceLimits(
  5880  		this.ref, js.Pointer(&ret),
  5881  	)
  5882  	return
  5883  }
  5884  
  5885  // Queue returns the value of property "GPUDevice.queue".
  5886  //
  5887  // It returns ok=false if there is no such property.
  5888  func (this GPUDevice) Queue() (ret GPUQueue, ok bool) {
  5889  	ok = js.True == bindings.GetGPUDeviceQueue(
  5890  		this.ref, js.Pointer(&ret),
  5891  	)
  5892  	return
  5893  }
  5894  
  5895  // Lost returns the value of property "GPUDevice.lost".
  5896  //
  5897  // It returns ok=false if there is no such property.
  5898  func (this GPUDevice) Lost() (ret js.Promise[GPUDeviceLostInfo], ok bool) {
  5899  	ok = js.True == bindings.GetGPUDeviceLost(
  5900  		this.ref, js.Pointer(&ret),
  5901  	)
  5902  	return
  5903  }
  5904  
  5905  // Label returns the value of property "GPUDevice.label".
  5906  //
  5907  // It returns ok=false if there is no such property.
  5908  func (this GPUDevice) Label() (ret js.String, ok bool) {
  5909  	ok = js.True == bindings.GetGPUDeviceLabel(
  5910  		this.ref, js.Pointer(&ret),
  5911  	)
  5912  	return
  5913  }
  5914  
  5915  // SetLabel sets the value of property "GPUDevice.label" to val.
  5916  //
  5917  // It returns false if the property cannot be set.
  5918  func (this GPUDevice) SetLabel(val js.String) bool {
  5919  	return js.True == bindings.SetGPUDeviceLabel(
  5920  		this.ref,
  5921  		val.Ref(),
  5922  	)
  5923  }
  5924  
  5925  // HasFuncDestroy returns true if the method "GPUDevice.destroy" exists.
  5926  func (this GPUDevice) HasFuncDestroy() bool {
  5927  	return js.True == bindings.HasFuncGPUDeviceDestroy(
  5928  		this.ref,
  5929  	)
  5930  }
  5931  
  5932  // FuncDestroy returns the method "GPUDevice.destroy".
  5933  func (this GPUDevice) FuncDestroy() (fn js.Func[func()]) {
  5934  	bindings.FuncGPUDeviceDestroy(
  5935  		this.ref, js.Pointer(&fn),
  5936  	)
  5937  	return
  5938  }
  5939  
  5940  // Destroy calls the method "GPUDevice.destroy".
  5941  func (this GPUDevice) Destroy() (ret js.Void) {
  5942  	bindings.CallGPUDeviceDestroy(
  5943  		this.ref, js.Pointer(&ret),
  5944  	)
  5945  
  5946  	return
  5947  }
  5948  
  5949  // TryDestroy calls the method "GPUDevice.destroy"
  5950  // in a try/catch block and returns (_, err, ok = false) when it went through
  5951  // the catch clause.
  5952  func (this GPUDevice) TryDestroy() (ret js.Void, exception js.Any, ok bool) {
  5953  	ok = js.True == bindings.TryGPUDeviceDestroy(
  5954  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5955  	)
  5956  
  5957  	return
  5958  }
  5959  
  5960  // HasFuncCreateBuffer returns true if the method "GPUDevice.createBuffer" exists.
  5961  func (this GPUDevice) HasFuncCreateBuffer() bool {
  5962  	return js.True == bindings.HasFuncGPUDeviceCreateBuffer(
  5963  		this.ref,
  5964  	)
  5965  }
  5966  
  5967  // FuncCreateBuffer returns the method "GPUDevice.createBuffer".
  5968  func (this GPUDevice) FuncCreateBuffer() (fn js.Func[func(descriptor GPUBufferDescriptor) GPUBuffer]) {
  5969  	bindings.FuncGPUDeviceCreateBuffer(
  5970  		this.ref, js.Pointer(&fn),
  5971  	)
  5972  	return
  5973  }
  5974  
  5975  // CreateBuffer calls the method "GPUDevice.createBuffer".
  5976  func (this GPUDevice) CreateBuffer(descriptor GPUBufferDescriptor) (ret GPUBuffer) {
  5977  	bindings.CallGPUDeviceCreateBuffer(
  5978  		this.ref, js.Pointer(&ret),
  5979  		js.Pointer(&descriptor),
  5980  	)
  5981  
  5982  	return
  5983  }
  5984  
  5985  // TryCreateBuffer calls the method "GPUDevice.createBuffer"
  5986  // in a try/catch block and returns (_, err, ok = false) when it went through
  5987  // the catch clause.
  5988  func (this GPUDevice) TryCreateBuffer(descriptor GPUBufferDescriptor) (ret GPUBuffer, exception js.Any, ok bool) {
  5989  	ok = js.True == bindings.TryGPUDeviceCreateBuffer(
  5990  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  5991  		js.Pointer(&descriptor),
  5992  	)
  5993  
  5994  	return
  5995  }
  5996  
  5997  // HasFuncCreateTexture returns true if the method "GPUDevice.createTexture" exists.
  5998  func (this GPUDevice) HasFuncCreateTexture() bool {
  5999  	return js.True == bindings.HasFuncGPUDeviceCreateTexture(
  6000  		this.ref,
  6001  	)
  6002  }
  6003  
  6004  // FuncCreateTexture returns the method "GPUDevice.createTexture".
  6005  func (this GPUDevice) FuncCreateTexture() (fn js.Func[func(descriptor GPUTextureDescriptor) GPUTexture]) {
  6006  	bindings.FuncGPUDeviceCreateTexture(
  6007  		this.ref, js.Pointer(&fn),
  6008  	)
  6009  	return
  6010  }
  6011  
  6012  // CreateTexture calls the method "GPUDevice.createTexture".
  6013  func (this GPUDevice) CreateTexture(descriptor GPUTextureDescriptor) (ret GPUTexture) {
  6014  	bindings.CallGPUDeviceCreateTexture(
  6015  		this.ref, js.Pointer(&ret),
  6016  		js.Pointer(&descriptor),
  6017  	)
  6018  
  6019  	return
  6020  }
  6021  
  6022  // TryCreateTexture calls the method "GPUDevice.createTexture"
  6023  // in a try/catch block and returns (_, err, ok = false) when it went through
  6024  // the catch clause.
  6025  func (this GPUDevice) TryCreateTexture(descriptor GPUTextureDescriptor) (ret GPUTexture, exception js.Any, ok bool) {
  6026  	ok = js.True == bindings.TryGPUDeviceCreateTexture(
  6027  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6028  		js.Pointer(&descriptor),
  6029  	)
  6030  
  6031  	return
  6032  }
  6033  
  6034  // HasFuncCreateSampler returns true if the method "GPUDevice.createSampler" exists.
  6035  func (this GPUDevice) HasFuncCreateSampler() bool {
  6036  	return js.True == bindings.HasFuncGPUDeviceCreateSampler(
  6037  		this.ref,
  6038  	)
  6039  }
  6040  
  6041  // FuncCreateSampler returns the method "GPUDevice.createSampler".
  6042  func (this GPUDevice) FuncCreateSampler() (fn js.Func[func(descriptor GPUSamplerDescriptor) GPUSampler]) {
  6043  	bindings.FuncGPUDeviceCreateSampler(
  6044  		this.ref, js.Pointer(&fn),
  6045  	)
  6046  	return
  6047  }
  6048  
  6049  // CreateSampler calls the method "GPUDevice.createSampler".
  6050  func (this GPUDevice) CreateSampler(descriptor GPUSamplerDescriptor) (ret GPUSampler) {
  6051  	bindings.CallGPUDeviceCreateSampler(
  6052  		this.ref, js.Pointer(&ret),
  6053  		js.Pointer(&descriptor),
  6054  	)
  6055  
  6056  	return
  6057  }
  6058  
  6059  // TryCreateSampler calls the method "GPUDevice.createSampler"
  6060  // in a try/catch block and returns (_, err, ok = false) when it went through
  6061  // the catch clause.
  6062  func (this GPUDevice) TryCreateSampler(descriptor GPUSamplerDescriptor) (ret GPUSampler, exception js.Any, ok bool) {
  6063  	ok = js.True == bindings.TryGPUDeviceCreateSampler(
  6064  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6065  		js.Pointer(&descriptor),
  6066  	)
  6067  
  6068  	return
  6069  }
  6070  
  6071  // HasFuncCreateSampler1 returns true if the method "GPUDevice.createSampler" exists.
  6072  func (this GPUDevice) HasFuncCreateSampler1() bool {
  6073  	return js.True == bindings.HasFuncGPUDeviceCreateSampler1(
  6074  		this.ref,
  6075  	)
  6076  }
  6077  
  6078  // FuncCreateSampler1 returns the method "GPUDevice.createSampler".
  6079  func (this GPUDevice) FuncCreateSampler1() (fn js.Func[func() GPUSampler]) {
  6080  	bindings.FuncGPUDeviceCreateSampler1(
  6081  		this.ref, js.Pointer(&fn),
  6082  	)
  6083  	return
  6084  }
  6085  
  6086  // CreateSampler1 calls the method "GPUDevice.createSampler".
  6087  func (this GPUDevice) CreateSampler1() (ret GPUSampler) {
  6088  	bindings.CallGPUDeviceCreateSampler1(
  6089  		this.ref, js.Pointer(&ret),
  6090  	)
  6091  
  6092  	return
  6093  }
  6094  
  6095  // TryCreateSampler1 calls the method "GPUDevice.createSampler"
  6096  // in a try/catch block and returns (_, err, ok = false) when it went through
  6097  // the catch clause.
  6098  func (this GPUDevice) TryCreateSampler1() (ret GPUSampler, exception js.Any, ok bool) {
  6099  	ok = js.True == bindings.TryGPUDeviceCreateSampler1(
  6100  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6101  	)
  6102  
  6103  	return
  6104  }
  6105  
  6106  // HasFuncImportExternalTexture returns true if the method "GPUDevice.importExternalTexture" exists.
  6107  func (this GPUDevice) HasFuncImportExternalTexture() bool {
  6108  	return js.True == bindings.HasFuncGPUDeviceImportExternalTexture(
  6109  		this.ref,
  6110  	)
  6111  }
  6112  
  6113  // FuncImportExternalTexture returns the method "GPUDevice.importExternalTexture".
  6114  func (this GPUDevice) FuncImportExternalTexture() (fn js.Func[func(descriptor GPUExternalTextureDescriptor) GPUExternalTexture]) {
  6115  	bindings.FuncGPUDeviceImportExternalTexture(
  6116  		this.ref, js.Pointer(&fn),
  6117  	)
  6118  	return
  6119  }
  6120  
  6121  // ImportExternalTexture calls the method "GPUDevice.importExternalTexture".
  6122  func (this GPUDevice) ImportExternalTexture(descriptor GPUExternalTextureDescriptor) (ret GPUExternalTexture) {
  6123  	bindings.CallGPUDeviceImportExternalTexture(
  6124  		this.ref, js.Pointer(&ret),
  6125  		js.Pointer(&descriptor),
  6126  	)
  6127  
  6128  	return
  6129  }
  6130  
  6131  // TryImportExternalTexture calls the method "GPUDevice.importExternalTexture"
  6132  // in a try/catch block and returns (_, err, ok = false) when it went through
  6133  // the catch clause.
  6134  func (this GPUDevice) TryImportExternalTexture(descriptor GPUExternalTextureDescriptor) (ret GPUExternalTexture, exception js.Any, ok bool) {
  6135  	ok = js.True == bindings.TryGPUDeviceImportExternalTexture(
  6136  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6137  		js.Pointer(&descriptor),
  6138  	)
  6139  
  6140  	return
  6141  }
  6142  
  6143  // HasFuncCreateBindGroupLayout returns true if the method "GPUDevice.createBindGroupLayout" exists.
  6144  func (this GPUDevice) HasFuncCreateBindGroupLayout() bool {
  6145  	return js.True == bindings.HasFuncGPUDeviceCreateBindGroupLayout(
  6146  		this.ref,
  6147  	)
  6148  }
  6149  
  6150  // FuncCreateBindGroupLayout returns the method "GPUDevice.createBindGroupLayout".
  6151  func (this GPUDevice) FuncCreateBindGroupLayout() (fn js.Func[func(descriptor GPUBindGroupLayoutDescriptor) GPUBindGroupLayout]) {
  6152  	bindings.FuncGPUDeviceCreateBindGroupLayout(
  6153  		this.ref, js.Pointer(&fn),
  6154  	)
  6155  	return
  6156  }
  6157  
  6158  // CreateBindGroupLayout calls the method "GPUDevice.createBindGroupLayout".
  6159  func (this GPUDevice) CreateBindGroupLayout(descriptor GPUBindGroupLayoutDescriptor) (ret GPUBindGroupLayout) {
  6160  	bindings.CallGPUDeviceCreateBindGroupLayout(
  6161  		this.ref, js.Pointer(&ret),
  6162  		js.Pointer(&descriptor),
  6163  	)
  6164  
  6165  	return
  6166  }
  6167  
  6168  // TryCreateBindGroupLayout calls the method "GPUDevice.createBindGroupLayout"
  6169  // in a try/catch block and returns (_, err, ok = false) when it went through
  6170  // the catch clause.
  6171  func (this GPUDevice) TryCreateBindGroupLayout(descriptor GPUBindGroupLayoutDescriptor) (ret GPUBindGroupLayout, exception js.Any, ok bool) {
  6172  	ok = js.True == bindings.TryGPUDeviceCreateBindGroupLayout(
  6173  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6174  		js.Pointer(&descriptor),
  6175  	)
  6176  
  6177  	return
  6178  }
  6179  
  6180  // HasFuncCreatePipelineLayout returns true if the method "GPUDevice.createPipelineLayout" exists.
  6181  func (this GPUDevice) HasFuncCreatePipelineLayout() bool {
  6182  	return js.True == bindings.HasFuncGPUDeviceCreatePipelineLayout(
  6183  		this.ref,
  6184  	)
  6185  }
  6186  
  6187  // FuncCreatePipelineLayout returns the method "GPUDevice.createPipelineLayout".
  6188  func (this GPUDevice) FuncCreatePipelineLayout() (fn js.Func[func(descriptor GPUPipelineLayoutDescriptor) GPUPipelineLayout]) {
  6189  	bindings.FuncGPUDeviceCreatePipelineLayout(
  6190  		this.ref, js.Pointer(&fn),
  6191  	)
  6192  	return
  6193  }
  6194  
  6195  // CreatePipelineLayout calls the method "GPUDevice.createPipelineLayout".
  6196  func (this GPUDevice) CreatePipelineLayout(descriptor GPUPipelineLayoutDescriptor) (ret GPUPipelineLayout) {
  6197  	bindings.CallGPUDeviceCreatePipelineLayout(
  6198  		this.ref, js.Pointer(&ret),
  6199  		js.Pointer(&descriptor),
  6200  	)
  6201  
  6202  	return
  6203  }
  6204  
  6205  // TryCreatePipelineLayout calls the method "GPUDevice.createPipelineLayout"
  6206  // in a try/catch block and returns (_, err, ok = false) when it went through
  6207  // the catch clause.
  6208  func (this GPUDevice) TryCreatePipelineLayout(descriptor GPUPipelineLayoutDescriptor) (ret GPUPipelineLayout, exception js.Any, ok bool) {
  6209  	ok = js.True == bindings.TryGPUDeviceCreatePipelineLayout(
  6210  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6211  		js.Pointer(&descriptor),
  6212  	)
  6213  
  6214  	return
  6215  }
  6216  
  6217  // HasFuncCreateBindGroup returns true if the method "GPUDevice.createBindGroup" exists.
  6218  func (this GPUDevice) HasFuncCreateBindGroup() bool {
  6219  	return js.True == bindings.HasFuncGPUDeviceCreateBindGroup(
  6220  		this.ref,
  6221  	)
  6222  }
  6223  
  6224  // FuncCreateBindGroup returns the method "GPUDevice.createBindGroup".
  6225  func (this GPUDevice) FuncCreateBindGroup() (fn js.Func[func(descriptor GPUBindGroupDescriptor) GPUBindGroup]) {
  6226  	bindings.FuncGPUDeviceCreateBindGroup(
  6227  		this.ref, js.Pointer(&fn),
  6228  	)
  6229  	return
  6230  }
  6231  
  6232  // CreateBindGroup calls the method "GPUDevice.createBindGroup".
  6233  func (this GPUDevice) CreateBindGroup(descriptor GPUBindGroupDescriptor) (ret GPUBindGroup) {
  6234  	bindings.CallGPUDeviceCreateBindGroup(
  6235  		this.ref, js.Pointer(&ret),
  6236  		js.Pointer(&descriptor),
  6237  	)
  6238  
  6239  	return
  6240  }
  6241  
  6242  // TryCreateBindGroup calls the method "GPUDevice.createBindGroup"
  6243  // in a try/catch block and returns (_, err, ok = false) when it went through
  6244  // the catch clause.
  6245  func (this GPUDevice) TryCreateBindGroup(descriptor GPUBindGroupDescriptor) (ret GPUBindGroup, exception js.Any, ok bool) {
  6246  	ok = js.True == bindings.TryGPUDeviceCreateBindGroup(
  6247  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6248  		js.Pointer(&descriptor),
  6249  	)
  6250  
  6251  	return
  6252  }
  6253  
  6254  // HasFuncCreateShaderModule returns true if the method "GPUDevice.createShaderModule" exists.
  6255  func (this GPUDevice) HasFuncCreateShaderModule() bool {
  6256  	return js.True == bindings.HasFuncGPUDeviceCreateShaderModule(
  6257  		this.ref,
  6258  	)
  6259  }
  6260  
  6261  // FuncCreateShaderModule returns the method "GPUDevice.createShaderModule".
  6262  func (this GPUDevice) FuncCreateShaderModule() (fn js.Func[func(descriptor GPUShaderModuleDescriptor) GPUShaderModule]) {
  6263  	bindings.FuncGPUDeviceCreateShaderModule(
  6264  		this.ref, js.Pointer(&fn),
  6265  	)
  6266  	return
  6267  }
  6268  
  6269  // CreateShaderModule calls the method "GPUDevice.createShaderModule".
  6270  func (this GPUDevice) CreateShaderModule(descriptor GPUShaderModuleDescriptor) (ret GPUShaderModule) {
  6271  	bindings.CallGPUDeviceCreateShaderModule(
  6272  		this.ref, js.Pointer(&ret),
  6273  		js.Pointer(&descriptor),
  6274  	)
  6275  
  6276  	return
  6277  }
  6278  
  6279  // TryCreateShaderModule calls the method "GPUDevice.createShaderModule"
  6280  // in a try/catch block and returns (_, err, ok = false) when it went through
  6281  // the catch clause.
  6282  func (this GPUDevice) TryCreateShaderModule(descriptor GPUShaderModuleDescriptor) (ret GPUShaderModule, exception js.Any, ok bool) {
  6283  	ok = js.True == bindings.TryGPUDeviceCreateShaderModule(
  6284  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6285  		js.Pointer(&descriptor),
  6286  	)
  6287  
  6288  	return
  6289  }
  6290  
  6291  // HasFuncCreateComputePipeline returns true if the method "GPUDevice.createComputePipeline" exists.
  6292  func (this GPUDevice) HasFuncCreateComputePipeline() bool {
  6293  	return js.True == bindings.HasFuncGPUDeviceCreateComputePipeline(
  6294  		this.ref,
  6295  	)
  6296  }
  6297  
  6298  // FuncCreateComputePipeline returns the method "GPUDevice.createComputePipeline".
  6299  func (this GPUDevice) FuncCreateComputePipeline() (fn js.Func[func(descriptor GPUComputePipelineDescriptor) GPUComputePipeline]) {
  6300  	bindings.FuncGPUDeviceCreateComputePipeline(
  6301  		this.ref, js.Pointer(&fn),
  6302  	)
  6303  	return
  6304  }
  6305  
  6306  // CreateComputePipeline calls the method "GPUDevice.createComputePipeline".
  6307  func (this GPUDevice) CreateComputePipeline(descriptor GPUComputePipelineDescriptor) (ret GPUComputePipeline) {
  6308  	bindings.CallGPUDeviceCreateComputePipeline(
  6309  		this.ref, js.Pointer(&ret),
  6310  		js.Pointer(&descriptor),
  6311  	)
  6312  
  6313  	return
  6314  }
  6315  
  6316  // TryCreateComputePipeline calls the method "GPUDevice.createComputePipeline"
  6317  // in a try/catch block and returns (_, err, ok = false) when it went through
  6318  // the catch clause.
  6319  func (this GPUDevice) TryCreateComputePipeline(descriptor GPUComputePipelineDescriptor) (ret GPUComputePipeline, exception js.Any, ok bool) {
  6320  	ok = js.True == bindings.TryGPUDeviceCreateComputePipeline(
  6321  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6322  		js.Pointer(&descriptor),
  6323  	)
  6324  
  6325  	return
  6326  }
  6327  
  6328  // HasFuncCreateRenderPipeline returns true if the method "GPUDevice.createRenderPipeline" exists.
  6329  func (this GPUDevice) HasFuncCreateRenderPipeline() bool {
  6330  	return js.True == bindings.HasFuncGPUDeviceCreateRenderPipeline(
  6331  		this.ref,
  6332  	)
  6333  }
  6334  
  6335  // FuncCreateRenderPipeline returns the method "GPUDevice.createRenderPipeline".
  6336  func (this GPUDevice) FuncCreateRenderPipeline() (fn js.Func[func(descriptor GPURenderPipelineDescriptor) GPURenderPipeline]) {
  6337  	bindings.FuncGPUDeviceCreateRenderPipeline(
  6338  		this.ref, js.Pointer(&fn),
  6339  	)
  6340  	return
  6341  }
  6342  
  6343  // CreateRenderPipeline calls the method "GPUDevice.createRenderPipeline".
  6344  func (this GPUDevice) CreateRenderPipeline(descriptor GPURenderPipelineDescriptor) (ret GPURenderPipeline) {
  6345  	bindings.CallGPUDeviceCreateRenderPipeline(
  6346  		this.ref, js.Pointer(&ret),
  6347  		js.Pointer(&descriptor),
  6348  	)
  6349  
  6350  	return
  6351  }
  6352  
  6353  // TryCreateRenderPipeline calls the method "GPUDevice.createRenderPipeline"
  6354  // in a try/catch block and returns (_, err, ok = false) when it went through
  6355  // the catch clause.
  6356  func (this GPUDevice) TryCreateRenderPipeline(descriptor GPURenderPipelineDescriptor) (ret GPURenderPipeline, exception js.Any, ok bool) {
  6357  	ok = js.True == bindings.TryGPUDeviceCreateRenderPipeline(
  6358  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6359  		js.Pointer(&descriptor),
  6360  	)
  6361  
  6362  	return
  6363  }
  6364  
  6365  // HasFuncCreateComputePipelineAsync returns true if the method "GPUDevice.createComputePipelineAsync" exists.
  6366  func (this GPUDevice) HasFuncCreateComputePipelineAsync() bool {
  6367  	return js.True == bindings.HasFuncGPUDeviceCreateComputePipelineAsync(
  6368  		this.ref,
  6369  	)
  6370  }
  6371  
  6372  // FuncCreateComputePipelineAsync returns the method "GPUDevice.createComputePipelineAsync".
  6373  func (this GPUDevice) FuncCreateComputePipelineAsync() (fn js.Func[func(descriptor GPUComputePipelineDescriptor) js.Promise[GPUComputePipeline]]) {
  6374  	bindings.FuncGPUDeviceCreateComputePipelineAsync(
  6375  		this.ref, js.Pointer(&fn),
  6376  	)
  6377  	return
  6378  }
  6379  
  6380  // CreateComputePipelineAsync calls the method "GPUDevice.createComputePipelineAsync".
  6381  func (this GPUDevice) CreateComputePipelineAsync(descriptor GPUComputePipelineDescriptor) (ret js.Promise[GPUComputePipeline]) {
  6382  	bindings.CallGPUDeviceCreateComputePipelineAsync(
  6383  		this.ref, js.Pointer(&ret),
  6384  		js.Pointer(&descriptor),
  6385  	)
  6386  
  6387  	return
  6388  }
  6389  
  6390  // TryCreateComputePipelineAsync calls the method "GPUDevice.createComputePipelineAsync"
  6391  // in a try/catch block and returns (_, err, ok = false) when it went through
  6392  // the catch clause.
  6393  func (this GPUDevice) TryCreateComputePipelineAsync(descriptor GPUComputePipelineDescriptor) (ret js.Promise[GPUComputePipeline], exception js.Any, ok bool) {
  6394  	ok = js.True == bindings.TryGPUDeviceCreateComputePipelineAsync(
  6395  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6396  		js.Pointer(&descriptor),
  6397  	)
  6398  
  6399  	return
  6400  }
  6401  
  6402  // HasFuncCreateRenderPipelineAsync returns true if the method "GPUDevice.createRenderPipelineAsync" exists.
  6403  func (this GPUDevice) HasFuncCreateRenderPipelineAsync() bool {
  6404  	return js.True == bindings.HasFuncGPUDeviceCreateRenderPipelineAsync(
  6405  		this.ref,
  6406  	)
  6407  }
  6408  
  6409  // FuncCreateRenderPipelineAsync returns the method "GPUDevice.createRenderPipelineAsync".
  6410  func (this GPUDevice) FuncCreateRenderPipelineAsync() (fn js.Func[func(descriptor GPURenderPipelineDescriptor) js.Promise[GPURenderPipeline]]) {
  6411  	bindings.FuncGPUDeviceCreateRenderPipelineAsync(
  6412  		this.ref, js.Pointer(&fn),
  6413  	)
  6414  	return
  6415  }
  6416  
  6417  // CreateRenderPipelineAsync calls the method "GPUDevice.createRenderPipelineAsync".
  6418  func (this GPUDevice) CreateRenderPipelineAsync(descriptor GPURenderPipelineDescriptor) (ret js.Promise[GPURenderPipeline]) {
  6419  	bindings.CallGPUDeviceCreateRenderPipelineAsync(
  6420  		this.ref, js.Pointer(&ret),
  6421  		js.Pointer(&descriptor),
  6422  	)
  6423  
  6424  	return
  6425  }
  6426  
  6427  // TryCreateRenderPipelineAsync calls the method "GPUDevice.createRenderPipelineAsync"
  6428  // in a try/catch block and returns (_, err, ok = false) when it went through
  6429  // the catch clause.
  6430  func (this GPUDevice) TryCreateRenderPipelineAsync(descriptor GPURenderPipelineDescriptor) (ret js.Promise[GPURenderPipeline], exception js.Any, ok bool) {
  6431  	ok = js.True == bindings.TryGPUDeviceCreateRenderPipelineAsync(
  6432  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6433  		js.Pointer(&descriptor),
  6434  	)
  6435  
  6436  	return
  6437  }
  6438  
  6439  // HasFuncCreateCommandEncoder returns true if the method "GPUDevice.createCommandEncoder" exists.
  6440  func (this GPUDevice) HasFuncCreateCommandEncoder() bool {
  6441  	return js.True == bindings.HasFuncGPUDeviceCreateCommandEncoder(
  6442  		this.ref,
  6443  	)
  6444  }
  6445  
  6446  // FuncCreateCommandEncoder returns the method "GPUDevice.createCommandEncoder".
  6447  func (this GPUDevice) FuncCreateCommandEncoder() (fn js.Func[func(descriptor GPUCommandEncoderDescriptor) GPUCommandEncoder]) {
  6448  	bindings.FuncGPUDeviceCreateCommandEncoder(
  6449  		this.ref, js.Pointer(&fn),
  6450  	)
  6451  	return
  6452  }
  6453  
  6454  // CreateCommandEncoder calls the method "GPUDevice.createCommandEncoder".
  6455  func (this GPUDevice) CreateCommandEncoder(descriptor GPUCommandEncoderDescriptor) (ret GPUCommandEncoder) {
  6456  	bindings.CallGPUDeviceCreateCommandEncoder(
  6457  		this.ref, js.Pointer(&ret),
  6458  		js.Pointer(&descriptor),
  6459  	)
  6460  
  6461  	return
  6462  }
  6463  
  6464  // TryCreateCommandEncoder calls the method "GPUDevice.createCommandEncoder"
  6465  // in a try/catch block and returns (_, err, ok = false) when it went through
  6466  // the catch clause.
  6467  func (this GPUDevice) TryCreateCommandEncoder(descriptor GPUCommandEncoderDescriptor) (ret GPUCommandEncoder, exception js.Any, ok bool) {
  6468  	ok = js.True == bindings.TryGPUDeviceCreateCommandEncoder(
  6469  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6470  		js.Pointer(&descriptor),
  6471  	)
  6472  
  6473  	return
  6474  }
  6475  
  6476  // HasFuncCreateCommandEncoder1 returns true if the method "GPUDevice.createCommandEncoder" exists.
  6477  func (this GPUDevice) HasFuncCreateCommandEncoder1() bool {
  6478  	return js.True == bindings.HasFuncGPUDeviceCreateCommandEncoder1(
  6479  		this.ref,
  6480  	)
  6481  }
  6482  
  6483  // FuncCreateCommandEncoder1 returns the method "GPUDevice.createCommandEncoder".
  6484  func (this GPUDevice) FuncCreateCommandEncoder1() (fn js.Func[func() GPUCommandEncoder]) {
  6485  	bindings.FuncGPUDeviceCreateCommandEncoder1(
  6486  		this.ref, js.Pointer(&fn),
  6487  	)
  6488  	return
  6489  }
  6490  
  6491  // CreateCommandEncoder1 calls the method "GPUDevice.createCommandEncoder".
  6492  func (this GPUDevice) CreateCommandEncoder1() (ret GPUCommandEncoder) {
  6493  	bindings.CallGPUDeviceCreateCommandEncoder1(
  6494  		this.ref, js.Pointer(&ret),
  6495  	)
  6496  
  6497  	return
  6498  }
  6499  
  6500  // TryCreateCommandEncoder1 calls the method "GPUDevice.createCommandEncoder"
  6501  // in a try/catch block and returns (_, err, ok = false) when it went through
  6502  // the catch clause.
  6503  func (this GPUDevice) TryCreateCommandEncoder1() (ret GPUCommandEncoder, exception js.Any, ok bool) {
  6504  	ok = js.True == bindings.TryGPUDeviceCreateCommandEncoder1(
  6505  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6506  	)
  6507  
  6508  	return
  6509  }
  6510  
  6511  // HasFuncCreateRenderBundleEncoder returns true if the method "GPUDevice.createRenderBundleEncoder" exists.
  6512  func (this GPUDevice) HasFuncCreateRenderBundleEncoder() bool {
  6513  	return js.True == bindings.HasFuncGPUDeviceCreateRenderBundleEncoder(
  6514  		this.ref,
  6515  	)
  6516  }
  6517  
  6518  // FuncCreateRenderBundleEncoder returns the method "GPUDevice.createRenderBundleEncoder".
  6519  func (this GPUDevice) FuncCreateRenderBundleEncoder() (fn js.Func[func(descriptor GPURenderBundleEncoderDescriptor) GPURenderBundleEncoder]) {
  6520  	bindings.FuncGPUDeviceCreateRenderBundleEncoder(
  6521  		this.ref, js.Pointer(&fn),
  6522  	)
  6523  	return
  6524  }
  6525  
  6526  // CreateRenderBundleEncoder calls the method "GPUDevice.createRenderBundleEncoder".
  6527  func (this GPUDevice) CreateRenderBundleEncoder(descriptor GPURenderBundleEncoderDescriptor) (ret GPURenderBundleEncoder) {
  6528  	bindings.CallGPUDeviceCreateRenderBundleEncoder(
  6529  		this.ref, js.Pointer(&ret),
  6530  		js.Pointer(&descriptor),
  6531  	)
  6532  
  6533  	return
  6534  }
  6535  
  6536  // TryCreateRenderBundleEncoder calls the method "GPUDevice.createRenderBundleEncoder"
  6537  // in a try/catch block and returns (_, err, ok = false) when it went through
  6538  // the catch clause.
  6539  func (this GPUDevice) TryCreateRenderBundleEncoder(descriptor GPURenderBundleEncoderDescriptor) (ret GPURenderBundleEncoder, exception js.Any, ok bool) {
  6540  	ok = js.True == bindings.TryGPUDeviceCreateRenderBundleEncoder(
  6541  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6542  		js.Pointer(&descriptor),
  6543  	)
  6544  
  6545  	return
  6546  }
  6547  
  6548  // HasFuncCreateQuerySet returns true if the method "GPUDevice.createQuerySet" exists.
  6549  func (this GPUDevice) HasFuncCreateQuerySet() bool {
  6550  	return js.True == bindings.HasFuncGPUDeviceCreateQuerySet(
  6551  		this.ref,
  6552  	)
  6553  }
  6554  
  6555  // FuncCreateQuerySet returns the method "GPUDevice.createQuerySet".
  6556  func (this GPUDevice) FuncCreateQuerySet() (fn js.Func[func(descriptor GPUQuerySetDescriptor) GPUQuerySet]) {
  6557  	bindings.FuncGPUDeviceCreateQuerySet(
  6558  		this.ref, js.Pointer(&fn),
  6559  	)
  6560  	return
  6561  }
  6562  
  6563  // CreateQuerySet calls the method "GPUDevice.createQuerySet".
  6564  func (this GPUDevice) CreateQuerySet(descriptor GPUQuerySetDescriptor) (ret GPUQuerySet) {
  6565  	bindings.CallGPUDeviceCreateQuerySet(
  6566  		this.ref, js.Pointer(&ret),
  6567  		js.Pointer(&descriptor),
  6568  	)
  6569  
  6570  	return
  6571  }
  6572  
  6573  // TryCreateQuerySet calls the method "GPUDevice.createQuerySet"
  6574  // in a try/catch block and returns (_, err, ok = false) when it went through
  6575  // the catch clause.
  6576  func (this GPUDevice) TryCreateQuerySet(descriptor GPUQuerySetDescriptor) (ret GPUQuerySet, exception js.Any, ok bool) {
  6577  	ok = js.True == bindings.TryGPUDeviceCreateQuerySet(
  6578  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6579  		js.Pointer(&descriptor),
  6580  	)
  6581  
  6582  	return
  6583  }
  6584  
  6585  // HasFuncPushErrorScope returns true if the method "GPUDevice.pushErrorScope" exists.
  6586  func (this GPUDevice) HasFuncPushErrorScope() bool {
  6587  	return js.True == bindings.HasFuncGPUDevicePushErrorScope(
  6588  		this.ref,
  6589  	)
  6590  }
  6591  
  6592  // FuncPushErrorScope returns the method "GPUDevice.pushErrorScope".
  6593  func (this GPUDevice) FuncPushErrorScope() (fn js.Func[func(filter GPUErrorFilter)]) {
  6594  	bindings.FuncGPUDevicePushErrorScope(
  6595  		this.ref, js.Pointer(&fn),
  6596  	)
  6597  	return
  6598  }
  6599  
  6600  // PushErrorScope calls the method "GPUDevice.pushErrorScope".
  6601  func (this GPUDevice) PushErrorScope(filter GPUErrorFilter) (ret js.Void) {
  6602  	bindings.CallGPUDevicePushErrorScope(
  6603  		this.ref, js.Pointer(&ret),
  6604  		uint32(filter),
  6605  	)
  6606  
  6607  	return
  6608  }
  6609  
  6610  // TryPushErrorScope calls the method "GPUDevice.pushErrorScope"
  6611  // in a try/catch block and returns (_, err, ok = false) when it went through
  6612  // the catch clause.
  6613  func (this GPUDevice) TryPushErrorScope(filter GPUErrorFilter) (ret js.Void, exception js.Any, ok bool) {
  6614  	ok = js.True == bindings.TryGPUDevicePushErrorScope(
  6615  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6616  		uint32(filter),
  6617  	)
  6618  
  6619  	return
  6620  }
  6621  
  6622  // HasFuncPopErrorScope returns true if the method "GPUDevice.popErrorScope" exists.
  6623  func (this GPUDevice) HasFuncPopErrorScope() bool {
  6624  	return js.True == bindings.HasFuncGPUDevicePopErrorScope(
  6625  		this.ref,
  6626  	)
  6627  }
  6628  
  6629  // FuncPopErrorScope returns the method "GPUDevice.popErrorScope".
  6630  func (this GPUDevice) FuncPopErrorScope() (fn js.Func[func() js.Promise[GPUError]]) {
  6631  	bindings.FuncGPUDevicePopErrorScope(
  6632  		this.ref, js.Pointer(&fn),
  6633  	)
  6634  	return
  6635  }
  6636  
  6637  // PopErrorScope calls the method "GPUDevice.popErrorScope".
  6638  func (this GPUDevice) PopErrorScope() (ret js.Promise[GPUError]) {
  6639  	bindings.CallGPUDevicePopErrorScope(
  6640  		this.ref, js.Pointer(&ret),
  6641  	)
  6642  
  6643  	return
  6644  }
  6645  
  6646  // TryPopErrorScope calls the method "GPUDevice.popErrorScope"
  6647  // in a try/catch block and returns (_, err, ok = false) when it went through
  6648  // the catch clause.
  6649  func (this GPUDevice) TryPopErrorScope() (ret js.Promise[GPUError], exception js.Any, ok bool) {
  6650  	ok = js.True == bindings.TryGPUDevicePopErrorScope(
  6651  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6652  	)
  6653  
  6654  	return
  6655  }
  6656  
  6657  type GPUCanvasAlphaMode uint32
  6658  
  6659  const (
  6660  	_ GPUCanvasAlphaMode = iota
  6661  
  6662  	GPUCanvasAlphaMode_OPAQUE
  6663  	GPUCanvasAlphaMode_PREMULTIPLIED
  6664  )
  6665  
  6666  func (GPUCanvasAlphaMode) FromRef(str js.Ref) GPUCanvasAlphaMode {
  6667  	return GPUCanvasAlphaMode(bindings.ConstOfGPUCanvasAlphaMode(str))
  6668  }
  6669  
  6670  func (x GPUCanvasAlphaMode) String() (string, bool) {
  6671  	switch x {
  6672  	case GPUCanvasAlphaMode_OPAQUE:
  6673  		return "opaque", true
  6674  	case GPUCanvasAlphaMode_PREMULTIPLIED:
  6675  		return "premultiplied", true
  6676  	default:
  6677  		return "", false
  6678  	}
  6679  }
  6680  
  6681  type GPUCanvasConfiguration struct {
  6682  	// Device is "GPUCanvasConfiguration.device"
  6683  	//
  6684  	// Required
  6685  	Device GPUDevice
  6686  	// Format is "GPUCanvasConfiguration.format"
  6687  	//
  6688  	// Required
  6689  	Format GPUTextureFormat
  6690  	// Usage is "GPUCanvasConfiguration.usage"
  6691  	//
  6692  	// Optional, defaults to 0x10.
  6693  	//
  6694  	// NOTE: FFI_USE_Usage MUST be set to true to make this field effective.
  6695  	Usage GPUTextureUsageFlags
  6696  	// ViewFormats is "GPUCanvasConfiguration.viewFormats"
  6697  	//
  6698  	// Optional, defaults to [].
  6699  	ViewFormats js.Array[GPUTextureFormat]
  6700  	// ColorSpace is "GPUCanvasConfiguration.colorSpace"
  6701  	//
  6702  	// Optional, defaults to "srgb".
  6703  	ColorSpace PredefinedColorSpace
  6704  	// AlphaMode is "GPUCanvasConfiguration.alphaMode"
  6705  	//
  6706  	// Optional, defaults to "opaque".
  6707  	AlphaMode GPUCanvasAlphaMode
  6708  
  6709  	FFI_USE_Usage bool // for Usage.
  6710  
  6711  	FFI_USE bool
  6712  }
  6713  
  6714  // FromRef calls UpdateFrom and returns a GPUCanvasConfiguration with all fields set.
  6715  func (p GPUCanvasConfiguration) FromRef(ref js.Ref) GPUCanvasConfiguration {
  6716  	p.UpdateFrom(ref)
  6717  	return p
  6718  }
  6719  
  6720  // New creates a new GPUCanvasConfiguration in the application heap.
  6721  func (p GPUCanvasConfiguration) New() js.Ref {
  6722  	return bindings.GPUCanvasConfigurationJSLoad(
  6723  		js.Pointer(&p), js.True, 0,
  6724  	)
  6725  }
  6726  
  6727  // UpdateFrom copies value of all fields of the heap object to p.
  6728  func (p *GPUCanvasConfiguration) UpdateFrom(ref js.Ref) {
  6729  	bindings.GPUCanvasConfigurationJSStore(
  6730  		js.Pointer(p), ref,
  6731  	)
  6732  }
  6733  
  6734  // Update writes all fields of the p to the heap object referenced by ref.
  6735  func (p *GPUCanvasConfiguration) Update(ref js.Ref) {
  6736  	bindings.GPUCanvasConfigurationJSLoad(
  6737  		js.Pointer(p), js.False, ref,
  6738  	)
  6739  }
  6740  
  6741  // FreeMembers frees fields with heap reference, if recursive is true
  6742  // free all heap references reachable from p.
  6743  func (p *GPUCanvasConfiguration) FreeMembers(recursive bool) {
  6744  	js.Free(
  6745  		p.Device.Ref(),
  6746  		p.ViewFormats.Ref(),
  6747  	)
  6748  	p.Device = p.Device.FromRef(js.Undefined)
  6749  	p.ViewFormats = p.ViewFormats.FromRef(js.Undefined)
  6750  }
  6751  
  6752  type GPUCanvasContext struct {
  6753  	ref js.Ref
  6754  }
  6755  
  6756  func (this GPUCanvasContext) Once() GPUCanvasContext {
  6757  	this.ref.Once()
  6758  	return this
  6759  }
  6760  
  6761  func (this GPUCanvasContext) Ref() js.Ref {
  6762  	return this.ref
  6763  }
  6764  
  6765  func (this GPUCanvasContext) FromRef(ref js.Ref) GPUCanvasContext {
  6766  	this.ref = ref
  6767  	return this
  6768  }
  6769  
  6770  func (this GPUCanvasContext) Free() {
  6771  	this.ref.Free()
  6772  }
  6773  
  6774  // Canvas returns the value of property "GPUCanvasContext.canvas".
  6775  //
  6776  // It returns ok=false if there is no such property.
  6777  func (this GPUCanvasContext) Canvas() (ret OneOf_HTMLCanvasElement_OffscreenCanvas, ok bool) {
  6778  	ok = js.True == bindings.GetGPUCanvasContextCanvas(
  6779  		this.ref, js.Pointer(&ret),
  6780  	)
  6781  	return
  6782  }
  6783  
  6784  // HasFuncConfigure returns true if the method "GPUCanvasContext.configure" exists.
  6785  func (this GPUCanvasContext) HasFuncConfigure() bool {
  6786  	return js.True == bindings.HasFuncGPUCanvasContextConfigure(
  6787  		this.ref,
  6788  	)
  6789  }
  6790  
  6791  // FuncConfigure returns the method "GPUCanvasContext.configure".
  6792  func (this GPUCanvasContext) FuncConfigure() (fn js.Func[func(configuration GPUCanvasConfiguration)]) {
  6793  	bindings.FuncGPUCanvasContextConfigure(
  6794  		this.ref, js.Pointer(&fn),
  6795  	)
  6796  	return
  6797  }
  6798  
  6799  // Configure calls the method "GPUCanvasContext.configure".
  6800  func (this GPUCanvasContext) Configure(configuration GPUCanvasConfiguration) (ret js.Void) {
  6801  	bindings.CallGPUCanvasContextConfigure(
  6802  		this.ref, js.Pointer(&ret),
  6803  		js.Pointer(&configuration),
  6804  	)
  6805  
  6806  	return
  6807  }
  6808  
  6809  // TryConfigure calls the method "GPUCanvasContext.configure"
  6810  // in a try/catch block and returns (_, err, ok = false) when it went through
  6811  // the catch clause.
  6812  func (this GPUCanvasContext) TryConfigure(configuration GPUCanvasConfiguration) (ret js.Void, exception js.Any, ok bool) {
  6813  	ok = js.True == bindings.TryGPUCanvasContextConfigure(
  6814  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6815  		js.Pointer(&configuration),
  6816  	)
  6817  
  6818  	return
  6819  }
  6820  
  6821  // HasFuncUnconfigure returns true if the method "GPUCanvasContext.unconfigure" exists.
  6822  func (this GPUCanvasContext) HasFuncUnconfigure() bool {
  6823  	return js.True == bindings.HasFuncGPUCanvasContextUnconfigure(
  6824  		this.ref,
  6825  	)
  6826  }
  6827  
  6828  // FuncUnconfigure returns the method "GPUCanvasContext.unconfigure".
  6829  func (this GPUCanvasContext) FuncUnconfigure() (fn js.Func[func()]) {
  6830  	bindings.FuncGPUCanvasContextUnconfigure(
  6831  		this.ref, js.Pointer(&fn),
  6832  	)
  6833  	return
  6834  }
  6835  
  6836  // Unconfigure calls the method "GPUCanvasContext.unconfigure".
  6837  func (this GPUCanvasContext) Unconfigure() (ret js.Void) {
  6838  	bindings.CallGPUCanvasContextUnconfigure(
  6839  		this.ref, js.Pointer(&ret),
  6840  	)
  6841  
  6842  	return
  6843  }
  6844  
  6845  // TryUnconfigure calls the method "GPUCanvasContext.unconfigure"
  6846  // in a try/catch block and returns (_, err, ok = false) when it went through
  6847  // the catch clause.
  6848  func (this GPUCanvasContext) TryUnconfigure() (ret js.Void, exception js.Any, ok bool) {
  6849  	ok = js.True == bindings.TryGPUCanvasContextUnconfigure(
  6850  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6851  	)
  6852  
  6853  	return
  6854  }
  6855  
  6856  // HasFuncGetCurrentTexture returns true if the method "GPUCanvasContext.getCurrentTexture" exists.
  6857  func (this GPUCanvasContext) HasFuncGetCurrentTexture() bool {
  6858  	return js.True == bindings.HasFuncGPUCanvasContextGetCurrentTexture(
  6859  		this.ref,
  6860  	)
  6861  }
  6862  
  6863  // FuncGetCurrentTexture returns the method "GPUCanvasContext.getCurrentTexture".
  6864  func (this GPUCanvasContext) FuncGetCurrentTexture() (fn js.Func[func() GPUTexture]) {
  6865  	bindings.FuncGPUCanvasContextGetCurrentTexture(
  6866  		this.ref, js.Pointer(&fn),
  6867  	)
  6868  	return
  6869  }
  6870  
  6871  // GetCurrentTexture calls the method "GPUCanvasContext.getCurrentTexture".
  6872  func (this GPUCanvasContext) GetCurrentTexture() (ret GPUTexture) {
  6873  	bindings.CallGPUCanvasContextGetCurrentTexture(
  6874  		this.ref, js.Pointer(&ret),
  6875  	)
  6876  
  6877  	return
  6878  }
  6879  
  6880  // TryGetCurrentTexture calls the method "GPUCanvasContext.getCurrentTexture"
  6881  // in a try/catch block and returns (_, err, ok = false) when it went through
  6882  // the catch clause.
  6883  func (this GPUCanvasContext) TryGetCurrentTexture() (ret GPUTexture, exception js.Any, ok bool) {
  6884  	ok = js.True == bindings.TryGPUCanvasContextGetCurrentTexture(
  6885  		this.ref, js.Pointer(&ret), js.Pointer(&exception),
  6886  	)
  6887  
  6888  	return
  6889  }