dawn-cmake/test/tint/types
Ben Clayton 046abc08e8 tint/writer: Replace use of strings for cache keys
Concatenating strings to use for cache keys is horribly inefficent and very error prone.

Add a UnorderedKeyWrapper helper to allow types to be used as a unordered_map and unordered_set key. Use this for the type_constructor_to_id_ map.

Produces SPIR-V with some duplicate SPIR-V instructions for constructors removed.

Change-Id: Ib072d485ca28bb07f03e979c133cdce1f69ee482
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88300
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2022-04-28 13:08:22 +00:00
..
texture Always use 0 for the Depth operand of OpTypeImage 2022-04-08 08:33:28 +00:00
function_scope_declarations.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
function_scope_declarations.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_declarations.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_declarations.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_declarations.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_declarations.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
function_scope_var_conversions.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_var_conversions.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_var_conversions.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_var_conversions.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
function_scope_var_conversions.wgsl.expected.spvasm tint/writer: Replace use of strings for cache keys 2022-04-28 13:08:22 +00:00
function_scope_var_conversions.wgsl.expected.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_let.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
module_scope_let.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_let.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_let.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_let.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_let.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
module_scope_var.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
module_scope_var.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
module_scope_var_conversions.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_conversions.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_conversions.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_conversions.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_conversions.wgsl.expected.spvasm tint/writer: Replace use of strings for cache keys 2022-04-28 13:08:22 +00:00
module_scope_var_conversions.wgsl.expected.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_initializers.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
module_scope_var_initializers.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_initializers.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_initializers.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_initializers.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
module_scope_var_initializers.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
parameters.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
parameters.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
parameters.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
parameters.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
parameters.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
parameters.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
return_types.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
return_types.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
return_types.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
return_types.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
return_types.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
return_types.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
sampler.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
sampler.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
sampler.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
sampler.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
sampler.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
sampler.wgsl.expected.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
struct_members.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
struct_members.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
struct_members.wgsl.expected.hlsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
struct_members.wgsl.expected.msl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
struct_members.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
struct_members.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00