- May 03, 2023
-
-
We will need this in order to allocate some "special" registers: ps_1_* output, sincos output, etc.
-
-
-
-
A register count is required for Shader Model 6 signatures, including those normalised from earlier models.
-
-
-
-
This patch makes index expressions on resources hlsl_ir_index nodes instead of hlsl_ir_resource_load nodes, because it is not known if they will be used later as the lhs of an hlsl_ir_resource_store. For now, the only benefit is consistency.
-
- May 02, 2023
-
-
The same heaps must be flushed again if the command list is executed again without a reset.
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
-
-
-
-
-
-
-
-
-
- May 01, 2023
-
-
Otherwise, in the added test, we get: vkd3d-compiler: vkd3d-shader/hlsl.c:452: hlsl_init_deref_from_index_chain: Assertion `chain' failed. because on the path that triggers the following error: E5002: Wrong type for argument 1 of 'tex3D': expected 'sampler' or 'sampler3D', but got 'sampler2D'. a NULL params.resource is passed to hlsl_new_resource_load() and then to hlsl_init_deref_from_index_chain().
-
Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
-
-
-
-
-
-
Since in SM1 all vector types use 4 register components, and since SM1 doesn't consider vectors of different dimx incompatible, it is necessary to ensure that the semantic var is created with dimx=4, and to add a cast node.
-
Considering row vectors from row_major matrices as having a different layout as regular vectors, and error out in that case, is left as todo.
-
The use of the hlsl_semantic.reported_duplicated_output_next_index field allows reporting multiple overlapping indexes, such as in the following vertex shader: void main(out float1x3 x : OVERLAP0, out float1x3 y : OVERLAP1) { x = float3(1.0, 2.0, 3.2); y = float3(5.0, 6.0, 5.0); } apple.hlsl:1:41: E5013: Output semantic "OVERLAP1" is used multiple times. apple.hlsl:1:13: First use of "OVERLAP1" is here. apple.hlsl:1:41: E5013: Output semantic "OVERLAP2" is used multiple times. apple.hlsl:1:13: First use of "OVERLAP2" is here. While at the same time avoiding reporting overlaps more than once for large arrays: struct apple { float2 p : sv_position; }; void main(out apple aps[4]) { } apple.hlsl:3:8: E5013: Output semantic "sv_position0" is used multiple times. apple.hlsl:3:8: First use of "sv_position0" is here.
-
-
-
-
-
-
-
-
-