2024-07-19 15:48:00 +02:00
|
|
|
/* SPDX-FileCopyrightText: 2024 Blender Authors
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
|
|
2024-10-04 15:48:22 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
2025-09-25 10:57:02 +02:00
|
|
|
#include "infos/gpu_shader_print_infos.hh"
|
2024-11-12 18:53:34 +01:00
|
|
|
|
|
|
|
|
SHADER_LIBRARY_CREATE_INFO(gpu_print)
|
|
|
|
|
|
2024-07-19 15:48:00 +02:00
|
|
|
uint print_data(uint offset, uint data)
|
|
|
|
|
{
|
|
|
|
|
if (offset < GPU_SHADER_PRINTF_MAX_CAPACITY) {
|
|
|
|
|
gpu_print_buf[offset] = data;
|
|
|
|
|
}
|
|
|
|
|
return offset + 1u;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uint print_data(uint offset, int data)
|
|
|
|
|
{
|
|
|
|
|
return print_data(offset, uint(data));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
uint print_data(uint offset, float data)
|
|
|
|
|
{
|
|
|
|
|
return print_data(offset, floatBitsToUint(data));
|
|
|
|
|
}
|
|
|
|
|
|
2024-10-15 19:47:30 +02:00
|
|
|
uint print_header(const uint data_len, uint format_hash)
|
2024-07-19 15:48:00 +02:00
|
|
|
{
|
|
|
|
|
uint offset = atomicAdd(gpu_print_buf[0], 1u + data_len) + 1u;
|
|
|
|
|
return print_data(offset, format_hash);
|
|
|
|
|
}
|