writer/hlsl: Simplify emission logic, clean up output
And fix issues where global variables would not be emitted unless they were transitively referenced by an entry point.
This change requires crbug.com/tint/697 to be fixed before landing.
Change-Id: I712bd9d369e08c9a3cdfb0f114c3609584f91f28
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54241
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/test/intrinsics/gen/sinh/445e33.wgsl.expected.hlsl b/test/intrinsics/gen/sinh/445e33.wgsl.expected.hlsl
index f274918..1d1fab6 100644
--- a/test/intrinsics/gen/sinh/445e33.wgsl.expected.hlsl
+++ b/test/intrinsics/gen/sinh/445e33.wgsl.expected.hlsl
@@ -1,11 +1,11 @@
-struct tint_symbol {
- float4 value : SV_Position;
-};
-
void sinh_445e33() {
float4 res = sinh(float4(0.0f, 0.0f, 0.0f, 0.0f));
}
+struct tint_symbol {
+ float4 value : SV_Position;
+};
+
tint_symbol vertex_main() {
sinh_445e33();
const tint_symbol tint_symbol_1 = {float4(0.0f, 0.0f, 0.0f, 0.0f)};
@@ -22,4 +22,3 @@
sinh_445e33();
return;
}
-