Permalink
Switch branches/tags
Nothing to show
Commits on Jan 16, 2018
Commits on Jan 14, 2018
  1. c-array-total-size & better checks

    baggers committed Jan 14, 2018
  2. a little extra info in doc-struct for map-c

    baggers committed Dec 28, 2017
  3. added row-major-aref-c

    baggers committed Dec 28, 2017
    This was easy as we havent had row padding for a while. Everything is
    at (* index element-byte-size) relative to the start of the array
  4. more declarations in c-array mapping functions

    baggers committed Dec 28, 2017
  5. Updated api docs

    baggers committed Jan 14, 2018
Commits on Jan 12, 2018
  1. fix instance-count type

    cbaggers committed Jan 12, 2018
  2. retroactive changelog

    cbaggers committed Jan 11, 2018
Commits on Jan 11, 2018
Commits on Jan 7, 2018
  1. a few misc cleanups around pipelines

    cbaggers committed Jan 7, 2018
    A tad less duplication, a bit easier to read, some old crap removed
    and bit of isolation against my own stupidity
  2. basic inline lambda support for defpipeline-g

    cbaggers committed Jan 7, 2018
    Not an ideal way to do it but it does the job for now
  3. gen-recompile-func now takes the original gpipe-args

    cbaggers committed Jan 7, 2018
    Less faffing around with unneccesary conversions back and forth
  4. support gpu-lambdas in bake

    cbaggers committed Jan 7, 2018
Commits on Jan 6, 2018
  1. replace old way of allowing testing of gfuncs taking func uniforms

    cbaggers committed Jan 6, 2018
    The problem was that varjos testing wrapping was catching all errors
    and re-throwing with extra restarts, however this broke the mechanism
    we were using. It ended up much simpler to just expose a macro for
    this specific case
  2. struct fixes part 3 - get struct uniform uploading working again

    cbaggers committed Jan 6, 2018
    A lot of stupid here. Big thanks to djeis for the info on this.
  3. struct fixes part 2

    cbaggers committed Jan 6, 2018
    - fix incorrect error call for uniforms
    - fix overapplies uniform layout check bug
    - better error message for in-arg error
    - hack for getting uniform uploaders to work
    - export constructors for predefined structs
  4. Automatically add layout qualifiers to uniforms in pipelines

    cbaggers committed Jan 6, 2018
    Uses the cached definitions of the structs to make this work. Noice
  5. start recording struct definitions

    cbaggers committed Dec 31, 2017
    - We got rid of #'type->spec thanks to changes in
      varjo (#'type->type-spec now returns keyword shorthand names where
      possible)
    - we make a class for storing the struct metadata and store the
      layout & slots here (each slot also has it's own layout data)
    - we add make-load-form methods for this metadata so we can populate
      the metadata from the expanded code (as well as at compile-time from
      the macro-function)
Commits on Dec 30, 2017
  1. indentation

    cbaggers committed Dec 30, 2017
  2. fix merge mistakes

    cbaggers committed Dec 30, 2017
Commits on Dec 29, 2017
  1. fix some warnings from compute lambda-pipelines

    cbaggers committed Dec 29, 2017
    Not sure if this is the best way, I'd rather we inline more. However
    that can be done later :)
  2. remove g->, def-g-> & glambda

    cbaggers committed Dec 29, 2017
Commits on Dec 27, 2017
  1. dont create gpu-lambda objects at compile time

    baggers committed Dec 27, 2017
    The reason is that they can't have load-forms defined for them
    because of closer-mop:funcallable-standard-class. That metaclass makes
    then a function object which, just like arbitrary closures, cannot be
    written into fasl files.
  2. Fix occasional recompile pipeline state issues

    baggers committed Dec 27, 2017
    We were getting into cases where the pipeline function is recompiled
    on one thread, and before the thread state is changed the pipeline is
    executed. This causes crashes as it tries to index the arrays state
    object incorrectly.
    
    To fix thsi we subject ourselves to one more 'if' in the pipeline
    object. I'm not too happy with this but for now I'm sure of a better
    way. We store a version/diff number in the state object and compare it
    with the number inlined in the pipeline, if they dont match then we
    need to call init again.
    
    We ditch the state object clearing from the recompile function and
    only call eval when there are changes.
    
    All of this should add up to a more stable solution that last time.
Commits on Dec 26, 2017
  1. more notes

    baggers committed Dec 26, 2017