On 9 January 2014 15:43, Anuj Phogat <[email protected]> wrote: > +void > +piglit_init(int argc, char**argv) > +{ > + if (argc != 2) > + print_usage_and_exit(argv[0]); > + > + /* 1st arg: num_samples */ > + char *endptr = NULL; > + num_samples = strtol(argv[1], &endptr, 0); > + if (endptr != argv[1] + strlen(argv[1])) > + print_usage_and_exit(argv[0]); > + > + piglit_require_extension("GL_ARB_texture_multisample"); > + piglit_require_extension("GL_ARB_sample_shading"); > + piglit_require_GLSL_version(130); > + > + /* Skip the test if num_samples > GL_MAX_SAMPLES */ > + GLint max_samples; > + glGetIntegerv(GL_MAX_SAMPLES, &max_samples); > + if (num_samples == 0 || num_samples > max_samples) > + piglit_report_result(PIGLIT_SKIP); > + > + piglit_fbo_config msConfig(num_samples, piglit_width, > piglit_height); > + msConfig.attach_texture = true; > + multisampled_fbo.setup(msConfig); > + > + /* Reduced tolerence for stricter color matching */ > + piglit_set_tolerance_for_bits(16, 16, 16, 16); > + draw_prog_left = piglit_build_simple_program( > + "#version 130\n" > + "#extension GL_ARB_sample_shading: require\n" > + "in vec4 piglit_vertex;\n" > + "out vec2 test;\n" > + "void main() {\n" > + " gl_Position = piglit_vertex;\n" > + " test = piglit_vertex.xy;\n" > + "}\n", > + > + "#version 130\n" > + "#extension GL_ARB_sample_shading: require\n" > + "in vec2 test;\n" > + "void main() {\n" > + " gl_FragColor = vec4(abs(test), 0, 1);\n" > + "}\n"); > + > + draw_prog_right = piglit_build_simple_program( > + "#version 130\n" > + "uniform vec2 sample_pos;\n" > + "in vec4 piglit_vertex;\n" > + "out vec2 ref;\n" > + "void main() {\n" > + " gl_Position = piglit_vertex;\n" > + " ref = piglit_vertex.xy;\n" > + /* Add an offset to account for interplolation > + * at sample position. > + */ > + " ref += (sample_pos - 0.5) / 64;\n" >
As with the patch "Add test to verify 'centroid' qualifier is ignored in case of persample shading", it would be nice to have a comment here explaining the origin of the magic number 64 (it comes from the fact that pattern_width == pattern_height == 128, so the scaling factor between normalized device coordinates and pixels is 128/2 == 64). With that fixed, and with the Fbo and FboConfig renames you mentioned in your follow-up email, this patch is: Reviewed-by: Paul Berry <[email protected]> Sorry for the slow review!
_______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
