@@ -11,61 +11,46 @@ module Web.GPU.GPUAdapter
1111  , limits 
1212  , requestAdapterInfo 
1313  , requestDevice 
14-   )
15-   where 
14+   ) where 
1615
1716import  Data.Maybe  (Maybe (..))
17+ import  Effect.Uncurried (EffectFn1 , runEffectFn1 ,EffectFn2 , runEffectFn2 ,EffectFn3 , runEffectFn3 ,EffectFn4 , runEffectFn4 )
1818import  Data.Set  as  Set 
1919import  Effect  (Effect )
2020import  Web.GPU.GPUDeviceDescriptor  (GPUDeviceDescriptor )
2121import  Web.GPU.GPUFeatureName  (GPUFeatureName )
22- import  Web.GPU.GPUDevice (GPUDevice )
22+ import  Web.GPU.GPUDevice   (GPUDevice )
2323import  Web.GPU.GPUSupportedLimits  (GPUSupportedLimits )
2424import  Web.GPU.UnmaskHint  (UnmaskHint )
2525import  Web.Promise  (Promise )
2626
2727data  GPUAdapter 
2828
2929--  features
30- foreign  import  featuresImpl 
31-   ::  (GPUFeatureName  ->  Set.Set  GPUFeatureName  ->  Set.Set  GPUFeatureName )
32-   ->  Set.Set  GPUFeatureName 
33-   ->  GPUAdapter 
34-   ->  Effect  (Set.Set  GPUFeatureName )
35- 
30+ foreign  import  featuresImpl  ::  EffectFn3  (GPUFeatureName  ->  Set.Set  GPUFeatureName  ->  Set.Set  GPUFeatureName ) (Set.Set  GPUFeatureName ) GPUAdapter   (Set.Set  GPUFeatureName )
3631features  ::  GPUAdapter  ->  Effect  (Set.Set  GPUFeatureName )
37- features = featuresImpl Set .insert Set .empty
38- 
39- foreign  import  limitsImpl  ::  GPUAdapter  ->  Effect  {  | GPUSupportedLimits  } 
32+ features a = runEffectFn3 featuresImpl Set .insert Set .empty a
4033
34+ foreign  import  limitsImpl  ::  EffectFn1  GPUAdapter   {  | GPUSupportedLimits  } 
4135limits  ::  GPUAdapter  ->  Effect  {  | GPUSupportedLimits  } 
42- limits = limitsImpl
43- 
44- foreign  import  isFallbackAdapterImpl  ::  GPUAdapter  ->  Effect  Boolean 
36+ limits a = runEffectFn1 limitsImpl a
4537
38+ foreign  import  isFallbackAdapterImpl  ::  EffectFn1  GPUAdapter   Boolean 
4639isFallbackAdapter  ::  GPUAdapter  ->  Effect  Boolean 
47- isFallbackAdapter =  isFallbackAdapterImpl
40+ isFallbackAdapter a = runEffectFn1  isFallbackAdapterImpl a 
4841
4942--  requestDevice
5043
51- foreign  import  requestDeviceImpl 
52-   ::  (GPUDevice  ->  Maybe  GPUDevice )
53-   ->  Maybe  GPUDevice 
54-   ->  GPUAdapter 
55-   ->  GPUDeviceDescriptor 
56-   ->  Effect  (Promise  (Maybe  GPUDevice ))
57- 
44+ foreign  import  requestDeviceImpl  ::  EffectFn4  (GPUDevice  ->  Maybe  GPUDevice )( Maybe  GPUDevice ) GPUAdapter  GPUDeviceDescriptor   (Promise  (Maybe  GPUDevice ))
5845requestDevice
5946  ::  GPUAdapter 
6047  ->  GPUDeviceDescriptor 
6148  ->  Effect  (Promise  (Maybe  GPUDevice ))
62- requestDevice =  requestDeviceImpl Just  Nothing 
49+ requestDevice a b= runEffectFn4  requestDeviceImpl Just  Nothing  a b 
6350
6451--  requestAdapterInfo
6552
66- foreign  import  requestAdapterInfoImpl 
67-   ::  GPUAdapter  ->  Array  (UnmaskHint ) ->  Effect  (Promise  GPUAdapterInfo )
68- 
53+ foreign  import  requestAdapterInfoImpl  ::  EffectFn2  GPUAdapter  (Array  UnmaskHint )  (Promise  GPUAdapterInfo )
6954type  GPUAdapterInfo  = 
7055  {  vendor  ::  String 
7156  , architecture  ::  String 
@@ -75,4 +60,4 @@ type GPUAdapterInfo =
7560
7661requestAdapterInfo
7762  ::  GPUAdapter  ->  Array  UnmaskHint  ->  Effect  (Promise  GPUAdapterInfo )
78- requestAdapterInfo =  requestAdapterInfoImpl
63+ requestAdapterInfo a b = runEffectFn2  requestAdapterInfoImpl a b 
0 commit comments