Revert "HLSL: force FXC to never unroll loops"

This reverts commit 11d09f2fe7.

Reason for revert: Failing roll of Tint to Dawn: https://dawn-review.googlesource.com/c/dawn/+/70100

Original change's description:
> HLSL: force FXC to never unroll loops
>
> Emit the "[loop]" attribute on "for" and "while" so that FXC does not
> attempt to unroll them. This is to work around an FXC bug where it fails
> to unroll loops with gradient operations.
>
> FXC ostensibly unrolls such loops because gradient operations require
> uniform control flow, and loops that have varying iterations may
> possibly not be uniform. Tint will eventually validate that control flow
> is indeed uniform, so forcing FXC to avoid unrolling in these cases
> should be fine.
>
> Bug: tint:1112
> Change-Id: I10077f8b62fbbb230a0003f3864c75a8fe0e1d18
> Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/69880
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Reviewed-by: Ben Clayton <bclayton@google.com>
> Commit-Queue: Antonio Maiorano <amaiorano@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: tint:1112
Change-Id: I8e8f3c0abfa6e6bc5d0e67af9428a46ef867d5c1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/70540
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
This commit is contained in:
Antonio Maiorano
2021-11-22 19:31:56 +00:00
committed by Tint LUCI CQ
parent 7368e287dc
commit bc5d8f6bcf
49 changed files with 110 additions and 117 deletions

View File

@@ -21,7 +21,7 @@ static bool2 v2b = bool2(false, false);
void foo() {
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
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() {
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
for(int i = 0; (i < 2); i = (i + 1)) {
foo();
}
}

View File

@@ -30,7 +30,7 @@ void foo() {
[numthreads(1, 1, 1)]
void main() {
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
for(int i = 0; (i < 2); i = (i + 1)) {
foo();
}
}

View File

@@ -61,7 +61,7 @@ void main() {
bool3 v3b = bool3(false, false, false);
bool4 v4b = bool4(false, false, false, false);
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
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);

View File

@@ -25,7 +25,7 @@ void main() {
bool2 v2b = bool2(false, false);
bool2 v2b_2 = bool2(false, false);
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
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);

View File

@@ -61,7 +61,7 @@ void main() {
bool3 v3b = bool3(false, false, false);
bool4 v4b = bool4(false, false, false, false);
{
[loop] for(int i = 0; (i < 2); i = (i + 1)) {
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);