mesa/src
Serge Martin 0a6e1cf383 clover: add core clover printf support (v12)
"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 <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8254>
2020-12-29 09:07:23 +10:00
..
amd Revert "radv: use 32-bit predication for skipping FCE on GFX10.3+" 2020-12-24 09:56:25 +01:00
android_stub egl/android: implement image cleanup callback 2020-12-15 06:05:27 +00:00
broadcom v3dv: fix BO list for TFU jobs 2020-12-17 09:24:36 +01:00
compiler nir/tests: Initialize nir_serialize_test member dup. 2020-12-24 21:15:38 +00:00
drm-shim
egl egl/dri2: fix image loaderPrivate type mixup 2020-12-24 00:05:15 +09:00
etnaviv etnaviv, v3d: Fix valgrind include paths. 2020-12-15 19:39:29 +00:00
freedreno freedreno/ir3: remap FRAG_RESULT_COLOR to _DATA* for dual-src blending 2020-12-28 17:33:17 +00:00
gallium clover: add core clover printf support (v12) 2020-12-29 09:07:23 +10:00
gbm egl: implement EGL_EXT_protected_surface support 2020-11-02 10:15:47 +01:00
getopt
glx glx/tests: Fix leaks in the unit tests. 2020-12-15 19:39:29 +00:00
gtest
hgl
imgui
intel intel/fs: don't spill a register, set by undef 2020-12-21 21:18:01 +00:00
loader loader: Print dlerror() output in the failure message 2020-11-04 21:45:37 +00:00
mapi glapi: fix unused-function warning 2020-12-01 16:51:01 +00:00
mesa mesa: glProgramBinary add resource_hash 2020-12-28 12:23:59 +00:00
microsoft d3d12: Initialize TransitionableResourceState m_SupportsSimultaneousAccess. 2020-12-24 22:02:00 +00:00
panfrost android: pan/bi: Generate bi_opcodes.{c,h} 2020-12-28 16:30:52 +01:00
util util: add printf specifier shared helper code. 2020-12-29 09:07:23 +10:00
virtio
vulkan vulkan/overlay: add new options to display device/swapchain-format 2020-12-15 08:05:38 +00:00
meson.build microsoft/compiler: Add dedicated spirv_to_dxil libraries 2020-12-22 13:28:21 -08:00
SConscript