[Piglit] [PATCH 19/20] msaa: Make a static identity matrix for convenience.
Paul Berry
stereotype441 at gmail.com
Tue Jun 5 17:03:29 PDT 2012
This patch adds a constant matrix TestPattern::no_projection (which is
the identity matrix), for use by tests that don't need to pass a
projection matrix when calling TestPattern::draw().
---
tests/spec/ext_framebuffer_multisample/common.cpp | 9 +++++++++
tests/spec/ext_framebuffer_multisample/common.h | 5 +++++
.../multisample-blit.cpp | 8 +-------
.../ext_framebuffer_multisample/unaligned-blit.cpp | 8 +-------
4 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/tests/spec/ext_framebuffer_multisample/common.cpp b/tests/spec/ext_framebuffer_multisample/common.cpp
index bbd4d8f..982d991 100644
--- a/tests/spec/ext_framebuffer_multisample/common.cpp
+++ b/tests/spec/ext_framebuffer_multisample/common.cpp
@@ -570,6 +570,15 @@ ManifestDepth::run()
glDisable(GL_DEPTH_TEST);
}
+
+const float TestPattern::no_projection[4][4] = {
+ { 1, 0, 0, 0 },
+ { 0, 1, 0, 0 },
+ { 0, 0, 1, 0 },
+ { 0, 0, 0, 1 }
+};
+
+
void Triangles::compile()
{
/* Triangle coords within (-1,-1) to (1,1) rect */
diff --git a/tests/spec/ext_framebuffer_multisample/common.h b/tests/spec/ext_framebuffer_multisample/common.h
index 659e1c8..07d892d 100644
--- a/tests/spec/ext_framebuffer_multisample/common.h
+++ b/tests/spec/ext_framebuffer_multisample/common.h
@@ -220,8 +220,13 @@ public:
* Draw the test pattern, applying the given projection matrix
* to vertex coordinates. The projection matrix is in
* row-major order.
+ *
+ * If no projection transformation is needed, pass
+ * TestPattern::no_projection for \c proj.
*/
virtual void draw(const float (*proj)[4]) = 0;
+
+ static const float no_projection[4][4];
};
/**
diff --git a/tests/spec/ext_framebuffer_multisample/multisample-blit.cpp b/tests/spec/ext_framebuffer_multisample/multisample-blit.cpp
index d8380f4..33a019a 100644
--- a/tests/spec/ext_framebuffer_multisample/multisample-blit.cpp
+++ b/tests/spec/ext_framebuffer_multisample/multisample-blit.cpp
@@ -110,15 +110,9 @@ piglit_display()
bool pass = true;
/* Draw the test pattern in src_fbo. */
- float proj[4][4] = {
- { 1, 0, 0, 0 },
- { 0, 1, 0, 0 },
- { 0, 0, 1, 0 },
- { 0, 0, 0, 1 }
- };
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, src_fbo.handle);
src_fbo.set_viewport();
- test_pattern->draw(proj);
+ test_pattern->draw(TestPattern::no_projection);
/* Blit from src_fbo to dst_fbo. */
glBindFramebuffer(GL_READ_FRAMEBUFFER, src_fbo.handle);
diff --git a/tests/spec/ext_framebuffer_multisample/unaligned-blit.cpp b/tests/spec/ext_framebuffer_multisample/unaligned-blit.cpp
index ae6eac4..4a1c3f9 100644
--- a/tests/spec/ext_framebuffer_multisample/unaligned-blit.cpp
+++ b/tests/spec/ext_framebuffer_multisample/unaligned-blit.cpp
@@ -168,15 +168,9 @@ piglit_display()
bool pass = true;
/* Draw the test pattern in src_fbo. */
- float proj[4][4] = {
- { 1, 0, 0, 0 },
- { 0, 1, 0, 0 },
- { 0, 0, 1, 0 },
- { 0, 0, 0, 1 }
- };
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, src_fbo.handle);
src_fbo.set_viewport();
- test_pattern->draw(proj);
+ test_pattern->draw(TestPattern::no_projection);
/* Blit from src_fbo to dst_fbo, scrambling the pattern as we go. */
glBindFramebuffer(GL_READ_FRAMEBUFFER, src_fbo.handle);
--
1.7.7.6
More information about the Piglit
mailing list