anv/batch: Move last_ss_pool_bo_offset to the command buffer
The original reason for putting it in the batch_bo was to allow primaries to share it across secondaries or something like that. However, the relocation lists in secondary command buffers are are always left alone and copied into the primary command buffer's relocation list. This means that the offset really applies at the command buffer level and putting it in the batch_bo doesn't make sense. This fixes a couple of potential bugs around re-submission of command buffers that are not likely to be hit but are bugs none the less. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Cc: "13.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
@@ -641,9 +641,6 @@ struct anv_batch_bo {
|
||||
/* Bytes actually consumed in this batch BO */
|
||||
size_t length;
|
||||
|
||||
/* Last seen surface state block pool bo offset */
|
||||
uint32_t last_ss_pool_bo_offset;
|
||||
|
||||
struct anv_reloc_list relocs;
|
||||
};
|
||||
|
||||
@@ -1188,7 +1185,10 @@ struct anv_cmd_buffer {
|
||||
*/
|
||||
struct u_vector bt_blocks;
|
||||
uint32_t bt_next;
|
||||
|
||||
struct anv_reloc_list surface_relocs;
|
||||
/** Last seen surface state block pool center bo offset */
|
||||
uint32_t last_ss_pool_center;
|
||||
|
||||
struct anv_execbuf execbuf2;
|
||||
|
||||
|
Reference in New Issue
Block a user