[Piglit] [PATCH] AMD_performance_monitor: add VC4 specific tests

Eric Anholt eric at anholt.net
Fri Feb 9 21:12:20 UTC 2018


Boris Brezillon <boris.brezillon at bootlin.com> writes:

> From: Boris Brezillon <boris.brezillon at free-electrons.com>
>
> This adds a specific test for the VC4 GPU.
> Right now, it only checks that FEP-valid-quads and
> QPU-total-clk-cycles-waiting-TMU are consistent after executing well
> know operations (draw a rectangle or a texture).
>
> More tests will be added over time.

I'd still like to put together some tests of state management (to catch
things like the flushing bugs we had in the first revs), but this seems
like a good start.

> +#define FEP_VALID_QUADS_REF_VAL		6440
> +
> +static void draw_rect(const struct perfmon_test *test)
> +{
> +	piglit_draw_rect(-1, -1, 3, 3);
> +}
> +
> +static void draw_tex(const struct perfmon_test *test)
> +{
> +	GLuint tex;
> +
> +	tex = piglit_rgbw_texture(GL_RGBA, 64, 64, false, true,
> +				  GL_UNSIGNED_BYTE);
> +	verify(piglit_check_gl_error(GL_NO_ERROR));
> +
> +	glEnable(GL_TEXTURE_2D);
> +	glBindTexture(GL_TEXTURE_2D, tex);
> +	piglit_draw_rect_tex(-1, -1, 2, 2, 0, 0, 1, 1);
> +	glDisable(GL_TEXTURE_2D);
> +	glDeleteTextures(1, &tex);
> +}
> +
> +static bool fep_valid_quads_check_res(uint64_t res)
> +{
> +	return res == FEP_VALID_QUADS_REF_VAL;

We should probably have the number of valid quads either be some math
based on the config.window_width/height, or explicitly set the
window_width/height so it's not dependent on whatever defaults the
framework chooses.

The valid quads is a pretty magic value because we're drawing this:

+---+
|  /|
| / |
|/  |
+---+

so some of the 2x2 quads get drawn twice along the middle edge between
the tris.  If we drew the triangle outside of the window:

+---+---+
|   |  /
|   | /
|   |/
+---/
|  /
| /
|/
+

with piglit_draw_rect(-1, -2, 4, 4), then I don't think any of the quads
would be drawn twice, and the magic REF_VAL would become
align(window_width, 2) * align(window_height, 2) / 4.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20180209/df288ed0/attachment.sig>


More information about the Piglit mailing list