mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-13 07:06:11 +00:00
HLSL: workaround FXC sometimes failing with 'not all control paths return a result' in functions with discard
To fix this, we trick the compiler by wrapping the function body with an
if (true) { <function body> } followed by returning an unused value of
the return type.
Bug: tint:1081
Change-Id: I763bf768f40d07a1045f0a70017bb40d488c8428
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/68822
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
This commit is contained in:
committed by
Tint LUCI CQ
parent
bb1a9930c1
commit
8bc1a3045d
@@ -2166,6 +2166,7 @@ bool Resolver::Statement(const ast::Statement* stmt) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
current_function_->SetHasDiscard();
|
||||
return true;
|
||||
}
|
||||
if (stmt->Is<ast::FallthroughStatement>()) {
|
||||
|
||||
Reference in New Issue
Block a user