From 4ab65cdaa4c9ea5c06a0583405a839e6583c48a8 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Wed, 22 Oct 2025 09:23:34 +0200 Subject: [PATCH] docs: update/fix vk spec urls Part-of: --- docs/_exts/formatting.py | 4 ++-- src/amd/vulkan/nir/radv_nir_rt_common.c | 2 +- src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c | 2 +- .../frontends/lavapipe/nir/lvp_nir_ray_tracing.c | 2 +- .../guest/vulkan_enc/AndroidHardwareBuffer.cpp | 2 +- src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp | 14 +++++++------- src/intel/vulkan/anv_formats.c | 2 +- src/intel/vulkan_hasvk/anv_formats.c | 2 +- src/microsoft/vulkan/dzn_device.c | 2 +- src/vulkan/runtime/vk_image.c | 4 ++-- src/vulkan/wsi/wsi_common_metal_layer.m | 2 +- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/_exts/formatting.py b/docs/_exts/formatting.py index 97787f502fb..7379609c3b4 100644 --- a/docs/_exts/formatting.py +++ b/docs/_exts/formatting.py @@ -24,7 +24,7 @@ def ext_role(name, rawtext, text, lineno, inliner, options={}, content=[]): parts = ext.split('_', 2) if parts[0] == 'VK': - full_url = f'https://registry.khronos.org/vulkan/specs/latest/man/html/{ext}.html' + full_url = f'https://docs.vulkan.org/refpages/latest/refpages/source/{ext}.html' elif parts[0] == 'GL': full_url = f'https://registry.khronos.org/OpenGL/extensions/{parts[1]}/{parts[1]}_{parts[2]}.txt' else: @@ -37,7 +37,7 @@ def vkfeat_role(name, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) has_explicit_title, title, ext = split_explicit_title(text) - full_url = f'https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#features-{ext}' + full_url = f'https://docs.vulkan.org/spec/latest/chapters/features.html#features-{ext}' pnode = nodes.reference(title, title, internal=False, refuri=full_url) return [pnode], [] diff --git a/src/amd/vulkan/nir/radv_nir_rt_common.c b/src/amd/vulkan/nir/radv_nir_rt_common.c index 077b9f155aa..d12e3fcf4e3 100644 --- a/src/amd/vulkan/nir/radv_nir_rt_common.c +++ b/src/amd/vulkan/nir/radv_nir_rt_common.c @@ -117,7 +117,7 @@ intersect_ray_amd_software_box(struct radv_device *device, nir_builder *b, nir_d /* If x of the aabb min is NaN, then this is an inactive aabb. * We don't need to care about any other components being NaN as that is UB. - * https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#acceleration-structure-inactive-prims + * https://docs.vulkan.org/spec/latest/chapters/accelstructures.html#acceleration-structure-inactive-prims */ nir_def *min_x = nir_channel(b, node_coords[0], 0); nir_def *min_x_is_not_nan = nir_inot(b, nir_fneu(b, min_x, min_x)); /* NaN != NaN -> true */ diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c index ec7a1bcba13..77fd4141553 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c @@ -2256,7 +2256,7 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, /* * We use the suggested anisotropic filtering algorithm from the Vulkan spec: - * https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#textures-texel-anisotropic-filtering + * https://docs.vulkan.org/spec/latest/chapters/textures.html#textures-texel-anisotropic-filtering * The coordinate offset expression is the same in all cases: -1/2 + i / (N + 1) * We can rewrite this expression as: (-N - 1) / (2N + 2) + 2i / (2N + 2) = * (-N - 1 + 2i) / (2N + 2) = (-0.5N - 0.5 + i) / (N + 1) diff --git a/src/gallium/frontends/lavapipe/nir/lvp_nir_ray_tracing.c b/src/gallium/frontends/lavapipe/nir/lvp_nir_ray_tracing.c index 2e4d36170fc..609a2608e3d 100644 --- a/src/gallium/frontends/lavapipe/nir/lvp_nir_ray_tracing.c +++ b/src/gallium/frontends/lavapipe/nir/lvp_nir_ray_tracing.c @@ -102,7 +102,7 @@ lvp_build_intersect_ray_box(nir_builder *b, nir_def **node_data, nir_def *ray_tm /* If x of the aabb min is NaN, then this is an inactive aabb. * We don't need to care about any other components being NaN as that is UB. - * https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#acceleration-structure-inactive-prims + * https://docs.vulkan.org/spec/latest/chapters/accelstructures.html#acceleration-structure-inactive-prims */ nir_def *min_x = nir_channel(b, node_coords[0], 0); nir_def *min_x_is_not_nan = diff --git a/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp b/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp index b77ea0bc884..8450fbe7dc5 100644 --- a/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp +++ b/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp @@ -190,7 +190,7 @@ VkResult getAndroidHardwareBufferPropertiesANDROID( // * V (CR) comes from the R-channel (after swizzle) // // See - // https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#textures-sampler-YCbCr-conversion + // https://docs.vulkan.org/spec/latest/chapters/textures.html#textures-sampler-YCbCr-conversion // // To match the above, the guest needs to swizzle such that: // diff --git a/src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp b/src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp index 4702897bc2b..72e591a5bdb 100644 --- a/src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp +++ b/src/gfxstream/guest/vulkan_enc/ResourceTracker.cpp @@ -1746,7 +1746,7 @@ VkResult ResourceTracker::on_vkEnumerateInstanceExtensionProperties( // Spec: // - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html + // https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateInstanceExtensionProperties.html // // If pProperties is NULL, then the number of extensions properties // available is returned in pPropertyCount. Otherwise, pPropertyCount @@ -2025,14 +2025,14 @@ VkResult ResourceTracker::on_vkEnumerateDeviceExtensionProperties( // Spec: // - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateDeviceExtensionProperties.html + // https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateDeviceExtensionProperties.html // // pPropertyCount is a pointer to an integer related to the number of // extension properties available or queried, and is treated in the // same fashion as the // vkEnumerateInstanceExtensionProperties::pPropertyCount parameter. // - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumerateInstanceExtensionProperties.html + // https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumerateInstanceExtensionProperties.html // // If pProperties is NULL, then the number of extensions properties // available is returned in pPropertyCount. Otherwise, pPropertyCount @@ -2087,7 +2087,7 @@ VkResult ResourceTracker::on_vkEnumeratePhysicalDevices(void* context, VkResult, // even if the guest did not ask for it // - Serve the guest query according to the spec: // - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html + // https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDevices.html auto it = info_VkInstance.find(instance); @@ -2130,7 +2130,7 @@ VkResult ResourceTracker::on_vkEnumeratePhysicalDevices(void* context, VkResult, // Serve the guest query according to the spec. // - // https://registry.khronos.org/vulkan/specs/latest/man/html/vkEnumeratePhysicalDevices.html + // https://docs.vulkan.org/refpages/latest/refpages/source/vkEnumeratePhysicalDevices.html // // If pPhysicalDevices is NULL, then the number of physical devices // available is returned in pPhysicalDeviceCount. Otherwise, @@ -5846,7 +5846,7 @@ void ResourceTracker::on_vkDestroySemaphore(void* context, VkDevice device, VkSe enc->vkDestroySemaphore(device, semaphore, pAllocator, true /* do lock */); } -// https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#vkGetSemaphoreFdKHR +// https://docs.vulkan.org/refpages/latest/refpages/source/vkGetSemaphoreFdKHR.html // Each call to vkGetSemaphoreFdKHR must create a new file descriptor and transfer ownership // of it to the application. To avoid leaking resources, the application must release ownership // of the file descriptor when it is no longer needed. @@ -6444,7 +6444,7 @@ VkResult ResourceTracker::on_vkQueueSubmitTemplate(void* context, VkResult input #endif #if defined(VK_USE_PLATFORM_ANDROID_KHR) || DETECT_OS_LINUX for (auto fd : preSignalSyncFds) { - // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImportSemaphoreFdInfoKHR.html + // https://docs.vulkan.org/refpages/latest/refpages/source/VkImportSemaphoreFdInfoKHR.html // fd == -1 is treated as already signaled if (fd != -1) { mSyncHelper->wait(fd, 3000); diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c index 160bcf47bd7..e3efabb965f 100644 --- a/src/intel/vulkan/anv_formats.c +++ b/src/intel/vulkan/anv_formats.c @@ -794,7 +794,7 @@ anv_get_image_format_features2(const struct anv_physical_device *physical_device * it for the list of shader storage extended formats [1]. Before that, * this applies to all VkFormats. * - * [1] : https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#features-shaderStorageImageExtendedFormats + * [1] : https://docs.vulkan.org/spec/latest/chapters/features.html#features-shaderStorageImageExtendedFormats */ if ((flags & VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT) || (anv_format->flags & ANV_FORMAT_FLAG_STORAGE_FORMAT_EMULATED)) diff --git a/src/intel/vulkan_hasvk/anv_formats.c b/src/intel/vulkan_hasvk/anv_formats.c index 160ee95b378..fc6f000e64b 100644 --- a/src/intel/vulkan_hasvk/anv_formats.c +++ b/src/intel/vulkan_hasvk/anv_formats.c @@ -653,7 +653,7 @@ anv_get_image_format_features2(const struct intel_device_info *devinfo, * it for the list of shader storage extended formats [1]. Before that, * this applies to all VkFormats. * - * [1] : https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#features-shaderStorageImageExtendedFormats + * [1] : https://docs.vulkan.org/spec/latest/chapters/features.html#features-shaderStorageImageExtendedFormats */ if (flags & VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT) flags |= VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT; diff --git a/src/microsoft/vulkan/dzn_device.c b/src/microsoft/vulkan/dzn_device.c index 51643bf19eb..c1ddebbdb72 100644 --- a/src/microsoft/vulkan/dzn_device.c +++ b/src/microsoft/vulkan/dzn_device.c @@ -511,7 +511,7 @@ dzn_physical_device_init_memory(struct dzn_physical_device *pdev) * (as determined in an implementation-specific manner) ; or * - the propertyFlags members of Y includes VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD or * VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD and X does not - * See: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMemoryProperties.html + * See: https://docs.vulkan.org/refpages/latest/refpages/source/VkPhysicalDeviceMemoryProperties.html */ mem->memoryHeapCount = 0; diff --git a/src/vulkan/runtime/vk_image.c b/src/vulkan/runtime/vk_image.c index 7efabe8485a..e3a13845a1b 100644 --- a/src/vulkan/runtime/vk_image.c +++ b/src/vulkan/runtime/vk_image.c @@ -407,7 +407,7 @@ vk_image_can_be_aliased_to_yuv_plane(const struct vk_image *image) VkFormat format = image->format; /* Only the 8-bit, 16-bit, and 32-bit classes listed in - * https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#formats-compatibility-classes + * https://docs.vulkan.org/spec/latest/chapters/formats.html#formats-compatibility-classes * are compatible with yuv planes. We must exclude other classes with the * same block size as these. */ @@ -421,7 +421,7 @@ vk_image_can_be_aliased_to_yuv_plane(const struct vk_image *image) /* The planes of all the multiplane formats have a block size of 1, 2, or 4. * See: - * https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#formats-compatible-planes + * https://docs.vulkan.org/spec/latest/chapters/formats.html#formats-compatible-planes */ return block_size == 1 || block_size == 2 || block_size == 4; } diff --git a/src/vulkan/wsi/wsi_common_metal_layer.m b/src/vulkan/wsi/wsi_common_metal_layer.m index 69311dd656b..0aa01c3f4ff 100644 --- a/src/vulkan/wsi/wsi_common_metal_layer.m +++ b/src/vulkan/wsi/wsi_common_metal_layer.m @@ -26,7 +26,7 @@ wsi_metal_layer_size(const CAMetalLayer *metal_layer, * 1. The one implemented. * 2. Return the special value allowed by the spec to state that we will * actually give it a value once the swapchain is created - * https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceCapabilitiesKHR.html + * https://docs.vulkan.org/refpages/latest/refpages/source/VkSurfaceCapabilitiesKHR.html */ CGSize size = metal_layer.bounds.size; CGFloat scaleFactor = metal_layer.contentsScale;