radv: enable VK_EXT_global_priority

Submitted by Andres Rodriguez on Oct. 20, 2017, 8:34 p.m.

Details

Reviewer None
Submitted Oct. 20, 2017, 8:34 p.m.
Last Updated Oct. 20, 2017, 10:02 p.m.
Revision 2

Cover Letter(s)

Revision 1
      This series enables VK_EXT_global_priority for radv. This extension
is used to allocate queues that can provide latency guarantees even
when the system is overloaded.

This extension is used by the steamvr composer to generate reprojected
frames when the application falls behind.

A bit of dirtyness:
   - Depends on latest libdrm master, which needs a version bump
      -> accompanying libdrm requires for mesa configure as well

Andres Rodriguez (3):
  vulkan: update headers & registry to VK 1.0.63
  radv: hardcode shader WAVE_LIMIT to the maximum value
  radv: Implement VK_EXT_global_priority

 include/vulkan/vulkan.h                       |  35 +++-
 src/amd/vulkan/radv_device.c                  |  32 +++-
 src/amd/vulkan/radv_private.h                 |   1 +
 src/amd/vulkan/radv_radeon_winsys.h           |  11 +-
 src/amd/vulkan/si_cmd_buffer.c                |  27 ++-
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c |  26 ++-
 src/gallium/drivers/radeonsi/si_state.c       |  21 +-
 src/vulkan/registry/vk.xml                    | 264 ++++++++++++++++++--------
 8 files changed, 307 insertions(+), 110 deletions(-)
    
Revision 2
      Changes in v1:
  * Separate radeonsi and radv WAVE_LIMIT patches
  * Check kernel version and expose extension string
  * Include an optimization patch


This series enables VK_EXT_global_priority for radv. This extension
is used to allocate queues that can provide latency guarantees even
when the system is overloaded.

This extension is used by the steamvr composer to generate reprojected
frames when the application falls behind.

A bit of dirtyness:
   - Depends on latest libdrm master, which needs a version bump
      -> accompanying libdrm requires for mesa configure as well

Andres Rodriguez (6):
  vulkan: update headers & registry to VK 1.0.63
  radv: hardcode shader WAVE_LIMIT to the maximum value
  radeonsi: hardcode shader WAVE_LIMIT to the maximum value
  radv: Implement VK_EXT_global_priority
  radv: don't skip PS/VS partial flush
  radv: Expose VK_EXT_global_priority

 include/vulkan/vulkan.h                       |  35 +++-
 src/amd/common/ac_gpu_info.c                  |   1 +
 src/amd/common/ac_gpu_info.h                  |   1 +
 src/amd/vulkan/radv_device.c                  |  34 +++-
 src/amd/vulkan/radv_extensions.py             |   1 +
 src/amd/vulkan/radv_private.h                 |   1 +
 src/amd/vulkan/radv_radeon_winsys.h           |  11 +-
 src/amd/vulkan/si_cmd_buffer.c                |  41 ++--
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c |  26 ++-
 src/gallium/drivers/radeonsi/si_state.c       |  21 +-
 src/vulkan/registry/vk.xml                    | 264 ++++++++++++++++++--------
 11 files changed, 318 insertions(+), 118 deletions(-)
    

Revisions