- Nov 08, 2023
-
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
- Nov 02, 2023
-
-
- Oct 31, 2023
-
-
- Oct 12, 2023
-
-
- Sep 26, 2023
-
-
- Sep 22, 2023
-
-
For the moment the validator is trivial, it never fails. Checks will be added incrementally.
-
So that it can be used for printing meaningful error locations by downstream processors.
-
-
-
-
- Sep 21, 2023
-
-
- Sep 13, 2023
-
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
- Aug 30, 2023
-
-
- Aug 15, 2023
-
-
This should have no effect, since in SM1 the allocation size is the same as the bind count because there are no texture registers. It is just done for consistency.
-
We have to distinguish between the "bind count" and the "allocation size" of variables. The "allocation size" affects the starting register id for the resource to be allocated next, while the "bind count" is determined by the last field actually used. The former may be larger than the latter. What we are currently calling hlsl_reg.bind_count is actually the "allocation size", so a rename is in order. The real "bind count", which will be introduced in following patches, is important because it is what should be shown in the RDEF table and some resource allocation rules depend on it. For instance, for this shader: texture2D texs[3]; texture2D tex; float4 main() : sv_target { return texs[0].Load(int3(0, 0, 0)) + tex.Load(int3(0, 0, 0)); } the variable "texs" has a "bind count" of 1, but an "allocation size" of 3: // Resource Bindings: // // Name Type Format Dim HLSL Bind Count // ------------------------------ ---------- ------- ----------- -------------- ------ // texs texture float4 2d t0 1 // tex texture float4 2d t3 1
-
- Aug 03, 2023
-
-
We want to be able to remap input signatures based on the signature index, but signature normalization both reorders the signature, and requires the old register index, so add a new field for this.
-
spirv will need this.
-
- Aug 02, 2023
-
-
-
-
Instead of asserting.
-
- Jul 17, 2023
-
-
- Jul 04, 2023
-
-
-
We emit one source with multiple components.
-
-
- Jun 27, 2023
-
-
Signed-off-by:
Nikolay Sivov <nsivov@codeweavers.com>
-
-
- Jun 22, 2023
-
-
In SM1 we can expect all variables to always belong to a single regset. structs in particular, should always be allocated to HLSL_REGSET_NUM, since they are only allowed if all their components are numeric. We are not covering the structs case because of the use of hlsl_type_get_regset(), which is currently not defined for structs. So the current shader struct { float4 a; float4 b; } apple; float4 main() : sv_target { return apple.a + apple.b; } fails with vkd3d/libs/vkd3d-shader/hlsl.c:224: Aborting, reached unreachable code. The solution is to iterate over all regsets to find the one where the variable is allocated (if any), and ignore all others.
-
- May 09, 2023
-
-
- May 08, 2023
-
-
-
-
Variables that contain more than one object (arrays or structs) require the allocation of contiguous registers in the respective object register spaces.
-
- May 03, 2023
-
-
- May 01, 2023
-
-
- Apr 28, 2023
-
-
SPIR-V already handled DSX/DSY, so only D3DBC/TPF needed new case blocks. Signed-off-by:
Ethan Lee <flibitijibibo@gmail.com>
-
- Apr 20, 2023
-
-
- Apr 12, 2023
-
-