| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | The vkd3d team is proud to announce that release 1.11 of vkd3d, the Direct3D | 
					
						
							|  |  |  |  | to Vulkan translation library, is now available. | 
					
						
							| 
									
										
										
										
											2018-05-23 19:19:15 +02:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-05 18:26:13 +02:00
										 |  |  |  | This release contains improvements that are listed in the release notes below. | 
					
						
							|  |  |  |  | The main highlights are: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   - Initial support for compiling legacy Direct3D bytecode to SPIR-V. | 
					
						
							|  |  |  |  |   - Initial HLSL compiler support for compiling effect profiles. | 
					
						
							|  |  |  |  |   - Miscellaneous bug fixes and performance improvements. | 
					
						
							| 
									
										
										
										
											2018-05-23 19:19:15 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | The source is available from the following location: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   <https://dl.winehq.org/vkd3d/source/vkd3d-1.11.tar.xz> | 
					
						
							| 
									
										
										
										
											2018-05-23 19:19:15 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | The current source can also be pulled directly from the git repository: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  |   <https://gitlab.winehq.org/wine/vkd3d.git> | 
					
						
							| 
									
										
										
										
											2018-05-23 19:19:15 +02:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | Vkd3d is available thanks to the work of multiple people. See the file AUTHORS | 
					
						
							|  |  |  |  | for the complete list. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | # What's new in vkd3d 1.11 | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ### libvkd3d | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   - Descriptor updates happen asynchronously on an internal worker thread, for | 
					
						
							|  |  |  |  |     a minor performance improvement in applications that update many | 
					
						
							|  |  |  |  |     descriptors per frame. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - When the VK_EXT_mutable_descriptor_type extension is available, libvkd3d | 
					
						
							|  |  |  |  |     will make more efficient use of descriptor pools and sets. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - When the VK_EXT_shader_viewport_index_layer extension is available, | 
					
						
							|  |  |  |  |     libvkd3d supports indexing viewport and render target arrays from vertex | 
					
						
							|  |  |  |  |     and tessellation evaluation shaders. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - Support for standard (i.e., black and white) border colours is | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  |     implemented. | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   - The GetResourceAllocationInfo1() method of the ID3D12Device4 interface is | 
					
						
							|  |  |  |  |     implemented. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - The ID3D12Device7 interface is supported. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - The ID3D12Resource2 interface is supported. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - Several new feature queries are supported: | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS6 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS7 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS8 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS9 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS10 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS11 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS12 | 
					
						
							|  |  |  |  |     - D3D12_FEATURE_D3D12_OPTIONS13 | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ### libvkd3d-shader | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   - Initial support for compiling legacy Direct3D bytecode to SPIR-V. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - Experimental support for compiling DirectX Intermediate Language (DXIL) to | 
					
						
							|  |  |  |  |     SPIR-V and Direct3D shader assembly. Being an experimental feature, this | 
					
						
							|  |  |  |  |     requires building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_DXIL’ | 
					
						
							|  |  |  |  |     preprocessor option. Note that enabling this feature will affect the | 
					
						
							|  |  |  |  |     capabilities reported by libvkd3d as well, and may cause previously | 
					
						
							|  |  |  |  |     working applications to break due to attempting to use incomplete DXIL | 
					
						
							|  |  |  |  |     support. No API or ABI stability guarantees are provided for experimental | 
					
						
							|  |  |  |  |     features. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  |   - New features for the HLSL source type: | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |     - Initial support for the ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’, and ‘fx_5_0’ | 
					
						
							|  |  |  |  |       profiles, using the new ‘VKD3D_SHADER_TARGET_FX’ target type. | 
					
						
							|  |  |  |  |     - Support for ‘Buffer’ resources. | 
					
						
							|  |  |  |  |     - The acos(), asin(), atan(), and atan2() intrinsic functions are | 
					
						
							|  |  |  |  |       supported. | 
					
						
							|  |  |  |  |     - Explicit register assignment using the ‘register()’ keyword in shader | 
					
						
							|  |  |  |  |       model 1-3 profiles. This was previously only supported in shader model | 
					
						
							|  |  |  |  |       4+ profiles. | 
					
						
							|  |  |  |  |     - Casts from integer to floating-point types in shader model 1-3 profiles. | 
					
						
							|  |  |  |  |     - Support for various input/output semantics: | 
					
						
							|  |  |  |  |       - SV_InstanceID in shader model 4+ fragment shaders. | 
					
						
							|  |  |  |  |       - SV_PrimitiveID in shader model 4+ fragment shaders. In previous | 
					
						
							|  |  |  |  |         versions this was only supported in shader model 4+ geometry shaders. | 
					
						
							|  |  |  |  |       - SV_RenderTargetArrayIndex in shader model 4+ vertex and fragment shaders. | 
					
						
							|  |  |  |  |       - SV_ViewportArrayIndex in shader model 4+ vertex and fragment shaders. | 
					
						
							|  |  |  |  |     - Support for various rasteriser-ordered view types. Specifically: | 
					
						
							|  |  |  |  |       - RasterizerOrderedBuffer | 
					
						
							|  |  |  |  |       - RasterizerOrderedStructuredBuffer | 
					
						
							|  |  |  |  |       - RasterizerOrderedTexture1D | 
					
						
							|  |  |  |  |       - RasterizerOrderedTexture1DArray | 
					
						
							|  |  |  |  |       - RasterizerOrderedTexture2D | 
					
						
							|  |  |  |  |       - RasterizerOrderedTexture2DArray | 
					
						
							|  |  |  |  |       - RasterizerOrderedTexture3D | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   - New features for the SPIR-V target type: | 
					
						
							|  |  |  |  |     - Support for globally coherent unordered access views. These have the | 
					
						
							|  |  |  |  |       ‘globallycoherent’ storage class in HLSL, and the ‘_glc’ suffix in | 
					
						
							|  |  |  |  |       Direct3D assembly. | 
					
						
							|  |  |  |  |     - Support for thread group unordered access view barriers. This | 
					
						
							|  |  |  |  |       corresponds to ‘sync_ugroup’ instructions in Direct3D assembly. | 
					
						
							|  |  |  |  |     - When the SPV_EXT_viewport_index_layer extension is supported, vertex and | 
					
						
							|  |  |  |  |       tessellation evaluation shaders can write render target and viewport | 
					
						
							|  |  |  |  |       array indices. This corresponds to the ‘SV_RenderTargetArrayIndex’ and | 
					
						
							|  |  |  |  |       ‘SV_ViewportArrayIndex’ HLSL output semantics. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   - New interfaces: | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |     - The VKD3D_SHADER_COMPILE_OPTION_FEATURE compile option can be used to | 
					
						
							|  |  |  |  |       specify features available in the target environment. The | 
					
						
							|  |  |  |  |       VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 flag indicates support for | 
					
						
							|  |  |  |  |       64-bit integer types in the SPIR-V target environment. The | 
					
						
							|  |  |  |  |       VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 flag indicates support for | 
					
						
							|  |  |  |  |       64-bit floating-point types in the SPIR-V target environment. For | 
					
						
							|  |  |  |  |       backward compatibility, VKD3D_SHADER_API_VERSION_1_10 and earlier also | 
					
						
							|  |  |  |  |       imply support for 64-bit floating-point types. | 
					
						
							|  |  |  |  |     - The VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER enumeration | 
					
						
							|  |  |  |  |       value indicates support for the SPV_EXT_viewport_index_layer extension | 
					
						
							|  |  |  |  |       in the SPIR-V target environment. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ### libvkd3d-utils | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   - When available, the following Vulkan extensions are enabled by | 
					
						
							|  |  |  |  |     D3D12CreateDeviceVKD3D() and D3D12CreateDevice(): | 
					
						
							|  |  |  |  |     - VK_KHR_android_surface | 
					
						
							|  |  |  |  |     - VK_KHR_wayland_surface | 
					
						
							|  |  |  |  |     - VK_KHR_win32_surface | 
					
						
							|  |  |  |  |     - VK_KHR_xlib_surface | 
					
						
							|  |  |  |  |     - VK_EXT_metal_surface | 
					
						
							|  |  |  |  |     - VK_MVK_ios_surface | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     Previous versions of vkd3d-utils enabled VK_KHR_xcb_surface and | 
					
						
							|  |  |  |  |     VK_MVK_macos_surface. In practice this means that | 
					
						
							|  |  |  |  |     D3D12CreateDevice()/D3D12CreateDeviceVKD3D() can be used on the | 
					
						
							|  |  |  |  |     corresponding additional window systems. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |   - New interfaces: | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |     - D3DReflect() is used to retrieve information about shaders. It currently | 
					
						
							|  |  |  |  |       supports retrieving information about input, output, and patch constant | 
					
						
							|  |  |  |  |       parameters using the ID3D12ShaderReflection interface. | 
					
						
							|  |  |  |  |     - D3DDisassemble() is used to disassemble legacy Direct3D bytecode (shader | 
					
						
							|  |  |  |  |       model 1-3) and ‘Tokenized Program Format’ (shader model 4 and 5) | 
					
						
							|  |  |  |  |       shaders. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ### vkd3d-compiler | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   - The new ‘fx’ target is used for outputting Direct3D effects when compiling | 
					
						
							|  |  |  |  |     HLSL ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’, and ‘fx_5_0’ profiles. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | ### build | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  |   - The minimum required version of Vulkan-Headers for this release is version | 
					
						
							|  |  |  |  |     1.3.228. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | ### Changes since vkd3d 1.10: | 
					
						
							|  |  |  |  | ``` | 
					
						
							|  |  |  |  | Conor McCarthy (164): | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support declared component type and count in indexable temps. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Support null constant arrays. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support constant initialisers in indexable temps. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support declared component type and count in immediate constant buffers. | 
					
						
							|  |  |  |  |       vkd3d-shader: Add a register index to struct vkd3d_shader_immediate_constant_buffer. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Emit constant global arrays as immediate constant buffers. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic Unary. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Apply metadata attachments to instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Set the result register data type for nop casts. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a local copy of location to control_point_normaliser_emit_hs_input(). | 
					
						
							|  |  |  |  |       tests/shader-runner: Test an uninitialised indexable temp. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement the DXIL ALLOCA instruction. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement the DXIL STORE instruction. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Bitcast if necessary in the spirv_compiler_emit_mov() general implementation. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add a non-const-indexing test for asfloat() result storage. | 
					
						
							|  |  |  |  |       vkd3d-shader: Introduce an instruction flag to suppress masking of bitwise shift counts. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Emit an error if 64-bit integers are used. | 
					
						
							|  |  |  |  |       tests/shader-runner: Introduce an 'int64' requirement directive. | 
					
						
							|  |  |  |  |       tests/shader-runner: Introduce a 'float64' requirement directive. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add 64-bit arithmetic tests. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add 64-bit bitwise tests. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Introduce a compiler feature flag for int64 capability. | 
					
						
							|  |  |  |  |       tests/shader-runner: Fix the arithmetic-int-uniform int64 abs expected results. | 
					
						
							|  |  |  |  |       vkd3d: Update the descriptor `next` index before getting a reference for writing. | 
					
						
							|  |  |  |  |       vkd3d: Write Vulkan descriptors in a worker thread. | 
					
						
							|  |  |  |  |       vkd3d: Rename the device mutex to pipeline_cache_mutex. | 
					
						
							|  |  |  |  |       vkd3d: Co-locate all descriptor-related members. | 
					
						
							|  |  |  |  |       tests/shader-runner: Check for float64 support in the d3d11 runner. | 
					
						
							|  |  |  |  |       tests/shader-runner: Check for float64 support in the Vulkan runner. | 
					
						
							|  |  |  |  |       tests/shader-runner: Check for int64 support in the Vulkan runner. | 
					
						
							|  |  |  |  |       vkd3d: Pass int64 capability info to vkd3d-shader. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Use data_type_is_integer() in spirv_compiler_emit_neg(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Introduce a data_type_is_64_bit() helper function. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Introduce a UINT64 component type. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support 64-bit sources in spirv_compiler_emit_int_div(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support UINT64 source in spirv_compiler_emit_bool_cast(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle ITOI and UTOU in spirv_compiler_map_alu_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Decorate non-float32 non-built-in pixel shader inputs as Flat. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Count global variables in dxil_block_compute_module_decl_count(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Pre-allocate instruction space for globals in sm6_parser_globals_init(). | 
					
						
							|  |  |  |  |       vkd3d: Use mutable descriptors if available. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Avoid null dereference on failure to find function pointer type. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support vector source param for FIRSTBIT_HI and FIRSTBIT_SHI instructions. | 
					
						
							|  |  |  |  |       tests/d3d12: Test vector parameter for countbits() and firstbithigh() in test_shader_instructions(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Emit descriptor offset loads in the function entry block. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle DISCARD and TEXKILL in spirv_compiler_handle_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle RETP in spirv_compiler_handle_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Flatten IF/ELSE/ENDIF control flow instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Flatten LOOP/BREAK/CONTINUE/ENDLOOP control flow instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Flatten SWITCH/CASE/DEFAULT/ENDSWITCH control flow instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store code block names in struct vkd3d_shader_desc. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Declare indexable temps as Private unless function scope is specified. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Do not emit function code before the main prolog. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Include an initial label instruction in the first control flow block. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Expand index range write masks to cover all element masks. | 
					
						
							|  |  |  |  |       tests: Test punned array access in patch constant functions. | 
					
						
							|  |  |  |  |       vkd3d-shader: Make the control point count the outer dimension of I/O arrays. | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Validate sysvals in index range declarations. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Introduce a code block terminator struct. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle the DXIL PHI instruction. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle the DXIL SWITCH instruction. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes.". | 
					
						
							|  |  |  |  |       tests: Test an interpolated PS input where component x is unused. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Do not assert VKD3D_DATA_UINT in spirv_compiler_emit_ld_raw_structured_srv_uav(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Load typed SRV descriptors. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Load typed UAV descriptors. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic BufferLoad for typed buffers. | 
					
						
							|  |  |  |  |       tests/d3d12: Add a raw firstbit test to test_shader_instructions(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle UINT32_MAX result from FIRSTBIT_HI and FIRSTBIT_SHI instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle semantic kind VERTEXID. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle semantic kind ISFRONTFACE. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Add an operand type code for the return type. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic Binary. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Refactor return code checking in vkd3d_shader_normalise(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Use strcmp() to check the entry point name. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Use strcmp() to find function names. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Use strcmp() to find the handle type. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Emit DISCARD as a function call. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle floating point special value comparisons in sm6_parser_emit_dx_unary(). | 
					
						
							|  |  |  |  |       tests/shader-runner: Add tests for floating point special values. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Implement the ISFINITE instruction. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle the ISINF and ISNAN instructions in spirv_compiler_emit_alu_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-shader: Introduce VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Check for FEATURE_FLOAT64 when double precision use is flagged. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle globally coherent UAVs. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Include Uniform in the memory semantics for UAV barriers. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle thread group UAV barriers. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsics Cos and Sin. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle DX intrinsic Tan in sm6_parser_emit_dx_unary(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle the TAN instruction in spirv_compiler_emit_ext_glsl_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Load raw/structured buffer SRV/UAV descriptors. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic RawBufferLoad. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic Tertiary. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support 64-bit source value for bitfield instructions. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add an asuint() test to the 64-bit cast tests. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic SplitDouble. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic TextureLoad. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Emit a vector bitcast if necessary in spirv_compiler_emit_load_ssa_reg(). | 
					
						
							|  |  |  |  |       vkd3d: Add ID3D12Device6 interface stub. | 
					
						
							|  |  |  |  |       vkd3d: Add ID3D12Device7 interface stubs. | 
					
						
							|  |  |  |  |       tests/d3d12: Test multiple descriptions in test_resource_allocation_info(). | 
					
						
							|  |  |  |  |       vkd3d: Support multiple descriptions in GetResourceAllocationInfo(). | 
					
						
							|  |  |  |  |       tests/d3d12: Add tests for GetResourceAllocationInfo1(). | 
					
						
							|  |  |  |  |       vkd3d: Implement GetResourceAllocationInfo1(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle inverse trigonometric functions in sm6_parser_emit_dx_unary(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Handle the ACOS, ASIN and ATAN instructions in spirv_compiler_emit_ext_glsl_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Support forward-referenced value ids. | 
					
						
							|  |  |  |  |       tests/shader-runner: Emit descriptor ranges for consecutive resources. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add shader model 6 texture UAV tests. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic TextureStore. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add hyperbolic trigonometry tests. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle hyperbolic trigonometric functions in sm6_parser_emit_dx_unary(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS6 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS7 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS8 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS9 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS10 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS11 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS12 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS13 in CheckFeatureSupport(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Load sampler descriptors. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic Sample. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic SampleGrad. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_binop(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_unary(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_binary(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_cbuffer_load(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_tertiary(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_load_input(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_buffer_load(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_sincos(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_split_double(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_texture_load(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_cast(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_cmp2(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_extractval(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_load(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_store(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_vselect(). | 
					
						
							|  |  |  |  |       vkd3d-shader: Raise the instruction parameter allocation size if necessary. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add a 64-bit switch test. | 
					
						
							|  |  |  |  |       tests/d3d12: Add tests for GetProtectedResourceSession(). | 
					
						
							|  |  |  |  |       vkd3d: Return DXGI_ERROR_NOT_FOUND from GetProtectedResourceSession(). | 
					
						
							|  |  |  |  |       tests/d3d12: Add a test for zero description count in test_resource_allocation_info(). | 
					
						
							|  |  |  |  |       vkd3d: Implement ID3D12Resource2. | 
					
						
							|  |  |  |  |       tests/shader-runner: Support scalar signed int probe values. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add tests for UAV atomic ops. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic AtomicBinOp. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic AtomicCompareExchange. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle resource descriptor additional tag/value pairs. | 
					
						
							|  |  |  |  |       tests/shader-runner: Support structured buffer UAVs. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add a test for a signed int typed buffer UAV. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add a test for a signed int structured buffer UAV. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic BufferStore. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsics SampleBias and SampleLevel. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsics SampleCmp and SampleCmpLevelZero. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Move the resource kind helper functions up. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Implement DX intrinsic GetDimensions. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | Evan Tang (4): | 
					
						
							|  |  |  |  |       tests/shader-runner: Support testing for integer pixel data. | 
					
						
							|  |  |  |  |       tests: Add some tests for rasteriser-ordered views. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Parse rasteriser-ordered view types. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Support SV_PrimitiveID in pixel shaders. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | Fabian Maurer (2): | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Check null pointer before it is dereferenced (Coverity). | 
					
						
							|  |  |  |  |       vkd3d: Unlock mutex in error case in d3d12_command_queue_CopyTileMappings. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Florian Weimer (1): | 
					
						
							|  |  |  |  |       configure: Use AC_CHECK_FUNCS to define HAVE_GETTID. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Francisco Casas (31): | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Emit fixmes on non-constant vector addressing. | 
					
						
							|  |  |  |  |       tests/shader-runner: Support reading multiple model range args for qualifiers. | 
					
						
							|  |  |  |  |       tests/shader-runner: Call each runner only once. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Emit fixme for HLSL_RESOURCE_SAMPLE_LOD. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Lower texkill instructions to discard_nz. | 
					
						
							|  |  |  |  |       tests: Use the vulkan runner to run SM1 compilation tests. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Update flatten_control_flow_constructs() comment. | 
					
						
							|  |  |  |  |       tests/shader_runner: Pass a pointer to the data when creating uav buffers in d3d12. | 
					
						
							|  |  |  |  |       tests/shader_runner: Free params.data on test directives (valgrind). | 
					
						
							|  |  |  |  |       tests/shader_runner: Free runner->uniforms (valgrind). | 
					
						
							|  |  |  |  |       tests/shader_runner: Free extensions pointer on vulkan runner (valgrind). | 
					
						
							|  |  |  |  |       tests/shader_runner: Free runner->input_elements in parse_test_directive() (valgrind). | 
					
						
							|  |  |  |  |       tests/shader_runner: Free runner->cs_source and runner->fx_source (valgrind). | 
					
						
							|  |  |  |  |       tests: Rename register-reservations.shader_test to register-reservations-resources.shader_test. | 
					
						
							|  |  |  |  |       tests: Test register(cX) reservations. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Make register(cX) reservations work for SM1. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Turn register(cX) reservations into buffer offset for SM4. | 
					
						
							|  |  |  |  |       tests/vkd3d-shader: Set uninitialized uniforms to a value. | 
					
						
							|  |  |  |  |       tests: Don't ignore SM1 on a non-const-indexing.shader_test test. | 
					
						
							|  |  |  |  |       tests/shader-runner: Introduce "if" qualifier. | 
					
						
							|  |  |  |  |       tests: Remove [require] directives for tests that use int and bool uniforms. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Implement casts from ints to floats as a MOV. | 
					
						
							|  |  |  |  |       tests: Add simple test for implicit cast to int. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Lower casts to int for SM1. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Record valid methods in object_methods[]. | 
					
						
							|  |  |  |  |       tests/shader-runner: Separate resource_type into type and dimension. | 
					
						
							|  |  |  |  |       tests/shader-runner: Support SRV buffers. | 
					
						
							|  |  |  |  |       tests/shader-runner: Change resource declaration syntax on shader_test files. | 
					
						
							|  |  |  |  |       tests/shader-runner: Change probe directive syntax on shader_test files. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Parse Buffer types. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Emit fixme on non-direct resource stores. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Giovanni Mascellani (100): | 
					
						
							|  |  |  |  |       vkd3d-shader/d3d-asm: Indent on IFC. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3d-asm: Write a single type in shader_dump_data_type(). | 
					
						
							|  |  |  |  |       vkd3d-shader/d3d-asm: Dump recently added types. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3d-asm: Dump unknown types as "<unknown>". | 
					
						
							|  |  |  |  |       vkd3d-shader/d3d-asm: Add an "internal" mode for the ASM dumper. | 
					
						
							|  |  |  |  |       vkd3d: Pad push constant ranges to 16 bytes. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Honor force_validation after emitting SPIR-V code. | 
					
						
							|  |  |  |  |       ci: Build vkd3d with SPIRV-Tools. | 
					
						
							|  |  |  |  |       tests: Test assigning multisampled textures with different sample counts. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Do not use the parser before it is initialized. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Use vkd3d_shader_parser_error() for error reporting when available. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Override the write mask when the destination is not vec4. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Create constant buffer registers with dimension vec4. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate SSA registers. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate source swizzles depending on the dimension. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate destination write masks depending on the dimension. | 
					
						
							|  |  |  |  |       ci: Dump the d3d12 summary line in the CI log. | 
					
						
							|  |  |  |  |       vkd3d: Specify the aspect when creating NULL UAVs. | 
					
						
							|  |  |  |  |       tests: Use a uint target for rendering uint data. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Specify behavior for bit field instructions. | 
					
						
							|  |  |  |  |       tests: Mark some sampling tests as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark streaming output as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark predicated rendering as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark resource arrays as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       configure: Detect pthread support using -pthread instead of -lpthread. | 
					
						
							|  |  |  |  |       vkd3d-utils: Support many different surface types when creating a device. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3d-asm: Guess a sensible data type for literals. | 
					
						
							|  |  |  |  |       vkd3d-shader: Make *src and *dst mutable in vkd3d_shader_instruction. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Simplify control flow in vsir_validate_register(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Use vkd3d_free() instead of free(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Check that TEMP registers have consistent dimensions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Check that SSA registers have consistent dimensions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Check that SSA registers are used validly. | 
					
						
							|  |  |  |  |       ci: Rename CI target build-image to image-linux. | 
					
						
							|  |  |  |  |       ci: Prepare the macOS build environment in a dedicated CI job. | 
					
						
							|  |  |  |  |       tests: Add a test with non-trivial control flow. | 
					
						
							|  |  |  |  |       tests: Test a couple of degenerate switch instances. | 
					
						
							|  |  |  |  |       vkd3d-shader: Make relative address sources mutable too. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Normalise the shader before allocating registers. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate that structured CF does not appear in block-based shaders. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate LABEL registers. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate LABEL instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate BRANCH instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate SWITCH_MONOLITHIC instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate RET instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration Layer. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration ViewportIndex. | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex in pixel and vertex shaders. | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Support SV_InstanceID in vertex shaders. | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Support SV_ViewportArrayIndex in pixel and vertex shaders. | 
					
						
							|  |  |  |  |       tests: Compile HLSL shaders at runtime in test_ps_layer(). | 
					
						
							|  |  |  |  |       tests: Test using SV_RenderTargetArrayIndex in the vertex shader. | 
					
						
							|  |  |  |  |       tests: Use test utils to create the pipeline state in test_ps_layer(). | 
					
						
							|  |  |  |  |       tests: Add a test for SV_ViewportArrayIndex. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Check that all instructions appear in a block. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Refactor register-type-specific code in parameter validation. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Do not allow IMMCONST and IMMCONST64 as destination registers. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Validate PHI instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Run tracing and validation for DXIL code too. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Remove DCL_TEMPS instructions. | 
					
						
							|  |  |  |  |       tests: Mark loading from stencil as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Skip unbounded descriptor ranges tests when they're unsupported. | 
					
						
							|  |  |  |  |       tests: Mark cull distance as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark clip distance as unsupported on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark a timestamp query test as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark count buffers as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark a test related to instanced draws as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark ReadFromSubresource() and WriteToSubresource() as todo on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark geometry shaders as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark the tessellation pipeline as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark a depth sampling test as buggy on MoltenVK. | 
					
						
							|  |  |  |  |       tests: Mark a strip cut test as buggy in MoltenVK. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Emit an error if merge information is missing. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Lower monolithic switches to selection ladders. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Fixup PHI nodes when lowering switches to selection ladders. | 
					
						
							|  |  |  |  |       vkd3d-shader: Convert write masks between 32 and 64 bit by cases. | 
					
						
							|  |  |  |  |       include/vkd3d-shader: Generate swizzles without a function call. | 
					
						
							|  |  |  |  |       vkd3d-shader: Use 64 bit swizzles for 64 bit data types in VSIR. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Check that SSA registers are used with compatible data types. | 
					
						
							|  |  |  |  |       vkd3d-compiler: Exit the main function through a common code path. | 
					
						
							|  |  |  |  |       vkd3d-compiler: Free compilation options (Valgrind). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Free binary SPIR-V code (Valgrind). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Set the register before calling src_param_init_scalar(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Convert the swizzle according to the source bit width. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Move bool casting helpers above register loading helpers. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Support bool TEMP registers. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Materialize SSA registers to temporaries. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Handle PHI nodes when materializing SSA registers. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Introduce a simple control flow graph structurizer. | 
					
						
							|  |  |  |  |       tests: Work around a Metal bug. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Free variable identifiers in primary_expr (Valgrind). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Free the parse initializer in attribute (Valgrind). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Free the individual attributes in func_prototype (Valgrind). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Free the selector in postfix_expr (Valgrind). | 
					
						
							|  |  |  |  |       tests: Release the code blob in test_thread_id() (Valgrind). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Build a representation of the control flow graph. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Dump the control flow graph in the GraphViz format. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Compute the domination relationship. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Dump the domination relationship. | 
					
						
							|  |  |  |  |       tests: Test how constant folding works on SM1. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Henri Verbeet (151): | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_get_component_idx(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_component_count(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_64_from_32(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_32_from_64(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a uint32_t swizzle to vkd3d_swizzle_get_component(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a uint32_t swizzle to vkd3d_swizzle_get_component64(). | 
					
						
							|  |  |  |  |       tests: Print the failing line numbers when a test fails. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Rename the "immconst_uint" field of struct vkd3d_shader_register to "immconst_u32". | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Rename the "immconst_float" field of struct vkd3d_shader_register to "immconst_f32". | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Rename the "immconst_uint64" field of struct vkd3d_shader_register to "immconst_u64". | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Rename the "immconst_double" field of struct vkd3d_shader_register to "immconst_f64". | 
					
						
							|  |  |  |  |       vkd3d: Add D3D_FEATURE_LEVEL_12_2 as a valid feature level. | 
					
						
							|  |  |  |  |       vkd3d: Add D3D_FEATURE_LEVEL_1_0_CORE as a valid feature level. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store instruction flags as a uint32_t. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store source parameter swizzles as a uint32_t. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store destination parameter modifier flags as a uint32_t. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store destination parameter shifts as an unsigned int. | 
					
						
							|  |  |  |  |       vkd3d: Recognise VK_QUEUE_PROTECTED_BIT in debug_vk_queue_flags(). | 
					
						
							|  |  |  |  |       vkd3d: Recognise VK_QUEUE_VIDEO_DECODE_BIT_KHR in debug_vk_queue_flags(). | 
					
						
							|  |  |  |  |       vkd3d: Slightly simplify debug_vk_memory_property_flags(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Store swizzles as a uint32_t. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Store modifier flags as a uint32_t. | 
					
						
							|  |  |  |  |       vkd3d: Implement support for static border colours. | 
					
						
							|  |  |  |  |       vkd3d: Attempt to translate border colours to static border colours in d3d12_desc_create_sampler(). | 
					
						
							|  |  |  |  |       vkd3d-shader: Recognise DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS in shader_validate_descriptor_range1(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Pass a uint32_t write mask to vkd3d_symbol_set_register_info(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Pass a uin32_t write mask to spirv_compiler_emit_load_src(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Pass a uint32_t write mask to spirv_compiler_emit_abs(). | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Pass a uint32_t write mask to spirv_compiler_emit_neg(). | 
					
						
							|  |  |  |  |       vkd3d: Trace GetLastError() results with %lu. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxbc: Pass a size_t offset to shader_get_string(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxbc: Pass an unsigned int count to shader_parse_root_parameters1(). | 
					
						
							|  |  |  |  |       vkd3d-shader/dxbc: Use sizeof(uint32_t) instead of sizeof(DWORD) in calls to require_space(). | 
					
						
							|  |  |  |  |       vkd3d-common: Get rid of InterlockedAdd(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Pass a uint32_t modifier token to shader_sm4_read_instruction_modifier(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Store the "components" token as a uint32_t in shader_sm4_read_dcl_resource(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Store the "addressing" token as a uint32_t in shader_sm4_read_param(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Store the current token as a uint32_t in shader_sm4_read_src_param(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Store the current token as a uint32_t in shader_sm4_read_dst_param(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Store the "recognized_bits" mask as a uint32_t in shader_sm4_read_instruction_modifier(). | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Store the "precise" mask as a uint32_t in shader_sm4_read_instruction(). | 
					
						
							|  |  |  |  |       vkd3d-common: Introduce vkd3d_atomic_increment_u64(). | 
					
						
							|  |  |  |  |       include: Introduce a debug helper for HRESULTs. | 
					
						
							|  |  |  |  |       vkd3d-utils: Use debugstr_hresult() in D3DCreateBlob(). | 
					
						
							|  |  |  |  |       vkd3d-utils: Use debugstr_hresult() in get_blob_part(). | 
					
						
							|  |  |  |  |       vkd3d-utils: Use debugstr_hresult() in D3DStripShader(). | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Store the "offset" field as an unsigned int in hlsl_sm1_register_from_semantic(). | 
					
						
							|  |  |  |  |       vkd3d-common: Introduce vkd3d_atomic_increment_u32(). | 
					
						
							|  |  |  |  |       vkd3d-common: Use vkd3d_atomic_increment_u32() in get_buffer(). | 
					
						
							|  |  |  |  |       vkd3d-common: Use vkd3d_atomic_increment_u32() in vkd3d_blob_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d-common: Introduce vkd3d_atomic_decrement_u32(). | 
					
						
							|  |  |  |  |       vkd3d-common: Use vkd3d_atomic_decrement_u32() in vkd3d_blob_Release(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Introduce struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store the shader version in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store the "use_vocp" field in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store the SSA register count in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store the temporary register count in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_wait_for_gpu_fence(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in d3d12_command_list_copy_incompatible_texture_region(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in d3d12_command_queue_submit_locked(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_instance_init(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_create_vk_device(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in d3d12_device_init(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_join_thread(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_init_null_resources(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store control point counts in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store the block count in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Store block names in struct vsir_program. | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Get rid of shader_instruction_is_dcl(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Use vsir_instruction_is_dcl() in vsir_validate_instruction(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_create_compute_pipeline(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in d3d12_pipeline_state_find_and_init_uav_counters(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in d3d12_pipeline_state_init_compute(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_uav_clear_state_init(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_create_device(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_serialize_root_signature(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in vkd3d_serialize_versioned_root_signature(). | 
					
						
							|  |  |  |  |       vkd3d-shader: Start an if-block on VKD3DSIH_IFC in vkd3d_shader_scan_instruction(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_fence_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_fence_incref(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_decref(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_allocator_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_allocator_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_list_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_list_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_queue_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_queue_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_signature_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_signature_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in vkd3d_instance_incref(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in vkd3d_instance_decref(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_device_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_device_Release(). | 
					
						
							|  |  |  |  |       vkd3d-utils: Implement D3DDisassemble(). | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Do not fail parsing the shader when undeclared inputs are encountered. | 
					
						
							|  |  |  |  |       vkd3d-shader: Use vkd3d_atomic_increment_u32() in vkd3d_shader_dump_blob(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a struct vsir_program to shader_parser_get_dst_params(). | 
					
						
							|  |  |  |  |       vkd3d-shader/ir: Pass a struct vsir_program to shader_parser_get_src_params(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_heap_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_heap_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in vkd3d_bind_heap_memory(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_heap_resource_destroyed(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_resource_incref(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_resource_decref(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_resource_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_resource_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_descriptor_heap_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_descriptor_heap_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_query_heap_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_query_heap_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use debugstr_hresult() in d3d12_device_mark_as_removed(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_root_signature_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_root_signature_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_pipeline_state_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_pipeline_state_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_root_signature_deserializer_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_root_signature_deserializer_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_versioned_root_signature_deserializer_AddRef(). | 
					
						
							|  |  |  |  |       vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_versioned_root_signature_deserializer_Release(). | 
					
						
							|  |  |  |  |       vkd3d: Introduce a debug helper for CPU descriptor handles. | 
					
						
							|  |  |  |  |       vkd3d-common: Get rid of InterlockedIncrement(). | 
					
						
							|  |  |  |  |       vkd3d-common: Get rid of InterlockedDecrement(). | 
					
						
							|  |  |  |  |       vkd3d: Introduce a debug helper for GPU descriptor handles. | 
					
						
							|  |  |  |  |       vkd3d-utils: Use PRIuPTR for SIZE_T variables in debug traces. | 
					
						
							|  |  |  |  |       vkd3d: Get rid of vkd3d_atomic_increment(). | 
					
						
							|  |  |  |  |       vkd3d: Get rid of vkd3d_atomic_decrement(). | 
					
						
							|  |  |  |  |       vkd3d: Use PRIuPTR for SIZE_T variables in debug traces. | 
					
						
							|  |  |  |  |       vkd3d: Cast DWORD flags to uint32_t in debug traces. | 
					
						
							|  |  |  |  |       tests: Implement check_requirements() for the OpenGL shader runner. | 
					
						
							|  |  |  |  |       tests/shader_runner: Allow UAV resources to be created without initial data. | 
					
						
							|  |  |  |  |       tests: Disable buffering of stdout. | 
					
						
							|  |  |  |  |       tests/shader_runner: Pass the runner capabilities to run_shader_tests(). | 
					
						
							|  |  |  |  |       tests/shader_runner: Print a summary of the runner capabilities in run_shader_tests(). | 
					
						
							|  |  |  |  |       tests/shader_runner: Print information about the run configuration in run_shader_tests(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Introduce hlsl_type.e.resource. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Replace HLSL_MODIFIER_RASTERIZER_ORDERED with a hlsl_type.e.resource flag. | 
					
						
							|  |  |  |  |       ci: Enable colour output for the tests. | 
					
						
							|  |  |  |  |       vkd3d: Disable "robustBufferAccess2" as well when we disable "robustBufferAccess". | 
					
						
							|  |  |  |  |       configure: Build with -Wempty-body. | 
					
						
							|  |  |  |  |       configure: Build with -Wshift-overflow=2. | 
					
						
							|  |  |  |  |       configure: Build with -Wtype-limits. | 
					
						
							|  |  |  |  |       configure: Build with -Wwrite-strings. | 
					
						
							|  |  |  |  |       vkd3d: Store a D3D12_RESOURCE_DESC structure in struct vkd3d_image_resource_create_info. | 
					
						
							|  |  |  |  |       vkd3d-shader: Add documentation for the INT64 and FLOAT64 feature flags. | 
					
						
							|  |  |  |  |       vkd3d-compiler: Compile SPIR-V shaders with the int64 and float64 features. | 
					
						
							|  |  |  |  |       tests/shader_runner: Set the vkd3d-shader API version in the Vulkan runner. | 
					
						
							|  |  |  |  |       tests/shader_runner: Set the SPIR-V feature flags based on the runner caps. | 
					
						
							|  |  |  |  |       vkd3d-utils: Restore the \since 1.11 command on D3DReflect(). | 
					
						
							|  |  |  |  |       vkd3d-shader: Document the newly supported transformations for d3dbc and HLSL sources. | 
					
						
							|  |  |  |  |       vkd3d-shader: Update the chained structure list for vkd3d_shader_compile(). | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Jacek Caban (1): | 
					
						
							|  |  |  |  |       vkd3d: Use uint64_t for the size in vkd3d_gpu_va_allocator_allocate. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Nikolay Sivov (30): | 
					
						
							|  |  |  |  |       tests: Add some tests for effects groups syntax. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add 'fxgroup' token. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Rename rule for top-level techniques. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add variables for techniques. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Handle effect group statement. | 
					
						
							|  |  |  |  |       vkd3d-shader: Add separate binary target type for effects. | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Add initial support for writing fx_4_0/fx_4_1 binaries. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Rename the rule for an optional name. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add a scope for technique variables. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Write empty passes blocks. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Initial support for fx_5_0 output. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Do not write the same string twice. | 
					
						
							|  |  |  |  |       tests/hlsl: Add some tests for annotations. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add initial support for parsing annotations. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add passes variables to the techniques. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Allow annotations on passes. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Allow annotations on techniques. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Check technique type in global scope as well. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Add initial support for writing fx_2_0 binaries. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Add initial support for writing passes for fx_2_0. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Use variable pointer in write_group(). | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Do not align strings for fx_4/fx_5 profiles. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Add initial support for writing buffers descriptions. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Do not align structured data section. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add RenderTargetView object type. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Add initial support for writing object variables. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Handle fx_4+ texture types. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Handle fx_4+ UAV types. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Add DepthStencilView object type. | 
					
						
							|  |  |  |  |       vkd3d-shader/fx: Write DepthStencilView types. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Petrichor Park (4): | 
					
						
							|  |  |  |  |       tests/shader-runner: Add tests for acos and asin trig intrinsics. | 
					
						
							|  |  |  |  |       tests/shader-runner: Add tests for atan and atan2 trig intrinsics. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Implement acos and asin trig intrinsics. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Implement atan and atan2. | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Stefan Dösinger (4): | 
					
						
							|  |  |  |  |       tests: Show that creating identical root signatures returns the same pointer. | 
					
						
							|  |  |  |  |       tests: Show that graphics pipeline state objects are not reused. | 
					
						
							|  |  |  |  |       tests: Show that compute pipeline state objects are not reused. | 
					
						
							|  |  |  |  |       tests: Show that CreatePipelineState also doesn't reuse duplicate objects. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | Victor Chiletto (1): | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Fix hlsl_ir_resource_store::resource cleanup. | 
					
						
							| 
									
										
										
										
											2023-12-06 12:00:00 +01:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 12:00:00 +01:00
										 |  |  |  | Zebediah Figura (41): | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Avoid shadowing "load" in lower_index_loads(). | 
					
						
							|  |  |  |  |       tests: Avoid shadowing "l" in test_get_copyable_footprints(). | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Avoid shadowing "instr" in write_sm1_jump(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Avoid shadowing "block" in resolve_loop_continue(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Avoid shadowing "load" in intrinsic_tex(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Avoid shadowing "jump" in normalize_switch_cases(). | 
					
						
							|  |  |  |  |       vkd3d-shader: Add a helper to search the scan descriptor info. | 
					
						
							|  |  |  |  |       configure: Enable -Wshadow. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Do not use the output_info array for patch constants. | 
					
						
							|  |  |  |  |       vkd3d-shader/tpf: Do not uninvert used masks for domain shader patch constants. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: Map SEMANTIC_KIND_TARGET to VKD3D_SHADER_SV_TARGET. | 
					
						
							|  |  |  |  |       vkd3d-shader/spirv: Declare I/O registers from the signature. | 
					
						
							|  |  |  |  |       vkd3d-shader/dxil: No longer synthesize DCL instructions. | 
					
						
							|  |  |  |  |       vkd3d-shader: Do not scan the shader in vkd3d_shader_parser_compile() for assembly targets. | 
					
						
							|  |  |  |  |       vkd3d-shader: Do not scan DCL instructions which do not declare resources. | 
					
						
							|  |  |  |  |       tests: Use struct vkd3d_shader_scan_signature_info to retrieve the VS input signature. | 
					
						
							|  |  |  |  |       tests: Avoid using "SV_Position" as a name for the vertex shader input. | 
					
						
							|  |  |  |  |       vkd3d-shader: Allow compiling d3d bytecode to SPIR-V. | 
					
						
							|  |  |  |  |       vkd3d-shader: Lower shader model 1/2 inter-stage I/O to a flat array. | 
					
						
							|  |  |  |  |       vkd3d-shader/d3dbc: Assign unique register indices for VKD3DSPR_RASTOUT. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Remove a redundant definition of the "float" type. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Do not try to lower ternaries of types other than scalar or vector. | 
					
						
							|  |  |  |  |       tests: Add many more tests for ternary expressions. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Separate an add_ternary() helper. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Allow non-numeric types in the ternary operator. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Forbid objects in ternary conditions. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Handle scalar conditions in ternaries. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Handle scalar values in ternaries. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Forbid mismatched argument types in ternaries. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Copy some missing fields in hlsl_type_clone(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Validate the condition data type for loops as well. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Validate that condition expressions are numeric. | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Always cast to bool in if() statements. | 
					
						
							|  |  |  |  |       tests: Add tests for valid conditional types. | 
					
						
							|  |  |  |  |       include: Add vkd3d_d3d12shader.idl. | 
					
						
							|  |  |  |  |       vkd3d-utils: Add D3DReflect(). | 
					
						
							|  |  |  |  |       vkd3d-utils: Implement input and output signature reflection. | 
					
						
							|  |  |  |  |       tests: Test VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES. | 
					
						
							|  |  |  |  |       tests: Test signature reflection via D3DReflect(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Check the resource format for UAVs also in hlsl_types_are_equal(). | 
					
						
							|  |  |  |  |       vkd3d-shader/hlsl: Write the SFI0 section and "REQUIRES_ROVS" flag when ROVs are used. | 
					
						
							|  |  |  |  | ``` |