Skip to content

v1.0.9

Compare
Choose a tag to compare
@dmed256 dmed256 released this 04 Jun 23:48

⭐️ Features

  • [beec086] Added struct support to OKL

    There are still a few missing features when using structs, such as:

    • typedef-ing structs

      typedef struct { } foo;
    • Expanding @attributes on struct variables

      struct mat3 {
        int *values @dim(3, 3);
      }
      mat3 m;
      // Error since the parser right now doesn't "know" `values` is a @dim(3, 3)
      m.values(0, 0); 
    • Access level modifiers are not supported at the moment

      struct foo {
        private: ...
      }
  • [bf1dd16] @restrict expands to __restrict__ by default

    • OpenCL mode overrides it to restrict

    • Setting the property options/restrict overrides either of those two values. For example:

      • disable will make it so @restrict is ignored

      • Any other value will be used instead (e.g. setting it to '__declspec(restrict)' would be preferred in Windows)

  • [897f600] Defaults compiler flags to optimize compilation (e.g. -O3)

🐛 Bugs Fixed

  • [e21962d] CPU wrapped memory was being freed by the occa::memory object