Giovanni Mascellani
56ec211d04
vkd3d-shader/ir: Introduce a helper for validating Hull Shader phases.
2024-09-16 19:32:32 +02:00
Giovanni Mascellani
259273a133
vkd3d-shader/ir: Introduce a helper for validating DCL_TESSELLATOR_PARTITIONING.
2024-09-16 19:32:32 +02:00
Giovanni Mascellani
a3c7bebc18
vkd3d-shader/ir: Introduce a helper for validating DCL_TESSELLATOR_OUTPUT_PRIMITIVE.
2024-09-16 19:32:32 +02:00
Giovanni Mascellani
48f512a83a
vkd3d-shader/ir: Introduce a helper for validating DCL_TESSELLATOR_DOMAIN.
2024-09-16 19:32:32 +02:00
Giovanni Mascellani
8aa2364381
vkd3d-shader/ir: Introduce a helper for validating DCL_OUTPUT_CONTROL_POINT_COUNT.
2024-09-16 19:32:32 +02:00
Nikolay Sivov
0e9fcb1431
vkd3d-shader/tpf: Handle tessellation stage fields in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-16 14:04:46 +02:00
Nikolay Sivov
947b151ed4
vkd3d-shader/tpf: Handle atomic instructions in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-16 14:01:29 +02:00
Nikolay Sivov
7c12371298
vkd3d-shader/tpf: Handle bitwise instructions in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-16 14:01:18 +02:00
Nikolay Sivov
90fc57ff89
vkd3d-shader/tpf: Handle GS reflection fields in the STAT section.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-16 14:01:07 +02:00
Nikolay Sivov
97cc27d33f
vkd3d-shader/d3d-asm: Tweak some GS declaration names.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-16 13:58:57 +02:00
Giovanni Mascellani
c45bb5badc
vkd3d-shader/ir: Introduce a helper for validating DCL_GL_INSTANCES.
2024-09-16 13:53:52 +02:00
Giovanni Mascellani
dec7a0dbd2
vkd3d-shader/ir: Introduce a helper for validating DCL_OUTPUT_TOPOLOGY.
2024-09-16 13:53:52 +02:00
Giovanni Mascellani
22ba37c8b9
vkd3d-shader/ir: Introduce a helper for validating DCL_VERTICES_OUT.
2024-09-16 13:53:51 +02:00
Giovanni Mascellani
936adff58b
vkd3d-shader/ir: Introduce a helper for validating DCL_INPUT_PRIMITIVE.
2024-09-16 13:53:51 +02:00
Giovanni Mascellani
0f07a2c512
vkd3d-shader/ir: Introduce a helper for validating DCL_HS_MAX_TESSFACTOR.
2024-09-16 13:53:51 +02:00
Giovanni Mascellani
e1c3266793
vkd3d-shader/ir: Record entering a block in the LABEL validation handler.
2024-09-16 13:53:51 +02:00
Giovanni Mascellani
1d21588de7
vkd3d-shader/ir: Record leaving a block in the relevant validation handlers.
2024-09-16 13:53:51 +02:00
Giovanni Mascellani
3e012c355d
vkd3d-shader/ir: Validate NOP instructions.
2024-09-14 16:44:17 +02:00
Giovanni Mascellani
27b421be6a
vkd3d-shader/ir: Do not access a missing destination register when validating PHI.
2024-09-14 16:44:17 +02:00
Giovanni Mascellani
e27cf68173
vkd3d-shader/ir: Introduce a helper for validating PHI.
2024-09-14 16:44:16 +02:00
Giovanni Mascellani
9696a0cd4a
vkd3d-shader/ir: Introduce a helper for validating SWITCH_MONOLITHIC.
2024-09-14 16:44:16 +02:00
Giovanni Mascellani
ce6306c6fb
vkd3d-shader/ir: Introduce a helper for validating BRANCH.
2024-09-14 16:44:16 +02:00
Giovanni Mascellani
504f4223c2
vkd3d-shader/ir: Introduce a helper for validating LABEL.
2024-09-14 16:44:16 +02:00
Giovanni Mascellani
c447a062c4
vkd3d-shader/ir: Introduce a helper for validating RET.
2024-09-14 16:44:16 +02:00
Giovanni Mascellani
88b3d4fb3a
vkd3d-shader/ir: Introduce a helper for validating ENDSWITCH.
2024-09-14 16:44:16 +02:00
Giovanni Mascellani
4939f580a4
vkd3d-shader/ir: Introduce a helper for validating SWITCH.
2024-09-14 16:44:16 +02:00
Francisco Casas
4b85e6b1f8
vkd3d-shader/d3dbc: Remove ctx and entry_func args in d3dbc_compile().
2024-09-14 16:39:24 +02:00
Francisco Casas
b72ef6038d
vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref.
2024-09-14 16:39:17 +02:00
Francisco Casas
6bd0390498
vkd3d-shader/hlsl: Save hlsl_ir_if in the vsir_program for SM1.
2024-09-14 16:33:25 +02:00
Henri Verbeet
6b0baeb6c2
vkd3d-shader/ir: Merge vsir_program_normalise_combined_samplers() into vsir_program_lower_instructions().
2024-09-14 16:11:45 +02:00
Henri Verbeet
3b68aa5b87
vkd3d-shader/ir: Introduce vsir_src_param_init_sampler().
2024-09-14 16:11:45 +02:00
Henri Verbeet
7ea8a29036
vkd3d-shader/ir: Introduce vsir_src_param_init_resource().
2024-09-14 16:11:45 +02:00
Henri Verbeet
ca445cd832
vkd3d-shader/ir: Move the instruction helpers together.
2024-09-14 16:11:45 +02:00
Henri Verbeet
d54e2ebd7d
vkd3d-shader/ir: Move the destination parameter helpers up.
2024-09-14 16:11:45 +02:00
Henri Verbeet
4bad83c9fb
vkd3d-shader/ir: Move the source parameter helpers up.
2024-09-14 16:11:45 +02:00
Francisco Casas
ffc1449412
vkd3d-shader/hlsl: Allow effect calls on default value initializers.
2024-09-14 16:09:12 +02:00
Francisco Casas
4aa262d773
vkd3d-shader/hlsl: Parse ConstructGSWithSO().
2024-09-14 16:09:08 +02:00
Francisco Casas
1f9fc2a422
vkd3d-shader/hlsl: Process GeometryShader as a valid stateblock lhs.
2024-09-14 16:02:43 +02:00
Francisco Casas
02b249d5e7
vkd3d-shader/hlsl: Introduce enum hlsl_compile_type.
2024-09-14 15:57:40 +02:00
Nikolay Sivov
4c03cda3c7
vkd3d-shader/tpf: Handle texture instructions in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-13 16:01:22 +02:00
Nikolay Sivov
9e4b2f5a1b
vkd3d-shader/tpf: Handle 'movc' in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-13 16:01:22 +02:00
Nikolay Sivov
7bd6c6b172
vkd3d-shader/tpf: Handle 'emit' and 'cut' in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-13 16:01:22 +02:00
Nikolay Sivov
908833fa6b
vkd3d-shader/tpf: Handle arithmetic instructions in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-13 16:01:22 +02:00
Nikolay Sivov
cfa8f0dccb
vkd3d-shader/tpf: Handle conversion instructions in STAT.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-13 16:01:22 +02:00
Giovanni Mascellani
44222ea739
vkd3d-shader/ir: Introduce a helper for validating ENDREP.
2024-09-13 15:59:49 +02:00
Giovanni Mascellani
e9fbbf26bb
vkd3d-shader/ir: Introduce a helper for validating REP.
2024-09-13 15:59:15 +02:00
Giovanni Mascellani
bf9022d3df
vkd3d-shader/ir: Introduce a helper for validating ENDLOOP.
2024-09-13 15:58:46 +02:00
Giovanni Mascellani
5ce10b9e68
vkd3d-shader/ir: Introduce a helper for validating LOOP.
2024-09-13 15:58:01 +02:00
Giovanni Mascellani
34c8aaad29
vkd3d-shader/ir: Introduce a helper for validating ENDIF.
2024-09-13 15:57:39 +02:00
Giovanni Mascellani
244838d344
vkd3d-shader/ir: Introduce a helper for validating ELSE.
2024-09-13 15:56:18 +02:00
Giovanni Mascellani
8af2d04dbc
vkd3d-shader/ir: Introduce a helper for validating IFC.
2024-09-13 15:54:51 +02:00
Giovanni Mascellani
af687c9522
vkd3d-shader/ir: Introduce a helper for validating IF.
2024-09-13 15:54:16 +02:00
Giovanni Mascellani
35fe5b48c8
vkd3d-shader/ir: Introduce a helper for validating DCL_TEMPS.
2024-09-13 15:52:07 +02:00
Henri Verbeet
d30160710b
vkd3d-shader/tpf: Include vkd3d_d3dcommon.h only from tpf.c.
2024-09-12 18:50:51 +02:00
Henri Verbeet
14ee3b3e4a
vkd3d-shader/d3dbc: Use VKD3D_SM1_DCL_USAGE_SHIFT and VKD3D_SM1_DCL_USAGE_INDEX_SHIFT in d3dbc_write_semantic_dcl().
2024-09-12 18:49:57 +02:00
Elizabeth Figura
1aa857735f
vkd3d-shader/hlsl: Preserve doubles in intrinsic_determinant().
2024-09-12 18:48:52 +02:00
Elizabeth Figura
e146cc4c8e
vkd3d-shader/hlsl: Preserve doubles in intrinsic_cross().
2024-09-12 18:48:52 +02:00
Elizabeth Figura
1176aaad22
vkd3d-shader/hlsl: Preserve doubles in elementwise_intrinsic_float_convert_args().
2024-09-12 18:48:52 +02:00
Elizabeth Figura
ebaf877b62
vkd3d-shader/hlsl: Preserve doubles in intrinsic_float_convert_arg().
2024-09-12 18:48:52 +02:00
Elizabeth Figura
534d546ed9
vkd3d-shader/hlsl: Use expr_common_base_type() in intrinsic_cross().
2024-09-12 18:48:52 +02:00
Elizabeth Figura
9260078300
vkd3d-shader/hlsl: Use intrinsic_float_convert_arg() in write_acos_or_asin().
2024-09-12 18:48:52 +02:00
Anna (navi) Figueiredo Gomes
e61046fb23
vkd3d-shader/hlsl: Implement the "earlydepthstencil" attribute.
2024-09-12 18:46:24 +02:00
Francisco Casas
0c621f9e4e
vkd3d-shader/hlsl: Save hlsl_ir_jump in the vsir_program for SM1.
2024-09-12 18:43:55 +02:00
Francisco Casas
08fb683784
vkd3d-shader/hlsl: Save hlsl_ir_resource_load in the vsir_program for SM1.
2024-09-12 18:42:25 +02:00
Francisco Casas
961c4f8b23
vkd3d-shader/hlsl: Save CAST hlsl_ir_exprs in the vsir_program for SM1.
2024-09-12 18:39:43 +02:00
Francisco Casas
8933620109
vkd3d-shader/hlsl: Save REINTERPRET hlsl_ir_exprs as vsir_program MOVs for SM1.
2024-09-12 18:33:19 +02:00
Giovanni Mascellani
866f138875
vkd3d-shader/ir: Record the control flow type in the program.
2024-09-12 18:31:32 +02:00
Giovanni Mascellani
dcee148b1a
vkd3d-shader/ir: Move the control flow type enumeration to vkd3d_shader_private.h.
2024-09-12 18:27:20 +02:00
Nikolay Sivov
ec644b395b
vkd3d-shader/tpf: Create a stub STAT section.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-12 18:26:08 +02:00
Feifan He
5df81049aa
vkd3d-shader/msl: Call vsir_program_transform() before generating code.
2024-09-12 18:09:00 +02:00
Feifan He
47981def0d
vkd3d-shader/msl: Generate comments for unhandled instructions.
...
Similar to commit 8a60814476
for the GLSL
target.
2024-09-12 18:04:44 +02:00
Feifan He
23ba1a5e07
vkd3d-shader: Introduce VKD3D_SHADER_TARGET_MSL.
2024-09-12 17:03:32 +02:00
Henri Verbeet
ab525f31e4
vkd3d-shader/d3dbc: Use enum vkd3d_shader_src_modifier in struct sm1_src_register.
2024-09-11 15:24:54 +02:00
Henri Verbeet
f3e6c75c89
vkd3d-shader/d3dbc: Use enum vkd3d_shader_dst_modifier in struct sm1_dst_register.
2024-09-11 15:19:29 +02:00
Giovanni Mascellani
b31c9831fa
vkd3d-shader/ir: Print results as signed numbers.
2024-09-11 15:13:14 +02:00
Giovanni Mascellani
096f133b09
vkd3d-shader/ir: Rename vsir_program_normalise() to vsir_program_transform().
2024-09-11 15:13:14 +02:00
Giovanni Mascellani
03ab0156a2
vkd3d-shader/ir: Run validation after inserting the alpha test.
2024-09-11 15:13:14 +02:00
Giovanni Mascellani
5c0d640d18
vkd3d-shader/ir: Run validation after flattening control flow constructs.
2024-09-11 15:13:14 +02:00
Giovanni Mascellani
4b06729be8
vkd3d-shader/ir: Run validation after normalising combined samplers.
2024-09-11 15:13:14 +02:00
Giovanni Mascellani
c2fd1e42fd
vkd3d-shader/ir: Run validation after removing dead code.
2024-09-11 15:13:14 +02:00
Elizabeth Figura
82773eb805
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in refract().
2024-09-11 15:11:42 +02:00
Elizabeth Figura
2688a24bde
vkd3d-shader/hlsl: Preserve halves in intrinsic_step().
2024-09-11 15:11:42 +02:00
Elizabeth Figura
b23c172a47
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in intrinsic_smoothstep().
2024-09-11 15:11:42 +02:00
Elizabeth Figura
e7eadb38b8
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in intrinsic_faceforward().
2024-09-11 15:11:42 +02:00
Elizabeth Figura
24e29649c4
vkd3d-shader/hlsl: Use elementwise_intrinsic_convert_args() in intrinsic_dst().
...
This one preserves integer arguments.
2024-09-11 15:11:42 +02:00
Elizabeth Figura
7636f2a233
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in write_atan_or_atan2().
2024-09-11 15:11:42 +02:00
Francisco Casas
6e6e2910d6
vkd3d-shader/hlsl: Save DP2ADD hlsl_ir_exprs in the vsir_program for SM1.
2024-09-11 15:10:16 +02:00
Francisco Casas
4ed16108f0
vkd3d-shader/hlsl: Save COS_REDUCED and SIN_REDUCED in the vsir_program for SM1.
2024-09-11 15:09:58 +02:00
Francisco Casas
5db2c2a949
vkd3d-shader/hlsl: Save DOT hlsl_ir_exprs in the vsir_program for SM1.
2024-09-11 15:09:17 +02:00
Francisco Casas
d70342d66d
vkd3d-shader/hlsl: Save per-component hlsl_ir_exprs in the vsir_program for SM1.
2024-09-11 15:07:35 +02:00
Francisco Casas
82dec5db46
vkd3d-shader/hlsl: Save simple hlsl_ir_exprs in the vsir_program for SM1.
2024-09-11 15:06:09 +02:00
Anna (navi) Figueiredo Gomes
127ae6cf12
vkd3d: Implement d3d12_command_list_OMSetDepthBounds().
...
Based on the design document, "The runtime will not clamp or validate
the input, but implementations may clamp to the range [0,1] if necessary.",
so we test for the EXT_depth_range_unrestricted extension, and only clamp if
it's not available (thus, necessary to do so).
NaNs are converted to zero as per "NaNs must be treated as 0, but the runtime
will convert NaNs to 0 on behalf of the implementation.", and a default bounds
are set to 0.0 and 1.0.
2024-09-11 14:53:33 +02:00
Nikolay Sivov
3b4e0ce8e9
vkd3d-shader/fx: Check modifiers when reusing types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-10 21:48:03 +02:00
Giovanni Mascellani
d71966c77e
vkd3d: Do not keep track of descriptor heaps when using virtual heaps.
...
Descriptors only need flushing when using Vulkan heaps, so let's avoid
uselessly scanning an array and taking and releasing a mutex if we're not.
2024-09-10 21:47:38 +02:00
Giovanni Mascellani
05a5bd620d
vkd3d: Directly call the function to update descriptors.
...
For better code clarity.
2024-09-10 21:46:46 +02:00
Conor McCarthy
e550901efa
vkd3d-shader/ir: Free the semantic names of deleted signature elements in shader_signature_merge(). (Valgrind)
2024-09-10 21:45:22 +02:00
Giovanni Mascellani
828dfdf1bd
vkd3d-shader/ir: Run validation after normalising flat constants.
2024-09-10 21:43:14 +02:00
Giovanni Mascellani
1c285d40bd
vkd3d-shader/ir: Run validation after normalising I/O registers.
2024-09-10 21:43:14 +02:00
Giovanni Mascellani
d8c41cc270
vkd3d-shader/ir: Run validation after normalising Hull Shader control points I/O registers.
2024-09-10 21:43:14 +02:00
Giovanni Mascellani
a3fdc447de
vkd3d-shader/ir: Run validation after flattening hull shader phases.
2024-09-10 21:43:14 +02:00
Giovanni Mascellani
5fd93c28c4
vkd3d-shader/ir: Run validation after remapping the output signature.
2024-09-10 21:43:14 +02:00
Anna (navi) Figueiredo Gomes
5ebbba6fff
vkd3d/state: Replace ERR with WARN in vkd3d_validate_descriptor_set_count().
2024-09-10 21:42:47 +02:00
Henri Verbeet
207664baca
vkd3d-shader/d3dbc: Use VKD3D_SM1_REGISTER_TYPE_SHIFT and related constants in sm1_encode_register_type().
2024-09-10 21:42:23 +02:00
Henri Verbeet
f163df787e
vkd3d-shader/d3dbc: Avoid D3DVS_VERSION and D3DPS_VERSION.
2024-09-10 21:41:33 +02:00
Nikolay Sivov
de6abd964e
vkd3d-shader/hlsl: Implement the mad() intrinsic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-10 21:40:32 +02:00
Nikolay Sivov
75299c04fd
vkd3d-shader: Handle the SV_SampleIndex semantic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-10 21:39:03 +02:00
Giovanni Mascellani
bfd1fc9cd6
vkd3d-shader/ir: Assume that Hull Shaders have a control point phase in vsir_program_normalise_io_registers().
...
The control point phase is always introduced, when missing, by the
earlier instruction_array_normalise_hull_shader_control_point_io()
pass.
2024-09-05 16:33:05 +02:00
Giovanni Mascellani
7b9a1bf6df
vkd3d-shader/ir: Run validation after materializing undominated SSAs to TEMPs.
2024-09-05 16:29:47 +02:00
Giovanni Mascellani
08c1f4d45e
vkd3d-shader/ir: Run validation after flattening control flow constructs.
2024-09-05 16:29:17 +02:00
Giovanni Mascellani
455c826a6a
vkd3d-shader/ir: Run validation after structurization.
2024-09-05 16:29:11 +02:00
Giovanni Mascellani
e935dcb88d
vkd3d-shader/ir: Run validation after lowering switches to selection ladders.
2024-09-05 16:29:02 +02:00
Giovanni Mascellani
4a28433ef5
vkd3d-shader/ir: Run validation after materializing PHI SSAs to TEMPs.
2024-09-05 16:26:52 +02:00
Giovanni Mascellani
fade5dd54c
vkd3d-shader/ir: Run validation after lowering instructions.
2024-09-05 16:25:33 +02:00
Giovanni Mascellani
ffb7284fb6
vkd3d-shader/ir: Do not decide the control flow type on NOPs.
2024-09-05 16:20:39 +02:00
Giovanni Mascellani
829e6f5cd0
vkd3d-shader/ir: Emit a warning instead of an error on validation failures.
2024-09-05 16:20:39 +02:00
Henri Verbeet
03d76f653b
vkd3d-shader/d3dbc: Use VKD3D_SM1_INSTRUCTION_LENGTH_SHIFT instead of D3DSI_INSTLENGTH_SHIFT.
2024-09-05 12:47:43 +02:00
Henri Verbeet
b9693393fd
vkd3d-shader/d3dbc: Store a enum vkd3d_sm1_opcode in struct sm1_instruction.
2024-09-05 12:45:43 +02:00
Nikolay Sivov
0a6bcf5da7
vkd3d-shader/tpf: Fix a typo when adding the SFI0 section.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-04 18:43:41 +02:00
Henri Verbeet
a214e96cf8
vkd3d-shader/tpf: Use enum vkd3d_sm4_data_type in sm4_resource_format().
2024-09-04 18:42:26 +02:00
Henri Verbeet
b61675d0f3
vkd3d-shader/tpf: Use enum vkd3d_shader_component_type in write_sm4_signature().
2024-09-04 18:40:56 +02:00
Shaun Ren
c1babbc8aa
vkd3d-shader/hlsl: Validate hull shader attributes.
2024-09-04 18:30:04 +02:00
Shaun Ren
6c1dc53d15
vkd3d-shader/hlsl: Parse the patchconstantfunc attribute.
2024-09-04 18:30:04 +02:00
Shaun Ren
41cb29c4c8
vkd3d-shader/hlsl: Parse the partitioning attribute.
2024-09-04 18:28:59 +02:00
Shaun Ren
615ffb823b
vkd3d-shader/hlsl: Parse the outputtopology attribute.
2024-09-04 18:28:57 +02:00
Shaun Ren
dae88bab52
vkd3d-shader/hlsl: Parse the outputcontrolpoints attribute.
2024-09-04 18:28:46 +02:00
Shaun Ren
4dfd682446
vkd3d-shader/hlsl: Parse the domain attribute.
2024-09-04 18:21:15 +02:00
Shaun Ren
51e9b05fe5
vkd3d-shader/hlsl: Introduce parse_entry_function_attributes() helper.
2024-09-04 18:18:23 +02:00
Shaun Ren
73ee5a135a
vkd3d-shader/hlsl: Check for duplicate attributes in function declaration.
2024-09-04 18:18:23 +02:00
Petrichor Park
855b9713b8
vkd3d-shader/hlsl: Implement the sincos() intrinsic.
2024-09-04 18:16:37 +02:00
Petrichor Park
384810b4ba
vkd3d-shader/hlsl: Implement the dst() intrinsic.
2024-09-04 18:08:24 +02:00
Francisco Casas
7ec44bd70b
vkd3d-shader/hlsl: Parse the CompileShader() syntax.
2024-09-04 17:59:34 +02:00
Francisco Casas
45f18a7838
vkd3d-shader/hlsl: Parse the shader 'compile' syntax.
...
The hlsl_ir_compile node is introduced to represent the "compile"
syntax, and later the CompileShader() and ConstructGSWithSO()
constructs.
It basically represents a function call that remembers its arguments
using hlsl_srcs and keeps its own instruction block, which is discarded
when working on non-effect shaders.
For shader compilations it can be asserted that args_count is 1, and
that this argument (and the last node in hlsl_ir_effect_call.instrs)
is a regular hlsl_ir_call pointing to the declaration of the function
to be compiled.
2024-09-04 17:58:56 +02:00
Francisco Casas
379cd9b7b5
vkd3d-shader/hlsl: Save hlsl_ir_swizzles in the vsir_program for SM1.
2024-09-04 17:51:32 +02:00
Francisco Casas
b46eac35c0
vkd3d-shader/hlsl: Save hlsl_ir_stores in the vsir_program for SM1.
2024-09-04 17:51:32 +02:00
Francisco Casas
9aace1ac4e
vkd3d-shader/hlsl: Save hlsl_ir_loads in the vsir_program for SM1.
2024-09-04 17:51:32 +02:00
Francisco Casas
23e3ec84f7
vkd3d-shader/hlsl: Save hlsl_ir_constants in the vsir_program for SM1.
2024-09-04 17:51:30 +02:00
Francisco Casas
a61846c28a
vkd3d-shader/hlsl: Store SM1 sampler dcls on the vsir_program.
2024-09-04 17:47:47 +02:00
Francisco Casas
9a564872c5
vkd3d-shader/hlsl: Store SM1 constant dcls on the vsir_program.
2024-09-04 17:44:46 +02:00
Francisco Casas
7abf3c3a37
vkd3d-shader/hlsl: Introduce hlsl_ir_vsir_instruction_ref.
...
This node type will be deleted once the hlsl->vsir->d3dbc translation is
complete. For now it serves the purpose of allowing to keep both real
hlsl_ir_nodes and vsir_instructions in the hlsl_block, until all the
former can be translated into the latter.
2024-09-04 16:49:00 +02:00
Anna (navi) Figueiredo Gomes
3d8fc1a467
vkd3d-shader/spirv: Break long assembly lines.
...
Avoid overflowing the (Wine) debug log buffer when output lines are too
long, and keep spirv-text output more legible. The output is still valid
SPIR-V asm, as the assembler does not care for which kind of whitespace
is used.
2024-09-03 17:06:20 +02:00
Victor Chiletto
a39227c79c
vkd3d-shader/hlsl: Fold logic AND and logic OR identities.
2024-09-03 15:11:16 +02:00
Elizabeth Figura
d507acb5ac
vkd3d-utils: Do not emit implicit truncation warnings from D3DCompile2VKD3D() before version 42.
2024-09-03 15:07:36 +02:00
Elizabeth Figura
8515fcbc70
vkd3d-utils: Add a D3DCompile2VKD3D() that allows configuring DLL version.
...
This would allow us to use vkd3d-utils directly in Wine [with the exception of
D3D_COMPILE_STANDARD_FILE_INCLUDE, but we can simply pass the ID3DInclude object
to D3DCompile2VKD3D().]
2024-09-03 15:06:29 +02:00
Nikolay Sivov
6d28cc131b
vkd3d-shader/fx: Fix the unpacked size and stride fields of the fx_4_0 types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-02 19:14:59 +02:00
Nikolay Sivov
9673b660d4
vkd3d-shader/fx: Expand BlendState array fields for fx_4_1 as well.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-02 19:14:59 +02:00
Nikolay Sivov
1ed4543007
vkd3d-shader/fx: Only add numeric variables when writing buffers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-02 19:14:59 +02:00
Nikolay Sivov
ee2da76e6d
vkd3d-shader/fx: Set structure field offsets in bytes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-09-02 19:14:59 +02:00
Henri Verbeet
7a74e79f2d
vkd3d-shader/d3dbc: Return a vkd3d_decl_usage from hlsl_sm1_usage_from_semantic().
2024-09-02 19:14:01 +02:00
Henri Verbeet
1c01560321
vkd3d-shader/tpf: Return a vkd3d_shader_sysval_semantic from hlsl_sm4_usage_from_semantic().
2024-09-02 19:12:53 +02:00
Anna (navi) Figueiredo Gomes
f5205da8e9
vkd3d-shader/spirv: Pass a vkd3d_shader_descriptor_info1 structure to spirv_compiler_build_descriptor_variable().
2024-09-02 19:10:19 +02:00