- Jun 03, 2023
-
-
Francisco Casas authored
-
- Jun 02, 2023
-
-
Francisco Casas authored
-
Francisco Casas authored
The idea of the struct sm4_xregister is that it is a regular struct sm4_register but that can also contain other registers for relative addressing in their indexes. If the changes on the register structs seem too ugly, I have an alternate proposal (which I didn't go for since we discussed this before, but with less information): I think we should include all the exclusive sm4_dst_register and sm4_src_register fields, namely: unsigned int writemask; enum vkd3d_sm4_swizzle_type swizzle_type; unsigned int swizzle; within the struct sm4_register, even if they are not used when the register is src or dst. This would save us from passing them as arguments every time, which also adds complexity when these are register used as indexes of a struct sm4_xregister. Also, this would also allows us to define struct sm4_xregister simply as: struct sm4_xregister { struct sm4_register r; /* Relative addressing to be added to the constant offsets in r.idx[·]. */ bool idx_has_reg[3]; struct sm4_register idx_reg[3]; }; and use it directly for the dsts[] and srcs[] fields of struct sm4_instruction.
-
Francisco Casas authored
This allows to remove offset nodes from the IR, making it more readable.
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
Non-constant vector indexing is not solved with relative addressing in the register indexes because this indexation cannot be at the level of register-components. Mathematical operations must be used instead.
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
-
Francisco Casas authored
-
- May 29, 2023
-
-
Since constants are now inlined.
-
-
So that it can be used by sm4_src_from_node() in later commits.
-
-
-
vkd3d-shader/tpf: Write out comparison mode sampler declarations and corresponding sampling instruction.
-
-
-
-
-
Currently, the compiler requires that dereferences be HLSL_IR_CONSTANT, so that it can compute the offset at compile time. However, scenarios such as this test will produce a dereference with HLSL_IR_EXPR, which will generate an error. Passing this test in particular will require adding support for SM4 relative addressing, as well as support for non-constant indexing in general. Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
- May 26, 2023
-
-
vkd3d-shader/spirv: Ensure that the OpLabel emitted vkd3d_spirv_builder_begin_main_function() gets terminated.
-
-
-
-
-
-
As pointed out by Andrey Gusev.
-
-
-
-
-
-
-
-
vkd3d-shader/spirv: Use the register index count in non-I/O variable registers in vkd3d_symbol_make_register().
-
-
vkd3d-shader/spirv: Set the register index count in spirv_compiler_emit_default_control_point_phase().
-
-