commit 7af9f38181f00eec7dc5261ddbee9381059158a1 Author: Axel Date: Mon Apr 20 23:19:07 2026 -0300 Initial commit: VKZip GPU Compressor 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 0000000..399b41a Binary files /dev/null and b/build/CMakeFiles/4.3.1/CMakeDetermineCompilerABI_C.bin differ 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 0000000..ed2a10e Binary files /dev/null and b/build/CMakeFiles/4.3.1/CompilerIdC/a.out differ 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 0000000..4095163 Binary files /dev/null and b/build/CMakeFiles/vkzip.dir/src/cpu_fallback.c.o differ 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 0000000..a75fb1a Binary files /dev/null and b/build/CMakeFiles/vkzip.dir/src/gpu_compress.c.o differ 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 0000000..7242058 Binary files /dev/null and b/build/CMakeFiles/vkzip.dir/src/gpu_context.c.o differ 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 0000000..7e66a7a Binary files /dev/null and b/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o differ diff --git a/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d b/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d new file mode 100644 index 0000000..86e7215 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/src/gpu_decompress.c.o.d @@ -0,0 +1,70 @@ +CMakeFiles/vkzip.dir/src/gpu_decompress.c.o: \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.c \ + /usr/include/stdc-predef.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_decompress.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 \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h diff --git a/build/CMakeFiles/vkzip.dir/src/main.c.o b/build/CMakeFiles/vkzip.dir/src/main.c.o new file mode 100644 index 0000000..37d980c Binary files /dev/null and b/build/CMakeFiles/vkzip.dir/src/main.c.o differ diff --git a/build/CMakeFiles/vkzip.dir/src/main.c.o.d b/build/CMakeFiles/vkzip.dir/src/main.c.o.d new file mode 100644 index 0000000..82a0ac3 --- /dev/null +++ b/build/CMakeFiles/vkzip.dir/src/main.c.o.d @@ -0,0 +1,74 @@ +CMakeFiles/vkzip.dir/src/main.c.o: \ + /home/axel/Vídeos/winrarcomgpu/src/main.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 \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_compress.h \ + /home/axel/Vídeos/winrarcomgpu/src/gpu_context.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/gpu_decompress.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h diff --git a/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o b/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o new file mode 100644 index 0000000..b23ab1f Binary files /dev/null and b/build/CMakeFiles/vkzip.dir/src/vkz_format.c.o differ 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 0000000..af77f25 Binary files /dev/null and b/build/shaders/compress.comp.spv differ diff --git a/build/shaders/decompress.comp.spv b/build/shaders/decompress.comp.spv new file mode 100644 index 0000000..b94fa3c Binary files /dev/null and b/build/shaders/decompress.comp.spv differ diff --git a/build/vkzip b/build/vkzip new file mode 100755 index 0000000..fd7fcb2 Binary files /dev/null and b/build/vkzip differ 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