mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-26 13:20:37 +02:00
venus: only request ring thread prio for TLS ring
Mainly to leave main ring thread prio to default. Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30279>
This commit is contained in:
parent
cc82f80dcb
commit
bb7632128b
4 changed files with 9 additions and 5 deletions
|
|
@ -333,7 +333,8 @@ vn_tls_get_ring(struct vn_instance *instance)
|
|||
struct vn_ring_layout layout;
|
||||
vn_ring_get_layout(buf_size, extra_size, &layout);
|
||||
|
||||
tls_ring->ring = vn_ring_create(instance, &layout, direct_order);
|
||||
tls_ring->ring =
|
||||
vn_ring_create(instance, &layout, direct_order, true /* is_tls_ring */);
|
||||
if (!tls_ring->ring) {
|
||||
free(tls_ring);
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -139,7 +139,8 @@ vn_instance_init_ring(struct vn_instance *instance)
|
|||
struct vn_ring_layout layout;
|
||||
vn_ring_get_layout(buf_size, extra_size, &layout);
|
||||
|
||||
instance->ring.ring = vn_ring_create(instance, &layout, direct_order);
|
||||
instance->ring.ring = vn_ring_create(instance, &layout, direct_order,
|
||||
false /* is_tls_ring */);
|
||||
if (!instance->ring.ring)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
|
||||
|
|
|
|||
|
|
@ -270,7 +270,8 @@ vn_ring_get_layout(size_t buf_size,
|
|||
struct vn_ring *
|
||||
vn_ring_create(struct vn_instance *instance,
|
||||
const struct vn_ring_layout *layout,
|
||||
uint8_t direct_order)
|
||||
uint8_t direct_order,
|
||||
bool is_tls_ring)
|
||||
{
|
||||
VN_TRACE_FUNC();
|
||||
|
||||
|
|
@ -327,7 +328,7 @@ vn_ring_create(struct vn_instance *instance,
|
|||
if (instance->renderer->info.vk_mesa_venus_protocol_spec_version >= 2) {
|
||||
errno = 0;
|
||||
prio = getpriority(PRIO_PROCESS, 0);
|
||||
ring_priority = !(prio == -1 && errno);
|
||||
ring_priority = is_tls_ring && !(prio == -1 && errno);
|
||||
}
|
||||
const struct VkRingPriorityInfoMESA priority_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_RING_PRIORITY_INFO_MESA,
|
||||
|
|
|
|||
|
|
@ -47,7 +47,8 @@ vn_ring_get_layout(size_t buf_size,
|
|||
struct vn_ring *
|
||||
vn_ring_create(struct vn_instance *instance,
|
||||
const struct vn_ring_layout *layout,
|
||||
uint8_t direct_order);
|
||||
uint8_t direct_order,
|
||||
bool is_tls_ring);
|
||||
|
||||
void
|
||||
vn_ring_destroy(struct vn_ring *ring);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue