Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan-Loader/Loader/Loader.rc lists dll as dev build #1571

Open
sushraja-msft opened this issue Oct 11, 2024 · 3 comments
Open

Vulkan-Loader/Loader/Loader.rc lists dll as dev build #1571

sushraja-msft opened this issue Oct 11, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@sushraja-msft
Copy link

This may sound like a nit but we are trying to understand the significance of vulkan loader dll naming in Chromium browsers.
In loader.rc the VER_FILE_DESCRIPTION_STR reads as .Dev build, is there a reason to call vulkan loader dev build instead of just "Vulkan Loader".

Environment (please complete the following information):

  • OS: Windows
  • Bitdepth: [32-bit / 64-bit]

To Reproduce
Steps to reproduce the behavior:

  1. On any windows 10/11 machine navigate to C:\Program Files (x86)\Microsoft\Edge\Application\129.0.2792.89. Version number would vary based on the version of Edge installed. This is essentially the path to the binary files for stable Edge.
  2. Right click on vulkan-1.dll and view its properties
  3. File Description reads as "1.3.293.dev" build for stable versions of any Chromium based browser.

Is it reasonable to rename these strings ?

@sushraja-msft sushraja-msft added the bug Something isn't working label Oct 11, 2024
@charles-lunarg
Copy link
Collaborator

Less of a bug, and more of a 'missing plumbing". The loader.rc file contains defaults meant to indicate that a development build is occurring. When a release build is performed (which isn't a release mode build, but rather a full Windows Runtime Installer package build that LunarG performs in the SDK build process), there is CMake code which reads an appropriately set CMake cache variable and modifies the .rc file accordingly.

if (NOT "$CACHE{BUILD_DLL_VERSIONINFO}" STREQUAL "")

The Chromium build uses gn rather than CMake, so is missing the equivalent logic. Additionally, the build scripts which invoke the loader's gn script would need to provide the "correct" version.
https://github.com/KhronosGroup/Vulkan-Loader/blob/main/BUILD.gn

It wouldn't be too difficult to modify the gn script to modify the rc file as necessary for 'release' builds.

@sushraja-msft
Copy link
Author

Thanks for the prompt reply. Thoughts on how build.gn can determine the "correct" version and if it is in a "release" build?

Since chromium browsers are just using VER_FILE_VERSION as the version today, a simple step of having the build.gn modify

#define VER_FILE_DESCRIPTION_STR "1.3.298.Dev Build"
#define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build"

to

#define VER_FILE_DESCRIPTION_STR "1.3.298.0 Build"
#define VER_FILE_VERSION_STR "Vulkan Loader"

in a chromium is_official_build feels like an appropriate fix to me, WDYT ?

@charles-lunarg
Copy link
Collaborator

I think that is an appropriate change. Unfortunately, I do not know GN well enough to implement the changes, as that has always been the purview of chromium engineers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants