- Mar 17, 2025
-
-
Nikolay Sivov authored
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Nikolay Sivov authored
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Nikolay Sivov authored
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Nikolay Sivov authored
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Nikolay Sivov authored
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Nikolay Sivov authored
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
Giovanni Mascellani authored
My main motivation to this is avoiding generating a lot of useless log lines from other executors when I'm interested in just one of them, but I can imagine this also somewhat improving efficiency.
-
Giovanni Mascellani authored
Just like the executor.
-
- Mar 13, 2025
-
-
Elizabeth Figura authored
vkd3d-shader/hlsl: Zero-initialize "nonconst_i" and "ret_swizzle" in copy_propagation_replace_with_deref(). GCC without LTO is unable to determine that these are never used uninitialized.
- Mar 12, 2025
-
-
Francisco Casas authored
Fixes: 1bba18aa.
-
Francisco Casas authored
This test is currently miscompiling on SM4 because copy_propagation_invalidate_variable_from_deref_recurse() is not always invalidating the right components.
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Henri Verbeet authored
vkd3d-shader/hlsl: Do not collect expressions across different operations in hlsl_normalize_binary_exprs().
-
Henri Verbeet authored
-
Shaun Ren authored
-
Shaun Ren authored
Outputs in geometry shaders must be written to streams.
-
Shaun Ren authored
-
Shaun Ren authored
Valid stream output objects must be single-element containing a PointStream/LineStream/TriangleStream object. Moreover, stream output objects cannot be declared globally.
-
Shaun Ren authored
-
Shaun Ren authored
-
Shaun Ren authored
-
Francisco Casas authored
Basically, separate lower_casts_to_int() into the lowering of the CAST and the lowering of the TRUNC, so that TRUNCs that are not part of a cast are lowered as well.
-
Shaun Ren authored
-
Shaun Ren authored
We implement a transformation that propagates loads with a single non-constant index in its deref path. Consider a load of the form var[[a0][a1]...[i]...[an]], where ak are integral constants, and i is an arbitrary non-constant node. If, for all j, the following holds: var[[a0][a1]...[j]...[an]] = x[[c0*j + d0][c1*j + d1]...[cm*j + dm]], where ck, dk are constants, then we can replace the load with x[[c0*i + d0]...[cm*i + dm]]. This pass is implemented by copy_propagation_replace_with_deref().
-
Shaun Ren authored
-
Shaun Ren authored
-
Shaun Ren authored
Also invoke simplify_exprs() after replace_deref_path_with_offset().
-
Shaun Ren authored
-
Shaun Ren authored
-
Shaun Ren authored
-
Shaun Ren authored
When derefs with non-constant indices are copy-propagated, it is possible to end up with uint1-typed path nodes. Also, introduce hlsl_is_vec1().
-
Shaun Ren authored
-
Shaun Ren authored
vkd3d-shader/tpf: Write non-zero static offsets in relative addressing mode in sm4_write_register_index().
-