diff --git a/.github/workflows/anari_sdk_ci.yml b/.github/workflows/anari_sdk_ci.yml index 1a349d6a..a17def4f 100644 --- a/.github/workflows/anari_sdk_ci.yml +++ b/.github/workflows/anari_sdk_ci.yml @@ -26,10 +26,11 @@ jobs: - name: Configure CMake run: > - cmake -LA -B ${{github.workspace}}/build + cmake -LA -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} - -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install + -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/build/install -DBUILD_SHARED_LIBS=ON + -DBUILD_CTS=ON -DBUILD_EXAMPLES=ON -DBUILD_HDANARI=OFF -DBUILD_HELIDE_DEVICE=ON @@ -41,7 +42,7 @@ jobs: run: cmake --build ${{github.workspace}}/build --config ${{ matrix.config }} --target install - name: Unit Tests - working-directory: ${{github.workspace}}/build + working-directory: ${{ github.workspace }}/build run: ctest -R unit_test -C ${{ matrix.config }} - name: Render Tests @@ -51,7 +52,7 @@ jobs: - name: Tutorial Tests working-directory: ${{github.workspace}}/build run: ctest -R anariTutorial -C ${{ matrix.config }} - + build-macos: # iOS is 10x expensive to run on GitHub machines, so only run if we know something else passed as well needs: build @@ -66,28 +67,28 @@ jobs: - name: Configure CMake run: > - cmake -LA -B ${{github.workspace}}/build + cmake -LA -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} - -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/build/install + -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/build/install -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=ON -DBUILD_HDANARI=OFF -DBUILD_HELIDE_DEVICE=ON - -DBUILD_REMOTE_DEVICE=${{ matrix.os == 'ubuntu-latest' }} + -DBUILD_REMOTE_DEVICE=OFF -DBUILD_TESTING=ON -DBUILD_VIEWER=OFF - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{ matrix.config }} --target install + run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --target install - name: Unit Tests - working-directory: ${{github.workspace}}/build + working-directory: ${{ github.workspace }}/build run: ctest -R unit_test -C ${{ matrix.config }} - name: Render Tests - working-directory: ${{github.workspace}}/build + working-directory: ${{ github.workspace }}/build run: ctest -R render_test -C ${{ matrix.config }} - name: Tutorial Tests - working-directory: ${{github.workspace}}/build + working-directory: ${{ github.workspace }}/build run: ctest -R anariTutorial -C ${{ matrix.config }} diff --git a/cts/CMakeLists.txt b/cts/CMakeLists.txt index faf31cf7..92db912e 100644 --- a/cts/CMakeLists.txt +++ b/cts/CMakeLists.txt @@ -31,7 +31,6 @@ include(pybind11.cmake) pybind11_add_module(${PROJECT_NAME} src/anariInfo.cpp src/anariWrapper.cpp - src/ctsQueries.cpp src/main.cpp src/PrimitiveGenerator.cpp src/SceneGenerator.cpp @@ -39,6 +38,12 @@ pybind11_add_module(${PROJECT_NAME} src/TextureGenerator.cpp ) +anari_generate_queries( + DEVICE_TARGET ${PROJECT_NAME} + CPP_NAMESPACE cts + JSON_DEFINITIONS_FILE ${ANARI_CODE_GEN_ROOT}/devices/experimental_device.json +) + target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_LIST_DIR}/header @@ -48,8 +53,6 @@ target_link_libraries(${PROJECT_NAME} PUBLIC helium anari_test_scenes) file(GLOB python_files ${CMAKE_CURRENT_LIST_DIR}/*.py) -add_subdirectory(src) # query generation target - add_custom_target(generate_cts_baseline COMMAND ${Python3_EXECUTABLE} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/createReferenceData.py --test_scenes ${CMAKE_CURRENT_LIST_DIR}/test_scenes -l ${REFERENCE_LIB} @@ -58,7 +61,7 @@ add_custom_target(generate_cts_baseline add_dependencies(generate_cts_baseline ${PROJECT_NAME}) add_custom_target(generate_cts) -add_dependencies(generate_cts generate_cts_queries generate_cts_baseline) +add_dependencies(generate_cts generate_cts_baseline) add_dependencies(generate_all generate_cts) option(CTS_DEV "Copy compiled python module next to python script to make developing easier" OFF) diff --git a/cts/src/CMakeLists.txt b/cts/src/CMakeLists.txt deleted file mode 100644 index 0e102067..00000000 --- a/cts/src/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -## Copyright 2022-2024 The Khronos Group -## SPDX-License-Identifier: Apache-2.0 - -anari_generate_queries( - NAME cts_queries - PREFIX cts - CPP_NAMESPACE cts - JSON_DEFINITIONS_FILE ${ANARI_CODE_GEN_ROOT}/devices/experimental_device.json -) diff --git a/cts/src/anariWrapper.cpp b/cts/src/anariWrapper.cpp index c9203f5e..1447a271 100644 --- a/cts/src/anariWrapper.cpp +++ b/cts/src/anariWrapper.cpp @@ -2,7 +2,7 @@ #include #include #include -#include "ctsQueries.h" +#include "anariCTSBackend_queries.h" typedef union ANARIExtensions_u { diff --git a/cts/src/ctsQueries.cpp b/cts/src/ctsQueries.cpp deleted file mode 100644 index be83e3bf..00000000 --- a/cts/src/ctsQueries.cpp +++ /dev/null @@ -1,14093 +0,0 @@ -// Copyright 2024 The Khronos Group -// SPDX-License-Identifier: Apache-2.0 - -// This file was generated by generate_queries.py -// Don't make changes to this directly - -#include -#include -#include -namespace cts { -static int subtype_hash(const char *str) { - static const uint32_t table[] = {0x7a6f0012u,0x6a65002bu,0x0u,0x0u,0x0u,0x65640040u,0x6e6d0044u,0x0u,0x0u,0x0u,0x70610051u,0x0u,0x736d008bu,0x736500aau,0x767500dcu,0x6a6900e0u,0x757000e4u,0x73720107u,0x6f6e001du,0x0u,0x0u,0x0u,0x0u,0x0u,0x73720020u,0x0u,0x0u,0x0u,0x6d6c0024u,0x6665001eu,0x100001fu,0x80000000u,0x77760021u,0x66650022u,0x1000023u,0x80000001u,0x6a690025u,0x6f6e0026u,0x65640027u,0x66650028u,0x73720029u,0x100002au,0x80000002u,0x67660030u,0x0u,0x0u,0x0u,0x73720036u,0x62610031u,0x76750032u,0x6d6c0033u,0x75740034u,0x1000035u,0x80000003u,0x66650037u,0x64630038u,0x75740039u,0x6a69003au,0x706f003bu,0x6f6e003cu,0x6261003du,0x6d6c003eu,0x100003fu,0x80000004u,0x73720041u,0x6a690042u,0x1000043u,0x80000005u,0x62610045u,0x68670046u,0x66650047u,0x34310048u,0x4544004bu,0x4544004du,0x4544004fu,0x100004cu,0x80000006u,0x100004eu,0x80000007u,0x1000050u,0x80000008u,0x75740060u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x75740064u,0x75740061u,0x66650062u,0x1000063u,0x80000009u,0x6a690065u,0x706f0066u,0x6f6e0067u,0x55530068u,0x6463006au,0x73720082u,0x6261006bu,0x6d6c006cu,0x6665006du,0x5352006eu,0x706f006fu,0x75740070u,0x62610071u,0x75740072u,0x6a690073u,0x706f0074u,0x6f6e0075u,0x55540076u,0x73720077u,0x62610078u,0x6f6e0079u,0x7473007au,0x6d6c007bu,0x6261007cu,0x7574007du,0x6a69007eu,0x706f007fu,0x6f6e0080u,0x1000081u,0x8000000au,0x62610083u,0x6f6e0084u,0x74730085u,0x67660086u,0x706f0087u,0x73720088u,0x6e6d0089u,0x100008au,0x8000000bu,0x6f6e0091u,0x0u,0x0u,0x0u,0x0u,0x7574009fu,0x6a690092u,0x65640093u,0x6a690094u,0x73720095u,0x66650096u,0x64630097u,0x75740098u,0x6a690099u,0x706f009au,0x6f6e009bu,0x6261009cu,0x6d6c009du,0x100009eu,0x8000000cu,0x696800a0u,0x706f00a1u,0x686700a2u,0x737200a3u,0x626100a4u,0x717000a5u,0x696800a6u,0x6a6900a7u,0x646300a8u,0x10000a9u,0x8000000du,0x737200b8u,0x0u,0x0u,0x7a7900c2u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x6a6900d0u,0x0u,0x0u,0x6a6900d4u,0x747300b9u,0x717000bau,0x666500bbu,0x646300bcu,0x757400bdu,0x6a6900beu,0x777600bfu,0x666500c0u,0x10000c1u,0x8000000eu,0x747300c3u,0x6a6900c4u,0x646300c5u,0x626100c6u,0x6d6c00c7u,0x6d6c00c8u,0x7a7900c9u,0x434200cau,0x626100cbu,0x747300ccu,0x666500cdu,0x656400ceu,0x10000cfu,0x8000000fu,0x6f6e00d1u,0x757400d2u,0x10000d3u,0x80000010u,0x6e6d00d5u,0x6a6900d6u,0x757400d7u,0x6a6900d8u,0x777600d9u,0x666500dau,0x10000dbu,0x80000011u,0x626100ddu,0x656400deu,0x10000dfu,0x80000012u,0x6f6e00e1u,0x686700e2u,0x10000e3u,0x80000013u,0x706800e9u,0x0u,0x0u,0x0u,0x737200f7u,0x666500f1u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x757400f5u,0x737200f2u,0x666500f3u,0x10000f4u,0x80000014u,0x10000f6u,0x80000015u,0x767500f8u,0x646300f9u,0x757400fau,0x767500fbu,0x737200fcu,0x666500fdu,0x656400feu,0x535200ffu,0x66650100u,0x68670101u,0x76750102u,0x6d6c0103u,0x62610104u,0x73720105u,0x1000106u,0x80000016u,0x6a610108u,0x6f6e0111u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x6261012eu,0x74730112u,0x67660113u,0x70650114u,0x7372011fu,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x0u,0x7372012bu,0x47460120u,0x76750121u,0x6f6e0122u,0x64630123u,0x75740124u,0x6a690125u,0x706f0126u,0x6f6e0127u,0x32310128u,0x45440129u,0x100012au,0x80000017u,0x6e6d012cu,0x100012du,0x80000018u,0x6f6e012fu,0x68670130u,0x6d6c0131u,0x66650132u,0x1000133u,0x80000019u}; - uint32_t cur = 0x75630000u; - for(int i = 0;cur!=0;++i) { - uint32_t idx = cur&0xFFFFu; - uint32_t low = (cur>>16u)&0xFFu; - uint32_t high = (cur>>24u)&0xFFu; - uint32_t c = (uint32_t)str[i]; - if(c>=low && c>16u)&0xFFu; - uint32_t high = (cur>>24u)&0xFFu; - uint32_t c = (uint32_t)str[i]; - if(c>=low && c>16u)&0xFFu; - uint32_t high = (cur>>24u)&0xFFu; - uint32_t c = (uint32_t)str[i]; - if(c>=low && c -namespace cts { -#define ANARI_INFO_required 0 -#define ANARI_INFO_default 1 -#define ANARI_INFO_minimum 2 -#define ANARI_INFO_maximum 3 -#define ANARI_INFO_description 4 -#define ANARI_INFO_elementType 5 -#define ANARI_INFO_value 6 -#define ANARI_INFO_sourceExtension 7 -#define ANARI_INFO_extension 8 -#define ANARI_INFO_parameter 9 -#define ANARI_INFO_channel 10 -#define ANARI_INFO_use 11 -const int extension_count = 47; -const char ** query_extensions(); -const char ** query_object_types(ANARIDataType type); -const ANARIParameter * query_params(ANARIDataType type, const char *subtype); -const void * query_param_info_enum(ANARIDataType type, const char *subtype, const char *paramName, ANARIDataType paramType, int infoName, ANARIDataType infoType); -const void * query_param_info(ANARIDataType type, const char *subtype, const char *paramName, ANARIDataType paramType, const char *infoNameString, ANARIDataType infoType); -const void * query_object_info_enum(ANARIDataType type, const char *subtype, int infoName, ANARIDataType infoType); -const void * query_object_info(ANARIDataType type, const char *subtype, const char *infoNameString, ANARIDataType infoType); -}