- Dec 16, 2024
-
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Henri Verbeet authored
-
Henri Verbeet authored
-
Henri Verbeet authored
-
Henri Verbeet authored
-
Henri Verbeet authored
-
Henri Verbeet authored
-
- Dec 12, 2024
-
-
Elizabeth Figura authored
Consider ']' a terminator for any string.
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Giovanni Mascellani authored
Sometimes SM1-3 shaders contain write masks that exceed the signature element masks. That happens because SM1-3 shaders do not have a concept of signature and signature masks, and OTOH aren't always able to express any given write mask. In VSIR we don't want to deal with I/O register masks exceeding the corresponding signature element mask or usage mask, because, for instance, for higher shader models it can complicate dealing with DCL_INDEX_RANGE. In order to have uniform rules for all shader models we normalise masks coming from SM1-3 shaders. We don't do that normalisation when disassembling, in order to preserve the expected output.
-
Giovanni Mascellani authored
The previous names "not normalised" and "fully normalised" have meanings which are likely to change with time. OTOH including a description of the normalisation level in the enumerant seems excessive. Relating normalisation levels to shader model versions might be a reasonable compromise.
-
Elizabeth Figura authored
The previous format matched sm1 and sm4, but if we're going to be feeding everything through vsir, we want vsir's format.
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Elizabeth Figura authored
-
Victor Chiletto authored
-
Victor Chiletto authored
-
Victor Chiletto authored
We need 'for' iter blocks to be separate for loop unrolling.
-
Victor Chiletto authored
Since loop unrolling doesn't clone the entire program anymore, we can express it as a hlsl_transform_ir() transform.
-
Victor Chiletto authored
-
Victor Chiletto authored
-
Victor Chiletto authored
-
Victor Chiletto authored
-
Victor Chiletto authored
-
- Dec 11, 2024
-
-
Elizabeth Figura authored
Avoid a spurious -Wmaybe-uninitialized warning.
-
Shaun Ren authored
We normalize binary expressions by attempting to group constants together, in order to facilitate further simplification of the expressions. For any binary operator OP, non-constants x, y, and constants a, b, we apply the following rewrite rules: a OP x -> x OP a, if OP is commutative. (x OP a) OP b -> x OP (a OP b), if OP is associative. (x OP a) OP y -> (x OP y) OP a, if OP is associative and commutative. x OP (y OP a) -> (x OP y) OP a, if OP is associative. Note that we consider floating point operations to be non-associative.
-
- Dec 10, 2024
-
-
Francisco Casas authored
This completes the hlsl->vsir->tpf translation.
-
Francisco Casas authored
The alternative to adding the vsir_program->tess_output_primitive and vsir_program->tess_partitioning fields would be to emit the vsir DCL_TESSELLATOR_OUTPUT_PRIMITIVE and DCL_TESSELLATOR_PARTITIONING instructions, like DXIL does, but I think that the preference is to store these kind of data directly in the vsir_program.
-
Francisco Casas authored
For consistency with the sm4_generate_rdef() and sm4_generate_vsir() functions.
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
The combined sampler is created as a SAMPLER instead of a TEXTURE because that fits all our current infrastructure. The only problem is that in the CTAB it must appear as a Texture, so the new field hlsl_type.is_combined_sampler is added. Co-authored-by:
Elizabeth Figura <zfigura@codeweavers.com>
-
Francisco Casas authored
-
Francisco Casas authored
-