URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=36a916f3f4d0e65b59376cb1d4da0e22c9e0eadd
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 15:20:15 2023 -0500
zink: use tc renderpass optimizing to more optimally start queries
if tc has determined that no queries are ended inside a renderpass,
it becomes possible to start queries outside of a renderpass, which
is more performant on some hw
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c96e989755029a21b78f9e9aaa00c7a3d267172
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 15:19:33 2023 -0500
zink: always start/stop/resume queries inside renderpasses
this avoids potentially splitting renderpasses by ensuring that
all (non-cs) query operations always occur inside renderpasses
zink_query_update_gs_states() now has to be called inside renderpass
to catch the active queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbbc7c98c4708cad2e843fb558e8ad02430905a7
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 17:44:15 2023 -0500
zink: pull 'was_line_loop' into ctx for query updating
make this a bit more flexible
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5492e927e7fe0fd4fcf6b8a0ddcc3227e1c88d0a
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 16:05:15 2023 -0500
zink: use more consistent check for deleting zink_query::stats_list links
the linkage of this may vary depending on the query's active state,
so avoid issues by just checking the linkage directly
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4deaf7b2cb6e37f6b76765597f8fc2d3b0c9fa1
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 15:18:01 2023 -0500
zink: break out query suspend functionality for reuse
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=53c9f60ce42b398f0f6f094ae523dbf88527d845
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 15:17:16 2023 -0500
zink: track whether queries were started in a renderpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5d517f36228c0788be58b00bdf23aa02f4dcf0c
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 13:03:47 2023 -0500
zink: rework query pool overflow
now when a query pool is full, a new query pool can be created and the
previous one can be dropped from reuse to be freed at a later time
this has the added benefit of avoiding yet another place where a renderpass
might get split
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7da78ffb697bfea5c20b31dca635971d00d27b3c
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:59:46 2023 -0500
zink: create/use query pools dynamically
this fits the concept of "pools are shared between queries" a bit
better and leaves the pool ownership/destruction to their users
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e56d4f926422ce0d1770cd7075f876c45d4d529c
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:47:29 2023 -0500
zink: rework find_or_allocate_qp()
this and its caller are now a bit more streamlined with regards to
functionality of the surrounding code
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf782503e19d50acfd1f58c2f6f0b71d3d5fc80a
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:46:52 2023 -0500
zink: reorder some query code
no functional changes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8fdbf81ff028891efb3c84ca163a48375b27218a
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:28:42 2023 -0500
zink: try updating qbos on query resume if !in_rp
this is another logical place to do the update since it won't split
a renderpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=49deb9cbe74c2ecca947a0f3122c58d11dc1eafb
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 20:24:21 2023 -0500
zink: only update qbo for TIME_ELAPSED on start if !in_rp
this otherwise splits the current renderpass for no reason
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=93a7187f34ccc126933b91bbb35ad9fb5c03c31d
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 20:05:35 2023 -0500
zink: handle null query results for conditional render
this just needs to have a zero blasted into the buffer
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf60c7fbfacdf3a70fd420452258756eb8584f77
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 16:27:40 2023 -0500
zink: handle null query results
it's possible that a query may have no results at all, so shortcut
everything and return zero as fast as possible for those cases
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6bcf4721dc06ad5e0a09105dfce64e418220be55
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:28:09 2023 -0500
zink: only try doing qbo updates on query suspend if !in_rp
this otherwise creates infinite recursion trying to end a currently
ending renderpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2440c98b3bccba403442c5b752bc9ccf0d5d9270
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 10:49:37 2023 -0500
zink: refuse to start cs invocation queries in renderpass
these can't produce data in renderpasses, so ensure they aren't accidentally
started inside a renderpass where they'll have to later be restarted outside
of one
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=74a65363ea05ff8541c0512ca08141839a3f02d2
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:13:05 2023 -0500
zink: don't double suspend queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d0c3d3fb125a4acd3732e0b6f205118e1410576
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 12:01:22 2023 -0500
zink: un-suspend queries if they end while suspended
ensure they don't accidentally resume themselves after suspend
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=34e2d2ec5896d67bed87c8d20b5277288a344ce3
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 10:44:16 2023 -0500
zink: add zink_query::suspended to indicate suspended state of queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=74af46230cfb47db2882b89df308b5bcae180314
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 10:42:36 2023 -0500
zink: don't auto-sync qbos on query end
these can now be synced later all at once
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c870c7c942c2ed8cfa411f20c3fbd7b1d948d193
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 09:52:07 2023 -0500
zink: handle multiple query starts in qbo update
this still isn't used due to how queries are started/stopped, but it should
be a bit more robust
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d60c864c454aba9e9d9bbfc98dae6cbae798c0d4
Author: Mike Blumenkrantz <[email protected]>
Date: Tue Feb 21 16:59:26 2023 -0500
zink: delete zink_query::last_start_idx
this was always zero
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c46d68235e5d99cbea4ff633f19c0312f292e4f9
Author: Mike Blumenkrantz <[email protected]>
Date: Tue Feb 21 16:24:41 2023 -0500
zink: make zink_vk_query unref consistent
the no-check free seems suspicious
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb5e0f5ab56531ba54955e544f3b2f821ab88879
Author: Mike Blumenkrantz <[email protected]>
Date: Fri Feb 24 07:49:29 2023 -0500
zink: fix possible query destroy leak
if the starts array has been reset, then the counter will be inaccurate,
and some of the members will leak, so this needs to iterate over the
capacity
of the array instead of the contents
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=10389698a09651d4e48a3b9cc494cfc450113a65
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 13:13:27 2023 -0500
zink: fix zink_query_start initialization
not sure if this was a bug, but it would have fully zeroed the struct
and prevented previous zink_vk_query members from being unrefed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a938c3e22801fdd2ae70bcaafd0d70e8bce163a
Author: Mike Blumenkrantz <[email protected]>
Date: Wed Feb 22 13:12:34 2023 -0500
zink: rewrite zink_query_start struct
making the non-pool members easier to zero
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed9909e3a0d52f666c8bca368b94162929b72928
Author: Mike Blumenkrantz <[email protected]>
Date: Tue Feb 21 16:11:45 2023 -0500
zink: reset queries on the promoted cmdbuf when possible
this avoids splitting renderpasses just to reset queries
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=96f7fe71913707886cd779e9b35f6067a32b55e5
Author: Mike Blumenkrantz <[email protected]>
Date: Thu Feb 23 08:20:08 2023 -0500
zink: remove suspended queries from list before resuming
this avoids double-starting primgen queries from recursion when
needs_rast_discard_workaround is true
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f539975746a87a300d4d4bd8260e94f94c9ba97
Author: Mike Blumenkrantz <[email protected]>
Date: Tue Feb 21 15:14:41 2023 -0500
zink: move zink_batch_no_rp call for query reset
this could otherwise pointlessly terminate a renderpass
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21534>