mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-15 08:51:04 +00:00
wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
Ported from 9dee15da5bae0a3cda898f0377b6f1f49abb8a05 in vkd3d.
This commit is contained in:
parent
c0068b3316
commit
319b93fc75
|
@ -4323,7 +4323,19 @@ static void shader_glsl_cast(const struct wined3d_shader_instruction *ins,
|
|||
|
||||
static void shader_glsl_to_int(const struct wined3d_shader_instruction *ins)
|
||||
{
|
||||
shader_glsl_cast(ins, "ivec", "int");
|
||||
struct wined3d_string_buffer *buffer = ins->ctx->buffer;
|
||||
struct glsl_src_param src_param;
|
||||
unsigned int mask_size;
|
||||
DWORD write_mask;
|
||||
|
||||
write_mask = shader_glsl_append_dst(buffer, ins);
|
||||
mask_size = shader_glsl_get_write_mask_size(write_mask);
|
||||
shader_glsl_add_src_param(ins, &ins->src[0], write_mask, &src_param);
|
||||
|
||||
if (mask_size > 1)
|
||||
shader_addline(buffer, "ivec%u(max(%s, vec%u(-2147483648.0))));\n", mask_size, src_param.param_str, mask_size);
|
||||
else
|
||||
shader_addline(buffer, "int(max(%s, -2147483648.0)));\n", src_param.param_str);
|
||||
}
|
||||
|
||||
static void shader_glsl_to_uint(const struct wined3d_shader_instruction *ins)
|
||||
|
|
Loading…
Reference in a new issue