Skip to content

Instantly share code, notes, and snippets.

View timdecode's full-sized avatar
👁️‍🗨️

Timothy Davison timdecode

👁️‍🗨️
View GitHub Profile
SHA256(YASARA PetWorld screenshots 2025-06-23.zip) = 92d02cb5169f412ba36522a6b5d7a646e5d4261715c00cf7d8d6bb1af7816b73
433d7b2032b7925e9b3afcbbe3c0d7e962a9ca787acb861c5a710a900de78d12 sha256sum 2025-06-20-v2
e2d154afc748c48536dab50c85c676852ac9c8f4c3e6f6ed12b7cc117c6c1159
@timdecode
timdecode / simd_partition.metal
Created June 23, 2023 18:11
Metal implementation of subgroupPartitionNV
// Created by Timothy Davison on 2023-06-21.
//
// This is a Metal implementation of subgroupPartitionNV. You use it to find a mask of
// the other threads in a simd-group with the same value (a partition of the simd-group about
// a set of values).
//
// Feel free to use this in your code. Please share any fixes or ideas to make it faster.
//
// Khronos docs on subgroup partitioning:
// - https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GL_NV_shader_subgroup_partitioned.txt
@timdecode
timdecode / CellPackParser.mm
Last active April 26, 2023 22:24
cellPACK C++ Parser (for an Objective-C project, hence the Objective-C++ code)
// (Objective-C header)
// CellPackParser.h
// Frameworks
//
// Created by Timothy Davison on 2022-05-11.
//
#pragma once
#import <Foundation/Foundation.h>
2017-06-08 19:00:19.601254-0600 UE4Editor[6486:34786] Compiler failed to build request
2017-06-08 19:00:19.602167-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:602][ 2]LogMetal:Error: Failed to generate a pipeline state object: Error Domain=CompilerError Code=1 "Unhandled atom in intrinsic: llvm.bswap.i32" UserInfo={NSLocalizedDescription=Unhandled atom in intrinsic: llvm.bswap.i32}
2017-06-08 19:00:19.602267-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:602][ 2]LogMetal:Error: Vertex shader: // Global/FScreenVS/ScreenVertexShader.usf:Main
#include <metal_stdlib>
using namespace metal;
struct FVSStageIn