diff options
author | Scott D Phillips <[email protected]> | 2018-03-14 10:31:16 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2018-06-01 14:27:10 -0700 |
commit | c7db0ed4e94dce563d722e1b098684fbd7315d51 (patch) | |
tree | 86eae79661d59b30f4a445a9bf1ec1d6dd38405d /src/intel/vulkan/anv_allocator.c | |
parent | e662bdb82084a9e8136aea1da10423786e103beb (diff) |
anv: Use a separate pool for binding tables when soft pinning
Soft pinning lets us satisfy the binding table address
requirements without using both sides of a growing state_pool.
If you do use both sides of a state pool, then you need to read
the state pool's center_bo_offset (with the device mutex held) to
know the final offset of relocations that target the state pool
bo.
By having a separate pool for binding tables that only grows in
the forward direction, the center_bo_offset is always 0 and
relocations don't need an update pass to adjust relocations with
the mutex held.
v2: - don't introduce a separate state flag for separate binding tables (Jason)
- replace bo and map accessors with a single binding_table_pool accessor (Jason)
v3: - assert bt_block->offset >= 0 for the separate binding table (Jason)
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_allocator.c')
0 files changed, 0 insertions, 0 deletions