intel: Emit 3DSTATE_VF_STATISTICS dynamically
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 12 Apr 2019 18:55:38 +0000 (11:55 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 15 Apr 2019 02:58:04 +0000 (19:58 -0700)
commit8bf9b7b5b6e28aad7c0635fab7aa611f86be8d79
treefd17b60da6dff3337848b751b4c9ced3663a2cfe
parent47709ca1465162160dacf2fdb8645b7afb58dcd9
intel: Emit 3DSTATE_VF_STATISTICS dynamically

Pipeline statistics queries should not count BLORP's rectangles.

    (23) How do operations like Clear, TexSubImage, etc. affect the
         results of the newly introduced queries?

      DISCUSSION: Implementations might require "helper" rendering
      commands be issued to implement certain operations like Clear,
      TexSubImage, etc.

      RESOLVED: They don't. Only application submitted rendering
      commands should have an effect on the results of the queries.

Piglit's arb_pipeline_statistics_query-vert_adj exposes this bug when
the driver is hacked to always perform glBufferData via a GPU staging
copy (for debugging purposes).

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/gallium/drivers/iris/iris_context.h
src/gallium/drivers/iris/iris_state.c
src/intel/blorp/blorp_genX_exec.h
src/intel/vulkan/genX_blorp_exec.c
src/mesa/drivers/dri/i965/brw_misc_state.c
src/mesa/drivers/dri/i965/genX_state_upload.c