More packages
Some checks failed
Conan Packaging / Package cli11/2.6.1 (push) Successful in 21s
Conan Packaging / Package eabase/01082025 (push) Successful in 14s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 1m13s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 22s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 21s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 23s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 3m15s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 19s
Conan Packaging / Package spirv-headers/1.3.341.0 (push) Failing after 13s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 16s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 16s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 15s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 37s
Conan Packaging / Package vulkan-headers/1.3.341.0 (push) Failing after 12s
Conan Packaging / Package eastl/3.27.01 (push) Has been skipped
Conan Packaging / Package spirv-tools/1.3.341.0 (push) Has been skipped
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Has been skipped
Conan Packaging / Package glslang/1.3.341.0 (push) Has been skipped
Conan Packaging / Package shaderc/2026.1 (push) Has been skipped
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Has been skipped
Some checks failed
Conan Packaging / Package cli11/2.6.1 (push) Successful in 21s
Conan Packaging / Package eabase/01082025 (push) Successful in 14s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 1m13s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 22s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 21s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 23s
Conan Packaging / Package assimp/6.0.4 (push) Successful in 3m15s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 19s
Conan Packaging / Package spirv-headers/1.3.341.0 (push) Failing after 13s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 16s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 16s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 15s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 37s
Conan Packaging / Package vulkan-headers/1.3.341.0 (push) Failing after 12s
Conan Packaging / Package eastl/3.27.01 (push) Has been skipped
Conan Packaging / Package spirv-tools/1.3.341.0 (push) Has been skipped
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Has been skipped
Conan Packaging / Package glslang/1.3.341.0 (push) Has been skipped
Conan Packaging / Package shaderc/2026.1 (push) Has been skipped
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Has been skipped
This commit is contained in:
24
spirv-tools/all/test_package/CMakeLists.txt
Normal file
24
spirv-tools/all/test_package/CMakeLists.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(test_package)
|
||||
|
||||
find_package(SPIRV-Tools REQUIRED CONFIG)
|
||||
|
||||
add_executable(${PROJECT_NAME}_c test_package.c)
|
||||
if(TARGET SPIRV-Tools-shared)
|
||||
target_link_libraries(${PROJECT_NAME}_c PRIVATE SPIRV-Tools-shared)
|
||||
elseif(TARGET SPIRV-Tools-static)
|
||||
target_link_libraries(${PROJECT_NAME}_c PRIVATE SPIRV-Tools-static)
|
||||
else()
|
||||
target_link_libraries(${PROJECT_NAME}_c PRIVATE SPIRV-Tools)
|
||||
endif()
|
||||
|
||||
# TODO: we should call find_package(SPIRV-Tools-opt REQUIRED CONFIG), but not modeled right now
|
||||
if(TARGET SPIRV-Tools-opt)
|
||||
add_executable(${PROJECT_NAME}_cpp test_package.cpp)
|
||||
target_link_libraries(${PROJECT_NAME}_cpp PRIVATE SPIRV-Tools-opt)
|
||||
if(SPIRV-Tools_VERSION VERSION_LESS "1.3.243.0")
|
||||
target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11)
|
||||
else()
|
||||
target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_17)
|
||||
endif()
|
||||
endif()
|
||||
29
spirv-tools/all/test_package/conanfile.py
Normal file
29
spirv-tools/all/test_package/conanfile.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from conan import ConanFile
|
||||
from conan.tools.build import can_run
|
||||
from conan.tools.cmake import CMake, cmake_layout
|
||||
import os
|
||||
|
||||
|
||||
class TestPackageConan(ConanFile):
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
|
||||
test_type = "explicit"
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self)
|
||||
|
||||
def requirements(self):
|
||||
self.requires(self.tested_reference_str)
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
|
||||
def test(self):
|
||||
if can_run(self):
|
||||
bin_path_c = os.path.join(self.cpp.build.bindirs[0], "test_package_c")
|
||||
self.run(bin_path_c, env="conanrun")
|
||||
bin_path_cpp = os.path.join(self.cpp.build.bindirs[0], "test_package_cpp")
|
||||
if os.path.exists(bin_path_cpp):
|
||||
self.run(bin_path_cpp, env="conanrun")
|
||||
31
spirv-tools/all/test_package/test_package.c
Normal file
31
spirv-tools/all/test_package/test_package.c
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "spirv-tools/libspirv.h"
|
||||
|
||||
int main(int argc, char ** argv)
|
||||
{
|
||||
const char input_text[] =
|
||||
"OpCapability Shader\n"
|
||||
"OpCapability Linkage\n"
|
||||
"OpMemoryModel Logical GLSL450";
|
||||
spv_text text;
|
||||
spv_binary binary;
|
||||
spv_context context;
|
||||
|
||||
context = spvContextCreate(SPV_ENV_UNIVERSAL_1_1);
|
||||
|
||||
binary = 0;
|
||||
if( SPV_SUCCESS != spvTextToBinary(context, input_text, sizeof(input_text), &binary, 0) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
text = 0;
|
||||
if( SPV_SUCCESS != spvBinaryToText(context, binary->code, binary->wordCount, 0, &text, 0) )
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
spvTextDestroy(text);
|
||||
spvBinaryDestroy(binary);
|
||||
spvContextDestroy(context);
|
||||
return 0;
|
||||
}
|
||||
65
spirv-tools/all/test_package/test_package.cpp
Normal file
65
spirv-tools/all/test_package/test_package.cpp
Normal file
@@ -0,0 +1,65 @@
|
||||
// Copyright (c) 2016 Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// This program demonstrates basic SPIR-V module processing using
|
||||
// SPIRV-Tools C++ API:
|
||||
// * Assembling
|
||||
// * Validating
|
||||
// * Optimizing
|
||||
// * Disassembling
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "spirv-tools/libspirv.hpp"
|
||||
#include "spirv-tools/optimizer.hpp"
|
||||
|
||||
int main() {
|
||||
const std::string source =
|
||||
" OpCapability Linkage "
|
||||
" OpCapability Shader "
|
||||
" OpMemoryModel Logical GLSL450 "
|
||||
" OpSource GLSL 450 "
|
||||
" OpDecorate %spec SpecId 1 "
|
||||
" %int = OpTypeInt 32 1 "
|
||||
" %spec = OpSpecConstant %int 0 "
|
||||
"%const = OpConstant %int 42";
|
||||
|
||||
spvtools::SpirvTools core(SPV_ENV_UNIVERSAL_1_3);
|
||||
spvtools::Optimizer opt(SPV_ENV_UNIVERSAL_1_3);
|
||||
|
||||
auto print_msg_to_stderr = [](spv_message_level_t, const char*,
|
||||
const spv_position_t&, const char* m) {
|
||||
std::cerr << "error: " << m << std::endl;
|
||||
};
|
||||
core.SetMessageConsumer(print_msg_to_stderr);
|
||||
opt.SetMessageConsumer(print_msg_to_stderr);
|
||||
|
||||
std::vector<uint32_t> spirv;
|
||||
if (!core.Assemble(source, &spirv)) return 1;
|
||||
if (!core.Validate(spirv)) return 1;
|
||||
|
||||
opt.RegisterPass(spvtools::CreateSetSpecConstantDefaultValuePass({{1, "42"}}))
|
||||
.RegisterPass(spvtools::CreateFreezeSpecConstantValuePass())
|
||||
.RegisterPass(spvtools::CreateUnifyConstantPass())
|
||||
.RegisterPass(spvtools::CreateStripDebugInfoPass());
|
||||
if (!opt.Run(spirv.data(), spirv.size(), &spirv)) return 1;
|
||||
|
||||
std::string disassembly;
|
||||
if (!core.Disassemble(spirv, &disassembly)) return 1;
|
||||
std::cout << disassembly << "\n";
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user