using namespace r600;
using std::ostringstream;
-class TestShaderFromNir : public TestShader {
-
-protected:
- void check(Shader *s, const char *expect_str);
- void ra_check(Shader *s, const char *expect_str);
-};
-
TEST_F(TestShaderFromNir, SimpleDCE)
{
auto sh = from_string(red_triangle_fs_expect_from_nir);
check(sh, expect);
};
-
TEST_F(TestShaderFromNir, OptimizeIntoGroup)
{
const char *input =
optimize(*sh);
check(sh, expect);
};
-
-
-void
-TestShaderFromNir::check(Shader *s, const char *expect_orig)
-{
- ostringstream test_str;
- s->print(test_str);
-
- auto expect = from_string(expect_orig);
-
- ostringstream expect_str;
- expect->print(expect_str);
-
- EXPECT_EQ(test_str.str(), expect_str.str());
-}
-
-void
-TestShaderFromNir::ra_check(Shader *s, const char *expect_orig)
-{
- s->value_factory().clear_pins();
- ostringstream test_str;
- s->print(test_str);
-
- auto expect = from_string(expect_orig);
- expect->value_factory().clear_pins();
-
- ostringstream expect_str;
- expect->print(expect_str);
-
- EXPECT_EQ(test_str.str(), expect_str.str());
-}
-
namespace r600 {
using std::istringstream;
+using std::ostringstream;
using std::string;
+void
+TestShaderFromNir::check(Shader *s, const char *expect_orig)
+{
+ ostringstream test_str;
+ s->print(test_str);
+
+ auto expect = from_string(expect_orig);
+
+ ostringstream expect_str;
+ expect->print(expect_str);
+
+ EXPECT_EQ(test_str.str(), expect_str.str());
+}
+
+void
+TestShaderFromNir::ra_check(Shader *s, const char *expect_orig)
+{
+ s->value_factory().clear_pins();
+ ostringstream test_str;
+ s->print(test_str);
+
+ auto expect = from_string(expect_orig);
+ expect->value_factory().clear_pins();
+
+ ostringstream expect_str;
+ expect->print(expect_str);
+
+ EXPECT_EQ(test_str.str(), expect_str.str());
+}
+
const char *red_triangle_fs_nir =
R"(shader: MESA_SHADER_FRAGMENT
name: TTN
#define SFN_TEST_SHADERS_H
#include <gtest/gtest.h>
-namespace r600 {
+#include "../sfn_shader.h"
-class Shader;
+namespace r600 {
extern const char *red_triangle_fs_nir;
extern const char *red_triangle_fs_expect_from_nir;
Shader *from_string(const std::string& s);
};
+class TestShaderFromNir : public TestShader {
+
+protected:
+ void check(Shader *s, const char *expect_str);
+ void ra_check(Shader *s, const char *expect_str);
+};
+
} // namespace r600
#endif // SFN_TEST_SHADERS_H