@@ -29,70 +29,96 @@ module Web.GPU.GPUBuffer
29
29
) where
30
30
31
31
import Prelude
32
- import Effect.Uncurried (EffectFn1 , runEffectFn1 ,EffectFn2 , runEffectFn2 ,EffectFn3 , runEffectFn3 ,EffectFn4 , runEffectFn4 )
32
+ import Effect.Uncurried (EffectFn1 , runEffectFn1 , EffectFn2 , runEffectFn2 , EffectFn3 , runEffectFn3 , EffectFn4 , runEffectFn4 )
33
33
34
34
import Data.ArrayBuffer.Types (ArrayBuffer )
35
35
import Effect (Effect )
36
36
import Web.GPU.GPUBufferMapState (GPUBufferMapState )
37
37
import Web.GPU.GPUBufferUsage (GPUBufferUsage )
38
38
import Web.GPU.GPUMapMode (GPUMapMode )
39
39
import Web.GPU.Internal.Types (GPUSize64 )
40
- import Web. Promise (Promise )
40
+ import Promise (Promise )
41
41
42
42
data GPUBuffer
43
43
44
- foreign import sizeImpl :: EffectFn1 GPUBuffer GPUSize64
44
+ foreign import sizeImpl :: EffectFn1 GPUBuffer GPUSize64
45
+
45
46
size :: GPUBuffer -> Effect GPUSize64
46
47
size a = runEffectFn1 sizeImpl a
47
48
48
- foreign import usageImpl :: EffectFn1 GPUBuffer GPUBufferUsage
49
+ foreign import usageImpl :: EffectFn1 GPUBuffer GPUBufferUsage
50
+
49
51
usage :: GPUBuffer -> Effect GPUBufferUsage
50
52
usage a = runEffectFn1 usageImpl a
51
53
52
- foreign import mapStateImpl :: EffectFn1 GPUBuffer GPUBufferMapState
54
+ foreign import mapStateImpl :: EffectFn1 GPUBuffer GPUBufferMapState
55
+
53
56
mapState :: GPUBuffer -> Effect GPUBufferMapState
54
57
mapState a = runEffectFn1 mapStateImpl a
55
58
56
- foreign import mapAsyncImpl :: EffectFn2 GPUBuffer GPUMapMode (Promise Unit )
59
+ foreign import mapAsyncImpl :: EffectFn2 GPUBuffer GPUMapMode (Promise Unit )
60
+
57
61
mapAsync :: GPUBuffer -> GPUMapMode -> Effect (Promise Unit )
58
62
mapAsync a b = runEffectFn2 mapAsyncImpl a b
59
63
60
- foreign import mapAsyncWithOffsetImpl :: EffectFn3 GPUBuffer GPUMapMode GPUSize64 (Promise Unit )
64
+ foreign import mapAsyncWithOffsetImpl
65
+ :: EffectFn3 GPUBuffer GPUMapMode GPUSize64 (Promise Unit )
66
+
61
67
mapAsyncWithOffset
62
68
:: GPUBuffer -> GPUMapMode -> GPUSize64 -> Effect (Promise Unit )
63
69
mapAsyncWithOffset a b c = runEffectFn3 mapAsyncWithOffsetImpl a b c
64
70
65
- foreign import mapAsyncWithSizeImpl :: EffectFn3 GPUBuffer GPUMapMode GPUSize64 (Promise Unit )
71
+ foreign import mapAsyncWithSizeImpl
72
+ :: EffectFn3 GPUBuffer GPUMapMode GPUSize64 (Promise Unit )
73
+
66
74
mapAsyncWithSize
67
75
:: GPUBuffer -> GPUMapMode -> GPUSize64 -> Effect (Promise Unit )
68
76
mapAsyncWithSize a b c = runEffectFn3 mapAsyncWithSizeImpl a b c
69
77
70
- foreign import mapAsyncWithOffsetAndSizeImpl :: EffectFn4 GPUBuffer GPUMapMode GPUSize64 GPUSize64 (Promise Unit )
78
+ foreign import mapAsyncWithOffsetAndSizeImpl
79
+ :: EffectFn4 GPUBuffer GPUMapMode GPUSize64 GPUSize64 (Promise Unit )
80
+
71
81
mapAsyncWithOffsetAndSize
72
82
:: GPUBuffer -> GPUMapMode -> GPUSize64 -> GPUSize64 -> Effect (Promise Unit )
73
- mapAsyncWithOffsetAndSize a b c d = runEffectFn4 mapAsyncWithOffsetAndSizeImpl a b c d
83
+ mapAsyncWithOffsetAndSize a b c d = runEffectFn4 mapAsyncWithOffsetAndSizeImpl a
84
+ b
85
+ c
86
+ d
87
+
88
+ foreign import getMappedRangeImpl :: EffectFn1 GPUBuffer ArrayBuffer
74
89
75
- foreign import getMappedRangeImpl :: EffectFn1 GPUBuffer ArrayBuffer
76
90
getMappedRange :: GPUBuffer -> Effect ArrayBuffer
77
91
getMappedRange a = runEffectFn1 getMappedRangeImpl a
78
92
79
- foreign import getMappedRangeWithOffsetImpl :: EffectFn2 GPUBuffer GPUSize64 ArrayBuffer
93
+ foreign import getMappedRangeWithOffsetImpl
94
+ :: EffectFn2 GPUBuffer GPUSize64 ArrayBuffer
95
+
80
96
getMappedRangeWithOffset :: GPUBuffer -> GPUSize64 -> Effect ArrayBuffer
81
97
getMappedRangeWithOffset a b = runEffectFn2 getMappedRangeWithOffsetImpl a b
82
98
83
- foreign import getMappedRangeWithSizeImpl :: EffectFn2 GPUBuffer GPUSize64 ArrayBuffer
99
+ foreign import getMappedRangeWithSizeImpl
100
+ :: EffectFn2 GPUBuffer GPUSize64 ArrayBuffer
101
+
84
102
getMappedRangeWithSize :: GPUBuffer -> GPUSize64 -> Effect ArrayBuffer
85
103
getMappedRangeWithSize a b = runEffectFn2 getMappedRangeWithSizeImpl a b
86
104
87
- foreign import getMappedRangeWithOffsetAndSizeImpl :: EffectFn3 GPUBuffer GPUSize64 GPUSize64 ArrayBuffer
105
+ foreign import getMappedRangeWithOffsetAndSizeImpl
106
+ :: EffectFn3 GPUBuffer GPUSize64 GPUSize64 ArrayBuffer
107
+
88
108
getMappedRangeWithOffsetAndSize
89
109
:: GPUBuffer -> GPUSize64 -> GPUSize64 -> Effect ArrayBuffer
90
- getMappedRangeWithOffsetAndSize a b c = runEffectFn3 getMappedRangeWithOffsetAndSizeImpl a b c
110
+ getMappedRangeWithOffsetAndSize a b c = runEffectFn3
111
+ getMappedRangeWithOffsetAndSizeImpl
112
+ a
113
+ b
114
+ c
115
+
116
+ foreign import unmapImpl :: EffectFn1 GPUBuffer Unit
91
117
92
- foreign import unmapImpl :: EffectFn1 GPUBuffer Unit
93
118
unmap :: GPUBuffer -> Effect Unit
94
119
unmap a = runEffectFn1 unmapImpl a
95
120
96
- foreign import destroyImpl :: EffectFn1 GPUBuffer Unit
121
+ foreign import destroyImpl :: EffectFn1 GPUBuffer Unit
122
+
97
123
destroy :: GPUBuffer -> Effect Unit
98
- destroy a = runEffectFn1 destroyImpl a
124
+ destroy a = runEffectFn1 destroyImpl a
0 commit comments