Skip to content

Commit db761dc

Browse files
committed
Generate first-level re-exports, too. Various cleanups.
1 parent 659dc0d commit db761dc

File tree

9 files changed

+240
-200
lines changed

9 files changed

+240
-200
lines changed

RegistryProcessor/src/Main.hs

Lines changed: 155 additions & 121 deletions
Large diffs are not rendered by default.

RegistryProcessor/src/MangledRegistry.hs

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module MangledRegistry (
2424
ExtensionName(..),
2525
API(..),
2626
Version(..),
27-
splitBy
27+
splitWords, joinWords
2828
) where
2929

3030
import qualified Data.Char as C
@@ -128,16 +128,24 @@ toEnum' toTypeName e = Enum {
128128

129129
mangleEnumName :: String -> EnumName
130130
mangleEnumName =
131-
EnumName . L.intercalate [splitChar] . headToLower . splitBy (== splitChar)
132-
where splitChar = '_'
133-
headToLower xs = map C.toLower (head xs) : tail xs
131+
EnumName . joinWords . headToLower . splitWords
132+
where headToLower xs = map C.toLower (head xs) : tail xs
133+
134+
splitChar :: Char
135+
splitChar = '_'
136+
137+
splitWords :: String -> [String]
138+
splitWords = splitBy (== splitChar)
134139

135140
splitBy :: (a -> Bool) -> [a] -> [[a]]
136141
splitBy _ [] = []
137142
splitBy p xs = case break p xs of
138143
(ys, [] ) -> [ys]
139144
(ys, _:zs) -> ys : splitBy p zs
140145

146+
joinWords :: [String] -> String
147+
joinWords = L.intercalate [splitChar]
148+
141149
data Command = Command {
142150
resultType :: SignatureElement,
143151
paramTypes :: [SignatureElement],
@@ -283,9 +291,8 @@ toExtensionName :: R.Name -> ExtensionName
283291
toExtensionName name = ExtensionName {
284292
extensionNameAPI = a,
285293
extensionNameCategory = c,
286-
extensionNameName = n }
287-
where (a, _:rest) = break (== '_') (R.unName name)
288-
(c, _:n) = break (== '_') rest
294+
extensionNameName = joinWords rest }
295+
where (a:c:rest) = splitWords (R.unName name)
289296

290297
newtype API = API { unAPI :: String } deriving (Eq, Ord, Show)
291298

src/Graphics/Rendering/OpenGL/Raw/ARB.hs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
1717
module Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture,
1818
module Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended,
1919
module Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage,
20+
module Graphics.Rendering.OpenGL.Raw.ARB.CLEvent,
2021
module Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject,
2122
module Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture,
22-
module Graphics.Rendering.OpenGL.Raw.ARB.CLEvent,
2323
module Graphics.Rendering.OpenGL.Raw.ARB.ClipControl,
2424
module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,
2525
module Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage,
@@ -34,35 +34,35 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
3434
module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
3535
module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,
3636
module Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess,
37-
module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,
3837
module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,
38+
module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,
3939
module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
4040
module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect,
4141
module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
42-
module Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts,
4342
module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility,
4443
module Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility,
4544
module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility,
45+
module Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts,
4646
module Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation,
4747
module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,
4848
module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,
4949
module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,
5050
module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility,
5151
module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore,
5252
module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
53+
module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5,
54+
module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64,
5355
module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
5456
module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
5557
module Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage,
56-
module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5,
57-
module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64,
5858
module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
5959
module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
6060
module Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility,
6161
module Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore,
6262
module Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters,
6363
module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,
64-
module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2,
6564
module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery,
65+
module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2,
6666
module Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata,
6767
module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment,
6868
module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,
@@ -71,8 +71,8 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
7171
module Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect,
7272
module Graphics.Rendering.OpenGL.Raw.ARB.Multisample,
7373
module Graphics.Rendering.OpenGL.Raw.ARB.Multitexture,
74-
module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2,
7574
module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery,
75+
module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2,
7676
module Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery,
7777
module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject,
7878
module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
@@ -82,8 +82,8 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
8282
module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject,
8383
module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility,
8484
module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore,
85-
module Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects,
8685
module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
86+
module Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects,
8787
module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
8888
module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture,
8989
module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,
@@ -94,8 +94,8 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
9494
module Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine,
9595
module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,
9696
module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude,
97-
module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,
9897
module Graphics.Rendering.OpenGL.Raw.ARB.Shadow,
98+
module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,
9999
module Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer,
100100
module Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture,
101101
module Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing,
@@ -106,21 +106,21 @@ module Graphics.Rendering.OpenGL.Raw.ARB (
106106
module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
107107
module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32,
108108
module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange,
109-
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC,
110109
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,
110+
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC,
111111
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,
112-
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,
113112
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,
113+
module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,
114114
module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,
115115
module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,
116116
module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,
117117
module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,
118118
module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge,
119119
module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,
120120
module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
121-
module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
122-
module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI,
123121
module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,
122+
module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI,
123+
module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
124124
module Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8,
125125
module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage,
126126
module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample,
@@ -152,9 +152,9 @@ import Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance
152152
import Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture
153153
import Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
154154
import Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage
155+
import Graphics.Rendering.OpenGL.Raw.ARB.CLEvent
155156
import Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject
156157
import Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture
157-
import Graphics.Rendering.OpenGL.Raw.ARB.CLEvent
158158
import Graphics.Rendering.OpenGL.Raw.ARB.ClipControl
159159
import Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
160160
import Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage
@@ -169,35 +169,35 @@ import Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
169169
import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
170170
import Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
171171
import Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess
172-
import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
173172
import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
173+
import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
174174
import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
175175
import Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
176176
import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
177-
import Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts
178177
import Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
179178
import Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility
180179
import Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
180+
import Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts
181181
import Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation
182182
import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
183183
import Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
184184
import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
185185
import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility
186186
import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore
187187
import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
188+
import Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
189+
import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
188190
import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
189191
import Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
190192
import Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage
191-
import Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
192-
import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
193193
import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
194194
import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
195195
import Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility
196196
import Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore
197197
import Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters
198198
import Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
199-
import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2
200199
import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery
200+
import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2
201201
import Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata
202202
import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment
203203
import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
@@ -206,8 +206,8 @@ import Graphics.Rendering.OpenGL.Raw.ARB.MultiBind
206206
import Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect
207207
import Graphics.Rendering.OpenGL.Raw.ARB.Multisample
208208
import Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
209-
import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
210209
import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
210+
import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
211211
import Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery
212212
import Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
213213
import Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
@@ -217,8 +217,8 @@ import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
217217
import Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
218218
import Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility
219219
import Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore
220-
import Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
221220
import Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
221+
import Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
222222
import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
223223
import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture
224224
import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
@@ -229,8 +229,8 @@ import Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
229229
import Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
230230
import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
231231
import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
232-
import Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
233232
import Graphics.Rendering.OpenGL.Raw.ARB.Shadow
233+
import Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
234234
import Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer
235235
import Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture
236236
import Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing
@@ -241,21 +241,21 @@ import Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
241241
import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
242242
import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32
243243
import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange
244-
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
245244
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
245+
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
246246
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
247-
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
248247
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
248+
import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
249249
import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
250250
import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
251251
import Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
252252
import Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
253253
import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge
254254
import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
255255
import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
256-
import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
257-
import Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
258256
import Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
257+
import Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
258+
import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
259259
import Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8
260260
import Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage
261261
import Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample

src/Graphics/Rendering/OpenGL/Raw/ATI.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ module Graphics.Rendering.OpenGL.Raw.ATI (
1919
module Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader,
2020
module Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer,
2121
module Graphics.Rendering.OpenGL.Raw.ATI.Meminfo,
22-
module Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat,
2322
module Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles,
23+
module Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat,
2424
module Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil,
2525
module Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader,
2626
module Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3,
@@ -37,8 +37,8 @@ import Graphics.Rendering.OpenGL.Raw.ATI.EnvmapBumpmap
3737
import Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader
3838
import Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer
3939
import Graphics.Rendering.OpenGL.Raw.ATI.Meminfo
40-
import Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat
4140
import Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles
41+
import Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat
4242
import Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil
4343
import Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader
4444
import Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3

0 commit comments

Comments
 (0)