{"push_id":964123999,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ebbfbe2a647a4cefdbd476b36194ba6e5b6eb843","before":"fed9855e474b7187d8e30e4219ef8ff0d80e9395","commits":[{"sha":"ebbfbe2a647a4cefdbd476b36194ba6e5b6eb843","author":{"email":"20a365aabc586ecd86fff9b075bea63f2f152e9c@gmail.com","name":"Florian Ziesche"},"message":" * major image additions/improvements/changes:\n   * all cuda/metal/opencl image read/write functions on the library side are now calling floor intrinsic functions (with +/- the same signature for all) which are then translated to the corresponding cuda/metal/opencl function/asm call in the compiler (this makes this enormous complexity and variety of image read/write functions actually managable and somewhat unifiable)\n   * return of the opaque_image.hpp header: this now implements the metal and opencl image read/write functions / floor intrinsics (due to actual image types this is a bit more excessive than the cuda one)\n   * removed now unnecessary metal and opencl image read/write functions/prototypes\n   * added support for reading with a texel offset (as per glsl/metal/ptx spec: offset must lie in [-8, 7]; contrary to glsl this does not have to be constexpr, but can be a run-time parameter, as allowed by metal and ptx)\n   * added support for reading with a lod bias (only makes sense in fragment shaders, see metal or glsl documentation; everywhere else this is treated as a lod value)\n   * added support for reading with an explicit lod (int or float, depending on the situation)\n   * added support for reading with a gradient (dpdx, dpdy)\n   * image compare read functions are now on par with normal read functions (nearest/linear/offset/bias/lod/gradient reads), also using the same read_internal function now\n   * added image sync/barrier functions (these should work with metal, host-compute, probably cuda (no separate instruction here, same bar/sync as the others) and possibly opencl (this is opencl 2.x functionality, which may or may not work with spir/opencl 1.2), but are not guaranteed to work and are untested yet)\n   * added depth cube array image support (const_image_cube_depth_array/image_cube_depth_array), supported by metal, cuda and host-compute (partial support for this already existed, but was never actually exposed)\n   * preliminary/wip sampler type and COMPARE_FUNCTION enum are now in a separate sampler.hpp header\n   * NOTE: clang/llvm patch incoming (with partial cuda and full metal support, opencl image support is broken right now, but will be implemented next)\n   * NOTE: this actually allows me to implement s/w fallbacks in some situations now, e.g. for opencl which has a rather limited set of image functions\n * metal: added dfdx, dfdy, fwidth and dfdx_dfdy_gradient (with scalar, vector2 or vector3 param) functions, note that these are only useful in fragment shaders\n * version bump to v0.2.2-d3, lots of api and internal changes again","distinct":true,"url":"https://api.github.com/repos/a2flo/floor/commits/ebbfbe2a647a4cefdbd476b36194ba6e5b6eb843"}]}