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

Add vulkan-volk #27531

Merged
merged 11 commits into from
Sep 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions recipes/vulkan-volk/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
@echo on
setlocal EnableDelayedExpansion

mkdir build
pushd build

cmake .. ^
%CMAKE_ARGS% ^
-DVOLK_INSTALL=ON
if errorlevel 1 exit 1

cmake --build . --target install
if errorlevel 1 exit 1

popd

13 changes: 13 additions & 0 deletions recipes/vulkan-volk/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
set -ex

mkdir build
pushd build

cmake .. \
${CMAKE_ARGS} \
-DVOLK_INSTALL=ON

make -j${CPU_COUNT}
make install

popd
59 changes: 59 additions & 0 deletions recipes/vulkan-volk/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{% set version = "1.3.295" %}

package:
# There is already a conda-forge packaged named volk
# We use the ubuntu name vulkan-volk to avoid conflict
# https://launchpad.net/ubuntu/+source/vulkan-volk
name: vulkan-volk
version: {{ version }}

source:
url: https://github.com/zeux/volk/archive/refs/tags/{{ version }}.tar.gz
sha256: aea9f09c49f8a4e36738003c7aa5f08f99d68b96e4028ad9fa9039d2ee9fb251

build:
number: 0
# This is designed to be a header only / statically linked library
# run_exports:
# - {{ pin_subpackage('vulkan-volk', max_pin='x.x.x') }}

requirements:
build:
- {{ compiler('c') }}
- {{ stdlib('c') }}
- cmake
- ninja # [not unix]
- make # [unix]
host:
- libvulkan-headers
- libvulkan-loader

test:
commands:
- test -f ${PREFIX}/include/volk.h # [unix]
- test -f ${PREFIX}/include/volk.c # [unix]
- test -f ${PREFIX}/lib/libvolk.a # [unix]
- if not exist %PREFIX%\\Library\\lib\\volk.lib exit 1 # [win]

about:
home: https://github.com/zeux/volk
summary: volk is a meta-loader for Vulkan.
description: |

It allows you to dynamically load entrypoints required to use Vulkan
without linking to vulkan-1.dll or statically linking Vulkan loader.
Additionally, volk simplifies the use of Vulkan extensions by automatically
loading all associated entrypoints. Finally, volk enables loading Vulkan
entrypoints directly from the driver which can increase performance by
skipping loader dispatch overhead.

volk is written in C89 and supports Windows, Linux, Android and macOS (via
MoltenVK).

license: MIT
license_family: MIT
license_file: LICENSE.md

extra:
recipe-maintainers:
- hmaarrfk