1. 01 Jan, 2021 8 commits
  2. 28 Dec, 2020 3 commits
    • Dave Airlie's avatar
      clover/nir: hookup printf (v3) · 76788353
      Dave Airlie authored
      
      
      This connects printf up for NIR drivers, it lowers using the NIR
      pass where it places the idx to the strings into the output buffer.
      
      It also sets the global buffer header to the nir paths.
      
      v2: remove dead function temps after lowering
      
      v3: move to single string
      Acked-by: Jesse Natalie's avatarJesse Natalie <jenatali@microsoft.com>
      Part-of: <mesa/mesa!8254>
      76788353
    • Serge Martin's avatar
      clover: add core clover printf support (v12) · 0a6e1cf3
      Serge Martin authored
      
      
      "The implementation is based on what LLVM AMD target expect.
      The compiler provided an id link to argument desc and format used.
      The runtime need to store them to be able to parse the buffer filled by
      the device during the kernel execution, ie, an id value to find the
      format and followed by the arguments values"
      
      v2: airlied
      Split out the core code to a separate patch, add support for the
      different global buffer formats, and move the LLVM specific code
      as much as possible to the backend.
      
      v3: handle strings differences better
      llvm backend stores strings to the printf buffer
      nir backend stores them to a sideband storage in NIR and stores
      an index in the buffer.
      
      v4: move specifier parsing to util code.
      
      v5: rename buffer fmt + make printf code work
      
      v6: handle args/specifier number mismatch support
      
      v7: move to single string + struct
      
      v8: use "%s" to print strings to avoid bad specifier, fix str
      calcs.
      
      v9: move to the same global buffer format as llvm, just strings
      are different now. This requires changes to nir lowering.
      buffer format:
      [0] contains offset into buffer at start contains 8
      [1] contains length of buffer
      
      v10: printf const clean,  add warning,  endian assert, print %%
      at end, fix specifiers to vector
      
      v11: minor cleanups, make sure the format string never contains
      an n.
      
      v12: validate format string
      Reviewed-by: Francisco Jerez's avatarFrancisco Jerez <currojerez@riseup.net>
      Part-of: <mesa/mesa!8254>
      0a6e1cf3
    • Dave Airlie's avatar
      clover/module: add a printf support to module (v5) · 95527fe2
      Dave Airlie authored
      
      
      This adds storage for printf formats encoded as number of
      argument sizes + the printf format string, and storage
      for sideband printf strings if the backend wants them.
      
      It adds a flag that decides if the backend wants AMD (LLVM)
      behaviour or NIR wrt the format of the global buffer and
      how to decode strings.
      
      Based on work by EdB in his printf support, but made useful
      to be generic.
      
      I'm not a huge fan of the buffer format flag, but this was
      the easiest way to denote the llvm abi buffer format.
      
      v3: rename buffer fmt
      
      v4: use a single strings storage and one struct
      
      v5: move printf_info into module, cleanup serialisation struct
      Reviewed-by: Francisco Jerez's avatarFrancisco Jerez <currojerez@riseup.net>
      Part-of: <mesa/mesa!8254>
      95527fe2
  3. 23 Dec, 2020 1 commit
  4. 22 Dec, 2020 3 commits
  5. 21 Dec, 2020 2 commits
  6. 18 Dec, 2020 4 commits
  7. 17 Dec, 2020 2 commits
  8. 16 Dec, 2020 1 commit
  9. 15 Dec, 2020 3 commits
  10. 14 Dec, 2020 1 commit
  11. 11 Dec, 2020 3 commits
  12. 10 Dec, 2020 6 commits
  13. 08 Dec, 2020 1 commit
  14. 07 Dec, 2020 2 commits