Boris Brezillon <boris.brezil...@bootlin.com> writes: > On Fri, 09 Feb 2018 21:12:20 +0000 > Eric Anholt <e...@anholt.net> wrote: > >> Boris Brezillon <boris.brezil...@bootlin.com> writes: >> >> > From: Boris Brezillon <boris.brezil...@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. > > So I picked win.height=width=64 and I have a mismatch. According to > your formula I should have fep_valid_quads=1024, but I get 1040.
Huh, maybe we go past the guard band and get clipped into a quad? I guess just hardcode the value, then.
signature.asc
Description: PGP signature
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit