Hi everybody, u_gen_mipmap doesn't disable queries, so all active queries are incremented, even though mipmap generation shouldn't have any effect on queries. Hardware drivers can disable queries, but this feature is not exposed via the gallium interface. Generally, we want to disable all queries except for the time_elapsed query for u_gen_mipmap. I propose the following solutions to this problem:
1) Add pipe_context::pause_all_queries(pipe) and resume_all_queries(pipe). It's self-explanatory. 2) Add pipe_context::pause_query(pipe, query) and resume_query(pipe, query). This has the disadvantage of having to enumerate all active queries in u_gen_mipmap. 3) Add pipe_rasterizer_state::disable_all_queries:1, or separate bits disable_occlusion_queries:1 and disable_streamout_queries:1 (this includes the primitives_generated query too). 4) Rewrite u_gen_mipmap to use pipe->blit. Please comment. Thanks. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev