Henri Verbeet
e69f3da089
vkd3d-shader/hlsl: Set the "has_point_size" flag for vertex shaders outputting point sizes.
2025-09-11 16:09:46 +02:00
Henri Verbeet
84d3a8d167
vkd3d-shader/hlsl: Use VKD3DSPR_COMBINED_SAMPLER destination operands in sm1_generate_vsir_sampler_dcls().
...
That's what the d3d-asm target expects in shader_print_dcl_usage(), and
what vkd3d_shader_scan() requires to create correct descriptor
information.
2025-09-11 16:09:46 +02:00
Henri Verbeet
4569a9d5ba
vkd3d-shader/hlsl: Set the "flat constant" count in sm1_generate_vsir().
...
Aside from being required in order to produce valid vsir, this is used
by vsir_program_scan() to generate descriptor information.
2025-09-11 16:09:46 +02:00
Henri Verbeet
2b5dc156c7
vkd3d-shader/hlsl: vsir constant buffer sizes are specified in bytes.
2025-09-11 16:09:46 +02:00
Henri Verbeet
38078f2c51
vkd3d-shader/hlsl: Map HLSL_TYPE_HALF to VSIR_DATA_F32.
...
VSIR_DATA_F16 would require VKD3DSGF_FORCE_NATIVE_LOW_PRECISION, but we
don't currently implement that. vkd3d_component_type_from_data_type()
currently ends up doing this mapping for us in the SPIR-V backend, but
that's about to go away.
2025-09-08 12:34:16 +02:00
Elizabeth Figura
0096ae43e1
vkd3d-shader/hlsl: Remove liveness range tracking from the allocator.
...
We no longer use it.
2025-09-04 14:04:27 +02:00
Elizabeth Figura
a44d79a13c
vkd3d-shader/hlsl: Use a simple counter for indexable temps.
2025-09-04 14:04:27 +02:00
Elizabeth Figura
8db9465693
vkd3d-shader/hlsl: Use unique temps for SINCOS.
2025-09-04 14:04:27 +02:00
Shaun Ren
d8ea8894ab
vkd3d-shader/hlsl: Support SM1 non-floating point CMP expressions.
2025-09-04 13:58:57 +02:00
Victor Chiletto
d5fdfa5f79
vkd3d-shader/hlsl: Emit RDEF metadata for SRV structured buffers.
2025-09-04 13:48:28 +02:00
Victor Chiletto
8698874628
vkd3d-shader/hlsl: Emit vsir structured loads.
2025-09-04 13:39:03 +02:00
Victor Chiletto
ae450e5957
vkd3d-shader/hlsl: Use the packed byte size as the stride for structured buffer texture declarations.
2025-09-04 13:29:51 +02:00
Victor Chiletto
9bf94ff034
vkd3d-shader/hlsl: Emit texture declarations for SRV structured buffers.
2025-09-04 13:29:51 +02:00
Elizabeth Figura
02d70be6ef
vkd3d-shader/hlsl: Use unique temps for per-component operations.
2025-09-02 11:33:25 +02:00
Elizabeth Figura
25ae2fcc84
vkd3d-shader/hlsl: Use unique temps for non-indexable variables.
2025-09-02 11:33:25 +02:00
Elizabeth Figura
887da605c5
vkd3d-shader/hlsl: Initialize the allocator with a type.
2025-09-02 11:26:30 +02:00
Shaun Ren
320c3c9652
vkd3d-shader/hlsl: Fold some general conditional identities.
...
The following conditional identities are applied:
c ? x : x -> x
false ? x : y -> y; true ? x : y -> x
c ? true : false -> c; c ? false : true -> !c
!c ? x : y -> c ? y : x
Lastly, for expression chains x, y in a conditional expression
c ? x : y,
we evaluate all conditionals in the expression chains with the
condition c, assuming c is true (for x), or false (for y).
2025-08-21 16:00:51 +02:00
Shaun Ren
245430002a
vkd3d-shader/hlsl: Fold some general unary identities.
...
The following unary identities are applied:
||x|| -> |x|
|-x| -> |x|
~(~x) -> x
f(g(x)) -> g(x), where f(), g() are floor() or ceil() functions.
-(-x) -> x
!!x -> x
!(x == y) -> x != y, !(x < y) -> x >= y, etc (for integers).
2025-08-21 16:00:46 +02:00
Henri Verbeet
85603dc9c6
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_compile_shader().
...
Mostly in preparation for returning a vsir program from
hlsl_compile_shader() in the next commit.
2025-08-07 20:37:41 +02:00
Elizabeth Figura
a4f69d4ae6
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
2025-08-07 18:52:46 +02:00
Shaun Ren
4bb880f9ed
vkd3d-shader/hlsl: Support interlocked operations on non-indexed groupshared variables.
2025-08-05 16:33:08 +02:00
Shaun Ren
8d0d8d106b
vkd3d-shader/hlsl: Support stores to raw groupshared variables.
2025-08-05 16:32:34 +02:00
Shaun Ren
c8d2d40b91
vkd3d-shader/hlsl: Support loads from groupshared variables.
2025-08-05 16:18:26 +02:00
Shaun Ren
fa560b589e
vkd3d-shader/hlsl: Emit dcl_tgsm_raw instructions for raw groupshared variables.
2025-08-05 16:09:45 +02:00
Shaun Ren
3802344e97
vkd3d-shader/hlsl: Allocate groupshared registers.
2025-08-05 16:06:07 +02:00