Skip to content

Commit e9b7c66

Browse files
authored
Cleanup crypto utilities (shader-slang#2549)
* Consolidate crypto functions into single module * Migrate rest of code to new crypto module * Fix name conflict
1 parent 92ae494 commit e9b7c66

27 files changed

+1057
-922
lines changed

build/visual-studio/core/core.vcxproj

+2-5
Original file line numberDiff line numberDiff line change
@@ -276,11 +276,10 @@
276276
<ClInclude Include="..\..\..\source\core\slang-command-line.h" />
277277
<ClInclude Include="..\..\..\source\core\slang-common.h" />
278278
<ClInclude Include="..\..\..\source\core\slang-compression-system.h" />
279+
<ClInclude Include="..\..\..\source\core\slang-crypto.h" />
279280
<ClInclude Include="..\..\..\source\core\slang-deflate-compression-system.h" />
280281
<ClInclude Include="..\..\..\source\core\slang-destroyable.h" />
281282
<ClInclude Include="..\..\..\source\core\slang-dictionary.h" />
282-
<ClInclude Include="..\..\..\source\core\slang-digest-builder.h" />
283-
<ClInclude Include="..\..\..\source\core\slang-digest-util.h" />
284283
<ClInclude Include="..\..\..\source\core\slang-exception.h" />
285284
<ClInclude Include="..\..\..\source\core\slang-file-system.h" />
286285
<ClInclude Include="..\..\..\source\core\slang-free-list.h" />
@@ -295,7 +294,6 @@
295294
<ClInclude Include="..\..\..\source\core\slang-list.h" />
296295
<ClInclude Include="..\..\..\source\core\slang-lz4-compression-system.h" />
297296
<ClInclude Include="..\..\..\source\core\slang-math.h" />
298-
<ClInclude Include="..\..\..\source\core\slang-md5.h" />
299297
<ClInclude Include="..\..\..\source\core\slang-memory-arena.h" />
300298
<ClInclude Include="..\..\..\source\core\slang-memory-file-system.h" />
301299
<ClInclude Include="..\..\..\source\core\slang-offset-container.h" />
@@ -342,8 +340,8 @@
342340
<ClCompile Include="..\..\..\source\core\slang-char-encode.cpp" />
343341
<ClCompile Include="..\..\..\source\core\slang-char-util.cpp" />
344342
<ClCompile Include="..\..\..\source\core\slang-command-line.cpp" />
343+
<ClCompile Include="..\..\..\source\core\slang-crypto.cpp" />
345344
<ClCompile Include="..\..\..\source\core\slang-deflate-compression-system.cpp" />
346-
<ClCompile Include="..\..\..\source\core\slang-digest-util.cpp" />
347345
<ClCompile Include="..\..\..\source\core\slang-file-system.cpp" />
348346
<ClCompile Include="..\..\..\source\core\slang-free-list.cpp" />
349347
<ClCompile Include="..\..\..\source\core\slang-hex-dump-util.cpp" />
@@ -352,7 +350,6 @@
352350
<ClCompile Include="..\..\..\source\core\slang-io.cpp" />
353351
<ClCompile Include="..\..\..\source\core\slang-lazy-castable-list.cpp" />
354352
<ClCompile Include="..\..\..\source\core\slang-lz4-compression-system.cpp" />
355-
<ClCompile Include="..\..\..\source\core\slang-md5.cpp" />
356353
<ClCompile Include="..\..\..\source\core\slang-memory-arena.cpp" />
357354
<ClCompile Include="..\..\..\source\core\slang-memory-file-system.cpp" />
358355
<ClCompile Include="..\..\..\source\core\slang-offset-container.cpp" />

build/visual-studio/core/core.vcxproj.filters

+5-14
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@
6060
<ClInclude Include="..\..\..\source\core\slang-compression-system.h">
6161
<Filter>Header Files</Filter>
6262
</ClInclude>
63+
<ClInclude Include="..\..\..\source\core\slang-crypto.h">
64+
<Filter>Header Files</Filter>
65+
</ClInclude>
6366
<ClInclude Include="..\..\..\source\core\slang-deflate-compression-system.h">
6467
<Filter>Header Files</Filter>
6568
</ClInclude>
@@ -69,12 +72,6 @@
6972
<ClInclude Include="..\..\..\source\core\slang-dictionary.h">
7073
<Filter>Header Files</Filter>
7174
</ClInclude>
72-
<ClInclude Include="..\..\..\source\core\slang-digest-builder.h">
73-
<Filter>Header Files</Filter>
74-
</ClInclude>
75-
<ClInclude Include="..\..\..\source\core\slang-digest-util.h">
76-
<Filter>Header Files</Filter>
77-
</ClInclude>
7875
<ClInclude Include="..\..\..\source\core\slang-exception.h">
7976
<Filter>Header Files</Filter>
8077
</ClInclude>
@@ -117,9 +114,6 @@
117114
<ClInclude Include="..\..\..\source\core\slang-math.h">
118115
<Filter>Header Files</Filter>
119116
</ClInclude>
120-
<ClInclude Include="..\..\..\source\core\slang-md5.h">
121-
<Filter>Header Files</Filter>
122-
</ClInclude>
123117
<ClInclude Include="..\..\..\source\core\slang-memory-arena.h">
124118
<Filter>Header Files</Filter>
125119
</ClInclude>
@@ -254,10 +248,10 @@
254248
<ClCompile Include="..\..\..\source\core\slang-command-line.cpp">
255249
<Filter>Source Files</Filter>
256250
</ClCompile>
257-
<ClCompile Include="..\..\..\source\core\slang-deflate-compression-system.cpp">
251+
<ClCompile Include="..\..\..\source\core\slang-crypto.cpp">
258252
<Filter>Source Files</Filter>
259253
</ClCompile>
260-
<ClCompile Include="..\..\..\source\core\slang-digest-util.cpp">
254+
<ClCompile Include="..\..\..\source\core\slang-deflate-compression-system.cpp">
261255
<Filter>Source Files</Filter>
262256
</ClCompile>
263257
<ClCompile Include="..\..\..\source\core\slang-file-system.cpp">
@@ -284,9 +278,6 @@
284278
<ClCompile Include="..\..\..\source\core\slang-lz4-compression-system.cpp">
285279
<Filter>Source Files</Filter>
286280
</ClCompile>
287-
<ClCompile Include="..\..\..\source\core\slang-md5.cpp">
288-
<Filter>Source Files</Filter>
289-
</ClCompile>
290281
<ClCompile Include="..\..\..\source\core\slang-memory-arena.cpp">
291282
<Filter>Source Files</Filter>
292283
</ClCompile>

build/visual-studio/slang-rt/slang-rt.vcxproj

+2-5
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,10 @@
288288
<ClInclude Include="..\..\..\source\core\slang-command-line.h" />
289289
<ClInclude Include="..\..\..\source\core\slang-common.h" />
290290
<ClInclude Include="..\..\..\source\core\slang-compression-system.h" />
291+
<ClInclude Include="..\..\..\source\core\slang-crypto.h" />
291292
<ClInclude Include="..\..\..\source\core\slang-deflate-compression-system.h" />
292293
<ClInclude Include="..\..\..\source\core\slang-destroyable.h" />
293294
<ClInclude Include="..\..\..\source\core\slang-dictionary.h" />
294-
<ClInclude Include="..\..\..\source\core\slang-digest-builder.h" />
295-
<ClInclude Include="..\..\..\source\core\slang-digest-util.h" />
296295
<ClInclude Include="..\..\..\source\core\slang-exception.h" />
297296
<ClInclude Include="..\..\..\source\core\slang-file-system.h" />
298297
<ClInclude Include="..\..\..\source\core\slang-free-list.h" />
@@ -307,7 +306,6 @@
307306
<ClInclude Include="..\..\..\source\core\slang-list.h" />
308307
<ClInclude Include="..\..\..\source\core\slang-lz4-compression-system.h" />
309308
<ClInclude Include="..\..\..\source\core\slang-math.h" />
310-
<ClInclude Include="..\..\..\source\core\slang-md5.h" />
311309
<ClInclude Include="..\..\..\source\core\slang-memory-arena.h" />
312310
<ClInclude Include="..\..\..\source\core\slang-memory-file-system.h" />
313311
<ClInclude Include="..\..\..\source\core\slang-offset-container.h" />
@@ -355,8 +353,8 @@
355353
<ClCompile Include="..\..\..\source\core\slang-char-encode.cpp" />
356354
<ClCompile Include="..\..\..\source\core\slang-char-util.cpp" />
357355
<ClCompile Include="..\..\..\source\core\slang-command-line.cpp" />
356+
<ClCompile Include="..\..\..\source\core\slang-crypto.cpp" />
358357
<ClCompile Include="..\..\..\source\core\slang-deflate-compression-system.cpp" />
359-
<ClCompile Include="..\..\..\source\core\slang-digest-util.cpp" />
360358
<ClCompile Include="..\..\..\source\core\slang-file-system.cpp" />
361359
<ClCompile Include="..\..\..\source\core\slang-free-list.cpp" />
362360
<ClCompile Include="..\..\..\source\core\slang-hex-dump-util.cpp" />
@@ -365,7 +363,6 @@
365363
<ClCompile Include="..\..\..\source\core\slang-io.cpp" />
366364
<ClCompile Include="..\..\..\source\core\slang-lazy-castable-list.cpp" />
367365
<ClCompile Include="..\..\..\source\core\slang-lz4-compression-system.cpp" />
368-
<ClCompile Include="..\..\..\source\core\slang-md5.cpp" />
369366
<ClCompile Include="..\..\..\source\core\slang-memory-arena.cpp" />
370367
<ClCompile Include="..\..\..\source\core\slang-memory-file-system.cpp" />
371368
<ClCompile Include="..\..\..\source\core\slang-offset-container.cpp" />

build/visual-studio/slang-rt/slang-rt.vcxproj.filters

+5-14
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@
6060
<ClInclude Include="..\..\..\source\core\slang-compression-system.h">
6161
<Filter>Header Files</Filter>
6262
</ClInclude>
63+
<ClInclude Include="..\..\..\source\core\slang-crypto.h">
64+
<Filter>Header Files</Filter>
65+
</ClInclude>
6366
<ClInclude Include="..\..\..\source\core\slang-deflate-compression-system.h">
6467
<Filter>Header Files</Filter>
6568
</ClInclude>
@@ -69,12 +72,6 @@
6972
<ClInclude Include="..\..\..\source\core\slang-dictionary.h">
7073
<Filter>Header Files</Filter>
7174
</ClInclude>
72-
<ClInclude Include="..\..\..\source\core\slang-digest-builder.h">
73-
<Filter>Header Files</Filter>
74-
</ClInclude>
75-
<ClInclude Include="..\..\..\source\core\slang-digest-util.h">
76-
<Filter>Header Files</Filter>
77-
</ClInclude>
7875
<ClInclude Include="..\..\..\source\core\slang-exception.h">
7976
<Filter>Header Files</Filter>
8077
</ClInclude>
@@ -117,9 +114,6 @@
117114
<ClInclude Include="..\..\..\source\core\slang-math.h">
118115
<Filter>Header Files</Filter>
119116
</ClInclude>
120-
<ClInclude Include="..\..\..\source\core\slang-md5.h">
121-
<Filter>Header Files</Filter>
122-
</ClInclude>
123117
<ClInclude Include="..\..\..\source\core\slang-memory-arena.h">
124118
<Filter>Header Files</Filter>
125119
</ClInclude>
@@ -257,10 +251,10 @@
257251
<ClCompile Include="..\..\..\source\core\slang-command-line.cpp">
258252
<Filter>Source Files</Filter>
259253
</ClCompile>
260-
<ClCompile Include="..\..\..\source\core\slang-deflate-compression-system.cpp">
254+
<ClCompile Include="..\..\..\source\core\slang-crypto.cpp">
261255
<Filter>Source Files</Filter>
262256
</ClCompile>
263-
<ClCompile Include="..\..\..\source\core\slang-digest-util.cpp">
257+
<ClCompile Include="..\..\..\source\core\slang-deflate-compression-system.cpp">
264258
<Filter>Source Files</Filter>
265259
</ClCompile>
266260
<ClCompile Include="..\..\..\source\core\slang-file-system.cpp">
@@ -287,9 +281,6 @@
287281
<ClCompile Include="..\..\..\source\core\slang-lz4-compression-system.cpp">
288282
<Filter>Source Files</Filter>
289283
</ClCompile>
290-
<ClCompile Include="..\..\..\source\core\slang-md5.cpp">
291-
<Filter>Source Files</Filter>
292-
</ClCompile>
293284
<ClCompile Include="..\..\..\source\core\slang-memory-arena.cpp">
294285
<Filter>Source Files</Filter>
295286
</ClCompile>

build/visual-studio/slang-unit-test-tool/slang-unit-test-tool.vcxproj

+1-3
Original file line numberDiff line numberDiff line change
@@ -285,16 +285,14 @@
285285
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-com-host-callable.cpp" />
286286
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-command-line-args.cpp" />
287287
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-compression.cpp" />
288-
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-digest-builder.cpp" />
289-
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-digest-utils.cpp" />
288+
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-crypto.cpp" />
290289
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-file-system.cpp" />
291290
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-find-type-by-name.cpp" />
292291
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-free-list.cpp" />
293292
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-io.cpp" />
294293
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-json-native.cpp" />
295294
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-json.cpp" />
296295
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-lock-file.cpp" />
297-
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-md5.cpp" />
298296
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-memory-arena.cpp" />
299297
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-offset-container.cpp" />
300298
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-path.cpp" />

build/visual-studio/slang-unit-test-tool/slang-unit-test-tool.vcxproj.filters

+1-7
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@
2929
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-compression.cpp">
3030
<Filter>Source Files</Filter>
3131
</ClCompile>
32-
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-digest-builder.cpp">
33-
<Filter>Source Files</Filter>
34-
</ClCompile>
35-
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-digest-utils.cpp">
32+
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-crypto.cpp">
3633
<Filter>Source Files</Filter>
3734
</ClCompile>
3835
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-file-system.cpp">
@@ -56,9 +53,6 @@
5653
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-lock-file.cpp">
5754
<Filter>Source Files</Filter>
5855
</ClCompile>
59-
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-md5.cpp">
60-
<Filter>Source Files</Filter>
61-
</ClCompile>
6256
<ClCompile Include="..\..\..\tools\slang-unit-test\unit-test-memory-arena.cpp">
6357
<Filter>Source Files</Filter>
6458
</ClCompile>

slang.h

+2-27
Original file line numberDiff line numberDiff line change
@@ -4138,31 +4138,6 @@ namespace slang
41384138
None, UnsizedArray, StructuredBuffer, ConstantBuffer, ParameterBlock
41394139
};
41404140

4141-
// A struct storing a single hash represented as a four element uint32_t array.
4142-
// This is intended to be used with the current MD5 hashing implementation.
4143-
struct Digest
4144-
{
4145-
uint32_t values[4] = { 0 };
4146-
4147-
bool operator==(const Digest& rhs)
4148-
{
4149-
return values[0] == rhs.values[0]
4150-
&& values[1] == rhs.values[1]
4151-
&& values[2] == rhs.values[2]
4152-
&& values[3] == rhs.values[3];
4153-
}
4154-
4155-
bool operator!=(const Digest& rhs)
4156-
{
4157-
return !(*this == rhs);
4158-
}
4159-
4160-
uint32_t getHashCode()
4161-
{
4162-
return values[0];
4163-
}
4164-
};
4165-
41664141
/** A session provides a scope for code that is loaded.
41674142
41684143
A session can be used to load modules of Slang source code,
@@ -4464,7 +4439,7 @@ namespace slang
44644439
virtual SLANG_NO_THROW void SLANG_MCALL computeDependencyBasedHash(
44654440
SlangInt entryPointIndex,
44664441
SlangInt targetIndex,
4467-
Digest* outHash) = 0;
4442+
IBlob** outHash) = 0;
44684443

44694444
/** Compute the hash code of this component type's contents as indicated by the file dependencies.
44704445
This hash is ideal when we need to confirm whether shader code changes have occurred. For example,
@@ -4477,7 +4452,7 @@ namespace slang
44774452
type that should ever be hashing its contents is Module as it represents all the code in a given
44784453
translation unit.
44794454
*/
4480-
virtual SLANG_NO_THROW void SLANG_MCALL computeContentsBasedHash(Digest* outHash) = 0;
4455+
virtual SLANG_NO_THROW void SLANG_MCALL computeContentsBasedHash(IBlob** outHash) = 0;
44814456

44824457
/** Specialize the component by binding its specialization parameters to concrete arguments.
44834458

source/compiler-core/slang-dxc-compiler.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
#include "../core/slang-semantic-version.h"
1515
#include "../core/slang-char-util.h"
1616

17-
#include "../core/slang-digest-builder.h"
18-
1917
#include "slang-include-system.h"
2018
#include "slang-source-loc.h"
2119

source/compiler-core/slang-glslang-compiler.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
#include "../core/slang-semantic-version.h"
1515
#include "../core/slang-char-util.h"
1616

17-
#include "../core/slang-digest-builder.h"
18-
1917
#include "slang-artifact-associated-impl.h"
2018
#include "slang-artifact-desc-util.h"
2119

0 commit comments

Comments
 (0)