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

Error loading zink DLLs #204

Open
mayank4519 opened this issue Oct 30, 2024 · 1 comment
Open

Error loading zink DLLs #204

mayank4519 opened this issue Oct 30, 2024 · 1 comment

Comments

@mayank4519
Copy link

mayank4519 commented Oct 30, 2024

I am running an app called gfxbench on adreno GPU on windows. Trying to test zink.
When I copy prebuilt gallium DLLs(from pal1000) next to gfxbench, gfxbench list 'OpenGL with zink vulkan'
But when I build gallium DLLs on my device and copy next to gfxbench, it doesn't list 'OpenGL with zink vulkan'

Steps to run:
set GALLIUM_DRIVER=zink
gfxbench.exe

I am using meson build command to build the DLLs :
meson setup builddir/ --backend=vs -Dbuildtype=release -Dgallium-drivers=zink -Dopengl=true -Dshared-glapi=enabled

When I look at the file size of libgallium_wgl.dll, opengl32.dll and libglapi.dll , it differs a lot.

Prebuilt from pal1000
libgallium_wgl.dll : 52MB
opengl32.dll : 134KB
libglapi.dll : 332KB

My build
libgallium_wgl.dll : 49MB
opengl32.dll : 44KB
libglapi.dll : 205KB

Could you please help me out with the build steps that you've followed ?

@pal1000
Copy link
Owner

pal1000 commented Oct 30, 2024

I run the build script from this repository.

Start off by setting up the toolchain
mesa-build-env-setup-downloads

Notes:

  • I use latest version of each component except when things break;
  • WDK is only needed for d3d10sw;
  • If you really want to save time you can go minimal toolchain setup by performing x64 clang build with MSYS2 (the only extra requirement is git);
  • 7-zip is only needed for release packager.
  • for MSVC If you only care about zink you can skip libva, llvm, and spirv-tools builds;
  • for MSVC build ninja is only required for libclc but it's nice to have regardless not being required for zink as it provides some info about build progress;
  • cmake and ninja need to be in PATH or share parent folder with build script source code (if later they need to be extracted in folders named cmake and ninja respectively);
  • directx shader compiler is optional and only used by drivers maintained by Microsoft and its only purpose is to updats dxil to newer version than what's available in Windows SDK (using it requires it to be extracted in folder named dxc that share parent folder with build script source code).

When ready launch build script from buildscript\build.cmd.

Good luck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants