diff options
author | Dave Airlie <airlied@redhat.com> | 2021-04-06 07:41:58 +1000 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-04-07 19:56:17 +0000 |
commit | 7b79db11c2eadb4913de97d6413386b83d6ae390 (patch) | |
tree | 632ca2c52ad811ecf9914aad6bb4480c0064133b | |
parent | 34525bb088da43b3ec492ca0f439064ee077a167 (diff) |
lavapipe: enable correct workgroup sizing
If I say layering violation, you say?
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9645>
-rw-r--r-- | src/gallium/frontends/lavapipe/lvp_device.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 70d75ad3c89..4fc52eda644 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -757,6 +757,7 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties(VkPhysicalDevice phys } +extern unsigned lp_native_vector_width; static void lvp_get_physical_device_properties_1_1(struct lvp_physical_device *pdevice, VkPhysicalDeviceVulkan11Properties *p) @@ -770,7 +771,7 @@ lvp_get_physical_device_properties_1_1(struct lvp_physical_device *pdevice, p->deviceLUIDValid = false; p->deviceNodeMask = 0; - p->subgroupSize = 8; + p->subgroupSize = lp_native_vector_width / 32; p->subgroupSupportedStages = VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT; p->subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT | VK_SUBGROUP_FEATURE_VOTE_BIT | VK_SUBGROUP_FEATURE_ARITHMETIC_BIT | VK_SUBGROUP_FEATURE_BALLOT_BIT; p->subgroupQuadOperationsInAllStages = false; |