vkd3d-shader/d3d-asm: Always use '.' as decimal separator when printing floats.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Henri Verbeet
2022-03-01 13:21:33 +01:00
committed by Alexandre Julliard
parent 4728cf1286
commit aef9e9ea62
3 changed files with 27 additions and 5 deletions

View File

@ -20,6 +20,7 @@
#include "vkd3d_version.h"
#include <stdio.h>
#include <math.h>
VKD3D_DEBUG_ENV_NAME("VKD3D_SHADER_DEBUG");
@ -91,6 +92,21 @@ int vkd3d_string_buffer_printf(struct vkd3d_string_buffer *buffer, const char *f
return ret;
}
int vkd3d_string_buffer_print_f32(struct vkd3d_string_buffer *buffer, float f)
{
unsigned int idx = buffer->content_size + 1;
int ret;
if (!(ret = vkd3d_string_buffer_printf(buffer, "%.8e", f)) && isfinite(f))
{
if (signbit(f))
++idx;
buffer->buffer[idx] = '.';
}
return ret;
}
void vkd3d_string_buffer_trace_(const struct vkd3d_string_buffer *buffer, const char *function)
{
vkd3d_shader_trace_text_(buffer->buffer, buffer->content_size, function);