Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/wined3d/glsl_shader.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 25e97723255..f30be4855b4 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -3127,7 +3127,8 @@ static void shader_glsl_get_swizzle(const struct wined3d_shader_src_param *param static void shader_glsl_sprintf_cast(struct wined3d_string_buffer *dst_param, const char *src_param, enum wined3d_data_type dst_data_type, enum wined3d_data_type src_data_type) { - if (dst_data_type == src_data_type) + if (dst_data_type == src_data_type + || (src_data_type == WINED3D_DATA_INT && dst_data_type == WINED3D_DATA_UINT)) { string_buffer_sprintf(dst_param, "%s", src_param); return;
On Mon, 3 Feb 2020 at 05:50, Zebediah Figura z.figura12@gmail.com wrote:
- if (dst_data_type == src_data_type)
- if (dst_data_type == src_data_type
|| (src_data_type == WINED3D_DATA_INT && dst_data_type == WINED3D_DATA_UINT))
I don't think that's allowed in all versions of GLSL. In particular, versions 4.00 and later have implicit conversions from int types to uint types, but versions 3.30 and before don't.
On 2/6/20 5:48 AM, Henri Verbeet wrote:
On Mon, 3 Feb 2020 at 05:50, Zebediah Figura z.figura12@gmail.com wrote:
- if (dst_data_type == src_data_type)
- if (dst_data_type == src_data_type
|| (src_data_type == WINED3D_DATA_INT && dst_data_type == WINED3D_DATA_UINT))
I don't think that's allowed in all versions of GLSL. In particular, versions 4.00 and later have implicit conversions from int types to uint types, but versions 3.30 and before don't.
Thanks, I've found a better source for documentation and will send a new patch.