Skip to content

Commit 32d7eae

Browse files
author
Mike Solomon
committed
Cleans up some broken bindings
1 parent dad8253 commit 32d7eae

9 files changed

Lines changed: 441 additions & 185 deletions

src/Web/GPU/BufferSource.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ fromInt8Array :: Int8Array -> BufferSource
1111
fromInt8Array = unsafeCoerce
1212

1313
fromInt16Array :: Int16Array -> BufferSource
14-
fromInt16Array = unsafeCoerce
14+
fromInt16Array = unsafeCoerce
1515

1616
fromInt32Array :: Int32Array -> BufferSource
1717
fromInt32Array = unsafeCoerce
@@ -20,7 +20,7 @@ fromUint8Array :: Uint8Array -> BufferSource
2020
fromUint8Array = unsafeCoerce
2121

2222
fromUint16Array :: Uint16Array -> BufferSource
23-
fromUint16Array = unsafeCoerce
23+
fromUint16Array = unsafeCoerce
2424

2525
fromUint32Array :: Uint32Array -> BufferSource
2626
fromUint32Array = unsafeCoerce

src/Web/GPU/GPUImageCopyTextureTagged.purs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ import Data.Newtype (class Newtype)
44
import Web.GPU.Internal.RequiredAndOptional (RequiredAndOptional)
55
import Web.GPU.PredefinedColorSpace (PredefinedColorSpace)
66

7-
newtype GPUImageCopyTextureTagged = GPUImageCopyTextureTagged (RequiredAndOptional () (
8-
colorSpace:: PredefinedColorSpace,
9-
premultipliedAlpha :: Boolean
10-
))
7+
newtype GPUImageCopyTextureTagged = GPUImageCopyTextureTagged
8+
( RequiredAndOptional ()
9+
( colorSpace :: PredefinedColorSpace
10+
, premultipliedAlpha :: Boolean
11+
)
12+
)
1113

1214
derive instance Newtype GPUImageCopyTextureTagged _

src/Web/GPU/GPUQueue.js

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,28 @@
1-
export const submitImpl = (queue) => (commandBuffers) => () => queue.submit(commandBuffers);
2-
export const onSubmittedWorkDoneImpl = (queue) => () => queue.onSubmittedWorkDone();
3-
export const writeBufferImpl = (queue) => (buffer) => (bufferOffset) => (data) => () => queue.writeBuffer(buffer, bufferOffset, data);
4-
export const writeBufferWithOffsetImpl = (queue) => (buffer) => (bufferOffset) => (data) => (dataOffset) => () => queue.writeBuffer(buffer, bufferOffset, data, dataOffset);
5-
export const writeBufferWithSizeImpl = (queue) => (buffer) => (bufferOffset) => (data) => (size) => () => queue.writeBuffer(buffer, bufferOffset, data, undefined, size);
6-
export const writeBufferWithOffsetAndSizeImpl = (queue) => (buffer) => (bufferOffset) => (data) => (dataOffset) => (size) => () => queue.writeBuffer(buffer, bufferOffset, data, dataOffset, size);
7-
export const writeTextureImpl = (queue) => (destination) => (data) => (dataLayout) => (size) => () => queue.writeTexture(destination, data, dataLayout, size);
8-
export const copyExternalImageToTextureImpl = (queue) => (source) => (destination) => (copySize) => () => queue.copyExternalImageToTexture(source, destination, copySize);
1+
export const submitImpl = (queue) => (commandBuffers) => () =>
2+
queue.submit(commandBuffers);
3+
export const onSubmittedWorkDoneImpl = (queue) => () =>
4+
queue.onSubmittedWorkDone();
5+
export const writeBufferImpl =
6+
(queue) => (buffer) => (bufferOffset) => (data) => () =>
7+
queue.writeBuffer(buffer, bufferOffset, data);
8+
export const writeBufferWithOffsetImpl =
9+
(queue) => (buffer) => (bufferOffset) => (data) => (dataOffset) => () =>
10+
queue.writeBuffer(buffer, bufferOffset, data, dataOffset);
11+
export const writeBufferWithSizeImpl =
12+
(queue) => (buffer) => (bufferOffset) => (data) => (size) => () =>
13+
queue.writeBuffer(buffer, bufferOffset, data, undefined, size);
14+
export const writeBufferWithOffsetAndSizeImpl =
15+
(queue) =>
16+
(buffer) =>
17+
(bufferOffset) =>
18+
(data) =>
19+
(dataOffset) =>
20+
(size) =>
21+
() =>
22+
queue.writeBuffer(buffer, bufferOffset, data, dataOffset, size);
23+
export const writeTextureImpl =
24+
(queue) => (destination) => (data) => (dataLayout) => (size) => () =>
25+
queue.writeTexture(destination, data, dataLayout, size);
26+
export const copyExternalImageToTextureImpl =
27+
(queue) => (source) => (destination) => (copySize) => () =>
28+
queue.copyExternalImageToTexture(source, destination, copySize);

src/Web/GPU/GPUQueue.purs

Lines changed: 74 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ module Web.GPU.GPUQueue
77
, writeBufferWithOffsetAndSize
88
, writeBufferWithSize
99
, writeTexture
10-
)
11-
where
10+
) where
1211

1312
import Prelude
1413

@@ -20,27 +19,87 @@ import Web.GPU.GPUImageDataLayout (GPUImageDataLayout)
2019
import Web.GPU.Internal.Types (BufferSource, GPUBuffer, GPUCommandBuffer, GPUExtent3D, GPUQueue, GPUSize64)
2120
import Web.Promise (Promise)
2221

23-
foreign import submitImpl :: GPUQueue -> Array GPUCommandBuffer -> Effect Unit
22+
foreign import submitImpl :: GPUQueue -> Array GPUCommandBuffer -> Effect Unit
23+
2424
submit GPUQueue Array GPUCommandBuffer Effect Unit
2525
submit = submitImpl
26-
foreign import onSubmittedWorkDoneImpl :: GPUQueue -> Effect (Promise Unit)
26+
27+
foreign import onSubmittedWorkDoneImpl :: GPUQueue -> Effect (Promise Unit)
28+
2729
onSubmittedWorkDone :: GPUQueue -> Effect (Promise Unit)
2830
onSubmittedWorkDone = onSubmittedWorkDoneImpl
29-
foreign import writeBufferImpl :: GPUQueue -> GPUBuffer -> GPUSize64 -> BufferSource -> Effect Unit
31+
32+
foreign import writeBufferImpl
33+
:: GPUQueue -> GPUBuffer -> GPUSize64 -> BufferSource -> Effect Unit
34+
3035
writeBuffer :: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Effect Unit
3136
writeBuffer = writeBufferImpl
32-
foreign import writeBufferWithOffsetImpl :: GPUQueue -> GPUBuffer -> GPUSize64 -> BufferSource -> GPUSize64 -> Effect Unit
33-
writeBufferWithOffset :: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Int -> Effect Unit
37+
38+
foreign import writeBufferWithOffsetImpl
39+
:: GPUQueue
40+
-> GPUBuffer
41+
-> GPUSize64
42+
-> BufferSource
43+
-> GPUSize64
44+
-> Effect Unit
45+
46+
writeBufferWithOffset
47+
:: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Int -> Effect Unit
3448
writeBufferWithOffset = writeBufferWithOffsetImpl
35-
foreign import writeBufferWithSizeImpl :: GPUQueue -> GPUBuffer -> GPUSize64 -> BufferSource -> GPUSize64 -> Effect Unit
36-
writeBufferWithSize :: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Int -> Effect Unit
49+
50+
foreign import writeBufferWithSizeImpl
51+
:: GPUQueue
52+
-> GPUBuffer
53+
-> GPUSize64
54+
-> BufferSource
55+
-> GPUSize64
56+
-> Effect Unit
57+
58+
writeBufferWithSize
59+
:: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Int -> Effect Unit
3760
writeBufferWithSize = writeBufferWithSizeImpl
38-
foreign import writeBufferWithOffsetAndSizeImpl :: GPUQueue -> GPUBuffer -> GPUSize64 -> BufferSource -> GPUSize64 -> GPUSize64 -> Effect Unit
39-
writeBufferWithOffsetAndSize :: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Int -> Int -> Effect Unit
61+
62+
foreign import writeBufferWithOffsetAndSizeImpl
63+
:: GPUQueue
64+
-> GPUBuffer
65+
-> GPUSize64
66+
-> BufferSource
67+
-> GPUSize64
68+
-> GPUSize64
69+
-> Effect Unit
70+
71+
writeBufferWithOffsetAndSize
72+
:: GPUQueue -> GPUBuffer -> Int -> BufferSource -> Int -> Int -> Effect Unit
4073
writeBufferWithOffsetAndSize = writeBufferWithOffsetAndSizeImpl
41-
foreign import writeTextureImpl :: GPUQueue -> GPUImageCopyTexture -> BufferSource -> GPUImageDataLayout -> GPUExtent3D -> Effect Unit
42-
writeTexture :: GPUQueue -> GPUImageCopyTexture -> BufferSource -> GPUImageDataLayout -> GPUExtent3D -> Effect Unit
74+
75+
foreign import writeTextureImpl
76+
:: GPUQueue
77+
-> GPUImageCopyTexture
78+
-> BufferSource
79+
-> GPUImageDataLayout
80+
-> GPUExtent3D
81+
-> Effect Unit
82+
83+
writeTexture
84+
:: GPUQueue
85+
-> GPUImageCopyTexture
86+
-> BufferSource
87+
-> GPUImageDataLayout
88+
-> GPUExtent3D
89+
-> Effect Unit
4390
writeTexture = writeTextureImpl
44-
foreign import copyExternalImageToTextureImpl :: GPUQueue -> GPUImageCopyExternalImage -> GPUImageCopyTextureTagged -> GPUExtent3D -> Effect Unit
45-
copyExternalImageToTexture :: GPUQueue -> GPUImageCopyExternalImage -> GPUImageCopyTextureTagged -> GPUExtent3D -> Effect Unit
91+
92+
foreign import copyExternalImageToTextureImpl
93+
:: GPUQueue
94+
-> GPUImageCopyExternalImage
95+
-> GPUImageCopyTextureTagged
96+
-> GPUExtent3D
97+
-> Effect Unit
98+
99+
copyExternalImageToTexture
100+
:: GPUQueue
101+
-> GPUImageCopyExternalImage
102+
-> GPUImageCopyTextureTagged
103+
-> GPUExtent3D
104+
-> Effect Unit
46105
copyExternalImageToTexture = copyExternalImageToTextureImpl

src/Web/GPU/GPURenderBundleDescriptor.purs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module Web.GPU.GPURenderBundleDescriptor where
33
import Data.Newtype (class Newtype)
44
import Web.GPU.Internal.RequiredAndOptional (RequiredAndOptional)
55

6-
newtype GPURenderBundleDescriptor = GPURenderBundleDescriptor (RequiredAndOptional () (label ::String))
6+
newtype GPURenderBundleDescriptor = GPURenderBundleDescriptor
7+
(RequiredAndOptional () (label :: String))
78

89
derive instance Newtype GPURenderBundleDescriptor _

0 commit comments

Comments
 (0)