mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-10 14:08:04 +00:00
Reland "HLSL: force FXC to never unroll loops"
Now that I've landed this change to Dawn to disable FXC optimizations: https://dawn-review.googlesource.com/c/dawn/+/70700,, we can reland this change. The Tint-into-Dawn roll was failing because FXC would miscompile certain loops into infinite loops when not unrolled. Also reland test/bug/fxc/gradient_in_varying_loop/1112.wgsl.expected.hlsl Bug: tint:1112 Bug: dawn:1203 Change-Id: I641d68864b833e0fbe3b117d397b89ae96482536 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/71000 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
91785d277b
commit
e2528e9297
@@ -21,7 +21,7 @@ static bool2 v2b = bool2(false, false);
|
||||
|
||||
void foo() {
|
||||
{
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
set_float2(v2f, i, 1.0f);
|
||||
set_int3(v3i, i, 1);
|
||||
set_uint4(v4u, i, 1u);
|
||||
@@ -33,7 +33,7 @@ void foo() {
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
{
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ void foo() {
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
{
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ void main() {
|
||||
bool3 v3b = bool3(false, false, false);
|
||||
bool4 v4b = bool4(false, false, false, false);
|
||||
{
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
set_float2(v2f, i, 1.0f);
|
||||
set_float3(v3f, i, 1.0f);
|
||||
set_float4(v4f, i, 1.0f);
|
||||
|
||||
@@ -25,7 +25,7 @@ void main() {
|
||||
bool2 v2b = bool2(false, false);
|
||||
bool2 v2b_2 = bool2(false, false);
|
||||
{
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
set_float2(v2f, i, 1.0f);
|
||||
set_int3(v3i, i, 1);
|
||||
set_uint4(v4u, i, 1u);
|
||||
|
||||
@@ -61,7 +61,7 @@ void main() {
|
||||
bool3 v3b = bool3(false, false, false);
|
||||
bool4 v4b = bool4(false, false, false, false);
|
||||
{
|
||||
for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
|
||||
set_float2(v2f, i, 1.0f);
|
||||
set_int2(v2i, i, 1);
|
||||
set_uint2(v2u, i, 1u);
|
||||
|
||||
Reference in New Issue
Block a user