[Piglit] [PATCH 07/17] ext_framebuffer_multisample: blit-mismatched also against RGBA16F/32F
Topi Pohjolainen
topi.pohjolainen at gmail.com
Tue Jul 18 19:16:32 UTC 2017
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
tests/all.py | 13 ++++++-----
.../blit-mismatched-formats.cpp | 27 +++++++++++++++-------
.../blit-mismatched-samples.cpp | 16 +++++++++++--
.../blit-mismatched-sizes.cpp | 17 ++++++++++++--
4 files changed, 55 insertions(+), 18 deletions(-)
diff --git a/tests/all.py b/tests/all.py
index 1411a87b5..7e45a81c3 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -2943,12 +2943,6 @@ with profile.test_list.group_manager(
with profile.test_list.group_manager(
PiglitGLTest,
grouptools.join('spec', 'ext_framebuffer_multisample')) as g:
- g(['ext_framebuffer_multisample-blit-mismatched-samples'],
- 'blit-mismatched-samples')
- g(['ext_framebuffer_multisample-blit-mismatched-sizes'],
- 'blit-mismatched-sizes')
- g(['ext_framebuffer_multisample-blit-mismatched-formats'],
- 'blit-mismatched-formats')
g(['ext_framebuffer_multisample-dlist'], 'dlist')
g(['ext_framebuffer_multisample-enable-flag'], 'enable-flag')
g(['ext_framebuffer_multisample-minmax'], 'minmax')
@@ -2972,6 +2966,13 @@ with profile.test_list.group_manager(
'alpha-blending slow_cc')
g(['ext_framebuffer_multisample-fast-clear'], 'fast-clear')
+ for test in ('blit-mismatched-formats', 'blit-mismatched-samples',
+ 'blit-mismatched-sizes'):
+ for fmt in ('GL_RGBA', 'GL_RGBA16F', 'GL_RGBA32F'):
+ g(['ext_framebuffer_multisample-{}'.format(test),
+ fmt],
+ '{} {}'.format(test, fmt))
+
for sample_count in MSAA_SAMPLE_COUNTS:
g(['ext_framebuffer_multisample-alpha-blending-after-rendering',
sample_count],
diff --git a/tests/spec/ext_framebuffer_multisample/blit-mismatched-formats.cpp b/tests/spec/ext_framebuffer_multisample/blit-mismatched-formats.cpp
index 3cfa5165d..30ed8f302 100644
--- a/tests/spec/ext_framebuffer_multisample/blit-mismatched-formats.cpp
+++ b/tests/spec/ext_framebuffer_multisample/blit-mismatched-formats.cpp
@@ -113,15 +113,14 @@ piglit_display()
GLfloat *expected_image;
GLuint i;
- FboConfig config_ms(GL_RGBA, 1, pattern_width, pattern_height);
-
- for(i = 0; i < ARRAY_SIZE(color_formats); i++) {
+ for (i = 0; i < ARRAY_SIZE(color_formats); i++) {
expected_image =
generate_expected_image(reference_image,
pattern_width, pattern_height,
color_formats[i].components);
- config_ms.color_internalformat = color_formats[i].name;
+ FboConfig config_ms(color_formats[i].name, 1,
+ pattern_width, pattern_height);
src_fbo.setup(config_ms);
if (!piglit_check_gl_error(GL_NO_ERROR)) {
@@ -198,12 +197,24 @@ piglit_display()
free(expected_image);
}
- return (pass ? PIGLIT_PASS : PIGLIT_FAIL);
+ return pass ? PIGLIT_PASS : PIGLIT_FAIL;
+}
+
+void
+print_usage_and_exit(char *prog_name)
+{
+ printf("Usage: %s <format>\n", prog_name);
+ piglit_report_result(PIGLIT_FAIL);
}
void
piglit_init(int argc, char **argv)
{
+ if (argc < 2)
+ print_usage_and_exit(argv[0]);
+
+ GLenum color_internal_format = piglit_get_gl_enum_from_name(argv[1]);
+
piglit_require_gl_version(21);
piglit_require_extension("GL_ARB_framebuffer_object");
piglit_require_extension("GL_ARB_vertex_array_object");
@@ -211,18 +222,18 @@ piglit_init(int argc, char **argv)
/* Passing sample count = 1 will create the FBOs with minimum supported
* sample count. Both FBOs are created with GL_RGBA format by default.
*/
- src_fbo.setup(FboConfig(GL_RGBA, 1 /* sample count */,
+ src_fbo.setup(FboConfig(color_internal_format, 1 /* sample count */,
pattern_width,
pattern_height));
- dst_fbo.setup(FboConfig(GL_RGBA, 1 /* sample count */,
+ dst_fbo.setup(FboConfig(color_internal_format, 1 /* sample count */,
pattern_width,
pattern_height));
/* Single-sampled FBO used so that we can call glReadPixels to
* examine the results.
*/
- ss_fbo.setup(FboConfig(GL_RGBA, 0 /* sample count */,
+ ss_fbo.setup(FboConfig(color_internal_format, 0 /* sample count */,
pattern_width,
pattern_height));
diff --git a/tests/spec/ext_framebuffer_multisample/blit-mismatched-samples.cpp b/tests/spec/ext_framebuffer_multisample/blit-mismatched-samples.cpp
index 09e82d60f..867c19bd9 100644
--- a/tests/spec/ext_framebuffer_multisample/blit-mismatched-samples.cpp
+++ b/tests/spec/ext_framebuffer_multisample/blit-mismatched-samples.cpp
@@ -70,9 +70,21 @@ piglit_display()
}
void
+print_usage_and_exit(char *prog_name)
+{
+ printf("Usage: %s <format>\n", prog_name);
+ piglit_report_result(PIGLIT_FAIL);
+}
+
+void
piglit_init(int argc, char **argv)
{
+ if (argc < 2)
+ print_usage_and_exit(argv[0]);
+
GLint samples, max_samples;
+ const GLenum color_internal_format =
+ piglit_get_gl_enum_from_name(argv[1]);
piglit_require_gl_version(21);
piglit_require_extension("GL_ARB_framebuffer_object");
@@ -82,7 +94,7 @@ piglit_init(int argc, char **argv)
* the next available sample count. So, this will create the FBO with
* minimum supported sample count.
*/
- src_fbo.setup(FboConfig(GL_RGBA, 1 /* sample count */,
+ src_fbo.setup(FboConfig(color_internal_format, 1 /* sample count */,
pattern_width,
pattern_height));
@@ -101,7 +113,7 @@ piglit_init(int argc, char **argv)
/* Creating FBO with (samples + 1) ensures that we get a different
* value of sample count in dst_fbo.
*/
- dst_fbo.setup(FboConfig(GL_RGBA, samples + 1,
+ dst_fbo.setup(FboConfig(color_internal_format, samples + 1,
pattern_width, pattern_height));
if (!piglit_check_gl_error(GL_NO_ERROR)) {
diff --git a/tests/spec/ext_framebuffer_multisample/blit-mismatched-sizes.cpp b/tests/spec/ext_framebuffer_multisample/blit-mismatched-sizes.cpp
index a60934393..12179e119 100644
--- a/tests/spec/ext_framebuffer_multisample/blit-mismatched-sizes.cpp
+++ b/tests/spec/ext_framebuffer_multisample/blit-mismatched-sizes.cpp
@@ -72,8 +72,21 @@ piglit_display()
}
void
+print_usage_and_exit(char *prog_name)
+{
+ printf("Usage: %s <format>\n", prog_name);
+ piglit_report_result(PIGLIT_FAIL);
+}
+
+void
piglit_init(int argc, char **argv)
{
+ if (argc < 2)
+ print_usage_and_exit(argv[0]);
+
+ const GLenum color_internal_format =
+ piglit_get_gl_enum_from_name(argv[1]);
+
piglit_require_gl_version(21);
piglit_require_extension("GL_ARB_framebuffer_object");
piglit_require_extension("GL_ARB_vertex_array_object");
@@ -81,11 +94,11 @@ piglit_init(int argc, char **argv)
/* Passing sample count = 1 will create the FBOs with minimum supported
* sample count.
*/
- src_fbo.setup(FboConfig(GL_RGBA, 1 /* sample count */,
+ src_fbo.setup(FboConfig(color_internal_format, 1 /* sample count */,
pattern_width,
pattern_height));
- dst_fbo.setup(FboConfig(GL_RGBA, 1 /* sample count */,
+ dst_fbo.setup(FboConfig(color_internal_format, 1 /* sample count */,
pattern_width,
pattern_height));
--
2.11.0
More information about the Piglit
mailing list