[PATCH v2] wined3d: Use intBitsToFloat() instead of uintBitsToFloat().
Paul Gofman
gofmanp at gmail.com
Fri Apr 19 12:32:36 CDT 2019
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47039
There is no uint type in GLSL version < 1.3, while ARB_shader_bit_encoding
may still be supported.
Signed-off-by: Paul Gofman <gofmanp at gmail.com>
---
v2:
- Use %#x instead of %d.
dlls/wined3d/glsl_shader.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 7d4678965d..303669852a 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -446,7 +446,7 @@ static void shader_glsl_append_imm_vec4(struct wined3d_string_buffer *buffer, co
{
const unsigned int *uint_values = (const unsigned int *)values;
- shader_addline(buffer, "uintBitsToFloat(uvec4(%#xu, %#xu, %#xu, %#xu))\n"
+ shader_addline(buffer, "intBitsToFloat(ivec4(%#x, %#x, %#x, %#x))\n"
" /* %s, %s, %s, %s */", uint_values[0], uint_values[1],
uint_values[2], uint_values[3], str[0], str[1], str[2], str[3]);
}
@@ -3288,7 +3288,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
case WINED3D_DATA_FLOAT:
if (gl_info->supported[ARB_SHADER_BIT_ENCODING])
{
- string_buffer_sprintf(register_name, "uintBitsToFloat(%#xu)", reg->u.immconst_data[0]);
+ string_buffer_sprintf(register_name, "intBitsToFloat(%#x)", reg->u.immconst_data[0]);
}
else
{
@@ -3318,7 +3318,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
case WINED3D_DATA_FLOAT:
if (gl_info->supported[ARB_SHADER_BIT_ENCODING])
{
- string_buffer_sprintf(register_name, "uintBitsToFloat(uvec4(%#xu, %#xu, %#xu, %#xu))",
+ string_buffer_sprintf(register_name, "intBitsToFloat(ivec4(%#x, %#x, %#x, %#x))",
reg->u.immconst_data[0], reg->u.immconst_data[1],
reg->u.immconst_data[2], reg->u.immconst_data[3]);
}
--
2.20.1
More information about the wine-devel
mailing list