using namespace aco;
BEGIN_TEST(d3d11_derivs.simple)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.constant)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in float in_coord;
layout(location = 0) out float out_coord;
out_color = texture(tex, vec2(in_coord, -0.5));
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.discard)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.bias)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = texture(tex, in_coord, gl_FragCoord.x);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.offset)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = textureOffset(tex, in_coord, ivec2(1, 2));
}
);
+ // clang-format on
/* Use GFX9 because we should have at least one test which doesn't use NSA. */
PipelineBuilder pbld(get_vk_device(GFX9));
END_TEST
BEGIN_TEST(d3d11_derivs.array)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec3 in_coord;
layout(location = 0) out vec3 out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.bias_array)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec3 in_coord;
layout(location = 0) out vec3 out_coord;
out_color = texture(tex, in_coord, gl_FragCoord.x);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
pbld.print_ir(VK_SHADER_STAGE_FRAGMENT_BIT, "Assembly");
END_TEST
-BEGIN_TEST(d3d11_derivs.1d_gfx9)
+BEGIN_TEST(d3d11_derivs._1d_gfx9)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in float in_coord;
layout(location = 0) out float out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX9));
pbld.add_vsfs(vs, fs);
pbld.print_ir(VK_SHADER_STAGE_FRAGMENT_BIT, "Assembly");
END_TEST
-BEGIN_TEST(d3d11_derivs.1d_array_gfx9)
+BEGIN_TEST(d3d11_derivs._1d_array_gfx9)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX9));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.cube)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec3 in_coord;
layout(location = 0) out vec3 out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.cube_array)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec4 in_coord;
layout(location = 0) out vec4 out_coord;
out_color = texture(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.fddxy)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = vec4(dFdxFine(in_coord.x), dFdyCoarse(in_coord.y), textureLod(tex, vec2(0.5), 0.0).xy);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
/* Ensure the BC optimize transform is done after ac_nir_lower_tex. */
BEGIN_TEST(d3d11_derivs.bc_optimize)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = texture(tex, vec2(in_coord.x, interpolateAtCentroid(in_coord.y)));
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);
END_TEST
BEGIN_TEST(d3d11_derivs.get_lod)
+ // clang-format off
QoShaderModuleCreateInfo vs = qoShaderModuleCreateInfoGLSL(VERTEX,
layout(location = 0) in vec2 in_coord;
layout(location = 0) out vec2 out_coord;
out_color = textureQueryLod(tex, in_coord);
}
);
+ // clang-format on
PipelineBuilder pbld(get_vk_device(GFX10_3));
pbld.add_vsfs(vs, fs);