summaryrefslogtreecommitdiff
path: root/libc/src/stdio/gpu/vfprintf_utils.h
AgeCommit message (Collapse)Author
2025-06-06[libc][GPU] clean up includes (#143203)Michael Jones
The GPU stdio functions were depending on indirect inclusion for some of their dependencies. This patch should fix all of that.
2024-12-02[libc][NFC] Rename RPC opcodes to better reflect their usageJoseph Huber
Summary: RPC_ is a generic prefix here, use LIBC_ to indicate that these are opcodes used to implement the C library
2024-11-19[libc] Increase RPC opcode to 32-bit and use a class byte (#116905)Joseph Huber
Summary: Currently, the RPC interface uses a basic opcode to communicate with the server. This currently is 16 bits. There's no reason for this to be 16 bits, because on the GPU a 32-bit write is the same as a 16-bit write performance wise. Additionally, I am now making all the `libc` based opcodes qualified with the 'c' type, mimiciing how Linux handles `ioctls` all coming from the same driver. This will make it easier to extend the interface when it's exported directly.
2024-11-19[libc] Replace usage of GPU helpers with ones from 'gpuintrin.h' (#116454)Joseph Huber
Summary: These are provided by a resource header now, cut these from the dependencies and only provide the ones we use for RPC.
2024-10-28[libc] Fix leftover `LIBC_NAMESPACE` after porting it (#113960)Joseph Huber
Summary: There are a few of these leftover, they should all use the `LIBC_NAMESPACE_DECL` version because that implies visibility.
2024-10-15[libc] Remove dependency on `cpp::function` in `rpc.h` (#112422)Joseph Huber
Summary: I'm going to attempt to move the `rpc.h` header to a separate folder that we can install and include outside of `libc`. Before doing this I'm going to try to trim up the file so there's not as many things I need to copy to make it work. This dependency on `cpp::functional` is a low hanging fruit. I only did it so that I could overload the argument of the work function so that passing the id was optional in the lambda, that's not a *huge* deal and it makes it more explicit I suppose.
2024-10-01[libc][stdio] Use proxy headers of stdio.h in src and test folders. (#110067)lntue
https://github.com/llvm/llvm-project/issues/60481
2024-07-12[libc] Implement (v|f)printf on the GPU (#96369)Joseph Huber
Summary: This patch implements the `printf` family of functions on the GPU using the new variadic support. This patch adapts the old handling in the `rpc_fprintf` placeholder, but adds an extra RPC call to get the size of the buffer to copy. This prevents the GPU from needing to parse the string. While it's theoretically possible for the pass to know the size of the struct, it's prohibitively difficult to do while maintaining ABI compatibility with NVIDIA's varargs. Depends on https://github.com/llvm/llvm-project/pull/96015.