From 7af9f38181f00eec7dc5261ddbee9381059158a1 Mon Sep 17 00:00:00 2001 From: Axel Date: Mon, 20 Apr 2026 23:19:07 -0300 Subject: [PATCH] Initial commit: VKZip GPU Compressor --- CMakeLists.txt | 107 ++ README.md | 174 ++ build/CMakeCache.txt | 385 +++++ build/CMakeFiles/4.3.1/CMakeCCompiler.cmake | 85 + .../4.3.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 15952 bytes build/CMakeFiles/4.3.1/CMakeSystem.cmake | 15 + .../4.3.1/CompilerIdC/CMakeCCompilerId.c | 934 ++++++++++ build/CMakeFiles/4.3.1/CompilerIdC/a.out | Bin 0 -> 16016 bytes build/CMakeFiles/CMakeConfigureLog.yaml | 1510 +++++++++++++++++ .../CMakeDirectoryInformation.cmake | 16 + build/CMakeFiles/CMakeRuleHashes.txt | 4 + build/CMakeFiles/InstallScripts.json | 7 + build/CMakeFiles/Makefile.cmake | 124 ++ build/CMakeFiles/Makefile2 | 157 ++ build/CMakeFiles/TargetDirectories.txt | 8 + build/CMakeFiles/cmake.check_cache | 1 + build/CMakeFiles/progress.marks | 1 + build/CMakeFiles/shaders.dir/DependInfo.cmake | 22 + build/CMakeFiles/shaders.dir/build.make | 100 ++ .../CMakeFiles/shaders.dir/cmake_clean.cmake | 10 + .../shaders.dir/compiler_depend.make | 2 + .../CMakeFiles/shaders.dir/compiler_depend.ts | 2 + build/CMakeFiles/shaders.dir/progress.make | 3 + build/CMakeFiles/vkzip.dir/DependInfo.cmake | 29 + build/CMakeFiles/vkzip.dir/build.make | 195 +++ build/CMakeFiles/vkzip.dir/cmake_clean.cmake | 22 + .../vkzip.dir/compiler_depend.internal | 608 +++++++ .../CMakeFiles/vkzip.dir/compiler_depend.make | 861 ++++++++++ build/CMakeFiles/vkzip.dir/compiler_depend.ts | 2 + build/CMakeFiles/vkzip.dir/depend.make | 2 + build/CMakeFiles/vkzip.dir/flags.make | 10 + build/CMakeFiles/vkzip.dir/link.d | 112 ++ build/CMakeFiles/vkzip.dir/link.txt | 1 + build/CMakeFiles/vkzip.dir/progress.make | 8 + .../CMakeFiles/vkzip.dir/src/cpu_fallback.c.o | Bin 0 -> 5832 bytes .../vkzip.dir/src/cpu_fallback.c.o.d | 51 + .../CMakeFiles/vkzip.dir/src/gpu_compress.c.o | Bin 0 -> 9440 bytes .../vkzip.dir/src/gpu_compress.c.o.d | 69 + .../CMakeFiles/vkzip.dir/src/gpu_context.c.o | Bin 0 -> 12152 bytes .../vkzip.dir/src/gpu_context.c.o.d | 67 + .../vkzip.dir/src/gpu_decompress.c.o | Bin 0 -> 9184 bytes .../vkzip.dir/src/gpu_decompress.c.o.d | 70 + build/CMakeFiles/vkzip.dir/src/main.c.o | Bin 0 -> 35928 bytes build/CMakeFiles/vkzip.dir/src/main.c.o.d | 74 + build/CMakeFiles/vkzip.dir/src/vkz_format.c.o | Bin 0 -> 11624 bytes .../CMakeFiles/vkzip.dir/src/vkz_format.c.o.d | 50 + build/Makefile | 379 +++++ build/cmake_install.cmake | 86 + build/shaders/compress.comp.spv | Bin 0 -> 9600 bytes build/shaders/decompress.comp.spv | Bin 0 -> 8376 bytes build/vkzip | Bin 0 -> 58568 bytes shaders/compile_shaders.sh | 41 + shaders/compress.comp | 158 ++ shaders/decompress.comp | 137 ++ src/cpu_fallback.c | 193 +++ src/cpu_fallback.h | 31 + src/gpu_compress.c | 349 ++++ src/gpu_compress.h | 63 + src/gpu_context.c | 346 ++++ src/gpu_context.h | 61 + src/gpu_decompress.c | 335 ++++ src/gpu_decompress.h | 44 + src/main.c | 850 ++++++++++ src/utils.h | 126 ++ src/vkz_format.c | 278 +++ src/vkz_format.h | 69 + 66 files changed, 9444 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/4.3.1/CMakeCCompiler.cmake create mode 100755 build/CMakeFiles/4.3.1/CMakeDetermineCompilerABI_C.bin create mode 100644 build/CMakeFiles/4.3.1/CMakeSystem.cmake create mode 100644 build/CMakeFiles/4.3.1/CompilerIdC/CMakeCCompilerId.c create mode 100755 build/CMakeFiles/4.3.1/CompilerIdC/a.out create mode 100644 build/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/CMakeRuleHashes.txt create mode 100644 build/CMakeFiles/InstallScripts.json create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/progress.marks create mode 100644 build/CMakeFiles/shaders.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/shaders.dir/build.make create mode 100644 build/CMakeFiles/shaders.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/shaders.dir/compiler_depend.make create mode 100644 build/CMakeFiles/shaders.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/shaders.dir/progress.make create mode 100644 build/CMakeFiles/vkzip.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/vkzip.dir/build.make create mode 100644 build/CMakeFiles/vkzip.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/vkzip.dir/compiler_depend.internal create mode 100644 build/CMakeFiles/vkzip.dir/compiler_depend.make create mode 100644 build/CMakeFiles/vkzip.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/vkzip.dir/depend.make create mode 100644 build/CMakeFiles/vkzip.dir/flags.make create mode 100644 build/CMakeFiles/vkzip.dir/link.d create mode 100644 build/CMakeFiles/vkzip.dir/link.txt create mode 100644 build/CMakeFiles/vkzip.dir/progress.make create mode 100644 build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o create mode 100644 build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d create mode 100644 build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o create mode 100644 build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d create mode 100644 build/CMakeFiles/vkzip.dir/src/gpu_context.c.o create mode 100644 build/CMakeFiles/vkzip.dir/src/gpu_context.c.o.d create mode 100644 build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o create mode 100644 build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d create mode 100644 build/CMakeFiles/vkzip.dir/src/main.c.o create mode 100644 build/CMakeFiles/vkzip.dir/src/main.c.o.d create mode 100644 build/CMakeFiles/vkzip.dir/src/vkz_format.c.o create mode 100644 build/CMakeFiles/vkzip.dir/src/vkz_format.c.o.d create mode 100644 build/Makefile create mode 100644 build/cmake_install.cmake create mode 100644 build/shaders/compress.comp.spv create mode 100644 build/shaders/decompress.comp.spv create mode 100755 build/vkzip create mode 100755 shaders/compile_shaders.sh create mode 100644 shaders/compress.comp create mode 100644 shaders/decompress.comp create mode 100644 src/cpu_fallback.c create mode 100644 src/cpu_fallback.h create mode 100644 src/gpu_compress.c create mode 100644 src/gpu_compress.h create mode 100644 src/gpu_context.c create mode 100644 src/gpu_context.h create mode 100644 src/gpu_decompress.c create mode 100644 src/gpu_decompress.h create mode 100644 src/main.c create mode 100644 src/utils.h create mode 100644 src/vkz_format.c create mode 100644 src/vkz_format.h diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a866dab --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,107 @@ +cmake_minimum_required(VERSION 3.20) +project(vkzip VERSION 1.0.0 LANGUAGES C) + +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_STANDARD_REQUIRED ON) + +# ── Platform detection ────────────────────────────────────────────── +if(WIN32) + add_definitions(-D_CRT_SECURE_NO_WARNINGS -DPLATFORM_WINDOWS) +else() + add_definitions(-DPLATFORM_LINUX) +endif() + +# ── Find Vulkan ───────────────────────────────────────────────────── +find_package(Vulkan REQUIRED) + +# ── Source files ──────────────────────────────────────────────────── +set(SOURCES + src/main.c + src/vkz_format.c + src/gpu_context.c + src/gpu_compress.c + src/gpu_decompress.c + src/cpu_fallback.c +) + +# ── Executable ────────────────────────────────────────────────────── +add_executable(vkzip ${SOURCES}) + +target_include_directories(vkzip PRIVATE + ${CMAKE_SOURCE_DIR}/src + ${Vulkan_INCLUDE_DIRS} +) + +target_link_libraries(vkzip PRIVATE + ${Vulkan_LIBRARIES} +) + +if(NOT WIN32) + target_link_libraries(vkzip PRIVATE m pthread) +endif() + +# ── Compile shaders (GLSL → SPIR-V) ──────────────────────────────── +find_program(GLSLC glslc HINTS "$ENV{VULKAN_SDK}/bin") +if(NOT GLSLC) + find_program(GLSLC glslangValidator HINTS "$ENV{VULKAN_SDK}/bin") +endif() + +if(GLSLC) + set(SHADER_SRC_DIR "${CMAKE_SOURCE_DIR}/shaders") + set(SHADER_BIN_DIR "${CMAKE_BINARY_DIR}/shaders") + file(MAKE_DIRECTORY ${SHADER_BIN_DIR}) + + set(SHADER_SOURCES + ${SHADER_SRC_DIR}/compress.comp + ${SHADER_SRC_DIR}/decompress.comp + ) + + foreach(SHADER ${SHADER_SOURCES}) + get_filename_component(SHADER_NAME ${SHADER} NAME) + set(SPIRV_OUTPUT "${SHADER_BIN_DIR}/${SHADER_NAME}.spv") + + add_custom_command( + OUTPUT ${SPIRV_OUTPUT} + COMMAND ${GLSLC} -o ${SPIRV_OUTPUT} ${SHADER} + DEPENDS ${SHADER} + COMMENT "Compiling shader ${SHADER_NAME} -> SPIR-V" + ) + list(APPEND SPIRV_OUTPUTS ${SPIRV_OUTPUT}) + endforeach() + + add_custom_target(shaders ALL DEPENDS ${SPIRV_OUTPUTS}) + add_dependencies(vkzip shaders) + + # Embed shader directory path at compile time + target_compile_definitions(vkzip PRIVATE + SHADER_DIR="${SHADER_BIN_DIR}" + ) +else() + message(WARNING "glslc/glslangValidator not found! Shaders will not be compiled.") + message(WARNING "Install Vulkan SDK: https://vulkan.lunarg.com/sdk/home") +endif() + +# ── Install ───────────────────────────────────────────────────────── +install(TARGETS vkzip RUNTIME DESTINATION bin) +if(GLSLC) + install(DIRECTORY ${SHADER_BIN_DIR}/ DESTINATION share/vkzip/shaders) +endif() + +# ── Compiler warnings ────────────────────────────────────────────── +if(MSVC) + target_compile_options(vkzip PRIVATE /W4) +else() + target_compile_options(vkzip PRIVATE -Wall -Wextra -O2) +endif() + +message(STATUS "") +message(STATUS "╔══════════════════════════════════════════╗") +message(STATUS "║ VKZip - GPU File Compressor ║") +message(STATUS "║ Vulkan Compute Shader Acceleration ║") +message(STATUS "╠══════════════════════════════════════════╣") +message(STATUS "║ Platform: ${CMAKE_SYSTEM_NAME}") +message(STATUS "║ Compiler: ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}") +message(STATUS "║ Vulkan: ${Vulkan_LIBRARY}") +message(STATUS "║ Shaders: ${GLSLC}") +message(STATUS "╚══════════════════════════════════════════╝") +message(STATUS "") diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4e7ac8 --- /dev/null +++ b/README.md @@ -0,0 +1,174 @@ +# VKZip - GPU-Accelerated File Compressor/Decompressor + +``` + ██╗ ██╗██╗ ██╗███████╗██╗██████╗ + ██║ ██║██║ ██╔╝╚══███╔╝██║██╔══██╗ + ██║ ██║█████╔╝ ███╔╝ ██║██████╔╝ + ╚██╗ ██╔╝██╔═██╗ ███╔╝ ██║██╔═══╝ + ╚████╔╝ ██║ ██╗███████╗██║██║ + ╚═══╝ ╚═╝ ╚═╝╚══════╝╚═╝╚═╝ +``` + +> **Compressão de arquivos acelerada por GPU usando Vulkan Compute Shaders** + +## ✨ Características + +- 🚀 **Aceleração GPU** via Vulkan Compute Shaders +- 🖥️ **Cross-platform** - Windows e Linux +- 🎮 **Multi-GPU** - NVIDIA, AMD, Intel (qualquer GPU Vulkan) +- 🔄 **CPU Fallback** - Funciona mesmo sem GPU compatível +- 📊 **Benchmark** - Compare GPU vs CPU no seu hardware +- 🔒 **CRC32** - Verificação de integridade dos dados +- 📦 **Formato .vkz** - Formato próprio otimizado para compressão paralela + +## 📋 Requisitos + +### Linux +```bash +# Ubuntu/Debian +sudo apt install cmake build-essential vulkan-tools libvulkan-dev glslang-tools + +# Arch Linux +sudo pacman -S cmake vulkan-tools vulkan-headers vulkan-icd-loader glslang + +# Fedora +sudo dnf install cmake gcc vulkan-tools vulkan-loader-devel glslang +``` + +### Windows +1. Instale o [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) +2. Instale o [CMake](https://cmake.org/download/) +3. Instale o [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/) (ou MinGW) + +## 🔨 Compilação + +```bash +# Clonar e entrar no diretório +cd winrarcomgpu + +# Criar diretório de build +mkdir build && cd build + +# Configurar +cmake .. + +# Compilar +cmake --build . --config Release + +# (Opcional) Instalar +sudo cmake --install . +``` + +### Windows (MSVC) +```cmd +mkdir build && cd build +cmake .. -G "Visual Studio 17 2022" +cmake --build . --config Release +``` + +## 🚀 Uso + +### Compactar arquivo +```bash +vkzip compress arquivo.dat # → arquivo.dat.vkz +vkzip compress arquivo.dat saida.vkz # Nome personalizado +vkzip compress arquivo.dat --block-size 128 # Blocos de 128KB +vkzip c arquivo.dat # Atalho +``` + +### Descompactar arquivo +```bash +vkzip decompress arquivo.vkz # → restaura nome original +vkzip decompress arquivo.vkz saida.dat # Nome personalizado +vkzip d arquivo.vkz # Atalho +vkzip x arquivo.vkz # Atalho alternativo +``` + +### Informações do arquivo +```bash +vkzip info arquivo.vkz # Detalhes do arquivo +vkzip i arquivo.vkz # Atalho +``` + +### Benchmark GPU vs CPU +```bash +vkzip benchmark arquivo_grande.dat # Compara GPU vs CPU +vkzip bench arquivo_grande.dat # Atalho +``` + +### Informações da GPU +```bash +vkzip --gpu-info # Mostra info da GPU +``` + +### Opções +```bash +--cpu-only Forçar modo CPU (sem GPU) +--block-size N Tamanho do bloco em KB (padrão: 64, min: 4, max: 1024) +``` + +## ⚙️ Como Funciona + +### Algoritmo de Compressão + +1. **Divisão em Blocos**: O arquivo é dividido em blocos independentes (64KB por padrão) +2. **Upload GPU**: Todos os blocos são enviados para memória da GPU +3. **Compressão Paralela**: Cada bloco é comprimido em paralelo por um workgroup do GPU + - Usa LZ77 (match-finding com hash table) + - Cada match é codificado como `(distância, comprimento)` + - Bytes sem match são armazenados como literais +4. **Download**: Dados comprimidos são lidos de volta da GPU +5. **Empacotamento**: Blocos comprimidos + header = arquivo `.vkz` + +### Formato .vkz + +``` +┌──────────────────────────────────┐ +│ Header (28 bytes) │ +│ Magic: "VKZ\0" │ +│ Version, Size, Block info │ +├──────────────────────────────────┤ +│ Block Table │ +│ Offset, Size, CRC per block │ +├──────────────────────────────────┤ +│ Original Filename │ +├──────────────────────────────────┤ +│ Compressed Block 0 │ +│ Compressed Block 1 │ +│ ... │ +│ Compressed Block N │ +└──────────────────────────────────┘ +``` + +## 📊 Performance + +A vantagem da GPU aparece principalmente em: +- **Arquivos grandes** (>10MB) com muitos blocos paralelos +- **GPUs potentes** com muitos compute units +- **Dados com boa compressibilidade** (texto, logs, dados estruturados) + +Para arquivos pequenos, o overhead de transferência CPU↔GPU pode tornar o CPU mais rápido. + +## 🏗️ Estrutura do Projeto + +``` +winrarcomgpu/ +├── CMakeLists.txt # Build system +├── README.md # Este arquivo +├── src/ +│ ├── main.c # CLI entry point +│ ├── utils.h # Utilitários e constantes +│ ├── vkz_format.h/c # Formato do arquivo .vkz +│ ├── gpu_context.h/c # Inicialização Vulkan +│ ├── gpu_compress.h/c # Pipeline de compressão GPU +│ ├── gpu_decompress.h/c # Pipeline de descompressão GPU +│ └── cpu_fallback.h/c # Fallback CPU +└── shaders/ + ├── compress.comp # Compute shader de compressão + ├── decompress.comp # Compute shader de descompressão + └── compile_shaders.sh # Script de compilação +``` + +## 📄 Licença + +MIT License - Use livremente! diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..b1ea32d --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,385 @@ +# This is the CMakeCache file. +# For build in directory: /home/axel/Vídeos/winrarcomgpu/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/home/linuxbrew/.linuxbrew/bin/gcc-ar-15 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/home/linuxbrew/.linuxbrew/bin/gcc-ranlib-15 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/pkgRedirects + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_COMPAT_VERSION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=vkzip + +//Value Computed by CMake +CMAKE_PROJECT_SPDX_LICENSE:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=1.0.0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the archiver during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the archiver during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the archiver during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the archiver during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the archiver during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to a program. +GLSLC:FILEPATH=/bin/glslc + +//Path to a program. +Vulkan_GLSLANG_VALIDATOR_EXECUTABLE:FILEPATH=/usr/bin/glslangValidator + +//Path to a program. +Vulkan_GLSLC_EXECUTABLE:FILEPATH=/usr/bin/glslc + +//Path to a file. +Vulkan_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +Vulkan_LIBRARY:FILEPATH=/usr/lib/libvulkan.so + +//Value Computed by CMake +vkzip_BINARY_DIR:STATIC=/home/axel/Vídeos/winrarcomgpu/build + +//Value Computed by CMake +vkzip_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +vkzip_SOURCE_DIR:STATIC=/home/axel/Vídeos/winrarcomgpu + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/axel/Vídeos/winrarcomgpu/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=3 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/axel/Vídeos/winrarcomgpu +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//Name of CMakeLists files to read +CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Vulkan +FIND_PACKAGE_MESSAGE_DETAILS_Vulkan:INTERNAL=[/usr/lib/libvulkan.so][/usr/include][found components: glslc glslangValidator ][v1.4.341()] +//ADVANCED property for variable: Vulkan_GLSLANG_VALIDATOR_EXECUTABLE +Vulkan_GLSLANG_VALIDATOR_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: Vulkan_GLSLC_EXECUTABLE +Vulkan_GLSLC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: Vulkan_INCLUDE_DIR +Vulkan_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: Vulkan_LIBRARY +Vulkan_LIBRARY-ADVANCED:INTERNAL=1 + diff --git a/build/CMakeFiles/4.3.1/CMakeCCompiler.cmake b/build/CMakeFiles/4.3.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..022c944 --- /dev/null +++ b/build/CMakeFiles/4.3.1/CMakeCCompiler.cmake @@ -0,0 +1,85 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "15.2.1") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "23") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_STANDARD_LATEST "23") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_COMPILER_APPLE_SYSROOT "") +set(CMAKE_C_SIMULATE_VERSION "") +set(CMAKE_C_COMPILER_ARCHITECTURE_ID "x86_64") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/home/linuxbrew/.linuxbrew/bin/gcc-ar-15") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/home/linuxbrew/.linuxbrew/bin/gcc-ranlib-15") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_C_COMPILER_LINKER_ID "GNU") +set(CMAKE_C_COMPILER_LINKER_VERSION 2.46) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE) +set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE) +set(CMAKE_C_LINKER_PUSHPOP_STATE_SUPPORTED TRUE) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1;/usr/lib;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/4.3.1/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/4.3.1/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..399b41a9a3abf3cd71af7dc85a23f7ab02b89c59 GIT binary patch literal 15952 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/4.3.1/CMakeSystem.cmake b/build/CMakeFiles/4.3.1/CMakeSystem.cmake new file mode 100644 index 0000000..18cf2aa --- /dev/null +++ b/build/CMakeFiles/4.3.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-7.0.0-1-cachyos") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "7.0.0-1-cachyos") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-7.0.0-1-cachyos") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "7.0.0-1-cachyos") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/4.3.1/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/4.3.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..ab3c359 --- /dev/null +++ b/build/CMakeFiles/4.3.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,934 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__RENESAS__) +# define COMPILER_ID "Renesas" +/* __RENESAS_VERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__RENESAS_VERSION__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR HEX(__RENESAS_VERSION__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__RENESAS_VERSION__ >> 8 & 0xFF) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__DCC__) && defined(_DIAB_TOOL) +# define COMPILER_ID "Diab" + # define COMPILER_VERSION_MAJOR DEC(__VERSION_MAJOR_NUMBER__) + # define COMPILER_VERSION_MINOR DEC(__VERSION_MINOR_NUMBER__) + # define COMPILER_VERSION_PATCH DEC(__VERSION_ARCH_FEATURE_NUMBER__) + # define COMPILER_VERSION_TWEAK DEC(__VERSION_BUG_FIX_NUMBER__) + + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "ARM" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) || defined(__CPARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__RENESAS__) +# if defined(__CCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__CCRL__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__CCRH__) +# define ARCHITECTURE_ID "RH850" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) && !defined(__RENESAS__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__) || defined(__RENESAS__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR) + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build/CMakeFiles/4.3.1/CompilerIdC/a.out b/build/CMakeFiles/4.3.1/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..ed2a10ed015e7f7252230bf18484d220b651624b GIT binary patch literal 16016 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 ABme*a literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..90bd2af --- /dev/null +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,1510 @@ + +--- +events: + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:12 (find_program)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_UNAME" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "uname" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/bin/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/uname" + - "/home/linuxbrew/.linuxbrew/sbin/uname" + - "/home/axel/.local/bin/uname" + - "/home/axel/bin/uname" + - "/home/axel/.opencode/bin/uname" + - "/usr/local/bin/uname" + found: "/usr/bin/uname" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:212 (message)" + - "CMakeLists.txt:2 (project)" + message: | + The system is: Linux - 7.0.0-1-cachyos - x86_64 + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeUnixFindMake.cmake:5 (find_program)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_MAKE_PROGRAM" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "gmake" + - "make" + - "smake" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/gmake" + - "/home/linuxbrew/.linuxbrew/sbin/gmake" + - "/home/axel/.local/bin/gmake" + - "/home/axel/bin/gmake" + - "/home/axel/.opencode/bin/gmake" + - "/usr/local/bin/gmake" + - "/usr/bin/gmake" + - "/usr/bin/site_perl/gmake" + - "/usr/bin/vendor_perl/gmake" + - "/usr/bin/core_perl/gmake" + - "/home/axel/.lmstudio/bin/gmake" + - "/home/linuxbrew/.linuxbrew/bin/make" + - "/home/linuxbrew/.linuxbrew/sbin/make" + - "/home/axel/.local/bin/make" + - "/home/axel/bin/make" + - "/home/axel/.opencode/bin/make" + - "/usr/local/bin/make" + found: "/usr/bin/make" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake:73 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:64 (_cmake_find_compiler)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_C_COMPILER" + description: "C compiler" + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "cc" + - "gcc" + - "cl" + - "bcc" + - "xlc" + - "icx" + - "clang" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/cc" + - "/home/linuxbrew/.linuxbrew/sbin/cc" + - "/home/axel/.local/bin/cc" + - "/home/axel/bin/cc" + - "/home/axel/.opencode/bin/cc" + - "/usr/local/bin/cc" + found: "/usr/bin/cc" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:468 (find_file)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:506 (CMAKE_DETERMINE_COMPILER_ID_WRITE)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:8 (CMAKE_DETERMINE_COMPILER_ID_BUILD)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:122 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + mode: "file" + variable: "src_in" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "CMakeCCompilerId.c.in" + candidate_directories: + - "/usr/share/cmake/Modules/" + found: "/usr/share/cmake/Modules/CMakeCCompilerId.c.in" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:122 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /usr/bin/cc + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + + The C compiler identification is GNU, found in: + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/4.3.1/CompilerIdC/a.out + + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_AR" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "ar" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/ar" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_RANLIB" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "ranlib" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/ranlib" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_STRIP" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "strip" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/strip" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_LINKER" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "ld" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/ld" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_NM" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "nm" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/nm" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_OBJDUMP" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "objdump" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/objdump" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_OBJCOPY" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "objcopy" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/objcopy" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_READELF" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "readelf" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/readelf" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_DLLTOOL" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "dlltool" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + searched_directories: + - "/usr/bin/dlltool" + - "/home/linuxbrew/.linuxbrew/bin/dlltool" + - "/home/linuxbrew/.linuxbrew/sbin/dlltool" + - "/home/axel/.local/bin/dlltool" + - "/home/axel/bin/dlltool" + - "/home/axel/.opencode/bin/dlltool" + - "/usr/local/bin/dlltool" + - "/usr/bin/site_perl/dlltool" + - "/usr/bin/vendor_perl/dlltool" + - "/usr/bin/core_perl/dlltool" + - "/home/axel/.lmstudio/bin/dlltool" + found: false + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_ADDR2LINE" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "addr2line" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + found: "/usr/bin/addr2line" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake:243 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:200 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_TAPI" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "tapi" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + searched_directories: + - "/usr/bin/tapi" + - "/home/linuxbrew/.linuxbrew/bin/tapi" + - "/home/linuxbrew/.linuxbrew/sbin/tapi" + - "/home/axel/.local/bin/tapi" + - "/home/axel/bin/tapi" + - "/home/axel/.opencode/bin/tapi" + - "/usr/local/bin/tapi" + - "/usr/bin/site_perl/tapi" + - "/usr/bin/vendor_perl/tapi" + - "/usr/bin/core_perl/tapi" + - "/home/axel/.lmstudio/bin/tapi" + found: false + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake:18 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:201 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_C_COMPILER_AR" + description: "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "gcc-ar-15.2" + - "gcc-ar-15" + - "gcc-ar15" + - "gcc-ar" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + searched_directories: + - "/usr/bin/gcc-ar-15.2" + - "/home/linuxbrew/.linuxbrew/bin/gcc-ar-15.2" + - "/home/linuxbrew/.linuxbrew/sbin/gcc-ar-15.2" + - "/home/axel/.local/bin/gcc-ar-15.2" + - "/home/axel/bin/gcc-ar-15.2" + - "/home/axel/.opencode/bin/gcc-ar-15.2" + - "/usr/local/bin/gcc-ar-15.2" + - "/usr/bin/site_perl/gcc-ar-15.2" + - "/usr/bin/vendor_perl/gcc-ar-15.2" + - "/usr/bin/core_perl/gcc-ar-15.2" + - "/home/axel/.lmstudio/bin/gcc-ar-15.2" + - "/usr/bin/gcc-ar-15" + found: "/home/linuxbrew/.linuxbrew/bin/gcc-ar-15" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake:30 (find_program)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:201 (include)" + - "CMakeLists.txt:2 (project)" + mode: "program" + variable: "CMAKE_C_COMPILER_RANLIB" + description: "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: false + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: false + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "gcc-ranlib-15.2" + - "gcc-ranlib-15" + - "gcc-ranlib15" + - "gcc-ranlib" + candidate_directories: + - "/usr/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + searched_directories: + - "/usr/bin/gcc-ranlib-15.2" + - "/home/linuxbrew/.linuxbrew/bin/gcc-ranlib-15.2" + - "/home/linuxbrew/.linuxbrew/sbin/gcc-ranlib-15.2" + - "/home/axel/.local/bin/gcc-ranlib-15.2" + - "/home/axel/bin/gcc-ranlib-15.2" + - "/home/axel/.opencode/bin/gcc-ranlib-15.2" + - "/usr/local/bin/gcc-ranlib-15.2" + - "/usr/bin/site_perl/gcc-ranlib-15.2" + - "/usr/bin/vendor_perl/gcc-ranlib-15.2" + - "/usr/bin/core_perl/gcc-ranlib-15.2" + - "/home/axel/.lmstudio/bin/gcc-ranlib-15.2" + - "/usr/bin/gcc-ranlib-15" + found: "/home/linuxbrew/.linuxbrew/bin/gcc-ranlib-15" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/axel/V\u00eddeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF" + binary: "/home/axel/V\u00eddeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_1d819/fast + /usr/bin/make -f CMakeFiles/cmTC_1d819.dir/build.make CMakeFiles/cmTC_1d819.dir/build + make[1]: Entering directory '/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF' + Building C object CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + Target: x86_64-pc-linux-gnu + Configured with: /tmp/pkg/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust,cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/CachyOS/CachyOS-PKGBUILDS/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.1 20260209 (GCC) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1d819.dir/' + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_1d819.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccZBHFkX.s + GNU C23 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu) + compiled by GNU C version 15.2.1 20260209, GMP version 6.3.0, MPFR version 4.2.2, MPC version 1.3.1, isl version isl-0.27-GMP + + warning: MPC header version 1.3.1 differs from library version 1.4.1. + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../x86_64-pc-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include + /usr/local/include + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed + /usr/include + End of search list. + Compiler executable checksum: 04cd47456b5b249e30071da0154ed539 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1d819.dir/' + as -v --64 -o CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o /tmp/ccZBHFkX.s + GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46 + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_1d819 + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1d819.dir/link.txt --verbose=1 + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper + Target: x86_64-pc-linux-gnu + Configured with: /tmp/pkg/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust,cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/CachyOS/CachyOS-PKGBUILDS/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.1 20260209 (GCC) + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1d819' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1d819.' + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbEnAx5.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_1d819 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o + collect2 version 15.2.1 20260209 + /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbEnAx5.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_1d819 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o + GNU ld (GNU Binutils) 2.46 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1d819' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1d819.' + /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -o cmTC_1d819 + make[1]: Leaving directory '/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:217 (message)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include] + add: [/usr/local/include] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:253 (message)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|"|[0-9]+>[ -]*Build:[ 0-9]+ ms[ ]*)?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)] + ignore line: [Change Dir: '/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_1d819/fast] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_1d819.dir/build.make CMakeFiles/cmTC_1d819.dir/build] + ignore line: [make[1]: Entering directory '/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/CMakeScratch/TryCompile-BTN0IF'] + ignore line: [Building C object CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /tmp/pkg/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/CachyOS/CachyOS-PKGBUILDS/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.1 20260209 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1d819.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_1d819.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccZBHFkX.s] + ignore line: [GNU C23 (GCC) version 15.2.1 20260209 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 15.2.1 20260209 GMP version 6.3.0 MPFR version 4.2.2 MPC version 1.3.1 isl version isl-0.27-GMP] + ignore line: [] + ignore line: [warning: MPC header version 1.3.1 differs from library version 1.4.1.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include-fixed] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 04cd47456b5b249e30071da0154ed539] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1d819.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o /tmp/ccZBHFkX.s] + ignore line: [GNU assembler version 2.46 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.46] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_1d819] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1d819.dir/link.txt --verbose=1] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /tmp/pkg/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust cobol --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://github.com/CachyOS/CachyOS-PKGBUILDS/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.1 20260209 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_1d819' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1d819.'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbEnAx5.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_1d819 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccbEnAx5.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_1d819] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../..] + arg [-L/lib] ==> dir [/lib] + arg [-L/usr/lib] ==> dir [/usr/lib] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] + ignore line: [collect2 version 15.2.1 20260209] + ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbEnAx5.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_1d819 /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../.. -L/lib -L/usr/lib -v CMakeFiles/cmTC_1d819.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] + linker tool for 'C': /usr/bin/ld + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../..] ==> [/usr/lib] + collapse library dir [/lib] ==> [/lib] + collapse library dir [/usr/lib] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o;/usr/lib/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1;/usr/lib;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:38 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:299 (cmake_determine_linker_id)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the C compiler's linker: "/usr/bin/ld" "-v" + GNU ld (GNU Binutils) 2.46 + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:409 (find_path)" + - "CMakeLists.txt:15 (find_package)" + mode: "path" + variable: "Vulkan_INCLUDE_DIR" + description: "Path to a file." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "vulkan/vulkan.h" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/usr/local/include/" + - "/usr/local/" + - "/usr/include/" + - "/usr/" + - "/include/" + - "/usr/X11R6/include/" + - "/usr/X11R6/" + - "/usr/pkg/include/" + - "/usr/pkg/" + - "/opt/include/" + - "/opt/" + - "/usr/include/X11/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/vulkan/vulkan.h" + - "/home/linuxbrew/.linuxbrew/sbin/vulkan/vulkan.h" + - "/home/axel/.local/bin/vulkan/vulkan.h" + - "/home/axel/bin/vulkan/vulkan.h" + - "/home/axel/.opencode/bin/vulkan/vulkan.h" + - "/usr/local/bin/vulkan/vulkan.h" + - "/usr/bin/vulkan/vulkan.h" + - "/usr/bin/site_perl/vulkan/vulkan.h" + - "/usr/bin/vendor_perl/vulkan/vulkan.h" + - "/usr/bin/core_perl/vulkan/vulkan.h" + - "/home/axel/.lmstudio/bin/vulkan/vulkan.h" + - "/usr/local/include/vulkan/vulkan.h" + - "/usr/local/vulkan/vulkan.h" + found: "/usr/include/" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_INCLUDE_PATH: + - "/usr/include/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:416 (find_library)" + - "CMakeLists.txt:15 (find_package)" + mode: "library" + variable: "Vulkan_LIBRARY" + description: "Path to a library." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "vulkan" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/usr/local/lib/" + - "/usr/local/" + - "/usr/lib/" + - "/usr/" + - "/lib/" + - "/usr/X11R6/lib/" + - "/usr/X11R6/" + - "/usr/pkg/lib/" + - "/usr/pkg/" + - "/opt/lib/" + - "/opt/" + - "/usr/lib/X11/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/usr/local/lib/" + - "/usr/local/" + found: "/usr/lib/libvulkan.so" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + CMAKE_SYSTEM_LIBRARY_PATH: + - "/usr/lib/X11" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:424 (find_program)" + - "CMakeLists.txt:15 (find_package)" + mode: "program" + variable: "Vulkan_GLSLC_EXECUTABLE" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "glslc" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/usr/local/bin/" + - "/usr/local/sbin/" + - "/usr/local/" + - "/usr/bin/" + - "/usr/sbin/" + - "/usr/" + - "/bin/" + - "/sbin/" + - "/usr/X11R6/bin/" + - "/usr/X11R6/sbin/" + - "/usr/X11R6/" + - "/usr/pkg/bin/" + - "/usr/pkg/sbin/" + - "/usr/pkg/" + - "/opt/bin/" + - "/opt/sbin/" + - "/opt/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/glslc" + - "/home/linuxbrew/.linuxbrew/sbin/glslc" + - "/home/axel/.local/bin/glslc" + - "/home/axel/bin/glslc" + - "/home/axel/.opencode/bin/glslc" + - "/usr/local/bin/glslc" + found: "/usr/bin/glslc" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find-v1" + backtrace: + - "/usr/share/cmake/Modules/FindVulkan.cmake:432 (find_program)" + - "CMakeLists.txt:15 (find_package)" + mode: "program" + variable: "Vulkan_GLSLANG_VALIDATOR_EXECUTABLE" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "glslangValidator" + candidate_directories: + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/usr/local/bin/" + - "/usr/local/sbin/" + - "/usr/local/" + - "/usr/bin/" + - "/usr/sbin/" + - "/usr/" + - "/bin/" + - "/sbin/" + - "/usr/X11R6/bin/" + - "/usr/X11R6/sbin/" + - "/usr/X11R6/" + - "/usr/pkg/bin/" + - "/usr/pkg/sbin/" + - "/usr/pkg/" + - "/opt/bin/" + - "/opt/sbin/" + - "/opt/" + searched_directories: + - "/home/linuxbrew/.linuxbrew/bin/glslangValidator" + - "/home/linuxbrew/.linuxbrew/sbin/glslangValidator" + - "/home/axel/.local/bin/glslangValidator" + - "/home/axel/bin/glslangValidator" + - "/home/axel/.opencode/bin/glslangValidator" + - "/usr/local/bin/glslangValidator" + found: "/usr/bin/glslangValidator" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" + - + kind: "find-v1" + backtrace: + - "CMakeLists.txt:44 (find_program)" + mode: "program" + variable: "GLSLC" + description: "Path to a program." + settings: + SearchFramework: "NEVER" + SearchAppBundle: "NEVER" + CMAKE_FIND_USE_CMAKE_PATH: true + CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true + CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true + CMAKE_FIND_USE_INSTALL_PREFIX: true + names: + - "glslc" + candidate_directories: + - "/bin/" + - "/home/linuxbrew/.linuxbrew/bin/" + - "/home/linuxbrew/.linuxbrew/sbin/" + - "/home/axel/.local/bin/" + - "/home/axel/bin/" + - "/home/axel/.opencode/bin/" + - "/usr/local/bin/" + - "/usr/bin/" + - "/usr/bin/site_perl/" + - "/usr/bin/vendor_perl/" + - "/usr/bin/core_perl/" + - "/home/axel/.lmstudio/bin/" + - "/usr/local/bin/" + - "/usr/local/sbin/" + - "/usr/local/" + - "/usr/bin/" + - "/usr/sbin/" + - "/usr/" + - "/bin/" + - "/sbin/" + - "/usr/X11R6/bin/" + - "/usr/X11R6/sbin/" + - "/usr/X11R6/" + - "/usr/pkg/bin/" + - "/usr/pkg/sbin/" + - "/usr/pkg/" + - "/opt/bin/" + - "/opt/sbin/" + - "/opt/" + found: "/bin/glslc" + search_context: + ENV{PATH}: + - "/home/linuxbrew/.linuxbrew/bin" + - "/home/linuxbrew/.linuxbrew/sbin" + - "/home/axel/.local/bin" + - "/home/axel/bin" + - "/home/axel/.opencode/bin" + - "/usr/local/bin" + - "/usr/bin" + - "/usr/bin/site_perl" + - "/usr/bin/vendor_perl" + - "/usr/bin/core_perl" + - "/home/axel/.lmstudio/bin" + CMAKE_INSTALL_PREFIX: "/usr/local" + CMAKE_SYSTEM_PREFIX_PATH: + - "/usr/local" + - "/usr" + - "/" + - "/usr" + - "/usr/local" + - "/usr/X11R6" + - "/usr/pkg" + - "/opt" +... diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..71e1609 --- /dev/null +++ b/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/axel/Vídeos/winrarcomgpu") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/axel/Vídeos/winrarcomgpu/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build/CMakeFiles/CMakeRuleHashes.txt b/build/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..c41cc08 --- /dev/null +++ b/build/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,4 @@ +# Hashes of file build rules. +281b0114537f2efefb41c728f0e459f4 CMakeFiles/shaders +3c51dded850b2342603d754d0fd7e0dd shaders/compress.comp.spv +578fa43d10901b0da26df6965912459f shaders/decompress.comp.spv diff --git a/build/CMakeFiles/InstallScripts.json b/build/CMakeFiles/InstallScripts.json new file mode 100644 index 0000000..84d04a5 --- /dev/null +++ b/build/CMakeFiles/InstallScripts.json @@ -0,0 +1,7 @@ +{ + "InstallScripts" : + [ + "/home/axel/V\u00eddeos/winrarcomgpu/build/cmake_install.cmake" + ], + "Parallel" : false +} diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..e5f0b6c --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,124 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "/home/axel/Vídeos/winrarcomgpu/CMakeLists.txt" + "CMakeFiles/4.3.1/CMakeCCompiler.cmake" + "CMakeFiles/4.3.1/CMakeSystem.cmake" + "/usr/share/cmake/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake/Modules/CMakeCInformation.cmake" + "/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake" + "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Diab-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake/Modules/Compiler/GNU.cmake" + "/usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Renesas-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake/Modules/FindPackageMessage.cmake" + "/usr/share/cmake/Modules/FindVulkan.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake" + "/usr/share/cmake/Modules/Internal/CMakeInspectCLinker.cmake" + "/usr/share/cmake/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake/Modules/Linker/GNU-C.cmake" + "/usr/share/cmake/Modules/Linker/GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linker/GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake" + "/usr/share/cmake/Modules/Platform/Linux.cmake" + "/usr/share/cmake/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/4.3.1/CMakeSystem.cmake" + "CMakeFiles/4.3.1/CMakeCCompiler.cmake" + "CMakeFiles/4.3.1/CMakeCCompiler.cmake" + "CMakeFiles/4.3.1/CMakeCCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/vkzip.dir/DependInfo.cmake" + "CMakeFiles/shaders.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..dc0e8f2 --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,157 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/axel/Vídeos/winrarcomgpu + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/axel/Vídeos/winrarcomgpu/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/vkzip.dir/all +all: CMakeFiles/shaders.dir/all +.PHONY : all + +# The main recursive "codegen" target. +codegen: CMakeFiles/vkzip.dir/codegen +codegen: CMakeFiles/shaders.dir/codegen +.PHONY : codegen + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/vkzip.dir/clean +clean: CMakeFiles/shaders.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/vkzip.dir + +# All Build rule for target. +CMakeFiles/vkzip.dir/all: CMakeFiles/shaders.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=3,4,5,6,7,8,9 "Built target vkzip" +.PHONY : CMakeFiles/vkzip.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/vkzip.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles 9 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/vkzip.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles 0 +.PHONY : CMakeFiles/vkzip.dir/rule + +# Convenience name for target. +vkzip: CMakeFiles/vkzip.dir/rule +.PHONY : vkzip + +# codegen rule for target. +CMakeFiles/vkzip.dir/codegen: CMakeFiles/shaders.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/codegen + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=3,4,5,6,7,8,9 "Finished codegen for target vkzip" +.PHONY : CMakeFiles/vkzip.dir/codegen + +# clean rule for target. +CMakeFiles/vkzip.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/clean +.PHONY : CMakeFiles/vkzip.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/shaders.dir + +# All Build rule for target. +CMakeFiles/shaders.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/shaders.dir/build.make CMakeFiles/shaders.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/shaders.dir/build.make CMakeFiles/shaders.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=1,2 "Built target shaders" +.PHONY : CMakeFiles/shaders.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/shaders.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/shaders.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles 0 +.PHONY : CMakeFiles/shaders.dir/rule + +# Convenience name for target. +shaders: CMakeFiles/shaders.dir/rule +.PHONY : shaders + +# codegen rule for target. +CMakeFiles/shaders.dir/codegen: + $(MAKE) $(MAKESILENT) -f CMakeFiles/shaders.dir/build.make CMakeFiles/shaders.dir/codegen + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=1,2 "Finished codegen for target shaders" +.PHONY : CMakeFiles/shaders.dir/codegen + +# clean rule for target. +CMakeFiles/shaders.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/shaders.dir/build.make CMakeFiles/shaders.dir/clean +.PHONY : CMakeFiles/shaders.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..5a15d49 --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,8 @@ +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/shaders.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/edit_cache.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/rebuild_cache.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/list_install_components.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/install.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/install/local.dir +/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/install/strip.dir diff --git a/build/CMakeFiles/cmake.check_cache b/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +9 diff --git a/build/CMakeFiles/shaders.dir/DependInfo.cmake b/build/CMakeFiles/shaders.dir/DependInfo.cmake new file mode 100644 index 0000000..29b95a5 --- /dev/null +++ b/build/CMakeFiles/shaders.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/shaders.dir/build.make b/build/CMakeFiles/shaders.dir/build.make new file mode 100644 index 0000000..7674577 --- /dev/null +++ b/build/CMakeFiles/shaders.dir/build.make @@ -0,0 +1,100 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/axel/Vídeos/winrarcomgpu + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/axel/Vídeos/winrarcomgpu/build + +# Utility rule file for shaders. + +# Include any custom commands dependencies for this target. +include CMakeFiles/shaders.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/shaders.dir/progress.make + +CMakeFiles/shaders: shaders/compress.comp.spv +CMakeFiles/shaders: shaders/decompress.comp.spv + +shaders/compress.comp.spv: /home/axel/Vídeos/winrarcomgpu/shaders/compress.comp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Compiling shader compress.comp -> SPIR-V" + /bin/glslc -o /home/axel/Vídeos/winrarcomgpu/build/shaders/compress.comp.spv /home/axel/Vídeos/winrarcomgpu/shaders/compress.comp + +shaders/decompress.comp.spv: /home/axel/Vídeos/winrarcomgpu/shaders/decompress.comp + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Compiling shader decompress.comp -> SPIR-V" + /bin/glslc -o /home/axel/Vídeos/winrarcomgpu/build/shaders/decompress.comp.spv /home/axel/Vídeos/winrarcomgpu/shaders/decompress.comp + +CMakeFiles/shaders.dir/codegen: +.PHONY : CMakeFiles/shaders.dir/codegen + +shaders: CMakeFiles/shaders +shaders: shaders/compress.comp.spv +shaders: shaders/decompress.comp.spv +shaders: CMakeFiles/shaders.dir/build.make +.PHONY : shaders + +# Rule to build all files generated by this target. +CMakeFiles/shaders.dir/build: shaders +.PHONY : CMakeFiles/shaders.dir/build + +CMakeFiles/shaders.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/shaders.dir/cmake_clean.cmake +.PHONY : CMakeFiles/shaders.dir/clean + +CMakeFiles/shaders.dir/depend: + cd /home/axel/Vídeos/winrarcomgpu/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/axel/Vídeos/winrarcomgpu /home/axel/Vídeos/winrarcomgpu /home/axel/Vídeos/winrarcomgpu/build /home/axel/Vídeos/winrarcomgpu/build /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/shaders.dir/DependInfo.cmake "--color=$(COLOR)" shaders +.PHONY : CMakeFiles/shaders.dir/depend + diff --git a/build/CMakeFiles/shaders.dir/cmake_clean.cmake b/build/CMakeFiles/shaders.dir/cmake_clean.cmake new file mode 100644 index 0000000..f371d33 --- /dev/null +++ b/build/CMakeFiles/shaders.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/shaders" + "shaders/compress.comp.spv" + "shaders/decompress.comp.spv" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/shaders.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/shaders.dir/compiler_depend.make b/build/CMakeFiles/shaders.dir/compiler_depend.make new file mode 100644 index 0000000..a12665e --- /dev/null +++ b/build/CMakeFiles/shaders.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for shaders. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/shaders.dir/compiler_depend.ts b/build/CMakeFiles/shaders.dir/compiler_depend.ts new file mode 100644 index 0000000..80db0b6 --- /dev/null +++ b/build/CMakeFiles/shaders.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for shaders. diff --git a/build/CMakeFiles/shaders.dir/progress.make b/build/CMakeFiles/shaders.dir/progress.make new file mode 100644 index 0000000..abadeb0 --- /dev/null +++ b/build/CMakeFiles/shaders.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 + diff --git a/build/CMakeFiles/vkzip.dir/DependInfo.cmake b/build/CMakeFiles/vkzip.dir/DependInfo.cmake new file mode 100644 index 0000000..a02b7dd --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/DependInfo.cmake @@ -0,0 +1,29 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c" "CMakeFiles/vkzip.dir/src/cpu_fallback.c.o" "gcc" "CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d" + "/home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c" "CMakeFiles/vkzip.dir/src/gpu_compress.c.o" "gcc" "CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d" + "/home/axel/Vídeos/winrarcomgpu/src/gpu_context.c" "CMakeFiles/vkzip.dir/src/gpu_context.c.o" "gcc" "CMakeFiles/vkzip.dir/src/gpu_context.c.o.d" + "/home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c" "CMakeFiles/vkzip.dir/src/gpu_decompress.c.o" "gcc" "CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d" + "/home/axel/Vídeos/winrarcomgpu/src/main.c" "CMakeFiles/vkzip.dir/src/main.c.o" "gcc" "CMakeFiles/vkzip.dir/src/main.c.o.d" + "/home/axel/Vídeos/winrarcomgpu/src/vkz_format.c" "CMakeFiles/vkzip.dir/src/vkz_format.c.o" "gcc" "CMakeFiles/vkzip.dir/src/vkz_format.c.o.d" + "" "vkzip" "gcc" "CMakeFiles/vkzip.dir/link.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/vkzip.dir/build.make b/build/CMakeFiles/vkzip.dir/build.make new file mode 100644 index 0000000..b982867 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/build.make @@ -0,0 +1,195 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/axel/Vídeos/winrarcomgpu + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/axel/Vídeos/winrarcomgpu/build + +# Include any dependencies generated for this target. +include CMakeFiles/vkzip.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/vkzip.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/vkzip.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/vkzip.dir/flags.make + +CMakeFiles/vkzip.dir/codegen: +.PHONY : CMakeFiles/vkzip.dir/codegen + +CMakeFiles/vkzip.dir/src/main.c.o: CMakeFiles/vkzip.dir/flags.make +CMakeFiles/vkzip.dir/src/main.c.o: /home/axel/Vídeos/winrarcomgpu/src/main.c +CMakeFiles/vkzip.dir/src/main.c.o: CMakeFiles/vkzip.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/vkzip.dir/src/main.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/vkzip.dir/src/main.c.o -MF CMakeFiles/vkzip.dir/src/main.c.o.d -o CMakeFiles/vkzip.dir/src/main.c.o -c /home/axel/Vídeos/winrarcomgpu/src/main.c + +CMakeFiles/vkzip.dir/src/main.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/vkzip.dir/src/main.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/axel/Vídeos/winrarcomgpu/src/main.c > CMakeFiles/vkzip.dir/src/main.c.i + +CMakeFiles/vkzip.dir/src/main.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/vkzip.dir/src/main.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/axel/Vídeos/winrarcomgpu/src/main.c -o CMakeFiles/vkzip.dir/src/main.c.s + +CMakeFiles/vkzip.dir/src/vkz_format.c.o: CMakeFiles/vkzip.dir/flags.make +CMakeFiles/vkzip.dir/src/vkz_format.c.o: /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c +CMakeFiles/vkzip.dir/src/vkz_format.c.o: CMakeFiles/vkzip.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/vkzip.dir/src/vkz_format.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/vkzip.dir/src/vkz_format.c.o -MF CMakeFiles/vkzip.dir/src/vkz_format.c.o.d -o CMakeFiles/vkzip.dir/src/vkz_format.c.o -c /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c + +CMakeFiles/vkzip.dir/src/vkz_format.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/vkzip.dir/src/vkz_format.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c > CMakeFiles/vkzip.dir/src/vkz_format.c.i + +CMakeFiles/vkzip.dir/src/vkz_format.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/vkzip.dir/src/vkz_format.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c -o CMakeFiles/vkzip.dir/src/vkz_format.c.s + +CMakeFiles/vkzip.dir/src/gpu_context.c.o: CMakeFiles/vkzip.dir/flags.make +CMakeFiles/vkzip.dir/src/gpu_context.c.o: /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c +CMakeFiles/vkzip.dir/src/gpu_context.c.o: CMakeFiles/vkzip.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/vkzip.dir/src/gpu_context.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/vkzip.dir/src/gpu_context.c.o -MF CMakeFiles/vkzip.dir/src/gpu_context.c.o.d -o CMakeFiles/vkzip.dir/src/gpu_context.c.o -c /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c + +CMakeFiles/vkzip.dir/src/gpu_context.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/vkzip.dir/src/gpu_context.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c > CMakeFiles/vkzip.dir/src/gpu_context.c.i + +CMakeFiles/vkzip.dir/src/gpu_context.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/vkzip.dir/src/gpu_context.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c -o CMakeFiles/vkzip.dir/src/gpu_context.c.s + +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: CMakeFiles/vkzip.dir/flags.make +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: CMakeFiles/vkzip.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/vkzip.dir/src/gpu_compress.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/vkzip.dir/src/gpu_compress.c.o -MF CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d -o CMakeFiles/vkzip.dir/src/gpu_compress.c.o -c /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c + +CMakeFiles/vkzip.dir/src/gpu_compress.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/vkzip.dir/src/gpu_compress.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c > CMakeFiles/vkzip.dir/src/gpu_compress.c.i + +CMakeFiles/vkzip.dir/src/gpu_compress.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/vkzip.dir/src/gpu_compress.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c -o CMakeFiles/vkzip.dir/src/gpu_compress.c.s + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: CMakeFiles/vkzip.dir/flags.make +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: CMakeFiles/vkzip.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object CMakeFiles/vkzip.dir/src/gpu_decompress.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/vkzip.dir/src/gpu_decompress.c.o -MF CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d -o CMakeFiles/vkzip.dir/src/gpu_decompress.c.o -c /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/vkzip.dir/src/gpu_decompress.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c > CMakeFiles/vkzip.dir/src/gpu_decompress.c.i + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/vkzip.dir/src/gpu_decompress.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c -o CMakeFiles/vkzip.dir/src/gpu_decompress.c.s + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: CMakeFiles/vkzip.dir/flags.make +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: CMakeFiles/vkzip.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building C object CMakeFiles/vkzip.dir/src/cpu_fallback.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/vkzip.dir/src/cpu_fallback.c.o -MF CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d -o CMakeFiles/vkzip.dir/src/cpu_fallback.c.o -c /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/vkzip.dir/src/cpu_fallback.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c > CMakeFiles/vkzip.dir/src/cpu_fallback.c.i + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/vkzip.dir/src/cpu_fallback.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c -o CMakeFiles/vkzip.dir/src/cpu_fallback.c.s + +# Object files for target vkzip +vkzip_OBJECTS = \ +"CMakeFiles/vkzip.dir/src/main.c.o" \ +"CMakeFiles/vkzip.dir/src/vkz_format.c.o" \ +"CMakeFiles/vkzip.dir/src/gpu_context.c.o" \ +"CMakeFiles/vkzip.dir/src/gpu_compress.c.o" \ +"CMakeFiles/vkzip.dir/src/gpu_decompress.c.o" \ +"CMakeFiles/vkzip.dir/src/cpu_fallback.c.o" + +# External object files for target vkzip +vkzip_EXTERNAL_OBJECTS = + +vkzip: CMakeFiles/vkzip.dir/src/main.c.o +vkzip: CMakeFiles/vkzip.dir/src/vkz_format.c.o +vkzip: CMakeFiles/vkzip.dir/src/gpu_context.c.o +vkzip: CMakeFiles/vkzip.dir/src/gpu_compress.c.o +vkzip: CMakeFiles/vkzip.dir/src/gpu_decompress.c.o +vkzip: CMakeFiles/vkzip.dir/src/cpu_fallback.c.o +vkzip: CMakeFiles/vkzip.dir/build.make +vkzip: CMakeFiles/vkzip.dir/compiler_depend.ts +vkzip: /usr/lib/libvulkan.so +vkzip: CMakeFiles/vkzip.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/axel/Vídeos/winrarcomgpu/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Linking C executable vkzip" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/vkzip.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/vkzip.dir/build: vkzip +.PHONY : CMakeFiles/vkzip.dir/build + +CMakeFiles/vkzip.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/vkzip.dir/cmake_clean.cmake +.PHONY : CMakeFiles/vkzip.dir/clean + +CMakeFiles/vkzip.dir/depend: + cd /home/axel/Vídeos/winrarcomgpu/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/axel/Vídeos/winrarcomgpu /home/axel/Vídeos/winrarcomgpu /home/axel/Vídeos/winrarcomgpu/build /home/axel/Vídeos/winrarcomgpu/build /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/DependInfo.cmake "--color=$(COLOR)" vkzip +.PHONY : CMakeFiles/vkzip.dir/depend + diff --git a/build/CMakeFiles/vkzip.dir/cmake_clean.cmake b/build/CMakeFiles/vkzip.dir/cmake_clean.cmake new file mode 100644 index 0000000..12935db --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/cmake_clean.cmake @@ -0,0 +1,22 @@ +file(REMOVE_RECURSE + "CMakeFiles/vkzip.dir/link.d" + "CMakeFiles/vkzip.dir/src/cpu_fallback.c.o" + "CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d" + "CMakeFiles/vkzip.dir/src/gpu_compress.c.o" + "CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d" + "CMakeFiles/vkzip.dir/src/gpu_context.c.o" + "CMakeFiles/vkzip.dir/src/gpu_context.c.o.d" + "CMakeFiles/vkzip.dir/src/gpu_decompress.c.o" + "CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d" + "CMakeFiles/vkzip.dir/src/main.c.o" + "CMakeFiles/vkzip.dir/src/main.c.o.d" + "CMakeFiles/vkzip.dir/src/vkz_format.c.o" + "CMakeFiles/vkzip.dir/src/vkz_format.c.o.d" + "vkzip" + "vkzip.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/vkzip.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/vkzip.dir/compiler_depend.internal b/build/CMakeFiles/vkzip.dir/compiler_depend.internal new file mode 100644 index 0000000..1835210 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/compiler_depend.internal @@ -0,0 +1,608 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.h + /home/axel/Vídeos/winrarcomgpu/src/utils.h + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/stat.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/unistd.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/gpu_compress.c.o + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h + /home/axel/Vídeos/winrarcomgpu/src/utils.h + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/stat.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/vk_video/vulkan_video_codec_av1std.h + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h + /usr/include/vk_video/vulkan_video_codec_h264std.h + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h + /usr/include/vk_video/vulkan_video_codec_h265std.h + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h + /usr/include/vk_video/vulkan_video_codec_vp9std.h + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h + /usr/include/vk_video/vulkan_video_codecs_common.h + /usr/include/vulkan/vk_platform.h + /usr/include/vulkan/vulkan.h + /usr/include/vulkan/vulkan_core.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/gpu_context.c.o + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h + /home/axel/Vídeos/winrarcomgpu/src/utils.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/stat.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/vk_video/vulkan_video_codec_av1std.h + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h + /usr/include/vk_video/vulkan_video_codec_h264std.h + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h + /usr/include/vk_video/vulkan_video_codec_h265std.h + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h + /usr/include/vk_video/vulkan_video_codec_vp9std.h + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h + /usr/include/vk_video/vulkan_video_codecs_common.h + /usr/include/vulkan/vk_platform.h + /usr/include/vulkan/vulkan.h + /usr/include/vulkan/vulkan_core.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.h + /home/axel/Vídeos/winrarcomgpu/src/utils.h + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/stat.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/vk_video/vulkan_video_codec_av1std.h + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h + /usr/include/vk_video/vulkan_video_codec_h264std.h + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h + /usr/include/vk_video/vulkan_video_codec_h265std.h + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h + /usr/include/vk_video/vulkan_video_codec_vp9std.h + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h + /usr/include/vk_video/vulkan_video_codecs_common.h + /usr/include/vulkan/vk_platform.h + /usr/include/vulkan/vulkan.h + /usr/include/vulkan/vulkan_core.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/main.c.o + /home/axel/Vídeos/winrarcomgpu/src/main.c + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.h + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.h + /home/axel/Vídeos/winrarcomgpu/src/utils.h + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/stat.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/unistd.h + /usr/include/vk_video/vulkan_video_codec_av1std.h + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h + /usr/include/vk_video/vulkan_video_codec_h264std.h + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h + /usr/include/vk_video/vulkan_video_codec_h265std.h + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h + /usr/include/vk_video/vulkan_video_codec_vp9std.h + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h + /usr/include/vk_video/vulkan_video_codecs_common.h + /usr/include/vulkan/vk_platform.h + /usr/include/vulkan/vulkan.h + /usr/include/vulkan/vulkan_core.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/vkz_format.c.o + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c + /home/axel/Vídeos/winrarcomgpu/src/utils.h + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-bsearch.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_itimerspec.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/struct_tm.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/stat.h + /usr/include/sys/types.h + /usr/include/time.h + /usr/include/unistd.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +vkzip + /usr/lib/Scrt1.o + /usr/lib/crti.o + /usr/lib/crtn.o + /usr/lib/libc.so + /usr/lib/libgcc_s.so + /usr/lib/libgcc_s.so.1 + /usr/lib/libm.so + /usr/lib/libpthread.a + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a + /usr/lib/ld-linux-x86-64.so.2 + /usr/lib/libc.so.6 + /usr/lib/libc_nonshared.a + /usr/lib/libm.so.6 + /usr/lib/libmvec.so.1 + /usr/lib/libvulkan.so + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/src/main.c.o + /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o + diff --git a/build/CMakeFiles/vkzip.dir/compiler_depend.make b/build/CMakeFiles/vkzip.dir/compiler_depend.make new file mode 100644 index 0000000..ac7b2a0 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/compiler_depend.make @@ -0,0 +1,861 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c \ + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/stat.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/stat.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ + /usr/include/vk_video/vulkan_video_codecs_common.h \ + /usr/include/vulkan/vk_platform.h \ + /usr/include/vulkan/vulkan.h \ + /usr/include/vulkan/vulkan_core.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/gpu_context.c.o: /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/stat.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ + /usr/include/vk_video/vulkan_video_codecs_common.h \ + /usr/include/vulkan/vk_platform.h \ + /usr/include/vulkan/vulkan.h \ + /usr/include/vulkan/vulkan_core.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/stat.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ + /usr/include/vk_video/vulkan_video_codecs_common.h \ + /usr/include/vulkan/vk_platform.h \ + /usr/include/vulkan/vulkan.h \ + /usr/include/vulkan/vulkan_core.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/main.c.o: /home/axel/Vídeos/winrarcomgpu/src/main.c \ + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/stat.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ + /usr/include/vk_video/vulkan_video_codecs_common.h \ + /usr/include/vulkan/vk_platform.h \ + /usr/include/vulkan/vulkan.h \ + /usr/include/vulkan/vulkan_core.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +CMakeFiles/vkzip.dir/src/vkz_format.c.o: /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-bsearch.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/stat.h \ + /usr/include/sys/types.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h + +vkzip: /usr/lib/Scrt1.o \ + /usr/lib/crti.o \ + /usr/lib/crtn.o \ + /usr/lib/libc.so \ + /usr/lib/libgcc_s.so \ + /usr/lib/libgcc_s.so.1 \ + /usr/lib/libm.so \ + /usr/lib/libpthread.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a \ + /usr/lib/ld-linux-x86-64.so.2 \ + /usr/lib/libc.so.6 \ + /usr/lib/libc_nonshared.a \ + /usr/lib/libm.so.6 \ + /usr/lib/libmvec.so.1 \ + /usr/lib/libvulkan.so \ + CMakeFiles/vkzip.dir/src/cpu_fallback.c.o \ + CMakeFiles/vkzip.dir/src/gpu_compress.c.o \ + CMakeFiles/vkzip.dir/src/gpu_context.c.o \ + CMakeFiles/vkzip.dir/src/gpu_decompress.c.o \ + CMakeFiles/vkzip.dir/src/main.c.o \ + CMakeFiles/vkzip.dir/src/vkz_format.c.o + + +CMakeFiles/vkzip.dir/src/vkz_format.c.o: + +CMakeFiles/vkzip.dir/src/main.c.o: + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/sys/stat.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdint-uintn.h: + +/usr/include/endian.h: + +/usr/include/bits/types/clockid_t.h: + +/home/axel/Vídeos/winrarcomgpu/src/gpu_context.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o: + +/usr/include/bits/types.h: + +/usr/include/bits/getopt_core.h: + +/usr/lib/libc_nonshared.a: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/struct_stat.h: + +/usr/include/bits/struct_mutex.h: + +/usr/include/vk_video/vulkan_video_codec_av1std_decode.h: + +/usr/include/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/struct_rwlock.h: + +/usr/include/bits/types/struct_itimerspec.h: + +/usr/include/sys/types.h: + +/usr/include/vk_video/vulkan_video_codec_h265std_encode.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/bits/time64.h: + +/usr/lib/libvulkan.so: + +/home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o: + +/usr/include/bits/atomic_wide_counter.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/vk_video/vulkan_video_codec_vp9std.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/vk_video/vulkan_video_codec_h264std.h: + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: + +/usr/include/bits/stdint-intn.h: + +/home/axel/Vídeos/winrarcomgpu/src/utils.h: + +/usr/include/bits/environments.h: + +/usr/include/sys/select.h: + +/usr/lib/libm.so.6: + +/usr/include/bits/types/struct_tm.h: + +/usr/include/bits/wchar.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/time.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/long-double.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/types/__fpos64_t.h: + +/home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c: + +/usr/include/bits/select.h: + +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: + +/usr/include/alloca.h: + +/usr/include/vk_video/vulkan_video_codec_h264std_encode.h: + +/usr/include/bits/stdint-least.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/timesize.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/getopt_posix.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h: + +/usr/include/bits/wordsize.h: + +/usr/include/features-time64.h: + +/home/axel/Vídeos/winrarcomgpu/src/gpu_context.c: + +/usr/include/bits/endianness.h: + +/usr/include/features.h: + +/usr/include/vk_video/vulkan_video_codec_av1std_encode.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/gnu/stubs.h: + +/usr/include/stdint.h: + +/usr/include/stdlib.h: + +/usr/include/vulkan/vulkan_core.h: + +/usr/include/strings.h: + +/usr/include/sys/cdefs.h: + +/usr/include/unistd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h: + +/usr/include/bits/unistd_ext.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a: + +/home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h: + +/usr/include/bits/endian.h: + +/usr/include/vk_video/vulkan_video_codec_av1std.h: + +/usr/include/vk_video/vulkan_video_codec_h265std.h: + +/home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.h: + +/usr/include/vk_video/vulkan_video_codec_h264std_decode.h: + +/usr/include/time.h: + +/usr/include/vk_video/vulkan_video_codec_h265std_decode.h: + +/usr/include/vk_video/vulkan_video_codec_vp9std_decode.h: + +/home/axel/Vídeos/winrarcomgpu/src/vkz_format.h: + +/usr/include/vk_video/vulkan_video_codecs_common.h: + +/home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.h: + +/usr/include/stdc-predef.h: + +/usr/include/vulkan/vk_platform.h: + +/usr/include/vulkan/vulkan.h: + +/home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c: + +/usr/lib/libmvec.so.1: + +/home/axel/Vídeos/winrarcomgpu/src/main.c: + +/home/axel/Vídeos/winrarcomgpu/src/vkz_format.c: + +/usr/lib/libgcc_s.so: + +/usr/include/bits/types/timer_t.h: + +/usr/lib/Scrt1.o: + +/usr/include/bits/typesizes.h: + +/usr/lib/crti.o: + +/usr/lib/crtn.o: + +/usr/lib/libc.so: + +/usr/include/bits/confname.h: + +/usr/lib/libgcc_s.so.1: + +/usr/lib/libm.so: + +/usr/include/bits/stat.h: + +/usr/lib/ld-linux-x86-64.so.2: + +/usr/lib/libc.so.6: + +/usr/lib/libpthread.a: + +CMakeFiles/vkzip.dir/src/gpu_context.c.o: diff --git a/build/CMakeFiles/vkzip.dir/compiler_depend.ts b/build/CMakeFiles/vkzip.dir/compiler_depend.ts new file mode 100644 index 0000000..98ed60b --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for vkzip. diff --git a/build/CMakeFiles/vkzip.dir/depend.make b/build/CMakeFiles/vkzip.dir/depend.make new file mode 100644 index 0000000..0f29e85 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for vkzip. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/vkzip.dir/flags.make b/build/CMakeFiles/vkzip.dir/flags.make new file mode 100644 index 0000000..9b1b595 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# compile C with /usr/bin/cc +C_DEFINES = -DPLATFORM_LINUX -DSHADER_DIR=\"/home/axel/Vídeos/winrarcomgpu/build/shaders\" + +C_INCLUDES = -I/home/axel/Vídeos/winrarcomgpu/src + +C_FLAGS = -std=gnu11 -Wall -Wextra -O2 + diff --git a/build/CMakeFiles/vkzip.dir/link.d b/build/CMakeFiles/vkzip.dir/link.d new file mode 100644 index 0000000..a430401 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/link.d @@ -0,0 +1,112 @@ +vkzip: \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o \ + CMakeFiles/vkzip.dir/src/main.c.o \ + CMakeFiles/vkzip.dir/src/vkz_format.c.o \ + CMakeFiles/vkzip.dir/src/gpu_context.c.o \ + CMakeFiles/vkzip.dir/src/gpu_compress.c.o \ + CMakeFiles/vkzip.dir/src/gpu_decompress.c.o \ + CMakeFiles/vkzip.dir/src/cpu_fallback.c.o \ + /usr/lib/libvulkan.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libm.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libm.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libm.so \ + /usr/lib/libm.so.6 \ + /usr/lib/libmvec.so.1 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libpthread.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so.1 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libc.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libc.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libc.so \ + /usr/lib/libc.so.6 \ + /usr/lib/libc_nonshared.a \ + /usr/lib/ld-linux-x86-64.so.2 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so.1 \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o \ + /usr/lib/ld-linux-x86-64.so.2 + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/Scrt1.o: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crti.o: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtbeginS.o: + +CMakeFiles/vkzip.dir/src/main.c.o: + +CMakeFiles/vkzip.dir/src/vkz_format.c.o: + +CMakeFiles/vkzip.dir/src/gpu_context.c.o: + +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: + +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: + +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: + +/usr/lib/libvulkan.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libm.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libm.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libm.so: + +/usr/lib/libm.so.6: + +/usr/lib/libmvec.so.1: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libpthread.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so.1: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libc.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libc.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libc.so: + +/usr/lib/libc.so.6: + +/usr/lib/libc_nonshared.a: + +/usr/lib/ld-linux-x86-64.so.2: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/libgcc_s.so.1: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/libgcc.a: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/crtendS.o: + +/usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/../../../../lib/crtn.o: + +/usr/lib/ld-linux-x86-64.so.2: diff --git a/build/CMakeFiles/vkzip.dir/link.txt b/build/CMakeFiles/vkzip.dir/link.txt new file mode 100644 index 0000000..ff64720 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -Wl,--dependency-file=CMakeFiles/vkzip.dir/link.d CMakeFiles/vkzip.dir/src/main.c.o CMakeFiles/vkzip.dir/src/vkz_format.c.o CMakeFiles/vkzip.dir/src/gpu_context.c.o CMakeFiles/vkzip.dir/src/gpu_compress.c.o CMakeFiles/vkzip.dir/src/gpu_decompress.c.o CMakeFiles/vkzip.dir/src/cpu_fallback.c.o -o vkzip /usr/lib/libvulkan.so -lm -lpthread diff --git a/build/CMakeFiles/vkzip.dir/progress.make b/build/CMakeFiles/vkzip.dir/progress.make new file mode 100644 index 0000000..3daeeb9 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/progress.make @@ -0,0 +1,8 @@ +CMAKE_PROGRESS_1 = 3 +CMAKE_PROGRESS_2 = 4 +CMAKE_PROGRESS_3 = 5 +CMAKE_PROGRESS_4 = 6 +CMAKE_PROGRESS_5 = 7 +CMAKE_PROGRESS_6 = 8 +CMAKE_PROGRESS_7 = 9 + diff --git a/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o b/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o new file mode 100644 index 0000000000000000000000000000000000000000..40951635c956172291cac7441f2c700cc9d6ca46 GIT binary patch literal 5832 zcmcgv3v5%@89sKLU?BLqEYNh#6idBqj>@b!Kozg7%1y4}7z`^A9viSUBzBXLSN&kn zu@z% z%;`tXjN>Kdc*zK4;}03^c(CTUVXe#U{$~!Bx2@NzccE>|u(6Y=A-i$hQ9+D>#SZp& zGjKWf3j346G@40sN89P64(_?u|31jj-6I%Jn2m1SY-}<%8{als#!#77O@i#|Av?Hg zuveH&z7!jFNP4@1Z5W7R!A2?r#WubD3 zUS6Js5Oc8ql9qmy*9jt?uT`5+hrn2TxwYNKLrxvFn}Jbdpqw;l`;W8Fv3|aW^o>Lf zJ8LZip2Q-8pC=o3-LoZhGw>lhiJZU}I~V2pSjomP%ZjuQM+Z%7b!jm0PHfbQL0dpt zd2bAjIziab_79uv!t_6DX$wLLrq63>jLKT(NF6OP4uhuzx@Qv#LGKttA32TbXV}rO z?Wj?6b|ME#I{xjH4W+U+v*tZ+{y@1C-5;1?SmkpAx3v936iVHY{y2HgWT(gO-pl3u zSynPu!;7~I+!^0L?-{yuP!fdDRPs+3F*nW3rp$3Nlqq8i2PkND(*B&5K7wku9&7iXrq&|V z5cKEh&6_myb*|2ug9CU~Z#i}ieON-<&JBHDO*_w5_g`H_hi=cS8TMzn7gwwDep8D} z8mSXDjvJ|*H!+`PW}%`(CGg6(L*VvvZ%@UWd>g#27xw*G;Z;7+$Gdc=mUAlSH&Cc|ecnt4Kl5Igx|?0V zbxPSy3Z<{7C2nMG5Uel@vwK{Loy%|>vP?k>WmN-XgWMsW+aoi;5za97ICLVPjqm^b zdEN~Dm%3JurnsF-XuSEN@w#-cndzh}WyAam=mz0XW{Jnh{J;&3;%Uq@d&;Ty`rW`;Ej<%8v&A~K!a79o0hbJC96E@G z*aN>YNTT9py;Ja_6dbHu$|ybV^#c|FR17w;lTCeVSo1OESbK8 zAOT$oyBE5$f|oO?K}XgXUI|UT-F>l0Jl@&!w8z`@B_Y=9{(a=ozL&7tF3#iwyrh+ZHK3k2cA-RfCa8qTNW`W zCMR3LcZI~CT}^D;-L{9zr#T0KxgGE-u{MmtjV|{-d!wuJ`I1JL$8rQ+-o2%Ut9DNr zb=9Y)Ep?sR<+Pug;i@-XwT8phX@3(In(kXLW)iX(RHucVPGRSHv}2V7 zU7o!T(6y&@iK{kMW>3v5fMdBo@hkwzR|(ps=N_V=HLy?BbH`s# zb@n8pB>LT0XCgwP(XM2?gG6JI2-<7w+W{QOL|dV9u4&uWXIsFVc44X(lL6#_2d~>Z zc=Q6TL=XsZ+<+24BKie!{EZ^=%86{FrCS|H~qH88QOlFdZJr-z;!EN>Ehd ztqT5tf_Er5P9^_df#ZN@fW&{I@MDWe{56Fi|5{4?O@&{zdqTm>6#i31^!!!fSM^*` z@M(&kzbSfD|81hLF+ZxFGJ&HQ-ci#3bqbDWpTu`7xLU^_EBIW6{|$i`+C8N3KdA7J zD7e}`wU{g*^z$Kjq(9$LaF>GbQ*hOvA1SyR*UyXKZwUN8{}o*Aw;=_0D*jwj^s9CG zRN=?aWn6a@ezmWrW3hn>{i#-P6qS0s0>`|mdg>K^wI6~Cj#H^;nW9Jaf1Sdw>e;C9 zt9`Xi!PUC_u!x?$3cuPXFBai{Md4TN{z}2sx}R2Xwcl<*>`0ima(HAOJTOPX{Np2O zKujbq@6ERgaCvW5it})sU-Uik#dmZkTDQQMh~>u)Ig3TQT78Mg_5|^@wPn3 zmpILpj1mx|D8o29A7;q<-^%+z7IoIaqms0bzr$6M_T|_Bi#V6}uH;=U{4e}HDdprC z67o_`jy?Zj{NDrtERovVsH0EF7y4DG_8H(sUkc@46^u_wM^PzIp?nu$Q`Nr%4;`SV z_&fib1Mhz+FY7;*Z7zbB6;PjW4EOX@@`x4Ip39*C(B=Fv{w@fI->p;0za{+t-ne9b HQYil~_c~AK literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d b/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d new file mode 100644 index 0000000..e423737 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o.d @@ -0,0 +1,51 @@ +CMakeFiles/vkzip.dir/src/cpu_fallback.c.o: \ + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.c \ + /usr/include/stdc-predef.h \ + /home/axel/Vídeos/winrarcomgpu/src/cpu_fallback.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/features-time64.h /usr/include/bits/wordsize.h \ + /usr/include/bits/timesize.h /usr/include/sys/cdefs.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/bits/struct_stat.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/bits/unistd_ext.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h diff --git a/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o b/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o new file mode 100644 index 0000000000000000000000000000000000000000..a75fb1a96ac85785a2a4df31926d1f89042baa09 GIT binary patch literal 9440 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 XTj@W3W2~nCo*MrVt*G)2cUb=e#=&`- literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d b/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d new file mode 100644 index 0000000..8a4bd6d --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o.d @@ -0,0 +1,69 @@ +CMakeFiles/vkzip.dir/src/gpu_compress.c.o: \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.c \ + /usr/include/stdc-predef.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/features-time64.h /usr/include/bits/wordsize.h \ + /usr/include/bits/timesize.h /usr/include/sys/cdefs.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/bits/struct_stat.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/bits/unistd_ext.h /usr/include/vulkan/vulkan.h \ + /usr/include/vulkan/vk_platform.h /usr/include/vulkan/vulkan_core.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codecs_common.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h diff --git a/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o b/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o new file mode 100644 index 0000000000000000000000000000000000000000..72420581389d9f007f26ab96f9fe9b2d4e3c775e GIT binary patch literal 12152 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o.d b/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o.d new file mode 100644 index 0000000..2f0fbd8 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o.d @@ -0,0 +1,67 @@ +CMakeFiles/vkzip.dir/src/gpu_context.c.o: \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.c \ + /usr/include/stdc-predef.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/features-time64.h /usr/include/bits/wordsize.h \ + /usr/include/bits/timesize.h /usr/include/sys/cdefs.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/bits/struct_stat.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/bits/unistd_ext.h /usr/include/vulkan/vulkan.h \ + /usr/include/vulkan/vk_platform.h /usr/include/vulkan/vulkan_core.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codecs_common.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h264std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std.h \ + /usr/include/vk_video/vulkan_video_codec_h264std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_h265std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_av1std.h \ + /usr/include/vk_video/vulkan_video_codec_av1std_encode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std_decode.h \ + /usr/include/vk_video/vulkan_video_codec_vp9std.h diff --git a/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o b/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o new file mode 100644 index 0000000000000000000000000000000000000000..7e66a7af3904d220f17de6f41512d2d681611103 GIT binary patch literal 9184 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 koPEzZTG%luyZ$pu$7VMd5;90pt|6d@nSG0a?U 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 VotgsbZA-q9`j7twhcC|Z{{zFuG}QnA literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o.d b/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o.d new file mode 100644 index 0000000..4ec12ee --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o.d @@ -0,0 +1,50 @@ +CMakeFiles/vkzip.dir/src/vkz_format.c.o: \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.c \ + /usr/include/stdc-predef.h \ + /home/axel/Vídeos/winrarcomgpu/src/vkz_format.h \ + /home/axel/Vídeos/winrarcomgpu/src/utils.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/features.h \ + /usr/include/features-time64.h /usr/include/bits/wordsize.h \ + /usr/include/bits/timesize.h /usr/include/sys/cdefs.h \ + /usr/include/bits/long-double.h /usr/include/gnu/stubs.h \ + /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdarg.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/15.2.1/include/stdbool.h \ + /usr/include/time.h /usr/include/bits/time.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/bits/struct_stat.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/bits/unistd_ext.h diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..318314c --- /dev/null +++ b/build/Makefile @@ -0,0 +1,379 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 4.3 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/axel/Vídeos/winrarcomgpu + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/axel/Vídeos/winrarcomgpu/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles /home/axel/Vídeos/winrarcomgpu/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/axel/Vídeos/winrarcomgpu/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named vkzip + +# Build rule for target. +vkzip: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 vkzip +.PHONY : vkzip + +# fast build rule for target. +vkzip/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/build +.PHONY : vkzip/fast + +#============================================================================= +# Target rules for targets named shaders + +# Build rule for target. +shaders: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 shaders +.PHONY : shaders + +# fast build rule for target. +shaders/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/shaders.dir/build.make CMakeFiles/shaders.dir/build +.PHONY : shaders/fast + +src/cpu_fallback.o: src/cpu_fallback.c.o +.PHONY : src/cpu_fallback.o + +# target to build an object file +src/cpu_fallback.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/cpu_fallback.c.o +.PHONY : src/cpu_fallback.c.o + +src/cpu_fallback.i: src/cpu_fallback.c.i +.PHONY : src/cpu_fallback.i + +# target to preprocess a source file +src/cpu_fallback.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/cpu_fallback.c.i +.PHONY : src/cpu_fallback.c.i + +src/cpu_fallback.s: src/cpu_fallback.c.s +.PHONY : src/cpu_fallback.s + +# target to generate assembly for a file +src/cpu_fallback.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/cpu_fallback.c.s +.PHONY : src/cpu_fallback.c.s + +src/gpu_compress.o: src/gpu_compress.c.o +.PHONY : src/gpu_compress.o + +# target to build an object file +src/gpu_compress.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_compress.c.o +.PHONY : src/gpu_compress.c.o + +src/gpu_compress.i: src/gpu_compress.c.i +.PHONY : src/gpu_compress.i + +# target to preprocess a source file +src/gpu_compress.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_compress.c.i +.PHONY : src/gpu_compress.c.i + +src/gpu_compress.s: src/gpu_compress.c.s +.PHONY : src/gpu_compress.s + +# target to generate assembly for a file +src/gpu_compress.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_compress.c.s +.PHONY : src/gpu_compress.c.s + +src/gpu_context.o: src/gpu_context.c.o +.PHONY : src/gpu_context.o + +# target to build an object file +src/gpu_context.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_context.c.o +.PHONY : src/gpu_context.c.o + +src/gpu_context.i: src/gpu_context.c.i +.PHONY : src/gpu_context.i + +# target to preprocess a source file +src/gpu_context.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_context.c.i +.PHONY : src/gpu_context.c.i + +src/gpu_context.s: src/gpu_context.c.s +.PHONY : src/gpu_context.s + +# target to generate assembly for a file +src/gpu_context.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_context.c.s +.PHONY : src/gpu_context.c.s + +src/gpu_decompress.o: src/gpu_decompress.c.o +.PHONY : src/gpu_decompress.o + +# target to build an object file +src/gpu_decompress.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_decompress.c.o +.PHONY : src/gpu_decompress.c.o + +src/gpu_decompress.i: src/gpu_decompress.c.i +.PHONY : src/gpu_decompress.i + +# target to preprocess a source file +src/gpu_decompress.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_decompress.c.i +.PHONY : src/gpu_decompress.c.i + +src/gpu_decompress.s: src/gpu_decompress.c.s +.PHONY : src/gpu_decompress.s + +# target to generate assembly for a file +src/gpu_decompress.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/gpu_decompress.c.s +.PHONY : src/gpu_decompress.c.s + +src/main.o: src/main.c.o +.PHONY : src/main.o + +# target to build an object file +src/main.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/main.c.o +.PHONY : src/main.c.o + +src/main.i: src/main.c.i +.PHONY : src/main.i + +# target to preprocess a source file +src/main.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/main.c.i +.PHONY : src/main.c.i + +src/main.s: src/main.c.s +.PHONY : src/main.s + +# target to generate assembly for a file +src/main.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/main.c.s +.PHONY : src/main.c.s + +src/vkz_format.o: src/vkz_format.c.o +.PHONY : src/vkz_format.o + +# target to build an object file +src/vkz_format.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/vkz_format.c.o +.PHONY : src/vkz_format.c.o + +src/vkz_format.i: src/vkz_format.c.i +.PHONY : src/vkz_format.i + +# target to preprocess a source file +src/vkz_format.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/vkz_format.c.i +.PHONY : src/vkz_format.c.i + +src/vkz_format.s: src/vkz_format.c.s +.PHONY : src/vkz_format.s + +# target to generate assembly for a file +src/vkz_format.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/vkzip.dir/build.make CMakeFiles/vkzip.dir/src/vkz_format.c.s +.PHONY : src/vkz_format.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... shaders" + @echo "... vkzip" + @echo "... src/cpu_fallback.o" + @echo "... src/cpu_fallback.i" + @echo "... src/cpu_fallback.s" + @echo "... src/gpu_compress.o" + @echo "... src/gpu_compress.i" + @echo "... src/gpu_compress.s" + @echo "... src/gpu_context.o" + @echo "... src/gpu_context.i" + @echo "... src/gpu_context.s" + @echo "... src/gpu_decompress.o" + @echo "... src/gpu_decompress.i" + @echo "... src/gpu_decompress.s" + @echo "... src/main.o" + @echo "... src/main.i" + @echo "... src/main.s" + @echo "... src/vkz_format.o" + @echo "... src/vkz_format.i" + @echo "... src/vkz_format.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..d1ae554 --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,86 @@ +# Install script for directory: /home/axel/Vídeos/winrarcomgpu + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/vkzip" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/vkzip") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/vkzip" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" TYPE EXECUTABLE FILES "/home/axel/Vídeos/winrarcomgpu/build/vkzip") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/vkzip" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/vkzip") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/vkzip") + endif() + endif() +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/vkzip/shaders" TYPE DIRECTORY FILES "/home/axel/Vídeos/winrarcomgpu/build/shaders/") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +if(CMAKE_INSTALL_LOCAL_ONLY) + file(WRITE "/home/axel/Vídeos/winrarcomgpu/build/install_local_manifest.txt" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") +endif() +if(CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") + else() + string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt") + unset(CMAKE_INST_COMP_HASH) + endif() +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + file(WRITE "/home/axel/Vídeos/winrarcomgpu/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") +endif() diff --git a/build/shaders/compress.comp.spv b/build/shaders/compress.comp.spv new file mode 100644 index 0000000000000000000000000000000000000000..af77f25a5c948fa509070b90d1517d9d8f902c4c GIT binary patch literal 9600 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 literal 0 HcmV?d00001 diff --git a/build/vkzip b/build/vkzip new file mode 100755 index 0000000000000000000000000000000000000000..fd7fcb23e8ccea1b85751a129896fc9ef4ce99df GIT binary patch literal 58568 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 literal 0 HcmV?d00001 diff --git a/shaders/compile_shaders.sh b/shaders/compile_shaders.sh new file mode 100755 index 0000000..d438415 --- /dev/null +++ b/shaders/compile_shaders.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Compile GLSL compute shaders to SPIR-V +# Requires glslc (from Vulkan SDK) or glslangValidator + +SHADER_DIR="$(dirname "$0")" +OUTPUT_DIR="${1:-$SHADER_DIR}" + +# Find compiler +if command -v glslc &> /dev/null; then + COMPILER="glslc" + compile() { $COMPILER -o "$2" "$1"; } +elif command -v glslangValidator &> /dev/null; then + COMPILER="glslangValidator" + compile() { $COMPILER -V -o "$2" "$1"; } +else + echo "ERROR: No GLSL compiler found!" + echo "Install Vulkan SDK: https://vulkan.lunarg.com/sdk/home" + echo " Ubuntu/Debian: sudo apt install vulkan-tools glslang-tools" + echo " Arch: sudo pacman -S vulkan-tools glslang" + echo " Fedora: sudo dnf install vulkan-tools glslang" + exit 1 +fi + +echo "Using compiler: $COMPILER" +echo "Output directory: $OUTPUT_DIR" +mkdir -p "$OUTPUT_DIR" + +for shader in "$SHADER_DIR"/*.comp; do + if [ -f "$shader" ]; then + name=$(basename "$shader") + output="$OUTPUT_DIR/${name}.spv" + echo " Compiling $name -> ${name}.spv" + compile "$shader" "$output" + if [ $? -ne 0 ]; then + echo " FAILED: $name" + exit 1 + fi + fi +done + +echo "All shaders compiled successfully!" diff --git a/shaders/compress.comp b/shaders/compress.comp new file mode 100644 index 0000000..fcfd6bd --- /dev/null +++ b/shaders/compress.comp @@ -0,0 +1,158 @@ +#version 450 + +/* + * VKZip GPU Compression Shader + * + * Each workgroup compresses one independent block using a simplified + * LZ77 variant optimized for GPU parallelism: + * + * Algorithm: + * 1. Each thread scans a portion of the block for matches using hash chains + * 2. Matches are encoded as (distance, length) pairs + * 3. Non-matching bytes are stored as literals + * 4. Output format per token: + * - Literal: [0x00] [byte] + * - Match: [0x01] [length: u16] [distance: u16] + * + * This is a simplified approach focusing on parallel match finding. + * The compression ratio won't match gzip/zstd, but the speed + * advantage from GPU parallelism makes up for it on large files. + */ + +layout(local_size_x = 256) in; + +// ── Push constants ───────────────────────────────────────────────── +layout(push_constant) uniform PushConstants { + uint block_count; // Total number of blocks to process + uint block_size; // Size of each block (e.g., 65536) + uint max_match_len; // Maximum match length + uint window_size; // Sliding window size +} params; + +// ── Buffers ──────────────────────────────────────────────────────── +// Input: raw uncompressed data (all blocks concatenated) +layout(std430, set = 0, binding = 0) readonly buffer InputBuffer { + uint data[]; +} input_buf; + +// Output: compressed data (pre-allocated with worst-case size) +layout(std430, set = 0, binding = 1) writeonly buffer OutputBuffer { + uint data[]; +} output_buf; + +// Block metadata: [block_idx] = { input_offset, input_size, output_offset, output_size } +layout(std430, set = 0, binding = 2) buffer MetadataBuffer { + uvec4 blocks[]; // x=in_offset, y=in_size, z=out_offset, w=out_size(result) +} meta; + +// ── Shared memory for workgroup ──────────────────────────────────── +shared uint s_hash_table[4096]; // Hash table for match finding +shared uint s_output_pos; // Current output position (atomic) + +// ── Helper: read a byte from packed uint buffer ──────────────────── +uint read_byte(uint base_offset, uint byte_idx) { + uint word_idx = (base_offset + byte_idx) >> 2; + uint byte_pos = (base_offset + byte_idx) & 3; + return (input_buf.data[word_idx] >> (byte_pos * 8)) & 0xFF; +} + +// ── Helper: write a byte to packed uint buffer ───────────────────── +void write_byte(uint base_offset, uint byte_idx, uint value) { + uint word_idx = (base_offset + byte_idx) >> 2; + uint byte_pos = (base_offset + byte_idx) & 3; + atomicOr(output_buf.data[word_idx], (value & 0xFF) << (byte_pos * 8)); +} + +// ── Hash function for string matching ────────────────────────────── +uint hash3(uint base_offset, uint pos) { + uint b0 = read_byte(base_offset, pos); + uint b1 = read_byte(base_offset, pos + 1); + uint b2 = read_byte(base_offset, pos + 2); + return ((b0 << 16) ^ (b1 << 8) ^ b2) & 0xFFF; +} + +void main() { + uint block_idx = gl_WorkGroupID.x; + uint thread_id = gl_LocalInvocationID.x; + + if (block_idx >= params.block_count) return; + + uint in_offset = meta.blocks[block_idx].x; + uint in_size = meta.blocks[block_idx].y; + uint out_offset = meta.blocks[block_idx].z; + + // Initialize shared memory + if (thread_id < 256) { + for (uint i = thread_id; i < 4096; i += 256) { + s_hash_table[i] = 0xFFFFFFFF; + } + } + if (thread_id == 0) { + s_output_pos = 0; + } + barrier(); + memoryBarrierShared(); + + // ── Single-threaded compression for correctness ───────────── + // Thread 0 does the sequential LZ77 compression. + // Other threads could assist with parallel hash updates in a + // more advanced version. + if (thread_id == 0) { + uint pos = 0; + uint out_pos = 0; + + while (pos < in_size) { + uint best_len = 0; + uint best_dist = 0; + + // Try to find a match (need at least 3 bytes remaining) + if (pos + 2 < in_size) { + uint h = hash3(in_offset, pos); + uint match_pos = s_hash_table[h]; + + // Scan hash chain for matches + if (match_pos != 0xFFFFFFFF && pos > match_pos) { + uint dist = pos - match_pos; + if (dist <= params.window_size && dist > 0) { + // Count matching bytes + uint len = 0; + uint max_len = min(params.max_match_len, in_size - pos); + while (len < max_len && + read_byte(in_offset, match_pos + len) == + read_byte(in_offset, pos + len)) { + len++; + } + if (len >= 3) { + best_len = len; + best_dist = dist; + } + } + } + + // Update hash table + s_hash_table[h] = pos; + } + + if (best_len >= 3) { + // Write match token: [0x01] [len_lo] [len_hi] [dist_lo] [dist_hi] + write_byte(out_offset, out_pos++, 0x01); + write_byte(out_offset, out_pos++, best_len & 0xFF); + write_byte(out_offset, out_pos++, (best_len >> 8) & 0xFF); + write_byte(out_offset, out_pos++, best_dist & 0xFF); + write_byte(out_offset, out_pos++, (best_dist >> 8) & 0xFF); + pos += best_len; + } else { + // Write literal token: [0x00] [byte] + uint b = read_byte(in_offset, pos); + write_byte(out_offset, out_pos++, 0x00); + write_byte(out_offset, out_pos++, b); + pos++; + } + } + + // Store output size + meta.blocks[block_idx].w = out_pos; + } + + barrier(); +} diff --git a/shaders/decompress.comp b/shaders/decompress.comp new file mode 100644 index 0000000..71466c1 --- /dev/null +++ b/shaders/decompress.comp @@ -0,0 +1,137 @@ +#version 450 + +/* + * VKZip GPU Decompression Shader + * + * Decompresses blocks compressed by the compression shader. + * Each workgroup decompresses one block. + * + * Token format (matching compress.comp): + * - Literal: [0x00] [byte] → emit 1 byte + * - Match: [0x01] [len:u16] [dist:u16] → copy `len` bytes from `pos-dist` + */ + +layout(local_size_x = 256) in; + +// ── Push constants ───────────────────────────────────────────────── +layout(push_constant) uniform PushConstants { + uint block_count; + uint block_size; + uint _pad1; + uint _pad2; +} params; + +// ── Buffers ──────────────────────────────────────────────────────── +// Input: compressed data (all blocks concatenated) +layout(std430, set = 0, binding = 0) readonly buffer InputBuffer { + uint data[]; +} input_buf; + +// Output: decompressed data (read-write: needs read for match back-references) +layout(std430, set = 0, binding = 1) buffer OutputBuffer { + uint data[]; +} output_buf; + +// Block metadata: [block_idx] = { in_offset, in_size(compressed), out_offset, out_size(original) } +layout(std430, set = 0, binding = 2) buffer MetadataBuffer { + uvec4 blocks[]; +} meta; + +// ── Helper: read a byte from packed uint buffer ──────────────────── +// ── Helper: read a byte from packed uint buffer ──────────────────── +uint read_byte_in(uint base_offset, uint byte_idx) { + uint word_idx = (base_offset + byte_idx) >> 2; + uint byte_pos = (base_offset + byte_idx) & 3; + return (input_buf.data[word_idx] >> (byte_pos * 8)) & 0xFF; +} + +void main() { + uint block_idx = gl_WorkGroupID.x; + uint thread_id = gl_LocalInvocationID.x; + + if (block_idx >= params.block_count) return; + + uint in_offset = meta.blocks[block_idx].x; + uint in_size = meta.blocks[block_idx].y; + uint out_offset = meta.blocks[block_idx].z; + uint out_size = meta.blocks[block_idx].w; + + // Sequential decompression by thread 0 + if (thread_id == 0) { + // If the block was stored raw (uncompressed), just copy it + if (in_size == out_size) { + for (uint i = 0; i < in_size; i++) { + uint b = read_byte_in(in_offset, i); + uint byte_pos = i & 3; + + // Read modify write needed here to avoid clobbering since we don't word-buffer the raw yet + uint word_idx = (out_offset + i) >> 2; + atomicOr(output_buf.data[word_idx], b << (byte_pos * 8)); + } + return; + } + + uint in_pos = 0; + uint out_pos = 0; + + uint current_word = 0; + uint current_word_idx = 0; + + while (in_pos < in_size && out_pos < out_size) { + uint token = read_byte_in(in_offset, in_pos); + in_pos++; + + if (token == 0x00) { + // Literal + uint b = read_byte_in(in_offset, in_pos); + in_pos++; + + // Buffer output + uint byte_pos = out_pos & 3; + current_word |= (b << (byte_pos * 8)); + + if (byte_pos == 3 || out_pos == out_size - 1) { + output_buf.data[(out_offset + out_pos) >> 2] = current_word; + current_word = 0; + } + out_pos++; + } + else if (token == 0x01) { + // Match + uint match_len = read_byte_in(in_offset, in_pos) | (read_byte_in(in_offset, in_pos + 1) << 8); + in_pos += 2; + uint match_dist = read_byte_in(in_offset, in_pos) | (read_byte_in(in_offset, in_pos + 1) << 8); + in_pos += 2; + + uint copy_src = out_pos - match_dist; + + for (uint i = 0; i < match_len && out_pos < out_size; i++) { + uint src_byte_idx = copy_src + i; + uint b = 0; + + // Did we write this byte fully to memory yet? + if (src_byte_idx >= (out_pos & ~3u)) { + // It is in the current word being accumulated + uint src_byte_pos = src_byte_idx & 3; + b = (current_word >> (src_byte_pos * 8)) & 0xFF; + } else { + // Read from VRAM + uint src_word = output_buf.data[(out_offset + src_byte_idx) >> 2]; + uint src_byte_pos = src_byte_idx & 3; + b = (src_word >> (src_byte_pos * 8)) & 0xFF; + } + + // Buffer Output + uint byte_pos = out_pos & 3; + current_word |= (b << (byte_pos * 8)); + + if (byte_pos == 3 || out_pos == out_size - 1) { + output_buf.data[(out_offset + out_pos) >> 2] = current_word; + current_word = 0; + } + out_pos++; + } + } + } + } +} diff --git a/src/cpu_fallback.c b/src/cpu_fallback.c new file mode 100644 index 0000000..7148de7 --- /dev/null +++ b/src/cpu_fallback.c @@ -0,0 +1,193 @@ +#include "cpu_fallback.h" + +// ── CPU LZ77 Compress Block ──────────────────────────────────────── +uint8_t *cpu_compress_block(const uint8_t *input, uint32_t input_size, + uint32_t *out_size) { + // Worst case: 2 bytes per input byte (literal tokens) + uint32_t max_output = input_size * 2 + 16; + uint8_t *output = (uint8_t *)malloc(max_output); + if (!output) + return NULL; + + // Simple hash table for match finding + uint32_t hash_table[VKZ_HASH_SIZE]; + memset(hash_table, 0xFF, sizeof(hash_table)); + + uint32_t pos = 0; + uint32_t out_pos = 0; + + while (pos < input_size) { + uint32_t best_len = 0; + uint32_t best_dist = 0; + + // Try to find a match (need at least 3 bytes) + if (pos + 2 < input_size) { + // Hash 3 bytes + uint32_t h = ((uint32_t)input[pos] << 16 | (uint32_t)input[pos + 1] << 8 | + (uint32_t)input[pos + 2]) % + VKZ_HASH_SIZE; + + uint32_t match_pos = hash_table[h]; + hash_table[h] = pos; + + if (match_pos != 0xFFFFFFFF && pos > match_pos) { + uint32_t dist = pos - match_pos; + if (dist <= VKZ_WINDOW_SIZE && dist > 0) { + uint32_t len = 0; + uint32_t max_len = input_size - pos; + if (max_len > VKZ_MAX_MATCH_LEN) + max_len = VKZ_MAX_MATCH_LEN; + + while (len < max_len && input[match_pos + len] == input[pos + len]) { + len++; + } + + if (len >= VKZ_MIN_MATCH_LEN) { + best_len = len; + best_dist = dist; + } + } + } + } + + if (best_len >= VKZ_MIN_MATCH_LEN) { + // Match token: [0x01] [len_lo] [len_hi] [dist_lo] [dist_hi] + output[out_pos++] = 0x01; + output[out_pos++] = (uint8_t)(best_len & 0xFF); + output[out_pos++] = (uint8_t)((best_len >> 8) & 0xFF); + output[out_pos++] = (uint8_t)(best_dist & 0xFF); + output[out_pos++] = (uint8_t)((best_dist >> 8) & 0xFF); + pos += best_len; + } else { + // Literal token: [0x00] [byte] + output[out_pos++] = 0x00; + output[out_pos++] = input[pos]; + pos++; + } + } + + *out_size = out_pos; + + // Shrink to actual size + output = (uint8_t *)realloc(output, out_pos); + return output; +} + +// ── CPU LZ77 Decompress Block ────────────────────────────────────── +uint8_t *cpu_decompress_block(const uint8_t *compressed, + uint32_t compressed_size, uint32_t original_size, + uint32_t *out_size) { + uint8_t *output = (uint8_t *)malloc(original_size); + if (!output) + return NULL; + + uint32_t in_pos = 0; + uint32_t out_pos = 0; + + while (in_pos < compressed_size && out_pos < original_size) { + uint8_t token = compressed[in_pos++]; + + if (token == 0x00) { + // Literal + if (in_pos >= compressed_size) + break; + output[out_pos++] = compressed[in_pos++]; + } else if (token == 0x01) { + // Match + if (in_pos + 4 > compressed_size) + break; + + uint32_t match_len = (uint32_t)compressed[in_pos] | + ((uint32_t)compressed[in_pos + 1] << 8); + in_pos += 2; + uint32_t match_dist = (uint32_t)compressed[in_pos] | + ((uint32_t)compressed[in_pos + 1] << 8); + in_pos += 2; + + uint32_t copy_src = out_pos - match_dist; + for (uint32_t i = 0; i < match_len && out_pos < original_size; i++) { + output[out_pos++] = output[copy_src + i]; + } + } + } + + *out_size = out_pos; + return output; +} + +// ── Compress file (multi-block, CPU) ─────────────────────────────── +int cpu_compress_file(const uint8_t *input_data, uint64_t input_size, + uint32_t block_size, uint8_t ***out_blocks, + uint32_t **out_block_sizes, uint32_t *out_block_count) { + + uint32_t n_blocks = (uint32_t)((input_size + block_size - 1) / block_size); + + *out_block_count = n_blocks; + *out_blocks = (uint8_t **)calloc(n_blocks, sizeof(uint8_t *)); + *out_block_sizes = (uint32_t *)calloc(n_blocks, sizeof(uint32_t)); + + for (uint32_t i = 0; i < n_blocks; i++) { + uint64_t offset = (uint64_t)i * block_size; + uint64_t remaining = input_size - offset; + uint32_t this_size = + (uint32_t)(remaining < block_size ? remaining : block_size); + + uint32_t comp_size = 0; + uint8_t *compressed = + cpu_compress_block(input_data + offset, this_size, &comp_size); + + if (!compressed || comp_size >= this_size) { + // Store raw if compression doesn't help + if (compressed) + free(compressed); + (*out_blocks)[i] = (uint8_t *)malloc(this_size); + memcpy((*out_blocks)[i], input_data + offset, this_size); + (*out_block_sizes)[i] = this_size; + } else { + (*out_blocks)[i] = compressed; + (*out_block_sizes)[i] = comp_size; + } + + print_progress("Compressing (CPU)", i + 1, n_blocks); + } + + return 0; +} + +// ── Decompress file (multi-block, CPU) ───────────────────────────── +int cpu_decompress_file(const VkzArchive *archive, const char *archive_path, + uint8_t *output_data, uint64_t output_size) { + + uint32_t n_blocks = archive->header.block_count; + (void)output_size; + + for (uint32_t i = 0; i < n_blocks; i++) { + uint32_t comp_size; + uint8_t *compressed = vkz_read_block(archive_path, archive, i, &comp_size); + if (!compressed) + return -1; + + uint32_t orig_size = archive->blocks[i].original_size; + uint64_t offset = (uint64_t)i * archive->header.block_size; + + // Check if block was stored raw (compressed_size == original_size) + if (comp_size == orig_size) { + memcpy(output_data + offset, compressed, orig_size); + } else { + uint32_t dec_size; + uint8_t *decompressed = + cpu_decompress_block(compressed, comp_size, orig_size, &dec_size); + if (!decompressed) { + free(compressed); + return -1; + } + memcpy(output_data + offset, decompressed, dec_size); + free(decompressed); + } + + free(compressed); + print_progress("Decompressing (CPU)", i + 1, n_blocks); + } + + return 0; +} diff --git a/src/cpu_fallback.h b/src/cpu_fallback.h new file mode 100644 index 0000000..f22c685 --- /dev/null +++ b/src/cpu_fallback.h @@ -0,0 +1,31 @@ +#ifndef CPU_FALLBACK_H +#define CPU_FALLBACK_H + +#include "utils.h" +#include "vkz_format.h" + +// ── CPU Fallback Compression ─────────────────────────────────────── +// Used when no Vulkan GPU is available. +// Same algorithm as GPU shader for format compatibility. + +// Compress a single block using CPU +// Returns compressed data (caller must free), sets out_size +uint8_t *cpu_compress_block(const uint8_t *input, uint32_t input_size, + uint32_t *out_size); + +// Decompress a single block using CPU +// Returns decompressed data (caller must free), sets out_size +uint8_t *cpu_decompress_block(const uint8_t *compressed, + uint32_t compressed_size, uint32_t original_size, + uint32_t *out_size); + +// Compress entire file using CPU (multi-block) +int cpu_compress_file(const uint8_t *input_data, uint64_t input_size, + uint32_t block_size, uint8_t ***out_blocks, + uint32_t **out_block_sizes, uint32_t *out_block_count); + +// Decompress entire archive using CPU +int cpu_decompress_file(const VkzArchive *archive, const char *archive_path, + uint8_t *output_data, uint64_t output_size); + +#endif // CPU_FALLBACK_H diff --git a/src/gpu_compress.c b/src/gpu_compress.c new file mode 100644 index 0000000..4357ac2 --- /dev/null +++ b/src/gpu_compress.c @@ -0,0 +1,349 @@ +#include "gpu_compress.h" +#include + +// ── Initialize compression pipeline ──────────────────────────────── +int gpu_compress_init(GpuCompressPipeline *pipe, GpuContext *ctx) { + memset(pipe, 0, sizeof(GpuCompressPipeline)); + pipe->ctx = ctx; + + // ── Descriptor set layout ────────────────────────────────────── + VkDescriptorSetLayoutBinding bindings[3] = { + {.binding = 0, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT}, + {.binding = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT}, + {.binding = 2, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT}, + }; + + VkDescriptorSetLayoutCreateInfo layout_info = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, + .bindingCount = 3, + .pBindings = bindings, + }; + + VkResult res = vkCreateDescriptorSetLayout(ctx->device, &layout_info, NULL, + &pipe->desc_layout); + if (res != VK_SUCCESS) + return -1; + + // ── Push constant range ──────────────────────────────────────── + VkPushConstantRange push_range = { + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT, + .offset = 0, + .size = sizeof(CompressPushConstants), + }; + + // ── Pipeline layout ──────────────────────────────────────────── + VkPipelineLayoutCreateInfo pipe_layout_info = { + .sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, + .setLayoutCount = 1, + .pSetLayouts = &pipe->desc_layout, + .pushConstantRangeCount = 1, + .pPushConstantRanges = &push_range, + }; + + res = vkCreatePipelineLayout(ctx->device, &pipe_layout_info, NULL, + &pipe->pipeline_layout); + if (res != VK_SUCCESS) + return -1; + + // ── Compute pipeline ─────────────────────────────────────────── + VkComputePipelineCreateInfo pipeline_info = { + .sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, + .stage = + { + .sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, + .stage = VK_SHADER_STAGE_COMPUTE_BIT, + .module = ctx->compress_shader, + .pName = "main", + }, + .layout = pipe->pipeline_layout, + }; + + res = vkCreateComputePipelines(ctx->device, VK_NULL_HANDLE, 1, &pipeline_info, + NULL, &pipe->pipeline); + if (res != VK_SUCCESS) { + LOG_ERR("Failed to create compression compute pipeline (VkResult: %d)", + res); + return -1; + } + + // ── Descriptor pool ──────────────────────────────────────────── + VkDescriptorPoolSize pool_size = { + .type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 3, + }; + + VkDescriptorPoolCreateInfo pool_info = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO, + .maxSets = 1, + .poolSizeCount = 1, + .pPoolSizes = &pool_size, + }; + + res = vkCreateDescriptorPool(ctx->device, &pool_info, NULL, &pipe->desc_pool); + if (res != VK_SUCCESS) + return -1; + + // ── Allocate descriptor set ──────────────────────────────────── + VkDescriptorSetAllocateInfo alloc_info = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, + .descriptorPool = pipe->desc_pool, + .descriptorSetCount = 1, + .pSetLayouts = &pipe->desc_layout, + }; + + res = vkAllocateDescriptorSets(ctx->device, &alloc_info, &pipe->desc_set); + if (res != VK_SUCCESS) + return -1; + + LOG_OK("GPU compression pipeline initialized"); + return 0; +} + +// ── Compress data using GPU ──────────────────────────────────────── +int gpu_compress_data(GpuCompressPipeline *pipe, const uint8_t *input_data, + uint64_t input_size, uint32_t block_size, + uint8_t ***out_blocks, uint32_t **out_block_sizes, + uint32_t *out_block_count) { + + GpuContext *ctx = pipe->ctx; + uint32_t n_blocks = (uint32_t)((input_size + block_size - 1) / block_size); + + *out_block_count = n_blocks; + *out_blocks = (uint8_t **)calloc(n_blocks, sizeof(uint8_t *)); + *out_block_sizes = (uint32_t *)calloc(n_blocks, sizeof(uint32_t)); + + // Worst case: each byte becomes 2 bytes (literal token) + uint64_t worst_case_output = input_size * 2 + n_blocks * 16; + + // Round up sizes to 4 bytes for uint packing + VkDeviceSize in_buf_size = ((input_size + 3) / 4) * 4; + VkDeviceSize out_buf_size = ((worst_case_output + 3) / 4) * 4; + VkDeviceSize meta_buf_size = n_blocks * sizeof(BlockMeta); + + // ── Create GPU buffers ───────────────────────────────────────── + VkMemoryPropertyFlags host_visible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + + if (gpu_create_buffer(ctx, in_buf_size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, + host_visible, &pipe->input_buffer, + &pipe->input_memory) != 0) { + LOG_ERR("Failed to create input buffer"); + return -1; + } + + if (gpu_create_buffer(ctx, out_buf_size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, + host_visible, &pipe->output_buffer, + &pipe->output_memory) != 0) { + LOG_ERR("Failed to create output buffer"); + return -1; + } + + if (gpu_create_buffer(ctx, meta_buf_size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, + host_visible, &pipe->meta_buffer, + &pipe->meta_memory) != 0) { + LOG_ERR("Failed to create metadata buffer"); + return -1; + } + + // ── Upload input data ────────────────────────────────────────── + // Zero-fill then upload + void *mapped; + vkMapMemory(ctx->device, pipe->input_memory, 0, in_buf_size, 0, &mapped); + memset(mapped, 0, (size_t)in_buf_size); + memcpy(mapped, input_data, (size_t)input_size); + vkUnmapMemory(ctx->device, pipe->input_memory); + + // Zero the output buffer + vkMapMemory(ctx->device, pipe->output_memory, 0, out_buf_size, 0, &mapped); + memset(mapped, 0, (size_t)out_buf_size); + vkUnmapMemory(ctx->device, pipe->output_memory); + + // ── Build block metadata ─────────────────────────────────────── + BlockMeta *block_metas = (BlockMeta *)calloc(n_blocks, sizeof(BlockMeta)); + uint32_t out_offset = 0; + + for (uint32_t i = 0; i < n_blocks; i++) { + uint64_t remaining = input_size - (uint64_t)i * block_size; + uint32_t this_block_size = + (uint32_t)(remaining < block_size ? remaining : block_size); + + block_metas[i].input_offset = i * block_size; + block_metas[i].input_size = this_block_size; + block_metas[i].output_offset = out_offset; + block_metas[i].output_size = 0; + + // Allocate worst-case per block in output + out_offset += this_block_size * 2 + 16; + } + + gpu_upload_data(ctx, pipe->meta_memory, block_metas, meta_buf_size); + + // ── Update descriptor set ────────────────────────────────────── + VkDescriptorBufferInfo buffer_infos[3] = { + {.buffer = pipe->input_buffer, .offset = 0, .range = in_buf_size}, + {.buffer = pipe->output_buffer, .offset = 0, .range = out_buf_size}, + {.buffer = pipe->meta_buffer, .offset = 0, .range = meta_buf_size}, + }; + + VkWriteDescriptorSet writes[3]; + for (int i = 0; i < 3; i++) { + writes[i] = (VkWriteDescriptorSet){ + .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, + .dstSet = pipe->desc_set, + .dstBinding = (uint32_t)i, + .descriptorCount = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .pBufferInfo = &buffer_infos[i], + }; + } + vkUpdateDescriptorSets(ctx->device, 3, writes, 0, NULL); + + // ── Record and submit command buffer ─────────────────────────── + VkCommandBufferAllocateInfo cmd_alloc = { + .sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, + .commandPool = ctx->command_pool, + .level = VK_COMMAND_BUFFER_LEVEL_PRIMARY, + .commandBufferCount = 1, + }; + + VkCommandBuffer cmd; + vkAllocateCommandBuffers(ctx->device, &cmd_alloc, &cmd); + + VkCommandBufferBeginInfo begin_info = { + .sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, + .flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, + }; + + vkBeginCommandBuffer(cmd, &begin_info); + + vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, pipe->pipeline); + vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, + pipe->pipeline_layout, 0, 1, &pipe->desc_set, 0, + NULL); + + CompressPushConstants pc = { + .block_count = n_blocks, + .block_size = block_size, + .max_match_len = VKZ_MAX_MATCH_LEN, + .window_size = VKZ_WINDOW_SIZE, + }; + vkCmdPushConstants(cmd, pipe->pipeline_layout, VK_SHADER_STAGE_COMPUTE_BIT, 0, + sizeof(CompressPushConstants), &pc); + + // Dispatch one workgroup per block + vkCmdDispatch(cmd, n_blocks, 1, 1); + + // Memory barrier to ensure compute is done before reading results + VkMemoryBarrier barrier = { + .sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER, + .srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT, + .dstAccessMask = VK_ACCESS_HOST_READ_BIT, + }; + vkCmdPipelineBarrier(cmd, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, + VK_PIPELINE_STAGE_HOST_BIT, 0, 1, &barrier, 0, NULL, 0, + NULL); + + vkEndCommandBuffer(cmd); + + // Submit + VkSubmitInfo submit = { + .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO, + .commandBufferCount = 1, + .pCommandBuffers = &cmd, + }; + + VkFence fence; + VkFenceCreateInfo fence_info = {.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO}; + vkCreateFence(ctx->device, &fence_info, NULL, &fence); + + vkQueueSubmit(ctx->compute_queue, 1, &submit, fence); + vkWaitForFences(ctx->device, 1, &fence, VK_TRUE, UINT64_MAX); + + vkDestroyFence(ctx->device, fence, NULL); + vkFreeCommandBuffers(ctx->device, ctx->command_pool, 1, &cmd); + + // ── Read back results ────────────────────────────────────────── + // Read updated metadata + gpu_download_data(ctx, pipe->meta_memory, block_metas, meta_buf_size); + + // Read compressed output + uint8_t *output_raw = (uint8_t *)malloc((size_t)out_buf_size); + gpu_download_data(ctx, pipe->output_memory, output_raw, out_buf_size); + + // Extract individual compressed blocks + for (uint32_t i = 0; i < n_blocks; i++) { + uint32_t comp_size = block_metas[i].output_size; + + // If GPU didn't compress (output_size == 0 or >= input), store raw + if (comp_size == 0 || comp_size >= block_metas[i].input_size) { + comp_size = block_metas[i].input_size; + (*out_blocks)[i] = (uint8_t *)malloc(comp_size); + memcpy((*out_blocks)[i], input_data + block_metas[i].input_offset, + comp_size); + } else { + (*out_blocks)[i] = (uint8_t *)malloc(comp_size); + memcpy((*out_blocks)[i], output_raw + block_metas[i].output_offset, + comp_size); + } + (*out_block_sizes)[i] = comp_size; + } + + free(output_raw); + free(block_metas); + + // ── Cleanup GPU buffers ──────────────────────────────────────── + vkDestroyBuffer(ctx->device, pipe->input_buffer, NULL); + vkFreeMemory(ctx->device, pipe->input_memory, NULL); + vkDestroyBuffer(ctx->device, pipe->output_buffer, NULL); + vkFreeMemory(ctx->device, pipe->output_memory, NULL); + vkDestroyBuffer(ctx->device, pipe->meta_buffer, NULL); + vkFreeMemory(ctx->device, pipe->meta_memory, NULL); + + pipe->input_buffer = VK_NULL_HANDLE; + pipe->input_memory = VK_NULL_HANDLE; + pipe->output_buffer = VK_NULL_HANDLE; + pipe->output_memory = VK_NULL_HANDLE; + pipe->meta_buffer = VK_NULL_HANDLE; + pipe->meta_memory = VK_NULL_HANDLE; + + return 0; +} + +// ── Cleanup ──────────────────────────────────────────────────────── +void gpu_compress_cleanup(GpuCompressPipeline *pipe) { + if (!pipe || !pipe->ctx) + return; + VkDevice dev = pipe->ctx->device; + + if (pipe->pipeline != VK_NULL_HANDLE) + vkDestroyPipeline(dev, pipe->pipeline, NULL); + if (pipe->pipeline_layout != VK_NULL_HANDLE) + vkDestroyPipelineLayout(dev, pipe->pipeline_layout, NULL); + if (pipe->desc_pool != VK_NULL_HANDLE) + vkDestroyDescriptorPool(dev, pipe->desc_pool, NULL); + if (pipe->desc_layout != VK_NULL_HANDLE) + vkDestroyDescriptorSetLayout(dev, pipe->desc_layout, NULL); + + // Buffers may already be freed in compress_data + if (pipe->input_buffer != VK_NULL_HANDLE) + vkDestroyBuffer(dev, pipe->input_buffer, NULL); + if (pipe->input_memory != VK_NULL_HANDLE) + vkFreeMemory(dev, pipe->input_memory, NULL); + if (pipe->output_buffer != VK_NULL_HANDLE) + vkDestroyBuffer(dev, pipe->output_buffer, NULL); + if (pipe->output_memory != VK_NULL_HANDLE) + vkFreeMemory(dev, pipe->output_memory, NULL); + if (pipe->meta_buffer != VK_NULL_HANDLE) + vkDestroyBuffer(dev, pipe->meta_buffer, NULL); + if (pipe->meta_memory != VK_NULL_HANDLE) + vkFreeMemory(dev, pipe->meta_memory, NULL); +} diff --git a/src/gpu_compress.h b/src/gpu_compress.h new file mode 100644 index 0000000..6f54960 --- /dev/null +++ b/src/gpu_compress.h @@ -0,0 +1,63 @@ +#ifndef GPU_COMPRESS_H +#define GPU_COMPRESS_H + +#include "gpu_context.h" +#include "vkz_format.h" + +// ── GPU Compression Pipeline ─────────────────────────────────────── +typedef struct { + GpuContext *ctx; + + // Pipeline + VkPipelineLayout pipeline_layout; + VkPipeline pipeline; + VkDescriptorSetLayout desc_layout; + VkDescriptorPool desc_pool; + VkDescriptorSet desc_set; + + // GPU Buffers + VkBuffer input_buffer; + VkDeviceMemory input_memory; + VkBuffer output_buffer; + VkDeviceMemory output_memory; + VkBuffer meta_buffer; + VkDeviceMemory meta_memory; + + // Sizes + VkDeviceSize input_size; + VkDeviceSize output_size; + VkDeviceSize meta_size; +} GpuCompressPipeline; + +// Push constants matching shader layout +typedef struct { + uint32_t block_count; + uint32_t block_size; + uint32_t max_match_len; + uint32_t window_size; +} CompressPushConstants; + +// Block metadata matching shader layout (uvec4) +typedef struct { + uint32_t input_offset; + uint32_t input_size; + uint32_t output_offset; + uint32_t output_size; // Written by shader +} BlockMeta; + +// ── Functions ────────────────────────────────────────────────────── + +// Initialize compression pipeline +int gpu_compress_init(GpuCompressPipeline *pipe, GpuContext *ctx); + +// Compress data using GPU +// Returns array of compressed block buffers (caller must free each + array) +int gpu_compress_data(GpuCompressPipeline *pipe, const uint8_t *input_data, + uint64_t input_size, uint32_t block_size, + uint8_t ***out_blocks, uint32_t **out_block_sizes, + uint32_t *out_block_count); + +// Cleanup compression pipeline +void gpu_compress_cleanup(GpuCompressPipeline *pipe); + +#endif // GPU_COMPRESS_H diff --git a/src/gpu_context.c b/src/gpu_context.c new file mode 100644 index 0000000..fbffda7 --- /dev/null +++ b/src/gpu_context.c @@ -0,0 +1,346 @@ +#include "gpu_context.h" + +// ── Initialize Vulkan ────────────────────────────────────────────── +int gpu_init(GpuContext *ctx) { + memset(ctx, 0, sizeof(GpuContext)); + + // ── Create Vulkan instance ───────────────────────────────────── + VkApplicationInfo app_info = { + .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, + .pApplicationName = "VKZip", + .applicationVersion = VK_MAKE_VERSION(1, 0, 0), + .pEngineName = "VKZip Engine", + .engineVersion = VK_MAKE_VERSION(1, 0, 0), + .apiVersion = VK_API_VERSION_1_2, + }; + + VkInstanceCreateInfo instance_info = { + .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, + .pApplicationInfo = &app_info, + }; + + VkResult res = vkCreateInstance(&instance_info, NULL, &ctx->instance); + if (res != VK_SUCCESS) { + LOG_ERR("Failed to create Vulkan instance (VkResult: %d)", res); + LOG_ERR("Make sure Vulkan drivers are installed!"); + return -1; + } + + // ── Select physical device (prefer discrete GPU) ─────────────── + uint32_t device_count = 0; + vkEnumeratePhysicalDevices(ctx->instance, &device_count, NULL); + if (device_count == 0) { + LOG_ERR("No Vulkan-capable GPU found!"); + return -1; + } + + VkPhysicalDevice *devices = + (VkPhysicalDevice *)malloc(device_count * sizeof(VkPhysicalDevice)); + vkEnumeratePhysicalDevices(ctx->instance, &device_count, devices); + + // Score and pick best device + int best_score = -1; + uint32_t best_idx = 0; + + for (uint32_t i = 0; i < device_count; i++) { + VkPhysicalDeviceProperties props; + vkGetPhysicalDeviceProperties(devices[i], &props); + + int score = 0; + if (props.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) + score += 1000; + else if (props.deviceType == VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU) + score += 100; + + // Prefer more compute units / higher limits + score += props.limits.maxComputeWorkGroupInvocations / 32; + + if (score > best_score) { + best_score = score; + best_idx = i; + } + } + + ctx->physical_device = devices[best_idx]; + free(devices); + + vkGetPhysicalDeviceProperties(ctx->physical_device, &ctx->device_props); + vkGetPhysicalDeviceMemoryProperties(ctx->physical_device, &ctx->mem_props); + + strncpy(ctx->device_name, ctx->device_props.deviceName, + sizeof(ctx->device_name) - 1); + ctx->max_workgroup_size = + ctx->device_props.limits.maxComputeWorkGroupInvocations; + + // Calculate VRAM + ctx->vram_size = 0; + for (uint32_t i = 0; i < ctx->mem_props.memoryHeapCount; i++) { + if (ctx->mem_props.memoryHeaps[i].flags & VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) { + ctx->vram_size += ctx->mem_props.memoryHeaps[i].size; + } + } + + // ── Find compute queue family ────────────────────────────────── + uint32_t queue_family_count = 0; + vkGetPhysicalDeviceQueueFamilyProperties(ctx->physical_device, + &queue_family_count, NULL); + VkQueueFamilyProperties *queue_families = (VkQueueFamilyProperties *)malloc( + queue_family_count * sizeof(VkQueueFamilyProperties)); + vkGetPhysicalDeviceQueueFamilyProperties(ctx->physical_device, + &queue_family_count, queue_families); + + ctx->compute_queue_family = UINT32_MAX; + + // Prefer a dedicated compute queue (no graphics) + for (uint32_t i = 0; i < queue_family_count; i++) { + if ((queue_families[i].queueFlags & VK_QUEUE_COMPUTE_BIT) && + !(queue_families[i].queueFlags & VK_QUEUE_GRAPHICS_BIT)) { + ctx->compute_queue_family = i; + break; + } + } + + // Fallback to any compute queue + if (ctx->compute_queue_family == UINT32_MAX) { + for (uint32_t i = 0; i < queue_family_count; i++) { + if (queue_families[i].queueFlags & VK_QUEUE_COMPUTE_BIT) { + ctx->compute_queue_family = i; + break; + } + } + } + + free(queue_families); + + if (ctx->compute_queue_family == UINT32_MAX) { + LOG_ERR("No compute queue family found on GPU!"); + return -1; + } + + // ── Create logical device ────────────────────────────────────── + float queue_priority = 1.0f; + VkDeviceQueueCreateInfo queue_info = { + .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, + .queueFamilyIndex = ctx->compute_queue_family, + .queueCount = 1, + .pQueuePriorities = &queue_priority, + }; + + VkDeviceCreateInfo device_info = { + .sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, + .queueCreateInfoCount = 1, + .pQueueCreateInfos = &queue_info, + }; + + res = vkCreateDevice(ctx->physical_device, &device_info, NULL, &ctx->device); + if (res != VK_SUCCESS) { + LOG_ERR("Failed to create Vulkan device (VkResult: %d)", res); + return -1; + } + + vkGetDeviceQueue(ctx->device, ctx->compute_queue_family, 0, + &ctx->compute_queue); + + // ── Create command pool ──────────────────────────────────────── + VkCommandPoolCreateInfo pool_info = { + .sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO, + .queueFamilyIndex = ctx->compute_queue_family, + .flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, + }; + + res = vkCreateCommandPool(ctx->device, &pool_info, NULL, &ctx->command_pool); + if (res != VK_SUCCESS) { + LOG_ERR("Failed to create command pool (VkResult: %d)", res); + return -1; + } + + ctx->is_initialized = true; + return 0; +} + +// ── Load SPIR-V shader ───────────────────────────────────────────── +VkShaderModule gpu_load_shader(GpuContext *ctx, const char *spv_path) { + FILE *f = fopen(spv_path, "rb"); + if (!f) { + LOG_ERR("Cannot open shader: %s", spv_path); + return VK_NULL_HANDLE; + } + + fseek(f, 0, SEEK_END); + size_t size = (size_t)ftell(f); + fseek(f, 0, SEEK_SET); + + uint32_t *code = (uint32_t *)malloc(size); + if (!code) { + fclose(f); + return VK_NULL_HANDLE; + } + + fread(code, 1, size, f); + fclose(f); + + VkShaderModuleCreateInfo create_info = { + .sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO, + .codeSize = size, + .pCode = code, + }; + + VkShaderModule shader; + VkResult res = vkCreateShaderModule(ctx->device, &create_info, NULL, &shader); + free(code); + + if (res != VK_SUCCESS) { + LOG_ERR("Failed to create shader module from %s (VkResult: %d)", spv_path, + res); + return VK_NULL_HANDLE; + } + + return shader; +} + +// ── Find memory type ─────────────────────────────────────────────── +uint32_t gpu_find_memory_type(GpuContext *ctx, uint32_t type_bits, + VkMemoryPropertyFlags properties) { + for (uint32_t i = 0; i < ctx->mem_props.memoryTypeCount; i++) { + if ((type_bits & (1 << i)) && (ctx->mem_props.memoryTypes[i].propertyFlags & + properties) == properties) { + return i; + } + } + return UINT32_MAX; +} + +// ── Create buffer ────────────────────────────────────────────────── +int gpu_create_buffer(GpuContext *ctx, VkDeviceSize size, + VkBufferUsageFlags usage, + VkMemoryPropertyFlags mem_props_flags, VkBuffer *buffer, + VkDeviceMemory *memory) { + VkBufferCreateInfo buffer_info = { + .sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, + .size = size, + .usage = usage, + .sharingMode = VK_SHARING_MODE_EXCLUSIVE, + }; + + VkResult res = vkCreateBuffer(ctx->device, &buffer_info, NULL, buffer); + if (res != VK_SUCCESS) + return -1; + + VkMemoryRequirements mem_req; + vkGetBufferMemoryRequirements(ctx->device, *buffer, &mem_req); + + uint32_t mem_type = + gpu_find_memory_type(ctx, mem_req.memoryTypeBits, mem_props_flags); + if (mem_type == UINT32_MAX) { + vkDestroyBuffer(ctx->device, *buffer, NULL); + return -1; + } + + VkMemoryAllocateInfo alloc_info = { + .sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, + .allocationSize = mem_req.size, + .memoryTypeIndex = mem_type, + }; + + res = vkAllocateMemory(ctx->device, &alloc_info, NULL, memory); + if (res != VK_SUCCESS) { + vkDestroyBuffer(ctx->device, *buffer, NULL); + return -1; + } + + vkBindBufferMemory(ctx->device, *buffer, *memory, 0); + return 0; +} + +// ── Upload data to GPU ───────────────────────────────────────────── +int gpu_upload_data(GpuContext *ctx, VkDeviceMemory memory, const void *data, + VkDeviceSize size) { + void *mapped; + VkResult res = vkMapMemory(ctx->device, memory, 0, size, 0, &mapped); + if (res != VK_SUCCESS) + return -1; + memcpy(mapped, data, (size_t)size); + vkUnmapMemory(ctx->device, memory); + return 0; +} + +// ── Download data from GPU ───────────────────────────────────────── +int gpu_download_data(GpuContext *ctx, VkDeviceMemory memory, void *data, + VkDeviceSize size) { + void *mapped; + VkResult res = vkMapMemory(ctx->device, memory, 0, size, 0, &mapped); + if (res != VK_SUCCESS) + return -1; + memcpy(data, mapped, (size_t)size); + vkUnmapMemory(ctx->device, memory); + return 0; +} + +// ── Print GPU info ───────────────────────────────────────────────── +void gpu_print_info(const GpuContext *ctx) { + char vram_buf[32]; + format_size(ctx->vram_size, vram_buf, sizeof(vram_buf)); + + const char *type_str = "Unknown"; + switch (ctx->device_props.deviceType) { + case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: + type_str = "Discrete GPU"; + break; + case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: + type_str = "Integrated GPU"; + break; + case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: + type_str = "Virtual GPU"; + break; + case VK_PHYSICAL_DEVICE_TYPE_CPU: + type_str = "CPU"; + break; + default: + break; + } + + printf("\n"); + printf(COL_BOLD COL_MAGENTA + "╔══════════════════════════════════════════╗\n" COL_RESET); + printf(COL_BOLD COL_MAGENTA + "║ GPU Information ║\n" COL_RESET); + printf(COL_BOLD COL_MAGENTA + "╠══════════════════════════════════════════╣\n" COL_RESET); + printf(COL_MAGENTA "║" COL_RESET " Device: %-28s" COL_MAGENTA + "║\n" COL_RESET, + ctx->device_name); + printf(COL_MAGENTA "║" COL_RESET " Type: %-28s" COL_MAGENTA + "║\n" COL_RESET, + type_str); + printf(COL_MAGENTA "║" COL_RESET " VRAM: %-28s" COL_MAGENTA + "║\n" COL_RESET, + vram_buf); + printf(COL_MAGENTA "║" COL_RESET " Max WG: %-28u" COL_MAGENTA + "║\n" COL_RESET, + ctx->max_workgroup_size); + printf(COL_MAGENTA "║" COL_RESET " Vulkan API: %u.%u.%u%*s" COL_MAGENTA + "║\n" COL_RESET, + VK_API_VERSION_MAJOR(ctx->device_props.apiVersion), + VK_API_VERSION_MINOR(ctx->device_props.apiVersion), + VK_API_VERSION_PATCH(ctx->device_props.apiVersion), 21, ""); + printf(COL_BOLD COL_MAGENTA + "╚══════════════════════════════════════════╝\n" COL_RESET); + printf("\n"); +} + +// ── Cleanup ──────────────────────────────────────────────────────── +void gpu_cleanup(GpuContext *ctx) { + if (!ctx || !ctx->is_initialized) + return; + + if (ctx->compress_shader != VK_NULL_HANDLE) + vkDestroyShaderModule(ctx->device, ctx->compress_shader, NULL); + if (ctx->decompress_shader != VK_NULL_HANDLE) + vkDestroyShaderModule(ctx->device, ctx->decompress_shader, NULL); + + vkDestroyCommandPool(ctx->device, ctx->command_pool, NULL); + vkDestroyDevice(ctx->device, NULL); + vkDestroyInstance(ctx->instance, NULL); + + ctx->is_initialized = false; +} diff --git a/src/gpu_context.h b/src/gpu_context.h new file mode 100644 index 0000000..1124e2b --- /dev/null +++ b/src/gpu_context.h @@ -0,0 +1,61 @@ +#ifndef GPU_CONTEXT_H +#define GPU_CONTEXT_H + +#include "utils.h" +#include + +// ── GPU Context ──────────────────────────────────────────────────── +typedef struct { + VkInstance instance; + VkPhysicalDevice physical_device; + VkDevice device; + VkQueue compute_queue; + uint32_t compute_queue_family; + VkCommandPool command_pool; + VkPhysicalDeviceProperties device_props; + VkPhysicalDeviceMemoryProperties mem_props; + + // Shader modules + VkShaderModule compress_shader; + VkShaderModule decompress_shader; + + // GPU info + char device_name[256]; + uint64_t vram_size; + uint32_t max_workgroup_size; + bool is_initialized; +} GpuContext; + +// ── Functions ────────────────────────────────────────────────────── + +// Initialize Vulkan GPU context +int gpu_init(GpuContext *ctx); + +// Load a SPIR-V shader module +VkShaderModule gpu_load_shader(GpuContext *ctx, const char *spv_path); + +// Find memory type index matching requirements +uint32_t gpu_find_memory_type(GpuContext *ctx, uint32_t type_bits, + VkMemoryPropertyFlags properties); + +// Create a GPU buffer +int gpu_create_buffer(GpuContext *ctx, VkDeviceSize size, + VkBufferUsageFlags usage, + VkMemoryPropertyFlags mem_props_flags, VkBuffer *buffer, + VkDeviceMemory *memory); + +// Copy data to GPU buffer +int gpu_upload_data(GpuContext *ctx, VkDeviceMemory memory, const void *data, + VkDeviceSize size); + +// Copy data from GPU buffer +int gpu_download_data(GpuContext *ctx, VkDeviceMemory memory, void *data, + VkDeviceSize size); + +// Print GPU information +void gpu_print_info(const GpuContext *ctx); + +// Cleanup GPU context +void gpu_cleanup(GpuContext *ctx); + +#endif // GPU_CONTEXT_H diff --git a/src/gpu_decompress.c b/src/gpu_decompress.c new file mode 100644 index 0000000..3d9db9e --- /dev/null +++ b/src/gpu_decompress.c @@ -0,0 +1,335 @@ +#include "gpu_decompress.h" +#include "gpu_compress.h" // for BlockMeta +#include + +// ── Initialize decompression pipeline ────────────────────────────── +int gpu_decompress_init(GpuDecompressPipeline *pipe, GpuContext *ctx) { + memset(pipe, 0, sizeof(GpuDecompressPipeline)); + pipe->ctx = ctx; + + // ── Descriptor set layout (same as compression) ──────────────── + VkDescriptorSetLayoutBinding bindings[3] = { + {.binding = 0, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT}, + {.binding = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT}, + {.binding = 2, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 1, + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT}, + }; + + VkDescriptorSetLayoutCreateInfo layout_info = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, + .bindingCount = 3, + .pBindings = bindings, + }; + + VkResult res = vkCreateDescriptorSetLayout(ctx->device, &layout_info, NULL, + &pipe->desc_layout); + if (res != VK_SUCCESS) + return -1; + + VkPushConstantRange push_range = { + .stageFlags = VK_SHADER_STAGE_COMPUTE_BIT, + .offset = 0, + .size = sizeof(DecompressPushConstants), + }; + + VkPipelineLayoutCreateInfo pipe_layout_info = { + .sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, + .setLayoutCount = 1, + .pSetLayouts = &pipe->desc_layout, + .pushConstantRangeCount = 1, + .pPushConstantRanges = &push_range, + }; + + res = vkCreatePipelineLayout(ctx->device, &pipe_layout_info, NULL, + &pipe->pipeline_layout); + if (res != VK_SUCCESS) + return -1; + + VkComputePipelineCreateInfo pipeline_info = { + .sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, + .stage = + { + .sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, + .stage = VK_SHADER_STAGE_COMPUTE_BIT, + .module = ctx->decompress_shader, + .pName = "main", + }, + .layout = pipe->pipeline_layout, + }; + + res = vkCreateComputePipelines(ctx->device, VK_NULL_HANDLE, 1, &pipeline_info, + NULL, &pipe->pipeline); + if (res != VK_SUCCESS) { + LOG_ERR("Failed to create decompression compute pipeline (VkResult: %d)", + res); + return -1; + } + + VkDescriptorPoolSize pool_size = { + .type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .descriptorCount = 3, + }; + + VkDescriptorPoolCreateInfo pool_info = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO, + .maxSets = 1, + .poolSizeCount = 1, + .pPoolSizes = &pool_size, + }; + + res = vkCreateDescriptorPool(ctx->device, &pool_info, NULL, &pipe->desc_pool); + if (res != VK_SUCCESS) + return -1; + + VkDescriptorSetAllocateInfo alloc_info = { + .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, + .descriptorPool = pipe->desc_pool, + .descriptorSetCount = 1, + .pSetLayouts = &pipe->desc_layout, + }; + + res = vkAllocateDescriptorSets(ctx->device, &alloc_info, &pipe->desc_set); + if (res != VK_SUCCESS) + return -1; + + LOG_OK("GPU decompression pipeline initialized"); + return 0; +} + +// ── Decompress data using GPU ────────────────────────────────────── +int gpu_decompress_data(GpuDecompressPipeline *pipe, const VkzArchive *archive, + const char *archive_path, uint8_t *output_data, + uint64_t output_size) { + + GpuContext *ctx = pipe->ctx; + uint32_t n_blocks = archive->header.block_count; + uint32_t block_size = archive->header.block_size; + + // ── Read all compressed blocks into one buffer ───────────────── + uint64_t total_compressed = 0; + for (uint32_t i = 0; i < n_blocks; i++) { + total_compressed += archive->blocks[i].compressed_size; + } + + uint8_t *compressed_data = + (uint8_t *)calloc(1, (size_t)total_compressed + 16); + if (!compressed_data) + return -1; + + // Read compressed blocks from archive file + FILE *f = fopen(archive_path, "rb"); + if (!f) { + free(compressed_data); + return -1; + } + + uint64_t comp_offset = 0; + for (uint32_t i = 0; i < n_blocks; i++) { + fseek(f, (long)archive->blocks[i].compressed_offset, SEEK_SET); + fread(compressed_data + comp_offset, 1, archive->blocks[i].compressed_size, + f); + comp_offset += archive->blocks[i].compressed_size; + } + fclose(f); + + // ── Build block metadata ─────────────────────────────────────── + BlockMeta *block_metas = (BlockMeta *)calloc(n_blocks, sizeof(BlockMeta)); + uint32_t in_off = 0; + uint32_t out_off = 0; + + for (uint32_t i = 0; i < n_blocks; i++) { + block_metas[i].input_offset = in_off; + block_metas[i].input_size = archive->blocks[i].compressed_size; + block_metas[i].output_offset = out_off; + block_metas[i].output_size = archive->blocks[i].original_size; + + in_off += archive->blocks[i].compressed_size; + out_off += archive->blocks[i].original_size; + } + + // ── Create GPU buffers ───────────────────────────────────────── + VkDeviceSize in_buf_size = ((total_compressed + 3) / 4) * 4; + VkDeviceSize out_buf_size = ((output_size + 3) / 4) * 4; + VkDeviceSize meta_buf_size = n_blocks * sizeof(BlockMeta); + + VkMemoryPropertyFlags host_visible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + + if (gpu_create_buffer(ctx, in_buf_size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, + host_visible, &pipe->input_buffer, + &pipe->input_memory) != 0) { + free(compressed_data); + free(block_metas); + return -1; + } + + if (gpu_create_buffer(ctx, out_buf_size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, + host_visible, &pipe->output_buffer, + &pipe->output_memory) != 0) { + free(compressed_data); + free(block_metas); + return -1; + } + + if (gpu_create_buffer(ctx, meta_buf_size, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, + host_visible, &pipe->meta_buffer, + &pipe->meta_memory) != 0) { + free(compressed_data); + free(block_metas); + return -1; + } + + // Upload data + void *mapped; + vkMapMemory(ctx->device, pipe->input_memory, 0, in_buf_size, 0, &mapped); + memset(mapped, 0, (size_t)in_buf_size); + memcpy(mapped, compressed_data, (size_t)total_compressed); + vkUnmapMemory(ctx->device, pipe->input_memory); + + vkMapMemory(ctx->device, pipe->output_memory, 0, out_buf_size, 0, &mapped); + memset(mapped, 0, (size_t)out_buf_size); + vkUnmapMemory(ctx->device, pipe->output_memory); + + gpu_upload_data(ctx, pipe->meta_memory, block_metas, meta_buf_size); + + // ── Update descriptor set ────────────────────────────────────── + VkDescriptorBufferInfo buffer_infos[3] = { + {.buffer = pipe->input_buffer, .offset = 0, .range = in_buf_size}, + {.buffer = pipe->output_buffer, .offset = 0, .range = out_buf_size}, + {.buffer = pipe->meta_buffer, .offset = 0, .range = meta_buf_size}, + }; + + VkWriteDescriptorSet writes[3]; + for (int i = 0; i < 3; i++) { + writes[i] = (VkWriteDescriptorSet){ + .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, + .dstSet = pipe->desc_set, + .dstBinding = (uint32_t)i, + .descriptorCount = 1, + .descriptorType = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, + .pBufferInfo = &buffer_infos[i], + }; + } + vkUpdateDescriptorSets(ctx->device, 3, writes, 0, NULL); + + // ── Dispatch compute ─────────────────────────────────────────── + VkCommandBufferAllocateInfo cmd_alloc = { + .sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO, + .commandPool = ctx->command_pool, + .level = VK_COMMAND_BUFFER_LEVEL_PRIMARY, + .commandBufferCount = 1, + }; + + VkCommandBuffer cmd; + vkAllocateCommandBuffers(ctx->device, &cmd_alloc, &cmd); + + VkCommandBufferBeginInfo begin_info = { + .sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, + .flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, + }; + + vkBeginCommandBuffer(cmd, &begin_info); + + vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, pipe->pipeline); + vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_COMPUTE, + pipe->pipeline_layout, 0, 1, &pipe->desc_set, 0, + NULL); + + DecompressPushConstants pc = { + .block_count = n_blocks, + .block_size = block_size, + ._pad1 = 0, + ._pad2 = 0, + }; + vkCmdPushConstants(cmd, pipe->pipeline_layout, VK_SHADER_STAGE_COMPUTE_BIT, 0, + sizeof(DecompressPushConstants), &pc); + + vkCmdDispatch(cmd, n_blocks, 1, 1); + + VkMemoryBarrier barrier = { + .sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER, + .srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT, + .dstAccessMask = VK_ACCESS_HOST_READ_BIT, + }; + vkCmdPipelineBarrier(cmd, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, + VK_PIPELINE_STAGE_HOST_BIT, 0, 1, &barrier, 0, NULL, 0, + NULL); + + vkEndCommandBuffer(cmd); + + VkSubmitInfo submit = { + .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO, + .commandBufferCount = 1, + .pCommandBuffers = &cmd, + }; + + VkFence fence; + VkFenceCreateInfo fence_info = {.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO}; + vkCreateFence(ctx->device, &fence_info, NULL, &fence); + + vkQueueSubmit(ctx->compute_queue, 1, &submit, fence); + vkWaitForFences(ctx->device, 1, &fence, VK_TRUE, UINT64_MAX); + + vkDestroyFence(ctx->device, fence, NULL); + vkFreeCommandBuffers(ctx->device, ctx->command_pool, 1, &cmd); + + // ── Read back decompressed data ──────────────────────────────── + gpu_download_data(ctx, pipe->output_memory, output_data, output_size); + + // ── Cleanup ──────────────────────────────────────────────────── + vkDestroyBuffer(ctx->device, pipe->input_buffer, NULL); + vkFreeMemory(ctx->device, pipe->input_memory, NULL); + vkDestroyBuffer(ctx->device, pipe->output_buffer, NULL); + vkFreeMemory(ctx->device, pipe->output_memory, NULL); + vkDestroyBuffer(ctx->device, pipe->meta_buffer, NULL); + vkFreeMemory(ctx->device, pipe->meta_memory, NULL); + + pipe->input_buffer = VK_NULL_HANDLE; + pipe->input_memory = VK_NULL_HANDLE; + pipe->output_buffer = VK_NULL_HANDLE; + pipe->output_memory = VK_NULL_HANDLE; + pipe->meta_buffer = VK_NULL_HANDLE; + pipe->meta_memory = VK_NULL_HANDLE; + + free(compressed_data); + free(block_metas); + + return 0; +} + +// ── Cleanup ──────────────────────────────────────────────────────── +void gpu_decompress_cleanup(GpuDecompressPipeline *pipe) { + if (!pipe || !pipe->ctx) + return; + VkDevice dev = pipe->ctx->device; + + if (pipe->pipeline != VK_NULL_HANDLE) + vkDestroyPipeline(dev, pipe->pipeline, NULL); + if (pipe->pipeline_layout != VK_NULL_HANDLE) + vkDestroyPipelineLayout(dev, pipe->pipeline_layout, NULL); + if (pipe->desc_pool != VK_NULL_HANDLE) + vkDestroyDescriptorPool(dev, pipe->desc_pool, NULL); + if (pipe->desc_layout != VK_NULL_HANDLE) + vkDestroyDescriptorSetLayout(dev, pipe->desc_layout, NULL); + + if (pipe->input_buffer != VK_NULL_HANDLE) + vkDestroyBuffer(dev, pipe->input_buffer, NULL); + if (pipe->input_memory != VK_NULL_HANDLE) + vkFreeMemory(dev, pipe->input_memory, NULL); + if (pipe->output_buffer != VK_NULL_HANDLE) + vkDestroyBuffer(dev, pipe->output_buffer, NULL); + if (pipe->output_memory != VK_NULL_HANDLE) + vkFreeMemory(dev, pipe->output_memory, NULL); + if (pipe->meta_buffer != VK_NULL_HANDLE) + vkDestroyBuffer(dev, pipe->meta_buffer, NULL); + if (pipe->meta_memory != VK_NULL_HANDLE) + vkFreeMemory(dev, pipe->meta_memory, NULL); +} diff --git a/src/gpu_decompress.h b/src/gpu_decompress.h new file mode 100644 index 0000000..64e8dc0 --- /dev/null +++ b/src/gpu_decompress.h @@ -0,0 +1,44 @@ +#ifndef GPU_DECOMPRESS_H +#define GPU_DECOMPRESS_H + +#include "gpu_context.h" +#include "vkz_format.h" + +// ── GPU Decompression Pipeline ───────────────────────────────────── +typedef struct { + GpuContext *ctx; + + VkPipelineLayout pipeline_layout; + VkPipeline pipeline; + VkDescriptorSetLayout desc_layout; + VkDescriptorPool desc_pool; + VkDescriptorSet desc_set; + + VkBuffer input_buffer; + VkDeviceMemory input_memory; + VkBuffer output_buffer; + VkDeviceMemory output_memory; + VkBuffer meta_buffer; + VkDeviceMemory meta_memory; +} GpuDecompressPipeline; + +typedef struct { + uint32_t block_count; + uint32_t block_size; + uint32_t _pad1; + uint32_t _pad2; +} DecompressPushConstants; + +// Reuse BlockMeta from gpu_compress.h + +// ── Functions ────────────────────────────────────────────────────── + +int gpu_decompress_init(GpuDecompressPipeline *pipe, GpuContext *ctx); + +int gpu_decompress_data(GpuDecompressPipeline *pipe, const VkzArchive *archive, + const char *archive_path, uint8_t *output_data, + uint64_t output_size); + +void gpu_decompress_cleanup(GpuDecompressPipeline *pipe); + +#endif // GPU_DECOMPRESS_H diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..7788e51 --- /dev/null +++ b/src/main.c @@ -0,0 +1,850 @@ +/* + * ╔══════════════════════════════════════════════════════════════════╗ + * ║ VKZip v1.0 ║ + * ║ GPU-Accelerated File Compressor/Decompressor ║ + * ║ Powered by Vulkan Compute Shaders ║ + * ╚══════════════════════════════════════════════════════════════════╝ + * + * Usage: + * vkzip compress [output.vkz] + * vkzip decompress [output_file] + * vkzip info + * vkzip benchmark + * vkzip --help + * + * Cross-platform: Linux & Windows + * GPU Support: Any Vulkan-capable GPU (NVIDIA, AMD, Intel) + * Fallback: CPU compression when no GPU is available + */ + +#include "cpu_fallback.h" +#include "gpu_compress.h" +#include "gpu_context.h" +#include "gpu_decompress.h" +#include "utils.h" +#include "vkz_format.h" +#include +#include + +// ── Banner ───────────────────────────────────────────────────────── +static void print_banner(void) { + printf("\n"); + printf(COL_BOLD COL_GREEN + " ██╗ ██╗██╗ ██╗███████╗██╗██████╗ \n" + " ██║ ██║██║ ██╔╝╚══███╔╝██║██╔══██╗\n" + " ██║ ██║█████╔╝ ███╔╝ ██║██████╔╝\n" + " ╚██╗ ██╔╝██╔═██╗ ███╔╝ ██║██╔═══╝ \n" + " ╚████╔╝ ██║ ██╗███████╗██║██║ \n" + " ╚═══╝ ╚═╝ ╚═╝╚══════╝╚═╝╚═╝ \n" COL_RESET); + printf(COL_CYAN " GPU-Accelerated File Compressor v1.0\n" COL_RESET); + printf(COL_CYAN " Powered by Vulkan Compute Shaders\n" COL_RESET); + printf("\n"); +} + +// ── Help ─────────────────────────────────────────────────────────── +static void print_help(void) { + print_banner(); + printf("Usage:\n"); + printf(" vkzip " COL_GREEN "compress" COL_RESET + " [output.vkz] Compress a file\n"); + printf(" vkzip " COL_GREEN "decompress" COL_RESET + " [output_file] Decompress archive\n"); + printf(" vkzip " COL_GREEN "info" COL_RESET + " Show archive info\n"); + printf(" vkzip " COL_GREEN "benchmark" COL_RESET + " Benchmark GPU vs CPU\n"); + printf(" vkzip " COL_GREEN "--gpu-info" COL_RESET + " Show GPU information\n"); + printf(" vkzip " COL_GREEN "--help" COL_RESET + " Show this help\n"); + printf("\n"); + printf("Options:\n"); + printf(" --cpu-only Force CPU mode (no GPU)\n"); + printf(" --block-size Block size in KB (default: 64)\n"); + printf("\n"); + printf("Examples:\n"); + printf(" vkzip compress myfile.bin\n"); + printf(" vkzip compress myfile.bin output.vkz\n"); + printf(" vkzip decompress output.vkz\n"); + printf(" vkzip decompress output.vkz restored.bin\n"); + printf(" vkzip benchmark largefile.dat\n"); + printf("\n"); +} + +// ── Find shader path ─────────────────────────────────────────────── +static int find_shader_path(char *out_path, size_t max_len, + const char *shader_name) { + // Try build directory first (defined by CMake) +#ifdef SHADER_DIR + snprintf(out_path, max_len, "%s/%s", SHADER_DIR, shader_name); + if (access(out_path, R_OK) == 0) + return 0; +#endif + + // Try relative to executable + snprintf(out_path, max_len, "shaders/%s", shader_name); + if (access(out_path, R_OK) == 0) + return 0; + + // Try installed location + snprintf(out_path, max_len, "/usr/share/vkzip/shaders/%s", shader_name); + if (access(out_path, R_OK) == 0) + return 0; + + // Try local share + snprintf(out_path, max_len, "/usr/local/share/vkzip/shaders/%s", shader_name); + if (access(out_path, R_OK) == 0) + return 0; + + return -1; +} + +// ── Check if path is a directory ─────────────────────────────────── +static bool is_directory(const char *path) { + struct stat st; + if (stat(path, &st) != 0) + return false; + return S_ISDIR(st.st_mode); +} + +// ── Strip trailing slashes ───────────────────────────────────────── +static void strip_trailing_slash(char *path) { + size_t len = strlen(path); + while (len > 1 && (path[len - 1] == '/' || path[len - 1] == '\\')) { + path[len - 1] = '\0'; + len--; + } +} + +// ── Create tar from directory ────────────────────────────────────── +static char *tar_directory(const char *dir_path) { + static char tar_path[VKZ_MAX_FILENAME]; + snprintf(tar_path, sizeof(tar_path), "/tmp/vkzip_%u.tar", (uint32_t)getpid()); + + // Get parent dir and basename + char dir_copy[VKZ_MAX_FILENAME]; + strncpy(dir_copy, dir_path, sizeof(dir_copy) - 1); + strip_trailing_slash(dir_copy); + + char *last_slash = strrchr(dir_copy, '/'); + char parent[VKZ_MAX_FILENAME] = "."; + const char *basename = dir_copy; + + if (last_slash) { + *last_slash = '\0'; + strncpy(parent, dir_copy, sizeof(parent) - 1); + basename = last_slash + 1; + } + + char cmd[VKZ_MAX_FILENAME * 3]; + snprintf(cmd, sizeof(cmd), "tar cf '%s' -C '%s' '%s' 2>/dev/null", tar_path, + parent, basename); + + LOG_INFO("Packing directory with tar..."); + int ret = system(cmd); + if (ret != 0) { + LOG_ERR("Failed to create tar archive from directory"); + return NULL; + } + + char size_buf[32]; + format_size(get_file_size(tar_path), size_buf, sizeof(size_buf)); + LOG_OK("Directory packed: %s", size_buf); + + return tar_path; +} + +// ── Extract tar to directory ─────────────────────────────────────── +static int untar_file(const char *tar_path, const char *output_dir) { + // Create output directory if needed + char cmd[VKZ_MAX_FILENAME * 3]; + + if (output_dir) { + snprintf(cmd, sizeof(cmd), + "mkdir -p '%s' && tar xf '%s' -C '%s' 2>/dev/null", output_dir, + tar_path, output_dir); + } else { + snprintf(cmd, sizeof(cmd), "tar xf '%s' 2>/dev/null", tar_path); + } + + int ret = system(cmd); + return (ret == 0) ? 0 : -1; +} + +// ── Generate output filename ─────────────────────────────────────── +static void make_compress_output(const char *input, char *output, + size_t max_len) { + // Strip trailing slash for directories + char clean[VKZ_MAX_FILENAME]; + strncpy(clean, input, sizeof(clean) - 1); + strip_trailing_slash(clean); + snprintf(output, max_len, "%s.vkz", clean); +} + +static void make_decompress_output(const VkzArchive *archive, char *output, + size_t max_len) { + if (archive->original_filename[0] != '\0') { + snprintf(output, max_len, "%s", archive->original_filename); + } else { + snprintf(output, max_len, "output.bin"); + } +} + +// ── Compress command ─────────────────────────────────────────────── +static int cmd_compress(const char *input_path, const char *output_path, + bool cpu_only, uint32_t block_size_kb) { + Timer total_timer; + timer_start(&total_timer); + + // Check if input is a directory + bool is_dir = is_directory(input_path); + const char *actual_input = input_path; + char *tar_temp_path = NULL; + + if (is_dir) { + LOG_INFO("Input is a directory: %s", input_path); + tar_temp_path = tar_directory(input_path); + if (!tar_temp_path) + return 1; + actual_input = tar_temp_path; + } + + // Read input file + uint64_t input_size = get_file_size(actual_input); + if (input_size == 0) { + LOG_ERR("Cannot read file or file is empty: %s", actual_input); + if (tar_temp_path) + unlink(tar_temp_path); + return 1; + } + + char size_buf[32]; + format_size(input_size, size_buf, sizeof(size_buf)); + LOG_INFO("Input: %s (%s)", input_path, size_buf); + if (is_dir) + LOG_INFO("Mode: directory (tar + compress)"); + + FILE *f = fopen(actual_input, "rb"); + if (!f) { + LOG_ERR("Cannot open input file: %s", input_path); + return 1; + } + + uint8_t *input_data = (uint8_t *)malloc((size_t)input_size); + if (!input_data) { + LOG_ERR("Out of memory (need %s)", size_buf); + fclose(f); + if (tar_temp_path) + unlink(tar_temp_path); + return 1; + } + fread(input_data, 1, (size_t)input_size, f); + fclose(f); + + uint32_t block_size = block_size_kb * 1024; + + // Auto-generate output filename if needed + char auto_output[VKZ_MAX_FILENAME]; + if (!output_path) { + make_compress_output(input_path, auto_output, sizeof(auto_output)); + output_path = auto_output; + } + + LOG_INFO("Output: %s", output_path); + LOG_INFO("Block size: %u KB", block_size_kb); + + // ── Try GPU compression ──────────────────────────────────────── + uint8_t **compressed_blocks = NULL; + uint32_t *block_sizes = NULL; + uint32_t block_count = 0; + bool used_gpu = false; + + if (!cpu_only) { + GpuContext gpu; + if (gpu_init(&gpu) == 0) { + gpu_print_info(&gpu); + + // Load compression shader + char shader_path[1024]; + if (find_shader_path(shader_path, sizeof(shader_path), + "compress.comp.spv") == 0) { + gpu.compress_shader = gpu_load_shader(&gpu, shader_path); + + if (gpu.compress_shader != VK_NULL_HANDLE) { + GpuCompressPipeline pipe; + if (gpu_compress_init(&pipe, &gpu) == 0) { + LOG_INFO("Compressing with GPU..."); + Timer gpu_timer; + timer_start(&gpu_timer); + + int result = gpu_compress_data(&pipe, input_data, input_size, + block_size, &compressed_blocks, + &block_sizes, &block_count); + + double gpu_time = timer_stop(&gpu_timer); + + if (result == 0) { + used_gpu = true; + LOG_OK("GPU compression done in %.3f seconds", gpu_time); + + double throughput = + (double)input_size / (1024.0 * 1024.0) / gpu_time; + LOG_OK("Throughput: %.1f MB/s", throughput); + } else { + LOG_WARN("GPU compression failed, falling back to CPU"); + } + + gpu_compress_cleanup(&pipe); + } + } else { + LOG_WARN("Could not load compression shader"); + } + } else { + LOG_WARN("Shader file not found, falling back to CPU"); + } + + gpu_cleanup(&gpu); + } else { + LOG_WARN("No Vulkan GPU available, using CPU fallback"); + } + } + + // ── CPU fallback ─────────────────────────────────────────────── + if (!used_gpu) { + LOG_INFO("Compressing with CPU..."); + Timer cpu_timer; + timer_start(&cpu_timer); + + int result = + cpu_compress_file(input_data, input_size, block_size, + &compressed_blocks, &block_sizes, &block_count); + + double cpu_time = timer_stop(&cpu_timer); + + if (result != 0) { + LOG_ERR("CPU compression failed!"); + free(input_data); + return 1; + } + + LOG_OK("CPU compression done in %.3f seconds", cpu_time); + double throughput = (double)input_size / (1024.0 * 1024.0) / cpu_time; + LOG_OK("Throughput: %.1f MB/s", throughput); + } + + // ── Build and write archive ──────────────────────────────────── + VkzArchive *archive = vkz_create(input_size, block_size, input_path); + if (!archive) { + LOG_ERR("Failed to create archive structure"); + free(input_data); + return 1; + } + + // Set block compressed sizes and checksums + for (uint32_t i = 0; i < block_count; i++) { + archive->blocks[i].compressed_size = block_sizes[i]; + archive->blocks[i].checksum = + vkz_crc32(compressed_blocks[i], block_sizes[i]); + } + + // Set directory flag if input was a directory + if (is_dir) { + archive->header.flags |= VKZ_FLAG_DIRECTORY; + } + + // Set overall checksum + archive->header.checksum = vkz_crc32(input_data, (size_t)input_size); + + int write_result = + vkz_write(archive, (const uint8_t **)compressed_blocks, output_path); + + // Print results + if (write_result == 0) { + vkz_print_info(archive); + + double total_time = timer_stop(&total_timer); + uint64_t output_file_size = get_file_size(output_path); + char out_buf[32]; + format_size(output_file_size, out_buf, sizeof(out_buf)); + + printf(COL_BOLD COL_GREEN "✓ Compression complete!" COL_RESET "\n"); + printf(" Method: %s\n", used_gpu ? "GPU (Vulkan)" : "CPU"); + printf(" Time: %.3f seconds\n", total_time); + printf(" Output: %s (%s)\n", output_path, out_buf); + printf("\n"); + } + + // Cleanup + for (uint32_t i = 0; i < block_count; i++) { + free(compressed_blocks[i]); + } + free(compressed_blocks); + free(block_sizes); + free(input_data); + vkz_free(archive); + + // Remove temp tar + if (tar_temp_path) + unlink(tar_temp_path); + + return write_result; +} + +// ── Decompress command ───────────────────────────────────────────── +static int cmd_decompress(const char *archive_path, const char *output_path, + bool cpu_only) { + Timer total_timer; + timer_start(&total_timer); + + // Read archive + VkzArchive *archive = vkz_read(archive_path); + if (!archive) + return 1; + + vkz_print_info(archive); + + // Generate output path if not provided + char auto_output[VKZ_MAX_FILENAME]; + if (!output_path) { + make_decompress_output(archive, auto_output, sizeof(auto_output)); + output_path = auto_output; + } + + LOG_INFO("Output: %s", output_path); + + // Allocate output buffer + uint8_t *output_data = + (uint8_t *)calloc(1, (size_t)archive->header.original_size); + if (!output_data) { + char buf[32]; + format_size(archive->header.original_size, buf, sizeof(buf)); + LOG_ERR("Out of memory (need %s)", buf); + vkz_free(archive); + return 1; + } + + bool used_gpu = false; + + // ── Try GPU decompression ────────────────────────────────────── + if (!cpu_only) { + GpuContext gpu; + if (gpu_init(&gpu) == 0) { + char shader_path[1024]; + if (find_shader_path(shader_path, sizeof(shader_path), + "decompress.comp.spv") == 0) { + gpu.decompress_shader = gpu_load_shader(&gpu, shader_path); + + if (gpu.decompress_shader != VK_NULL_HANDLE) { + GpuDecompressPipeline pipe; + if (gpu_decompress_init(&pipe, &gpu) == 0) { + LOG_INFO("Decompressing with GPU..."); + Timer gpu_timer; + timer_start(&gpu_timer); + + int result = + gpu_decompress_data(&pipe, archive, archive_path, output_data, + archive->header.original_size); + + double gpu_time = timer_stop(&gpu_timer); + + if (result == 0) { + used_gpu = true; + LOG_OK("GPU decompression done in %.3f seconds", gpu_time); + } else { + LOG_WARN("GPU decompression failed, falling back to CPU"); + } + + gpu_decompress_cleanup(&pipe); + } + } + } + + gpu_cleanup(&gpu); + } + } + + // ── CPU fallback ─────────────────────────────────────────────── + if (!used_gpu) { + LOG_INFO("Decompressing with CPU..."); + Timer cpu_timer; + timer_start(&cpu_timer); + + int result = cpu_decompress_file(archive, archive_path, output_data, + archive->header.original_size); + + double cpu_time = timer_stop(&cpu_timer); + + if (result != 0) { + LOG_ERR("Decompression failed!"); + free(output_data); + vkz_free(archive); + return 1; + } + + LOG_OK("CPU decompression done in %.3f seconds", cpu_time); + } + + // ── Verify checksum ──────────────────────────────────────────── + uint32_t checksum = + vkz_crc32(output_data, (size_t)archive->header.original_size); + if (archive->header.checksum != 0 && checksum != archive->header.checksum) { + LOG_WARN("CRC32 mismatch! File may be corrupted."); + LOG_WARN("Expected: 0x%08X Got: 0x%08X", archive->header.checksum, + checksum); + } else if (archive->header.checksum != 0) { + LOG_OK("CRC32 checksum verified: 0x%08X", checksum); + } + + // ── Handle output ────────────────────────────────────────────── + bool is_dir_archive = (archive->header.flags & VKZ_FLAG_DIRECTORY) != 0; + + if (is_dir_archive) { + // Write tar to temp file, then extract + char tar_path[VKZ_MAX_FILENAME]; + snprintf(tar_path, sizeof(tar_path), "/tmp/vkzip_decomp_%u.tar", + (uint32_t)getpid()); + + FILE *f = fopen(tar_path, "wb"); + if (!f) { + LOG_ERR("Cannot create temp tar: %s", tar_path); + free(output_data); + vkz_free(archive); + return 1; + } + fwrite(output_data, 1, (size_t)archive->header.original_size, f); + fclose(f); + + LOG_INFO("Extracting directory..."); + // If output_path is specified, extract there; otherwise extract to current + // dir + int ret = untar_file(tar_path, output_path); + unlink(tar_path); + + if (ret != 0) { + LOG_ERR("Failed to extract directory from tar"); + free(output_data); + vkz_free(archive); + return 1; + } + + double total_time = timer_stop(&total_timer); + char size_buf[32]; + format_size(archive->header.original_size, size_buf, sizeof(size_buf)); + + printf(COL_BOLD COL_GREEN "✓ Directory extracted!" COL_RESET "\n"); + printf(" Method: %s\n", used_gpu ? "GPU (Vulkan)" : "CPU"); + printf(" Time: %.3f seconds\n", total_time); + printf(" Output: %s\n", output_path ? output_path : "(current directory)"); + printf(" Tar: %s\n", size_buf); + printf("\n"); + } else { + // Regular file output + FILE *f = fopen(output_path, "wb"); + if (!f) { + LOG_ERR("Cannot create output file: %s", output_path); + free(output_data); + vkz_free(archive); + return 1; + } + + fwrite(output_data, 1, (size_t)archive->header.original_size, f); + fclose(f); + + double total_time = timer_stop(&total_timer); + char size_buf[32]; + format_size(archive->header.original_size, size_buf, sizeof(size_buf)); + + printf(COL_BOLD COL_GREEN "✓ Decompression complete!" COL_RESET "\n"); + printf(" Method: %s\n", used_gpu ? "GPU (Vulkan)" : "CPU"); + printf(" Time: %.3f seconds\n", total_time); + printf(" Output: %s (%s)\n", output_path, size_buf); + printf("\n"); + } + + free(output_data); + vkz_free(archive); + return 0; +} + +// ── Info command ─────────────────────────────────────────────────── +static int cmd_info(const char *archive_path) { + print_banner(); + + VkzArchive *archive = vkz_read(archive_path); + if (!archive) + return 1; + + vkz_print_info(archive); + + // Print block details + printf(COL_BOLD "Block Details:\n" COL_RESET); + printf(" %-6s %-12s %-12s %-8s %-10s\n", "Block", "Original", + "Compressed", "Ratio", "CRC32"); + printf(" ────── ──────────── ──────────── ──────── ──────────\n"); + + for (uint32_t i = 0; i < archive->header.block_count && i < 20; i++) { + char orig_buf[32], comp_buf[32]; + format_size(archive->blocks[i].original_size, orig_buf, sizeof(orig_buf)); + format_size(archive->blocks[i].compressed_size, comp_buf, sizeof(comp_buf)); + + double ratio = archive->blocks[i].original_size > 0 + ? (double)archive->blocks[i].compressed_size / + (double)archive->blocks[i].original_size * 100.0 + : 0.0; + + printf(" %-6u %-12s %-12s %5.1f%% 0x%08X\n", i, orig_buf, comp_buf, + ratio, archive->blocks[i].checksum); + } + + if (archive->header.block_count > 20) { + printf(" ... and %u more blocks\n", archive->header.block_count - 20); + } + + printf("\n"); + vkz_free(archive); + return 0; +} + +// ── Benchmark command ────────────────────────────────────────────── +static int cmd_benchmark(const char *input_path) { + print_banner(); + + uint64_t input_size = get_file_size(input_path); + if (input_size == 0) { + LOG_ERR("Cannot read file: %s", input_path); + return 1; + } + + char size_buf[32]; + format_size(input_size, size_buf, sizeof(size_buf)); + LOG_INFO("Benchmarking: %s (%s)", input_path, size_buf); + + FILE *f = fopen(input_path, "rb"); + if (!f) + return 1; + + uint8_t *input_data = (uint8_t *)malloc((size_t)input_size); + fread(input_data, 1, (size_t)input_size, f); + fclose(f); + + uint32_t block_size = VKZ_BLOCK_SIZE; + double cpu_time = 0, gpu_time = 0; + uint64_t cpu_output_size = 0, gpu_output_size = 0; + + // ── CPU Benchmark ────────────────────────────────────────────── + { + LOG_INFO("Running CPU benchmark..."); + uint8_t **blocks = NULL; + uint32_t *sizes = NULL; + uint32_t count = 0; + + Timer t; + timer_start(&t); + cpu_compress_file(input_data, input_size, block_size, &blocks, &sizes, + &count); + cpu_time = timer_stop(&t); + + for (uint32_t i = 0; i < count; i++) { + cpu_output_size += sizes[i]; + free(blocks[i]); + } + free(blocks); + free(sizes); + } + + // ── GPU Benchmark ────────────────────────────────────────────── + { + GpuContext gpu; + if (gpu_init(&gpu) == 0) { + gpu_print_info(&gpu); + + char shader_path[1024]; + if (find_shader_path(shader_path, sizeof(shader_path), + "compress.comp.spv") == 0) { + gpu.compress_shader = gpu_load_shader(&gpu, shader_path); + + if (gpu.compress_shader != VK_NULL_HANDLE) { + GpuCompressPipeline pipe; + if (gpu_compress_init(&pipe, &gpu) == 0) { + LOG_INFO("Running GPU benchmark..."); + uint8_t **blocks = NULL; + uint32_t *sizes = NULL; + uint32_t count = 0; + + Timer t; + timer_start(&t); + gpu_compress_data(&pipe, input_data, input_size, block_size, + &blocks, &sizes, &count); + gpu_time = timer_stop(&t); + + for (uint32_t i = 0; i < count; i++) { + gpu_output_size += sizes[i]; + free(blocks[i]); + } + free(blocks); + free(sizes); + + gpu_compress_cleanup(&pipe); + } + } + } + gpu_cleanup(&gpu); + } else { + LOG_WARN("No GPU available for benchmark"); + } + } + + // ── Results ──────────────────────────────────────────────────── + printf("\n"); + printf(COL_BOLD COL_YELLOW + "╔══════════════════════════════════════════════════╗\n" COL_RESET); + printf(COL_BOLD COL_YELLOW + "║ Benchmark Results ║\n" COL_RESET); + printf(COL_BOLD COL_YELLOW + "╠══════════════════════════════════════════════════╣\n" COL_RESET); + + char cpu_buf[32], gpu_buf[32]; + format_size(cpu_output_size, cpu_buf, sizeof(cpu_buf)); + + double cpu_ratio = + input_size > 0 ? (double)cpu_output_size / (double)input_size * 100.0 : 0; + double cpu_throughput = + cpu_time > 0 ? (double)input_size / (1024.0 * 1024.0) / cpu_time : 0; + + printf(COL_YELLOW "║" COL_RESET " CPU:\n"); + printf(COL_YELLOW "║" COL_RESET " Time: %.3f sec\n", cpu_time); + printf(COL_YELLOW "║" COL_RESET " Output: %s (%.1f%%)\n", cpu_buf, + cpu_ratio); + printf(COL_YELLOW "║" COL_RESET " Throughput: %.1f MB/s\n", + cpu_throughput); + printf(COL_YELLOW "║" COL_RESET "\n"); + + if (gpu_time > 0) { + format_size(gpu_output_size, gpu_buf, sizeof(gpu_buf)); + double gpu_ratio = + input_size > 0 ? (double)gpu_output_size / (double)input_size * 100.0 + : 0; + double gpu_throughput = + gpu_time > 0 ? (double)input_size / (1024.0 * 1024.0) / gpu_time : 0; + + printf(COL_YELLOW "║" COL_RESET " GPU:\n"); + printf(COL_YELLOW "║" COL_RESET " Time: %.3f sec\n", gpu_time); + printf(COL_YELLOW "║" COL_RESET " Output: %s (%.1f%%)\n", gpu_buf, + gpu_ratio); + printf(COL_YELLOW "║" COL_RESET " Throughput: %.1f MB/s\n", + gpu_throughput); + printf(COL_YELLOW "║" COL_RESET "\n"); + + double speedup = cpu_time > 0 ? cpu_time / gpu_time : 0; + printf(COL_YELLOW "║" COL_RESET COL_BOLD " Speedup: %.2fx %s\n" COL_RESET, + speedup, + speedup > 1.0 ? COL_GREEN "GPU wins! 🚀" COL_RESET + : COL_RED "CPU wins" COL_RESET); + } else { + printf(COL_YELLOW "║" COL_RESET " GPU: " COL_RED "Not available" COL_RESET + "\n"); + } + + printf(COL_BOLD COL_YELLOW + "╚══════════════════════════════════════════════════╝\n" COL_RESET); + printf("\n"); + + free(input_data); + return 0; +} + +// ── GPU Info command ─────────────────────────────────────────────── +static int cmd_gpu_info(void) { + print_banner(); + + GpuContext gpu; + if (gpu_init(&gpu) != 0) { + LOG_ERR("No Vulkan GPU available"); + return 1; + } + + gpu_print_info(&gpu); + gpu_cleanup(&gpu); + return 0; +} + +// ── Main ─────────────────────────────────────────────────────────── +int main(int argc, char *argv[]) { + if (argc < 2) { + print_help(); + return 0; + } + + // Parse global options + bool cpu_only = false; + uint32_t block_size_kb = 64; + + // Check for flags anywhere in args + for (int i = 1; i < argc; i++) { + if (strcmp(argv[i], "--cpu-only") == 0) { + cpu_only = true; + } else if (strcmp(argv[i], "--block-size") == 0 && i + 1 < argc) { + block_size_kb = (uint32_t)atoi(argv[++i]); + if (block_size_kb < 4) + block_size_kb = 4; + if (block_size_kb > 1024) + block_size_kb = 1024; + } + } + + const char *command = argv[1]; + + // ── Route commands ───────────────────────────────────────────── + if (strcmp(command, "--help") == 0 || strcmp(command, "-h") == 0) { + print_help(); + return 0; + } + + if (strcmp(command, "--gpu-info") == 0) { + return cmd_gpu_info(); + } + + if (strcmp(command, "compress") == 0 || strcmp(command, "c") == 0) { + if (argc < 3) { + LOG_ERR("Usage: vkzip compress [output.vkz]"); + return 1; + } + print_banner(); + const char *input = argv[2]; + const char *output = (argc > 3 && argv[3][0] != '-') ? argv[3] : NULL; + return cmd_compress(input, output, cpu_only, block_size_kb); + } + + if (strcmp(command, "decompress") == 0 || strcmp(command, "d") == 0 || + strcmp(command, "extract") == 0 || strcmp(command, "x") == 0) { + if (argc < 3) { + LOG_ERR("Usage: vkzip decompress [output_file]"); + return 1; + } + print_banner(); + const char *input = argv[2]; + const char *output = (argc > 3 && argv[3][0] != '-') ? argv[3] : NULL; + return cmd_decompress(input, output, cpu_only); + } + + if (strcmp(command, "info") == 0 || strcmp(command, "i") == 0) { + if (argc < 3) { + LOG_ERR("Usage: vkzip info "); + return 1; + } + return cmd_info(argv[2]); + } + + if (strcmp(command, "benchmark") == 0 || strcmp(command, "bench") == 0 || + strcmp(command, "b") == 0) { + if (argc < 3) { + LOG_ERR("Usage: vkzip benchmark "); + return 1; + } + return cmd_benchmark(argv[2]); + } + + LOG_ERR("Unknown command: %s", command); + LOG_ERR("Run 'vkzip --help' for usage information"); + return 1; +} diff --git a/src/utils.h b/src/utils.h new file mode 100644 index 0000000..818df62 --- /dev/null +++ b/src/utils.h @@ -0,0 +1,126 @@ +#ifndef UTILS_H +#define UTILS_H + +#include +#include +#include +#include +#include +#include + +#ifdef PLATFORM_WINDOWS + #include + #define PATH_SEP '\\' +#else + #include + #include + #define PATH_SEP '/' +#endif + +// ── Constants ────────────────────────────────────────────────────── +#define VKZ_BLOCK_SIZE (64 * 1024) // 64 KB per block +#define VKZ_MAX_MATCH_LEN 258 +#define VKZ_MIN_MATCH_LEN 3 +#define VKZ_WINDOW_SIZE (32 * 1024) // 32 KB sliding window +#define VKZ_HASH_BITS 15 +#define VKZ_HASH_SIZE (1 << VKZ_HASH_BITS) +#define VKZ_MAX_FILENAME 1024 +#define VKZ_MAX_BLOCKS (1024 * 1024) // Support files up to 64 GB + +// ── Color output ─────────────────────────────────────────────────── +#ifdef PLATFORM_WINDOWS + #define COL_RESET "" + #define COL_RED "" + #define COL_GREEN "" + #define COL_YELLOW "" + #define COL_BLUE "" + #define COL_CYAN "" + #define COL_MAGENTA "" + #define COL_BOLD "" +#else + #define COL_RESET "\033[0m" + #define COL_RED "\033[31m" + #define COL_GREEN "\033[32m" + #define COL_YELLOW "\033[33m" + #define COL_BLUE "\033[34m" + #define COL_CYAN "\033[36m" + #define COL_MAGENTA "\033[35m" + #define COL_BOLD "\033[1m" +#endif + +// ── Logging macros ───────────────────────────────────────────────── +#define LOG_INFO(fmt, ...) fprintf(stdout, COL_CYAN "[INFO] " COL_RESET fmt "\n", ##__VA_ARGS__) +#define LOG_OK(fmt, ...) fprintf(stdout, COL_GREEN "[OK] " COL_RESET fmt "\n", ##__VA_ARGS__) +#define LOG_WARN(fmt, ...) fprintf(stderr, COL_YELLOW "[WARN] " COL_RESET fmt "\n", ##__VA_ARGS__) +#define LOG_ERR(fmt, ...) fprintf(stderr, COL_RED "[ERROR] " COL_RESET fmt "\n", ##__VA_ARGS__) + +// ── Timer utilities ──────────────────────────────────────────────── +typedef struct { + struct timespec start; + struct timespec end; +} Timer; + +static inline void timer_start(Timer *t) { +#ifdef PLATFORM_WINDOWS + timespec_get(&t->start, TIME_UTC); +#else + clock_gettime(CLOCK_MONOTONIC, &t->start); +#endif +} + +static inline double timer_stop(Timer *t) { +#ifdef PLATFORM_WINDOWS + timespec_get(&t->end, TIME_UTC); +#else + clock_gettime(CLOCK_MONOTONIC, &t->end); +#endif + double elapsed = (double)(t->end.tv_sec - t->start.tv_sec); + elapsed += (double)(t->end.tv_nsec - t->start.tv_nsec) / 1e9; + return elapsed; +} + +// ── File utilities ───────────────────────────────────────────────── +static inline uint64_t get_file_size(const char *path) { + FILE *f = fopen(path, "rb"); + if (!f) return 0; + fseek(f, 0, SEEK_END); + uint64_t size = (uint64_t)ftell(f); + fclose(f); + return size; +} + +static inline const char* get_filename(const char *path) { + const char *name = strrchr(path, PATH_SEP); + if (!name) name = strrchr(path, '/'); // fallback + return name ? name + 1 : path; +} + +static inline void format_size(uint64_t bytes, char *buf, size_t buf_size) { + const char *units[] = {"B", "KB", "MB", "GB", "TB"}; + int unit = 0; + double size = (double)bytes; + while (size >= 1024.0 && unit < 4) { + size /= 1024.0; + unit++; + } + snprintf(buf, buf_size, "%.2f %s", size, units[unit]); +} + +// ── Progress bar ─────────────────────────────────────────────────── +static inline void print_progress(const char *label, uint64_t current, uint64_t total) { + if (total == 0) return; + int percent = (int)((current * 100) / total); + int bar_width = 40; + int filled = (percent * bar_width) / 100; + + fprintf(stdout, "\r%s [", label); + for (int i = 0; i < bar_width; i++) { + if (i < filled) fprintf(stdout, "█"); + else fprintf(stdout, "░"); + } + fprintf(stdout, "] %3d%%", percent); + if (current >= total) fprintf(stdout, "\n"); + fflush(stdout); +} + +#endif // UTILS_H diff --git a/src/vkz_format.c b/src/vkz_format.c new file mode 100644 index 0000000..30cbb1c --- /dev/null +++ b/src/vkz_format.c @@ -0,0 +1,278 @@ +#include "vkz_format.h" + +// ── CRC32 lookup table ───────────────────────────────────────────── +static uint32_t crc32_table[256]; +static bool crc32_table_init = false; + +static void init_crc32_table(void) { + if (crc32_table_init) + return; + for (uint32_t i = 0; i < 256; i++) { + uint32_t c = i; + for (int j = 0; j < 8; j++) { + if (c & 1) + c = 0xEDB88320 ^ (c >> 1); + else + c >>= 1; + } + crc32_table[i] = c; + } + crc32_table_init = true; +} + +uint32_t vkz_crc32(const uint8_t *data, size_t length) { + init_crc32_table(); + uint32_t crc = 0xFFFFFFFF; + for (size_t i = 0; i < length; i++) { + crc = crc32_table[(crc ^ data[i]) & 0xFF] ^ (crc >> 8); + } + return crc ^ 0xFFFFFFFF; +} + +// ── Create archive ───────────────────────────────────────────────── +VkzArchive *vkz_create(uint64_t original_size, uint32_t block_size, + const char *original_filename) { + VkzArchive *archive = (VkzArchive *)calloc(1, sizeof(VkzArchive)); + if (!archive) + return NULL; + + uint32_t block_count = + (uint32_t)((original_size + block_size - 1) / block_size); + if (block_count == 0) + block_count = 1; + + archive->header.magic = VKZ_MAGIC; + archive->header.version = VKZ_VERSION; + archive->header.original_size = original_size; + archive->header.block_size = block_size; + archive->header.block_count = block_count; + archive->header.flags = 0; + archive->header.checksum = 0; + + archive->blocks = (VkzBlockEntry *)calloc(block_count, sizeof(VkzBlockEntry)); + if (!archive->blocks) { + free(archive); + return NULL; + } + + // Initialize block sizes + for (uint32_t i = 0; i < block_count; i++) { + uint64_t remaining = original_size - (uint64_t)i * block_size; + archive->blocks[i].original_size = + (uint32_t)(remaining < block_size ? remaining : block_size); + } + + if (original_filename) { + strncpy(archive->original_filename, get_filename(original_filename), + VKZ_MAX_FILENAME - 1); + } + + return archive; +} + +// ── Write archive to file ────────────────────────────────────────── +int vkz_write(const VkzArchive *archive, const uint8_t **compressed_blocks, + const char *output_path) { + FILE *f = fopen(output_path, "wb"); + if (!f) { + LOG_ERR("Cannot create output file: %s", output_path); + return -1; + } + + // Calculate data offsets + uint64_t header_size = sizeof(VkzHeader); + uint64_t table_size = + (uint64_t)archive->header.block_count * sizeof(VkzBlockEntry); + uint64_t filename_size = strlen(archive->original_filename) + 1; + uint64_t data_offset = header_size + table_size + filename_size; + + // Build block table with correct offsets + VkzBlockEntry *entries = (VkzBlockEntry *)malloc(table_size); + if (!entries) { + fclose(f); + return -1; + } + memcpy(entries, archive->blocks, table_size); + + uint64_t current_offset = data_offset; + for (uint32_t i = 0; i < archive->header.block_count; i++) { + entries[i].compressed_offset = current_offset; + current_offset += entries[i].compressed_size; + } + + // Write header + fwrite(&archive->header, sizeof(VkzHeader), 1, f); + + // Write block table + fwrite(entries, sizeof(VkzBlockEntry), archive->header.block_count, f); + + // Write original filename + fwrite(archive->original_filename, 1, filename_size, f); + + // Write compressed blocks + for (uint32_t i = 0; i < archive->header.block_count; i++) { + if (compressed_blocks[i] && entries[i].compressed_size > 0) { + fwrite(compressed_blocks[i], 1, entries[i].compressed_size, f); + } + } + + free(entries); + fclose(f); + + return 0; +} + +// ── Read archive from file ───────────────────────────────────────── +VkzArchive *vkz_read(const char *archive_path) { + FILE *f = fopen(archive_path, "rb"); + if (!f) { + LOG_ERR("Cannot open archive: %s", archive_path); + return NULL; + } + + VkzArchive *archive = (VkzArchive *)calloc(1, sizeof(VkzArchive)); + if (!archive) { + fclose(f); + return NULL; + } + + // Read header + if (fread(&archive->header, sizeof(VkzHeader), 1, f) != 1) { + LOG_ERR("Failed to read archive header"); + free(archive); + fclose(f); + return NULL; + } + + // Validate magic + if (archive->header.magic != VKZ_MAGIC) { + LOG_ERR( + "Invalid archive: magic number mismatch (got 0x%08X, expected 0x%08X)", + archive->header.magic, VKZ_MAGIC); + free(archive); + fclose(f); + return NULL; + } + + // Validate version + if (archive->header.version != VKZ_VERSION) { + LOG_ERR("Unsupported archive version: %u (supported: %u)", + archive->header.version, VKZ_VERSION); + free(archive); + fclose(f); + return NULL; + } + + // Read block table + archive->blocks = (VkzBlockEntry *)calloc(archive->header.block_count, + sizeof(VkzBlockEntry)); + if (!archive->blocks) { + free(archive); + fclose(f); + return NULL; + } + + if (fread(archive->blocks, sizeof(VkzBlockEntry), archive->header.block_count, + f) != archive->header.block_count) { + LOG_ERR("Failed to read block table"); + vkz_free(archive); + fclose(f); + return NULL; + } + + // Read filename + int ch; + size_t name_len = 0; + while ((ch = fgetc(f)) != EOF && ch != '\0' && + name_len < VKZ_MAX_FILENAME - 1) { + archive->original_filename[name_len++] = (char)ch; + } + archive->original_filename[name_len] = '\0'; + + fclose(f); + return archive; +} + +// ── Read compressed block ────────────────────────────────────────── +uint8_t *vkz_read_block(const char *archive_path, const VkzArchive *archive, + uint32_t block_index, uint32_t *out_size) { + if (block_index >= archive->header.block_count) + return NULL; + + FILE *f = fopen(archive_path, "rb"); + if (!f) + return NULL; + + const VkzBlockEntry *entry = &archive->blocks[block_index]; + uint8_t *data = (uint8_t *)malloc(entry->compressed_size); + if (!data) { + fclose(f); + return NULL; + } + + fseek(f, (long)entry->compressed_offset, SEEK_SET); + if (fread(data, 1, entry->compressed_size, f) != entry->compressed_size) { + free(data); + fclose(f); + return NULL; + } + + *out_size = entry->compressed_size; + fclose(f); + return data; +} + +// ── Free archive ─────────────────────────────────────────────────── +void vkz_free(VkzArchive *archive) { + if (!archive) + return; + if (archive->blocks) + free(archive->blocks); + free(archive); +} + +// ── Print archive info ───────────────────────────────────────────── +void vkz_print_info(const VkzArchive *archive) { + if (!archive) + return; + + char orig_buf[32], comp_buf[32]; + format_size(archive->header.original_size, orig_buf, sizeof(orig_buf)); + + uint64_t total_compressed = 0; + for (uint32_t i = 0; i < archive->header.block_count; i++) { + total_compressed += archive->blocks[i].compressed_size; + } + format_size(total_compressed, comp_buf, sizeof(comp_buf)); + + double ratio = archive->header.original_size > 0 + ? (double)total_compressed / + (double)archive->header.original_size * 100.0 + : 0.0; + + printf("\n"); + printf(COL_BOLD COL_CYAN + "╔══════════════════════════════════════════╗\n" COL_RESET); + printf(COL_BOLD COL_CYAN + "║ VKZ Archive Information ║\n" COL_RESET); + printf(COL_BOLD COL_CYAN + "╠══════════════════════════════════════════╣\n" COL_RESET); + printf(COL_CYAN "║" COL_RESET " File: %-28s" COL_CYAN "║\n" COL_RESET, + archive->original_filename); + printf(COL_CYAN "║" COL_RESET " Original: %-28s" COL_CYAN "║\n" COL_RESET, + orig_buf); + printf(COL_CYAN "║" COL_RESET " Compressed: %-28s" COL_CYAN "║\n" COL_RESET, + comp_buf); + printf(COL_CYAN "║" COL_RESET " Ratio: %-27.1f%%" COL_CYAN + "║\n" COL_RESET, + ratio); + printf(COL_CYAN "║" COL_RESET " Blocks: %-28u" COL_CYAN "║\n" COL_RESET, + archive->header.block_count); + printf(COL_CYAN "║" COL_RESET " Block Size: %-28u" COL_CYAN "║\n" COL_RESET, + archive->header.block_size); + printf(COL_CYAN "║" COL_RESET " Version: %-28u" COL_CYAN "║\n" COL_RESET, + archive->header.version); + printf(COL_BOLD COL_CYAN + "╚══════════════════════════════════════════╝\n" COL_RESET); + printf("\n"); +} diff --git a/src/vkz_format.h b/src/vkz_format.h new file mode 100644 index 0000000..03bdae0 --- /dev/null +++ b/src/vkz_format.h @@ -0,0 +1,69 @@ +#ifndef VKZ_FORMAT_H +#define VKZ_FORMAT_H + +#include "utils.h" + +// ── Magic number & version ───────────────────────────────────────── +#define VKZ_MAGIC 0x5A4B5600 // "VKZ\0" in little-endian +#define VKZ_VERSION 1 + +// ── Flags ────────────────────────────────────────────────────────── +#define VKZ_FLAG_DIRECTORY \ + 0x01 // Archive was created from a directory (tar inside) + +// ── Archive header ───────────────────────────────────────────────── +#pragma pack(push, 1) + +typedef struct { + uint32_t magic; // VKZ_MAGIC + uint32_t version; // VKZ_VERSION + uint64_t original_size; // Total uncompressed size + uint32_t block_size; // Size of each uncompressed block + uint32_t block_count; // Number of blocks + uint32_t flags; // Compression flags (future use) + uint32_t checksum; // CRC32 of original data +} VkzHeader; + +typedef struct { + uint64_t compressed_offset; // Offset of compressed data in file + uint32_t compressed_size; // Size of compressed block + uint32_t original_size; // Original block size (last may be smaller) + uint32_t checksum; // CRC32 of this block +} VkzBlockEntry; + +#pragma pack(pop) + +// ── Archive structure ────────────────────────────────────────────── +typedef struct { + VkzHeader header; + VkzBlockEntry *blocks; // Array of block entries + char original_filename[VKZ_MAX_FILENAME]; +} VkzArchive; + +// ── Functions ────────────────────────────────────────────────────── + +// Create a new archive structure +VkzArchive *vkz_create(uint64_t original_size, uint32_t block_size, + const char *original_filename); + +// Write archive to file +int vkz_write(const VkzArchive *archive, const uint8_t **compressed_blocks, + const char *output_path); + +// Read archive from file (header + block table only) +VkzArchive *vkz_read(const char *archive_path); + +// Read a specific compressed block from archive +uint8_t *vkz_read_block(const char *archive_path, const VkzArchive *archive, + uint32_t block_index, uint32_t *out_size); + +// Free archive structure +void vkz_free(VkzArchive *archive); + +// CRC32 checksum +uint32_t vkz_crc32(const uint8_t *data, size_t length); + +// Print archive info +void vkz_print_info(const VkzArchive *archive); + +#endif // VKZ_FORMAT_H