0
I Use This!
Very Low Activity

Commits : Listings

Analyzed about 14 hours ago. based on code collected about 15 hours ago.
Apr 27, 2024 — May 27, 2024
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
* floor: updated SDL window flags/properties/position handling: use int64_t everywhere, set_screen_size() now uses SDL_WINDOWPOS_CENTERED to center the window (ignored for iOS) * opencl_compute: fixed compilation after the previous commit
a2flo
as Florian Ziesche
More... 1 day ago
* universal_binary/llvm_toolchain: renamed "functions" to "function_info" + updated users * floor: made llvm-objdump part of all toolchains
a2flo
as Florian Ziesche
More... 1 day ago
* 14.0 toolchain update: * build/pkg/deploy scripts: also build/pkg/deploy the llvm-objdump binary * OCLToSPIRV: Vulkan: don't use 'Release' or 'Acquire and Release' for the 2nd parameter (unequal) in CAS atomics -> just use 'Acquire' instead
a2flo
as Florian Ziesche
More... 1 day ago
* universal_binary: fixed basic_32_bit_float_atomics_support flag handling for the Vulkan target (accidentally set this to always true while removing this from the Metal target) * universal_binary: load_archive(): use file_to_buffer() instead of file_to_string() * floor: require toolchain version 140006 for all additional toolchain binaries * floor: differentiate between disassemble "dis" tools for Metal (we may want both llvm-dis and metallib-dis) -> added new toolchain.metal.metallib_dis config option and get_metallib_dis() getter
a2flo
as Florian Ziesche
More... 4 days ago
* file_io: file_to_buffer_uncached() now actually respects the requirements of pread(), i.e. allocation size and read size are now aligned (here: to page size, required: block size) -> returns an aligned_ptr now * file_io: added file_to_buffer_aligned() for completeness (and b/c we need it as a fallback on Windows) * CMake: work around CMake flag deduplication by prefixing "-L/opt/floor/lib" with SHELL:
a2flo
as Florian Ziesche
More... 8 days ago
* various fixes, in-memory FUBAR loading, toolchain-less execution, and build related updates: * integrated volk (https://github.com/zeux/volk): * this has been added as a git submodule in external/volk/ * this replaces the direct dependency on the Vulkan loader (no longer links to it, but it's still required at run-time, since volk now loads it via dlopen/LoadLibraryA) * added vulkan_common.cpp: this now takes care of the Vulkan/volk init and Vulkan instance init/loading * updated README with info about it (added link + git submodule must now be used) * removed the "_vulkan" targets from the Xcode project (Vulkan code can now be active in the IDE just by providing a dummy floor/vulkan_testing.hpp header) * updated build.sh and CMake accordingly (only need Vulkan headers now) * universal_binary: can now load archives directly from memory * compute_context (and all implementations): added in-memory data variant of add_universal_binary() * compute_context (and all implementations): can now be used without a valid toolchain, as long as only pre-compiled binaries are used (run-time compilation/toolchain support can be queried via can_compile_programs()) * floor: will now create contexts even when no toolchain is available * llvm_toolchain: added toolchain checks (i.e. if no toolchain exists for a specific backend, this will now print an error and return an invalid result) * compute_image: it's now possible to provide an external pre-compiled mip-map minify program via compute_image::provide_minify_program(ctx, prog), note that this must of course be done prior to any image creation that requires automatic map-mip generation * CMake: libfloor can now be built as a static library by specifying -DBUILD_SHARED_LIBS=OFF * CMake: bumped required CMake version from 3.20 to 3.21 * CMake: SDL_MAIN_HANDLED no longer exists, simplify SDL3 options * updated README with more build instructions info (including CLI CMake) * vulkan_image: while not explicitly forbidden, do not query the descriptor info of transient images (these can't be used as direct shader read/write images + amdvlk doesn't like it) * vulkan_args: in debug mode, this now checks if a transient image is used as a shader read/write image * compute_image: extended the mip-mapping <-> render-target incompatibility check to also include transient images (transient usually implies render-target, but add this just in case) * sig_handler: only enable the backtrace code when the execinfo.h include exists (now builds with musl) * host_compute: temporarily provide compat with older SDL3 versions * vr_context: work around a general incompatibility between GNU anonymous structs/unions and C++20 bitfield initializers * lexer: use puts() instead of append(\n) + fwrite to write a token to the console * core: fixed strip_path() for short paths * opencl_device: moved some of the image support init from opencl_compute to here (not much of a point, but this is more consistent) * floor: config.keep_binaries is now false by default * floor: changed Linux backend priority list to CUDA -> Vulkan -> OpenCL (i.e. only use OpenCL as a last resort now, otherwise prefer Vulkan or CUDA for most hardware) * NOTE: with these changes, it is now possible to run a libfloor program without any toolchain installed as long as only pre-compiled binaries are used for execution
a2flo
as Florian Ziesche
More... 8 days ago
* metal_program: we no longer need to flag the reflection dump functions as [[maybe_unused]]
a2flo
as Florian Ziesche
More... 22 days ago