mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-27 09:22:14 +00:00
418 lines
24 KiB
Plaintext
418 lines
24 KiB
Plaintext
The vkd3d team is proud to announce that release 1.13 of vkd3d, the Direct3D
|
||
to Vulkan translation library, is now available.
|
||
|
||
This release contains improvements that are listed in the release notes below.
|
||
The main highlights are:
|
||
|
||
- Basic loop unrolling support in the HLSL compiler.
|
||
- Effects compiler support for several version 4.0+ state objects.
|
||
- Miscellaneous bug fixes.
|
||
|
||
The source is available from the following location:
|
||
|
||
<https://dl.winehq.org/vkd3d/source/vkd3d-1.13.tar.xz>
|
||
|
||
The current source can also be pulled directly from the git repository:
|
||
|
||
<https://gitlab.winehq.org/wine/vkd3d.git>
|
||
|
||
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
|
||
for the complete list.
|
||
|
||
# What's new in vkd3d 1.13
|
||
|
||
### libvkd3d
|
||
|
||
- The ID3D12CommandList6 interface is supported.
|
||
|
||
- Block-compressed textures can be created with unaligned dimensions. This
|
||
corresponds to
|
||
D3D12_FEATURE_D3D12_OPTIONS8.UnalignedBlockTexturesSupported.
|
||
|
||
- Some minor issues pointed out by the Vulkan validation layers have been
|
||
addressed. These are not known to affect applications in practice, but
|
||
should make libvkd3d slightly more well-behaved.
|
||
|
||
### libvkd3d-shader
|
||
|
||
- New features for the HLSL source type:
|
||
- Basic loop unrolling support. Some of the more complicated cases like
|
||
loops containing conditional jumps are still unsupported.
|
||
- Initialisation values for global variables, function parameters, and
|
||
annotation variables are parsed and stored in output formats supporting
|
||
them.
|
||
- Shader model 5.1 register spaces are supported when using the
|
||
corresponding target profiles, as well as shader model 5.1 reflection
|
||
data.
|
||
- Register reservations support expressions as offsets. For example:
|
||
‘float f : register(c0[1 + 1 * 2]);’
|
||
- The tex1D(), tex2D(), tex3D(), and texCUBE() intrinsic function variants
|
||
with explicit derivatives are supported.
|
||
- The following intrinsic functions are supported:
|
||
- asint()
|
||
- f16tof32()
|
||
- faceforward()
|
||
- GetRenderTargetSampleCount()
|
||
- rcp()
|
||
- tex2Dbias()
|
||
- tex1Dgrad(), tex2Dgrad(), tex3Dgrad(), and texCUBEgrad()
|
||
- The sin() and cos() intrinsic functions are supported in shader model
|
||
1-3 profiles. These were already supported in shader model 4+ profiles.
|
||
- The following features specific to effects target profiles:
|
||
- Types supported in version 4.0+:
|
||
- BlendState
|
||
- ComputeShader, DomainShader, GeometryShader, and HullShader
|
||
- DepthStencilState
|
||
- RasterizerState
|
||
- State application functions implemented for version 4.0+ effects:
|
||
- OMSetRenderTargets()
|
||
- SetBlendState()
|
||
- SetComputeShader(), SetDomainShader(), SetGeometryShader(),
|
||
SetHullShader(), SetPixelShader(), and SetVertexShader()
|
||
- SetDepthStencilState()
|
||
- SetRasterizerState()
|
||
- String types. These are mainly used for annotations.
|
||
- Annotations on global variables.
|
||
- Support for the ‘Texture’ field of the ‘SamplerState’ type.
|
||
- Support for NULL values.
|
||
- Stores to swizzled matrix variables.
|
||
- The ‘unsigned’ type modifier is supported. (For example,
|
||
‘unsigned int’.) Note that ‘uint’ and related types were already
|
||
supported.
|
||
- ‘ConstantBuffer<>’ types.
|
||
- The ‘SV_Coverage’ output semantic for fragment shaders.
|
||
|
||
- The experimental DXIL source type supports quad group operations.
|
||
|
||
- The Direct3D shader model 2-3 ‘texldb’ instruction is correctly disassembled
|
||
when outputting Direct3D shader assembly.
|
||
|
||
- New interfaces:
|
||
- The vkd3d_shader_parameter_info structure extends the
|
||
vkd3d_shader_compile_info structure, and can be used to specify shader
|
||
parameters. This is a more generic version of the shader parameter
|
||
interface for SPIR-V targets in struct vkd3d_shader_spirv_target_info.
|
||
- The VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32 enumeration value specifies
|
||
that a shader parameter contains 32-bit floating-point data.
|
||
- The VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC shader parameter
|
||
specifies the alpha test function.
|
||
- The VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF shader parameter
|
||
specifies the alpha test reference value.
|
||
- The VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION shader parameter
|
||
specifies the interpolation mode for colour inputs in Direct3D shader
|
||
model 1-3 fragment shaders.
|
||
- The VKD3D_SHADER_PARAMETER_TYPE_BUFFER enumeration value specifies that
|
||
the value of a shader parameter is provided at run-time through a buffer
|
||
resource.
|
||
|
||
### Changes since vkd3d 1.12:
|
||
```
|
||
Anna (navi) Figueiredo Gomes (6):
|
||
vkd3d-shader/ir: Periodically flush buffers when tracing blocks.
|
||
Add a .editorconfig file.
|
||
vkd3d: Use D3D12_SHADER_VISIBILITY_ALL for 32-bit root constants when using vk_heaps.
|
||
vkd3d-shader/spirv: Avoid decorating variables multiple times with NonReadable.
|
||
vkd3d-shader/spirv: Use unique SPIR-V variables for descriptors where visibility differs.
|
||
vkd3d-shader/spirv: Avoid decorating variables multiple times with Coherent.
|
||
|
||
Atharva Nimbalkar (2):
|
||
vkd3d-shader/glsl: Implement VKD3DSIH_MOV.
|
||
vkd3d-shader/glsl: Implement support for VKD3DSPR_TEMP registers.
|
||
|
||
Conor McCarthy (16):
|
||
vkd3d-shader/dxil: Implement DX intrinsic QuadOp.
|
||
vkd3d-shader/spirv: Implement the QUAD_READ_ACROSS_* instructions.
|
||
vkd3d-shader/dxil: Implement DX intrinsic QuadReadLaneAt.
|
||
vkd3d-shader/spirv: Implement the QUAD_READ_LANE_AT instruction.
|
||
tests/d3d12: Check for unaligned block texture support in test_create_committed_resource().
|
||
vkd3d: Allow block compressed textures to have unaligned width and height.
|
||
tests/d3d12: Test a null vertex buffer 'views' pointer on multiple slots.
|
||
vkd3d: Interpret a null vertex buffer 'views' pointer as a null buffer.
|
||
tests/shader-runner: Set the correct flag and format for raw UAVs.
|
||
tests/shader-runner: Create a new runner object for the shader model 6 tests.
|
||
vkd3d: Create a descriptor pool for static samplers when Vulkan-backed heaps are used.
|
||
tests: Add a test for clearing a large buffer UAV.
|
||
vkd3d: Limit the workgroup X count for buffer UAV clears to the supported max.
|
||
vkd3d: Add support for the ID3D12CommandList6 interface.
|
||
vkd3d-shader/spirv: Free the spirv parameter info.
|
||
vkd3d: Free descriptor range information on error paths in d3d12_root_signature_info_from_desc(). (Valgrind)
|
||
|
||
Elizabeth Figura (39):
|
||
vkd3d-shader/hlsl: Add a hlsl_fixme() for 5.1 resource arrays.
|
||
vkd3d-shader/hlsl: Put constant buffers into the extern_resources struct.
|
||
vkd3d-shader: Write SM5.1 register indices.
|
||
vkd3d-shader/hlsl: Allocate register spaces for constant buffers.
|
||
vkd3d-shader/hlsl: Allocate register spaces for objects.
|
||
vkd3d-shader: Write SM5.1 register spaces.
|
||
vkd3d-shader/hlsl: Write SM5.1 binding reflection data.
|
||
tests: Add reflection tests for register space.
|
||
vkd3d-shader/hlsl: Always initialize $$ when parsing modifiers from an arbitrary string.
|
||
tests: Stop probing all pixels when drawing a uniform colour.
|
||
tests: Run combined-samplers.shader_test on sm1 as well.
|
||
tests: Add another combined sampler test.
|
||
vkd3d-shader/hlsl: Respect the coords writemask in write_sm1_resource_load().
|
||
vkd3d-shader/hlsl: Only allocate the aligned size for uniforms.
|
||
vkd3d-shader/hlsl: Separate an "array" rule.
|
||
vkd3d-shader/d3dbc: Use enum vkd3d_shader_register_type in struct sm1_instruction.
|
||
tests/shader_runner: Use resource->width instead of resource->size for buffer width.
|
||
tests/shader_runner: Factor out a resource_desc structure.
|
||
tests: Implement multisampling in the Vulkan renderer.
|
||
tests: Implement multisampling in the GL renderer.
|
||
vkd3d-shader/hlsl: Implement the GetRenderTargetSampleCount() intrinsic.
|
||
vkd3d-shader/hlsl: Implement output SV_Coverage.
|
||
vkd3d-shader: Introduce struct vkd3d_shader_parameter_info and struct vkd3d_shader_parameter1.
|
||
include: Document shader parameters.
|
||
vkd3d-shader/spirv: Support passing shader parameters through uniform buffers.
|
||
tests: Add a test for the vkd3d_shader_parameter APIs.
|
||
vkd3d-shader/spirv: Respect VKD3D_SHADER_CONDITIONAL_OP_Z when discard has a bool argument.
|
||
vkd3d-shader: Allow controlling alpha test through vkd3d-shader parameters.
|
||
tests: Offset the viewport by 0.5 when running d3dbc shaders.
|
||
tests: Factor out a set_default_target() helper.
|
||
tests: Test alpha test.
|
||
vkd3d-shader/spirv: Allocate output_info after normalization.
|
||
vkd3d-shader: Factor out a vsir_program_get_parameter() helper.
|
||
vkd3d-shader/spirv: Pass a vkd3d_data_type to spirv_compiler_emit_shader_parameter().
|
||
vkd3d-shader: Do not make the alpha test ref parameter VSIR_DIMENSION_VEC4.
|
||
vkd3d-shader: Use the program parameters in spirv_compiler_alloc_spec_constant_id().
|
||
vkd3d-shader: Allow controlling d3d color shade mode through vkd3d-shader parameters.
|
||
tests: Test shade mode.
|
||
vkd3d-shader: Use an extended version of vkd3d_shader_immediate_constant in vkd3d_shader_parameter1.
|
||
|
||
Francisco Casas (52):
|
||
vkd3d-shader/hlsl: Record default values for uniforms and constant buffers.
|
||
vkd3d-shader/hlsl: Initialize default values with braceless initializers.
|
||
tests: Test default values using reflection.
|
||
vkd3d-shader/tpf: Write default values for SM4.
|
||
vkd3d-shader/d3dbc: Write default values for SM1.
|
||
tests: Test matrix default value initializers.
|
||
vkd3d-shader/hlsl: Fix numeric register offset for matrix components.
|
||
vkd3d-shader/hlsl: Reorder default values for matrices for SM4.
|
||
tests: Test register reservations on unused variables.
|
||
vkd3d-shader/hlsl: Only error out on bind_count register reservation overlaps for SM1.
|
||
vkd3d-shader/d3dbc: Split hlsl_sm1_write().
|
||
vkd3d-shader/hlsl: Generate CTAB outside d3dbc_compile().
|
||
vkd3d-shader/d3dbc: Introduce struct d3dbc_compiler.
|
||
vkd3d-shader/d3dbc: Use program->shader_version instead of ctx->profile.
|
||
vkd3d-shader/d3dbc: Don't require a hlsl_semantic to get register and usage.
|
||
vkd3d-shader/d3dbc: Use vsir_program I/O signatures to write dcls.
|
||
vkd3d-shader/d3dbc: Don't write inconsequential MOVs.
|
||
vkd3d-shader/hlsl: Free array sizes on function parameters (Valgrind).
|
||
tests: Separate the valid stateblock function names test from the string arg test.
|
||
vkd3d-shader/hlsl: Parse function call syntax on state blocks.
|
||
tests: Test whether valid state block function names are case-sensitive.
|
||
vkd3d-shader/hlsl: Validate state block function calls.
|
||
vkd3d-shader/hlsl: Add missing src1 and src2 constants to sincos on SM2.
|
||
tests: Test string escape sequences.
|
||
vkd3d-shader/hlsl: Parse string constants.
|
||
vkd3d-shader/hlsl: Parse string escape sequences.
|
||
vkd3d-shader/hlsl: Parse string type.
|
||
tests: Add missing double precission require directives.
|
||
tests: Report tests skipped because of missing capabilities.
|
||
tests/shader-runner: Add missing trace for wave_ops caps.
|
||
tests: Introduce VKD3D_TEST_DETAILED for the test driver.
|
||
vkd3d-shader/hlsl: Avoid dereferencing rel_offset if it is NULL.
|
||
tests: Add additional non-constant array indexing tests.
|
||
vkd3d-shader/hlsl: Lower non-constant array loads for SM1.
|
||
vkd3d-shader/hlsl: Remove SM1 fixme for matrix writemasks.
|
||
vkd3d-shader/hlsl: Lower non-constant row_major matrix loads for SM1.
|
||
tests: Add additional string tests.
|
||
vkd3d-shader/hlsl: Parse string default values.
|
||
vkd3d-shader/hlsl: Skip writing string default values.
|
||
vkd3d-shader/hlsl: Always work with the extern resource's component type.
|
||
vkd3d-shader: Avoid div by zero on assert in vkd3d_calloc() (ubsan).
|
||
tests: Add additional tests for function calls in state block rhs.
|
||
tests: Test shader compilation within function definitions.
|
||
tests: Test compile syntax on effects.
|
||
tests: Test shader compilation within braces.
|
||
tests: Test shader compilation with default values.
|
||
tests/shader_runner: Require explicit formats for UAV resources.
|
||
tests/shader_runner: Move parse_format() up.
|
||
tests/shader_runner: Replace spaces with dashes in format names.
|
||
tests/shader_runner: Don't skip shader compilation on missing caps.
|
||
tests/shader_runner: Explicitly require UAV load support.
|
||
tests/test-driver: Avoid double space when printing details.
|
||
|
||
Giovanni Mascellani (57):
|
||
tests: Mark some root signature unbounded range failures as todo on MoltenVK.
|
||
vkd3d: Do not request VK_EXT_debug_marker if debug is disabled.
|
||
vkd3d: Enable VK_KHR_portability_subset if available.
|
||
vkd3d: Do not synchronize with the geometry shader stage if it's not enabled.
|
||
ci: Assume an Apple Silicon-based environment for the macOS CI job.
|
||
tests: Skip sampling cube textures on Qualcomm.
|
||
tests: Transition resources to PIXEL_SHADER_RESOURCE in test_sample_c_lz().
|
||
tests: Check that depth/stencil formats are supported before using them.
|
||
vkd3d: Do not synchronize with the tessellation shader stages if they're not enabled.
|
||
tests: Improve feedback when enabling d3d12 debug layers.
|
||
tests: Enable the d3d12 debug layer message callbacks.
|
||
tests: Support using the Agility SDK in the crosstests.
|
||
vkd3d: Propagate a failure in d3d12_descriptor_heap_init().
|
||
tests: Define WIDL macros in utils.h.
|
||
vkd3d: Allocate temporary arrays on the stack in d3d12_command_list_update_push_descriptors().
|
||
tests: Pad the constant buffer in test_update_compute_descriptor_tables() to 256 bytes.
|
||
tests: Terminate the Agility SDK path with a slash.
|
||
vkd3d: Document how to install "Graphics Tools" to use the Agility SDK.
|
||
vkd3d: Rebuild the vkd3d_physical_device_info chain before creating the device.
|
||
vkd3d: Remove the temporary pointers in vkd3d_physical_device_info_init().
|
||
vkd3d: Propagate errors out of d3d12_root_signature_append_vk_binding().
|
||
vkd3d: Disable WARN_ON() when VKD3D_NO_DEBUG_MESSAGES is defined.
|
||
vkd3d: Disable FIXME_ONCE() when VKD3D_NO_DEBUG_MESSAGES is defined.
|
||
vkd3d: Allow disabling ERR() by defining VKD3D_NO_ERROR_MESSAGES.
|
||
vkd3d: Introduce debug severity MESSAGE.
|
||
vkd3d: Introduce a softer form of assertion.
|
||
vkd3d: Allow aborting on ERR().
|
||
vkd3d: Emit an ERR() when reaching unreachable code.
|
||
ci: Abort on assertions on the CI.
|
||
tests: Test register conflicts in a root signature.
|
||
vkd3d: Replace assert() with VKD3D_ASSERT() in command.c.
|
||
vkd3d: Replace assert() with VKD3D_ASSERT() in resource.c.
|
||
vkd3d: Replace assert() with VKD3D_ASSERT() in state.c.
|
||
vkd3d: Replace assert() with VKD3D_ASSERT() in utils.c.
|
||
vkd3d: Replace assert() with VKD3D_ASSERT() in vkd3d_private.h.
|
||
vkd3d-common: Remove an assertion in vkd3d_dbg_printf().
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in checksum.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in d3d_asm.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in d3dbc.c
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in dxbc.c.
|
||
tests: Mark a couple of tests as working on recent NVIDIA GPUs.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in dxil.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in fx.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl_codegen.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl_constant_ops.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl.h.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl.y.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in ir.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.h.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.l.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.y.
|
||
vkd3d: Check the entire root signature for register conflicts.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in spirv.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in tpf.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in vkd3d_shader_main.c.
|
||
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in vkd3d_shader_private.h.
|
||
|
||
Henri Verbeet (9):
|
||
vkd3d-shader/ir: Rename the "handler_idx" field of struct vkd3d_shader_instruction to "opcode".
|
||
vkd3d: Always use UINT views to clear UAVs with integer formats.
|
||
vkd3d-shader/ir: Remove VKD3DSIH_DCL instructions.
|
||
vkd3d-shader/ir: Remove VKD3DSIH_DCL_SAMPLER instructions.
|
||
vkd3d-common: Replace assert() with VKD3D_ASSERT().
|
||
vkd3d-shader/fx: Replace assert() with VKD3D_ASSERT().
|
||
vkd3d: Do not include assert.h.
|
||
build: Actually run bitwise-assignment.shader_test.
|
||
vkd3d-shader/spirv: Decorate non-array descriptor variables as well.
|
||
|
||
Nikolay Sivov (66):
|
||
vkd3d-shader/hlsl: Handle "unsigned int" type.
|
||
tests: Add some basic tests for ConstantBuffer type.
|
||
tests: Add a few tests for the NULL value.
|
||
vkd3d-shader/fx: Do not write shared buffers block when not compiling as a child effect.
|
||
vkd3d-shader/hlsl: Implement tex2Dbias().
|
||
vkd3d-shader/asm: Output 'bias' flag for 'texld'.
|
||
vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
|
||
vkd3d-shader/hlsl: Store original semantic name.
|
||
vkd3d-shader/fx: Use original full semantic name.
|
||
vkd3d-shader/fx: Set EXPLICIT_BIND_POINT flag for packoffset() reservations as well.
|
||
vkd3d-shader/fx: Fix variable buffer offset value.
|
||
vkd3d-shader/hlsl: Add support for ConstantBuffer<> type.
|
||
vkd3d-shader/fx: Cast state block field values to target type.
|
||
vkd3d-shader/fx: Add support for writing DepthStencilState objects.
|
||
vkd3d-shader/hlsl: Add RasterizerState type.
|
||
vkd3d-shader/fx: Add support for writing RasterizerState objects.
|
||
vkd3d-shader: Implement tex*() functions variants with gradient arguments.
|
||
vkd3d-shader/hlsl: Implement tex*grad() functions.
|
||
vkd3d-shader/fx: Fix structure type data written for fx_4.
|
||
vkd3d-shader/fx: Write default numeric values.
|
||
vkd3d-shader/fx: Fix packed size for fx_4+ types.
|
||
vkd3d-shader/fx: Preserve parsing order of initializer components.
|
||
vkd3d-shader/fx: Add missing fields for structure types on fx_5_0.
|
||
vkd3d-shader/hlsl: Do not crash on initialization of a redefined variable.
|
||
vkd3d-shader/hlsl: Set default values for annotations variables.
|
||
vkd3d-shader/fx: Write annotations for fx_4+ profiles.
|
||
tests: Add some fx profiles tests for structure types containing objects.
|
||
vkd3d-shader: Disallow object structure fields for fx profiles.
|
||
vkd3d-shader/fx: Do not output empty strings for missing semantics for fx_2_0.
|
||
vkd3d-shader/hlsl: Allow annotations on global variables.
|
||
vkd3d-shader/fx: Correct empty pass check.
|
||
vkd3d-shader/fx: Set total pass count for fx_2_0.
|
||
vkd3d-shader/fx: Correct one of the object counters in the fx_2_0 header.
|
||
vkd3d-shader/fx: Decompose function-style state assignments to individual states.
|
||
vkd3d-shader/fx: Handle SetRasterizerState().
|
||
vkd3d-shader/hlsl: Add parser support for ComputeShader, DomainShader, and HullShader types.
|
||
vkd3d-shader/fx: Fix state block entry array shifting when decomposing.
|
||
vkd3d-shader/fx: Add support for SetDomainShader(), SetComputeShader(), and SetHullShader() states.
|
||
vkd3d-shader/fx: Handle "Texture" field of the sampler state objects.
|
||
vkd3d-shader/fx: Use more descriptive names for FX-specific types.
|
||
vkd3d-shader/fx: Add an array size field to the states description table.
|
||
vkd3d-shader/fx: Add support for the OMSetRenderTargets() state.
|
||
vkd3d-shader/hlsl: Add parser support for GeometryShader type.
|
||
vkd3d-shader/fx: Check destination array index when checking for duplicate state entries.
|
||
vkd3d-shader/hlsl: Add parser support for BlendState type.
|
||
vkd3d-shader/fx: Enable writing BlendState variables.
|
||
vkd3d-shader/fx: Run full set of constants passes on state block entries values.
|
||
vkd3d-shader/fx: Handle states of a BlendState object.
|
||
vkd3d-shader/fx: Explicitly handle bool values in state entries.
|
||
vkd3d-shader/fx: Turn assignments to arrays to element assignments for certain states.
|
||
vkd3d-shader/hlsl: Check MS texture declaration without sample count only for used variables.
|
||
vkd3d-shader/hlsl: Handle NULL constants.
|
||
vkd3d-shader/hlsl: Add a test for assigning to DSV and RTV variables.
|
||
vkd3d-shader/hlsl: Tokenize 'String' the same as 'string'.
|
||
vkd3d-shader/hlsl: Treat "string" type name as case-insensitive.
|
||
vkd3d-shader/fx: Enable writing string objects for fx_4+.
|
||
vkd3d-shader/fx: Support string annotations for fx_4+.
|
||
vkd3d-shader/fx: Handle SetBlendState().
|
||
vkd3d-shader/fx: Handle SetPixelShader() and SetVertexShader().
|
||
vkd3d-shader/hlsl: Adjust NULL type properties to make it usable in transformations.
|
||
vkd3d-shader/fx: Support NULL constants for object fields.
|
||
vkd3d-shader/fx: Resolve NULL values for SamplerState.Texture field.
|
||
vkd3d: Fix a few typos in the comments.
|
||
vkd3d-shader/glsl: Fix a typo in a few messages.
|
||
include: Fix a few typos in the IDL files.
|
||
vkd3d-shader/fx: Fix the matrix type class for fx_2_0.
|
||
|
||
Petrichor Park (5):
|
||
vkd3d-shader/hlsl: Implement the faceforward() intrinsic.
|
||
vkd3d-shader/hlsl: Implement tests for the rcp() intrinsic.
|
||
vkd3d-shader/hlsl: Implement the rcp() intrinisic.
|
||
vkd3d-shader/tpf: Implmenent HLSL_OP1_RCP.
|
||
vkd3d-shader/hlsl: Factor out add_binary_expr() and use it for assignment operators.
|
||
|
||
Shaun Ren (6):
|
||
vkd3d-shader/ir: Lower SM1 SINCOS to SM4 SINCOS.
|
||
vkd3d-shader/hlsl: Implement sin/cos for SM1.
|
||
vkd3d-shader/d3dbc: Implement HLSL_OP3_MAD for SM1.
|
||
vkd3d-shader/hlsl: Allocate registers for HLSL_OP1_{COS,SIN}_REDUCED with the required writemasks.
|
||
vkd3d-shader/d3dbc: Implement HLSL_OP1_{COS,SIN}_REDUCED for SM1.
|
||
vkd3d-shader/hlsl: Support default values for function parameters.
|
||
|
||
Stefan Dösinger (2):
|
||
include: Get rid of the RB_FOR_EACH* macros.
|
||
vkd3d: Pass a proper struct shader_cache_key * to rb_put() in vkd3d_shader_cache_add_entry().
|
||
|
||
Victor Chiletto (20):
|
||
tests: Add more register reservations tests.
|
||
vkd3d-shader/hlsl: Support expressions as register offsets.
|
||
vkd3d-shader/hlsl: Pass a pointer to struct hlsl_reg_reservation in parse_reservation_index.
|
||
vkd3d-shader/hlsl: Ignore bracket offsets for 'b' register types prior to SM 5.1.
|
||
vkd3d-shader/hlsl: Do not immediately fail parsing for malformed 'b' register reservations.
|
||
vkd3d-shader/hlsl: Validate cbuffer register allocations.
|
||
vkd3d-shader/hlsl: Reserve register slots for unused buffers.
|
||
tests: Add reflection tests for register expressions.
|
||
vkd3d-shader/d3dbc: Fix implicit enum conversion warning.
|
||
tests/hlsl: Add a test for dynamically indexed multisampled texture loads.
|
||
vkd3d-shader/hlsl: Use a switch in validate_static_object_references().
|
||
vkd3d-shader/hlsl: Defer bounds checks to after copy propagation.
|
||
vkd3d-shader/hlsl: Pull evaluate_static_expression_as_uint() upwards.
|
||
vkd3d-shader/hlsl: Parse loop and unroll loop attributes.
|
||
vkd3d-shader/hlsl: Allow cloned blocks to contain external references.
|
||
vkd3d-shader/hlsl: Implement loop unrolling.
|
||
tests/hlsl: Test loop unrolling edge cases.
|
||
vkd3d-shader/hlsl: Implement the asint() intrinsic.
|
||
vkd3d-shader/hlsl: Push a new scope when compiling internal functions.
|
||
vkd3d-shader/hlsl: Implement f16tof32 intrinsic.
|
||
|
||
Yuxuan Shui (2):
|
||
tests: Pass the correct buffer size to vsnprintf() in vkd3d_test_push_context().
|
||
vkd3d-shader/hlsl: Implement storing to a swizzled matrix.
|
||
```
|