Changelog for
libvkd3d1-1.3+119~git20220420.e38ee49-84.2.x86_64.rpm :
* Thu Apr 21 2022 virtuousfoxAATTgmail.com- Update to version 1.3+119~git20220420.e38ee49:
* vkd3d-shader/hlsl: Split matrix copies.
* vkd3d-shader/hlsl: Support vector indexing.
* vkd3d-shader/hlsl: Return bool from add_record_load() and add_array_load().
* tests: Simplify \"probe\" directive syntax and parsing a bit.
* tests: Mark individual invalid shaders as todo.
* tests: Load libvulkan dynamically in d3d12_crosstest.h.
* tests: Load libvulkan dynamically in shader_runner_vulkan.c.
* tests: Load libvulkan dynamically in vkd3d_api.c.
* include: Implement vkd3d_dl
*() wrappers for Win32 platforms.
* include: Move vkd3d_dl
*() helpers to vkd3d_common.h.
* tests: Add another vector indexing test.
* tests: Test matrix indexing.
* vkd3d-shader/hlsl: Fold constant modulus.
* vkd3d-shader/hlsl: Fold constant division.
* vkd3d-shader/hlsl: Support complex numeric initializers.
* vkd3d-shader/hlsl: Handle static struct initializer instructions.
* vkd3d-shader/hlsl: Remove instruction list parameter in struct_var_initializer().
* tests: Do not abort when an invalid shader test fails.
* tests: Mark individual test directives as todo.
* tests: Introduce support for marking individual test directives as todo.
* tests: Skip probe directives if the last render failed.
* tests: Introduce a Vulkan shader runner.
* tests: Store samplers in a fixed-size array.
* tests: Store resources in a fixed-size array.
* tests: Transition back to D3D12_RESOURCE_STATE_RENDER_TARGET in d3d12_runner_probe_vec4().
* vkd3d-shader/hlsl: Ensure that SM4 endif has 0 source registers.
* Sat Apr 09 2022 virtuousfoxAATTgmail.com- Update to version 1.3+93~git20220408.93c6fd0:
* tests: Introduce a D3D9 shader runner.
* tests: Try to avoid using SV_Position from shaders which can be tested with SM1.
* tests: Specify the arguments to \"probe rect\" as right and bottom, instead of width and height.
* tests: Allow skipping shader tests if requirements are not met.
* tests: Use a vertex buffer to draw quads for shader tests.
* Fri Apr 08 2022 virtuousfoxAATTgmail.com- Update to version 1.3+88~git20220407.94fcd52:
* tests: Mark some more tests as requiring shader model 4.0.
* vkd3d-shader/hlsl: Write SM4 right shift instructions.
* vkd3d-shader/hlsl: Assert that bool values are not bit-shifted.
* vkd3d-shader/hlsl: Write SM4 uint modulus instructions.
* vkd3d-shader/hlsl: Write SM4 uint division instructions.
* vkd3d-shader/hlsl: Write SM4 uint negation instructions.
* vkd3d-shader/hlsl: Write SM4 int multiplication instructions.
* vkd3d-shader/hlsl: Lower casts to bool to comparisons.
* vkd3d-shader/hlsl: Handle HLSL_TYPE_DOUBLE in sm4_base_type().
* vkd3d-shader/hlsl: Drop extra \'\
\' from hlsl_error() messages.
* vkd3d-shader/hlsl: Drop extra \'\
\' from hlsl_fixme() messages.
* Wed Apr 06 2022 virtuousfoxAATTgmail.com- Update to version 1.3+77~git20220405.2e4367a:
* build: Do not cross-compile tests if tests are not enabled.
* build: Do not make cross-compiled import libs an explicit dependency of the \"crosstest\" targets.
* build: Do not cross-compile demos if demos are not enabled.
* configure: Check for xcb-event and xcb-icccm.
* vkd3d-shader/hlsl: Fold constant not-equal expressions.
* vkd3d-shader/hlsl: Store boolean constants as unsigned.
* vkd3d-shader/hlsl: Add a helper to create constants of arbitrary type.
* vkd3d-shader/hlsl: Pass a pointer to the location to hlsl_new_
*_constant().
* vkd3d-shader/hlsl: Abort on inconsistent types in fold_cast().
* vkd3d-shader/hlsl: Abort on inconsistent types in write_sm4_cast().
* vkd3d-shader/hlsl: Check types when folding constants.
* vkd3d-shader/hlsl: Use an unsigned variable for iteration.
* tests: Make test_shader_interstage_interface() into a shader test.
* vkd3d-shader/hlsl: Allow \"nointerpolation\" to be specified on struct fields.
* vkd3d-shader/hlsl: Report failure when encountering matrix instructions.
* Mon Apr 04 2022 virtuousfoxAATTgmail.com- Update to version 1.3+62~git20220404.ea93c5c:
* vkd3d-shader/hlsl: Write SM4 integer addition instructions.
* vkd3d-shader/hlsl: Declare integer semantics as having constant interpolation.
* vkd3d-shader/hlsl: Respect the \'nointerpolation\' modifier.
* vkd3d-shader/hlsl: Allow mixing \"in\" and \"out\" with other modifiers.
* vkd3d-shader/hlsl: Write SM4 bitwise NOT instructions.
* vkd3d-shader/hlsl: Write SM4 bitwise XOR instructions.
* vkd3d-shader/hlsl: Write SM4 bitwise OR instructions.
* Mon Apr 04 2022 virtuousfoxAATTgmail.com- Update to version 1.3+55~git20220331.d210452:
* vkd3d-shader/preproc: Don\'t add additional spaces after whitespace tokens.
* vkd3d-shader/hlsl: Treat all braceless initializers as assignments.
* vkd3d-shader/hlsl: Don\'t check exact number of components for braceless initialization of numeric types.
* vkd3d-shader/hlsl: Properly free parse_variable_def memory.
* vkd3d-shader/hlsl: Add \'braces\' flag to parse initializers.
* vkd3d-shader/hlsl: Concatenate nested initializers.
* vkd3d-shader/hlsl: Avoid leaks on memory allocation failures when parsing initializers.
* Mon Mar 28 2022 virtuousfoxAATTgmail.com- Update to version 1.3+48~git20220324.889e5af:
* tests: Test signalling a fence to a lower value after a GPU wait.
* vkd3d: Use Vulkan timeline semaphores for D3D12 fences.
* vkd3d: Write a resource null descriptor to all applicable sets when one set is written.
* vkd3d: Use Vulkan null descriptors if EXT_robustness2 is available.
* vkd3d: Remove an invalid NULL check.
* vkd3d: Do not enable Vulkan-backed descriptor heaps if required update-after-bind features are missing.
* tests: Add a test for the \"nointerpolation\" modifier.
* tests: Specify the primitive type from the shader runner frontend.
* tests: Specify the vertex count from the shader runner frontend.
* tests: Allow specifying a custom vertex buffer.
* tests: Make the \"texture\" structure more generic.
* tests: Allow specifying a custom input layout.
* tests: Specify the default vertex shader in the shader runner frontend.
* tests: Add support for running shader tests with a custom vertex shader.
* Tue Mar 22 2022 virtuousfoxAATTgmail.com- Update to version 1.3+34~git20220321.71db328:
* tests: Remove NULL rect handling from d3d11_runner_probe_vec4().
* tests: Use a macro to define the render target size.
* tests: Rename struct d3d11_shader_context to struct d3d11_shader_runner.
* tests: Rename struct d3d12_shader_context to struct d3d12_shader_runner.
* tests: Rename struct shader_context to struct shader_runner.
* tests: Use SV_VertexID to draw a triangle in d3d11_runner_draw_quad().
* vkd3d-shader/hlsl: Write SM4 left shift instructions.
* vkd3d-shader/hlsl: Write SM4 bitwise AND instructions.
* vkd3d-shader/hlsl: Parse the sv_vertexid semantic.
* vkd3d-shader/hlsl: Reverse the switch order in write_sm4_expr().
* vkd3d-shader/hlsl: Cast pow() input to float.
* vkd3d-shader/hlsl: Remove redundant type check in declare_vars().
* vkd3d-shader/hlsl: Allow offsets for scalar and vector variables.
* vkd3d-shader/hlsl: Correctly calculate offsets for array elements.
* vkd3d: Do not copy descriptors having identical views.
* vkd3d: Optimise descriptor copying for Vulkan-backed heaps.
* vkd3d: Back descriptor heaps with Vulkan descriptor sets if descriptor indexing is available.
* tests: Mark atomic operations as done on AMD.
* tests: Mark NaN conversion as todo on NVIDIA.
* tests: Work around a rounding difference between NVIDIA and AMD.
* Thu Mar 17 2022 virtuousfoxAATTgmail.com- Update to version 1.3+14~git20220314.fa17a17:
* vkd3d-shader/sm4: Recognise the msad opcode.
* tests: Use only one heap for textures in the d3d12 shader runner.
* Sat Mar 12 2022 virtuousfoxAATTgmail.com- Update to version 1.3+12~git20220309.13ca632:
* vkd3d: Handle D3D12_APPEND_ALIGNED_ELEMENT for <4 byte wide elements.
* tests: Mark some tests as requiring shader model 4.0.
* tests: Avoid using non-float uniforms where possible.
* tests: Use SM1-compatible uniform layouts in shader tests.
* tests: Avoid depending on float accuracy in the round() test.
* tests: Split hlsl-operations into individual test units.
* vkd3d-shader/spirv: Fix the spelling of some comments.
* announce: Fix a typo in the libvkd3d-shader new interfaces section.
* vkd3d: Fix the spelling of a couple of trace message.
* vkd3d: Add a trailing linefeed to a couple of WARN() messages.
* vkd3d-utils: Simplify handling of shader messages a bit.
* vkd3d-utils: Avoid leaking \"messages\" when vkd3d_blob_create() fails.
* Release 1.3.
* vkd3d-shader/glsl: Disable support for the GLSL target.
* vkd3d-shader: Add missing version information for some enum elements.
* vkd3d-shader: Add a description for VKD3D_SHADER_TARGET_D3D_ASM.
* vkd3d-shader: Slightly clarify the documentation for struct vkd3d_shader_descriptor_offset_info.
* build: Add the shader tests to the distribution.
* build: Add the flex and bison sources to the distribution.
* vkd3d-shader/hlsl: Remove trivial swizzles after each copy prop pass.
* vkd3d-shader/hlsl: Fix order of matrix dimensions in hlsl_type_to_string().
* vkd3d-shader/hlsl: Fix typing rules for logical NOT.
* vkd3d-shader/hlsl: Fix typing rules for bitwise NOT.
* vkd3d-shader/hlsl: Parse right shift.
* vkd3d-shader/hlsl: Parse left shift.
* vkd3d-shader/hlsl: Parse logical OR.
* vkd3d-shader/hlsl: Parse logical AND.
* vkd3d-shader/hlsl: Introduce a helper to validate that an instruction has integer type.
* vkd3d: Recognise newer memory properties in debug_vk_memory_property_flags().
* vkd3d-shader/d3d-asm: Add an l-suffix on double literals.
* vkd3d-shader/d3d-asm: Always use \'.\' as decimal separator when printing doubles.
* vkd3d-shader/d3d-asm: Always use \'.\' as decimal separator when printing floats.
* include: Introduce a common macro for defining tags.
* vkd3d-shader/sm4: Make the \"reg\" parameter to shader_sm4_set_descriptor_register_range() const.
* include: Reintroduce hidden visibility for GUID definitions.
* vkd3d-shader/spirv: Pass vkd3d-shader formatting options to vkd3d_spirv_binary_to_text().
* tests: Properly compare integers in compare_id().
* vkd3d: Properly compare integers in compare_descriptor_range().
* vkd3d: Properly compare integers in compare_register_range().
* vkd3d-shader/spirv: Properly compare integers in vkd3d_symbol_compare().
* vkd3d-shader/spirv: Properly compare integers in vkd3d_spirv_declaration_compare().
* vkd3d-shader/hlsl: Properly compare integers in compare_function_decl_rb().
* vkd3d-shader/hlsl: Properly compare integers in compare_param_hlsl_types().
* vkd3d-shader: Handle double-precision floating-point data in vkd3d_shader_scan_typed_resource_declaration().
* vkd3d-shader: Handle \"mixed\" data in vkd3d_shader_scan_typed_resource_declaration().
* vkd3d-shader: Explicitly handle VKD3D_DATA_MIXED in vkd3d_component_type_from_data_type().
* vkd3d-shader: Introduce VKD3D_SHADER_COMPILE_OPTION_API_VERSION.
* vkd3d-shader/hlsl: Respect the requested target type.
* Sun Feb 27 2022 virtuousfoxAATTgmail.com- Update to version 1.2+812~git20220225.79ae688:
* vkd3d-utils: Set a value for the VKD3D_SHADER_COMPILE_OPTION_STRIP_DEBUG option in D3DCompile2().
* vkd3d-utils: Return an ID3DBlob pointer from D3DCreateBlob().
* vkd3d-shader: Callers of vkd3d_shader_get_supported_target_types() should ignore unrecognised target types.
* vkd3d-shader: Callers of vkd3d_shader_get_supported_source_types() should ignore unrecognised source types.
* vkd3d-shader: Add a function pointer type for vkd3d_shader_preprocess().
* vkd3d-shader/hlsl: Return false from hlsl_offset_from_deref() if the offset falls out of bounds.
* tests: Add some tests for casting output arguments to functions.
* tests: Add some simple tests for HLSL function calls.
* include: Clarify docs for PFN_vkd3d_shader_close_include.
* configure: Build demos with -municode on Mingw.
* configure: Don\'t require libxcb to build demos on Mingw.
* vkd3d: Use device descriptor limits for unbounded descriptor ranges.
* vkd3d: Use device descriptor limits when creating descriptor pools.
* vkd3d-shader/hlsl: Fix floating point literals matching.
* vkd3d-shader/hlsl: Cover all numeric types in constant folding operations.
* vkd3d-shader/hlsl: Move fold_constants() to a separate file.
* vkd3d-shader/hlsl: Move replace_node() to hlsl.c.
* Tue Feb 15 2022 virtuousfoxAATTgmail.com- Update to version 1.2+795~git20220214.02a2a9a:
* vkd3d-shader/hlsl: Parse bitwise OR.
* vkd3d-shader/hlsl: Parse bitwise XOR.
* vkd3d-shader/hlsl: Parse bitwise AND.
* vkd3d-shader/hlsl: Write SM4 unsigned multiplication instructions.
* tests: Test a number of simple HLSL operations.
* tests: Test matrix multiplication.
* vkd3d-shader/sm4: Skip non-color outputs in shader output mapping.
* vkd3d: Lock the heap mutex while binding heap memory.
* Sat Feb 12 2022 virtuousfoxAATTgmail.com- Update to version 1.2+787~git20220209.b78087c:
* vkd3d-shader/hlsl: Parse valid texture array types.
* vkd3d-shader/hlsl: Remove Texture3DArrays from lexer and parser.
* vkd3d-shader/hlsl: Check texture dimension type on method calls.
* vkd3d-shader/hlsl: Handle additional dimension types for textures.
* vkd3d-shader/hlsl: Move sampler_dim_count() to hlsl.h.
* vkd3d-shader/hlsl: Fix wrong conditional in compare_param_hlsl_types().
* vkd3d-shader: Undefine ERROR to avoid a compiler warning on Windows.
* vkd3d-shader: Define S_ISREG if necessary for the Windows build.
* vkd3d: Use a helper function to copy descriptor set layouts to an array.
* vkd3d: Use a helper function to find and init UAV counters.
* vkd3d: Pass shader extension info to all graphics stages.
* configure: Don\'t require pthread for Mingw builds.
* vkd3d: Add a create thread implementation for Windows.
* Sun Feb 06 2022 virtuousfoxAATTgmail.com- Update to version 1.2+774~git20220204.923ea7b:
* vkd3d-utils: Implement the event functions for Windows.
* vkd3d: Implement the synchronization wrappers for Windows.
* vkd3d: Add inline wrappers for the pthread synchronization functions.
* tests: Test initializer argument flattening.
* tests: Test single numeric initializers.
* tests: Test initialization using a numeric constructor with implicit truncation.
* tests: Test nested initializers.
* tests: Test complex initializers for numeric types.
* tests: Test invalid number of arguments on initializers.
* tests: Test struct initializers.
* Thu Feb 03 2022 virtuousfoxAATTgmail.com- Update to version 1.2+764~git20220202.dbcf063:
* tests: Test array initializers.
* vkd3d-shader/preproc: Allow capital U and L after integer constants as well.
* vkd3d-shader/hlsl: Implement floor().
* vkd3d-shader/hlsl: Cast saturate() input to float.
* vkd3d-shader/hlsl: Cast round() input to float.
* vkd3d-shader: Use LONG type with InterlockedIncrement.
* vkd3d-shader: Fix some DWORD/unsigned int pointer mismatches.
* vkd3d-shader: Consistently use uint32_t for pointers to shader data.
* vkd3d: Replace atomic_add_fetch() by InterlockedAdd().
* vkd3d: Always use _BitScanReverse on Windows.
* Fri Jan 28 2022 virtuousfoxAATTgmail.com- Update to version 1.2+754~git20220127.22e6581:
* tests: Add a D3D11 shader runner backend.
* tests: Add a helper to set uniforms.
* tests: Pass HLSL source to the draw_quad() function.
* tests: Move d3d12-specific members of struct texture to a new d3d12_texture structure.
* tests: Make texture allocation and destruction into separate shader_runner ops.
* tests: Move the drawing and readback implementation to the d3d12 shader runner.
* tests: Move HLSL shader compilation to a new d3d12 shader runner backend.
* tests: Rename shader_runner_d3d12 to shader_runner.
* tests: Add tests for texture gather methods.
* vkd3d-shader/hlsl: Implement texture gather methods.
* tests: Add tests for Sample method with offset.
* vkd3d-shader/hlsl: Add aoffimmi modifiers on Sample sm4 instructions.
* vkd3d-shader/hlsl: Add texel_offset field to hlsl_ir_resource_load.
* vkd3d-shader/hlsl: Add support for sm4 instruction modifiers.
* vkd3d-shader/hlsl: Introduce a sm4_dst_from_node() helper.
* vkd3d-shader/hlsl: Introduce a sm4_src_from_deref() helper.
* vkd3d-shader/hlsl: Introduce a sm4_src_from_node() helper.
* Tue Jan 25 2022 virtuousfoxAATTgmail.com- Update to version 1.2+737~git20220124.a06d54d:
* makefile: Explicitly avoid ANSI stdio modifiers when cross compiling.
* vkd3d-shader/hlsl: Propagate copies for resource load instructions.
* vkd3d-shader/hlsl: Do not calculate a buffer offset for object variables.
* vkd3d-shader/hlsl: Pass copy_propagation_state and hlsl_deref pointers to copy_propagation_compute_replacement().
* vkd3d-shader/hlsl: Handle objects in copy propagation.
* vkd3d-shader/hlsl: Use hlsl_alloc() in hlsl_new_texture_type().
* Sat Jan 22 2022 virtuousfoxAATTgmail.com- Update to version 1.2+731~git20220121.5d627d6:
* vkd3d: Handle plane slice for texture views.
* vkd3d: Use the resource\'s stored format in d3d12_command_list_CopyTextureRegion().
* vkd3d/tests: Revert \"Enable on vkd3d the tests for ID3D12CommandQueue::Wait().\".
* Thu Jan 20 2022 virtuousfoxAATTgmail.com- Update to version 1.2+728~git20220119.2d619f3:
* vkd3d-shader/hlsl: Remove HLSL_OP2_GREATER and HLSL_OP2_LEQUAL.
* vkd3d-shader/hlsl: Write SM4 greater-or-equal instructions.
* vkd3d-shader/hlsl: Write SM4 less-than instructions.
* vkd3d-shader/hlsl: Write SM4 inequality instructions.
* vkd3d-shader/hlsl: Write SM4 equality instructions.
* tests: Test redefining intrinsic functions.
* vkd3d-shader/hlsl: Fold constant casts from int to uint.
* vkd3d-shader/hlsl: Use list_empty() instead of comparing list_count() against zero.
* tests: Add tests for NULL event handles in SetEventOnCompletion().
* vkd3d: Handle NULL event handles in ID3D12Fence::SetEventOnCompletion().
* vkd3d: Use the resource\'s stored format in init_default_texture_view_desc().
* vkd3d: Use the resource\'s stored format in d3d12_command_list_ResolveSubresource().
* vkd3d: Use the resource\'s stored format in d3d12_command_list_CopyResource().
* vkd3d: Add DXGI_FORMAT_UNKNOWN to the array of vkd3d_format objects.
* tests: Test a texture with format DXGI_FORMAT_UNKNOWN in test_create_committed_resource().
* vkd3d: Use the resource\'s stored format in d3d12_resource_ReadFromSubresource().
* vkd3d: Use the resource\'s stored format in d3d12_resource_WriteToSubresource().
* vkd3d: Use the resource\'s stored format in d3d12_resource_validate_box().
* vkd3d: Use the resource\'s stored format in vkd3d_create_image().
* vkd3d: Use the resource\'s stored format in d3d12_command_list_ResourceBarrier().
* vkd3d: Store the vkd3d format in resource objects.
* vkd3d: Implement ID3D12CommandQueue_GetClockCalibration().
* vkd3d-shader/spirv: Enable descriptor indexing if runtime arrays are used.
* tests: Add tests for ID3D12CommandQueue_GetClockCalibration().
* tests: Avoid -Wstringop-overread warnings from GCC 11.1+.
* tests: Set the wrong descriptor heaps in test_descriptor_tables().
* vkd3d: Handle depth/stencil planes in GetCopyableFootprints().
* vkd3d/tests: Add tests for GetCopyableFootprints() depth/stencil planes.
* vkd3d/tests: Enable on vkd3d the tests for ID3D12CommandQueue::Wait().
* vkd3d-shader: Trace tiled resource opcodes.
* vkd3d-shader: Use a designated initializer for the shader_opcode_names array.
* vkd3d: Handle D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE using a Vulkan extension.
* vkd3d-shader/dxbc: Emit a fixme when a DXIL shader chunk is found.
* vkd3d-compiler: Properly forward argument validation failures.
* vkd3d-shader/spirv: Support UAV counter descriptor arrays.
* vkd3d: Do not flag a descriptor table as dirty if it is unchanged.
* vkd3d: Validate the base descriptor handle in d3d12_command_list_set_descriptor_table().
* vkd3d: Use a binary search for matching a descriptor to an allocation.
* vkd3d-shader: Make shader_extract_from_dxbc() static.
* vkd3d-shader: Do not validate the target type in vkd3d_shader_scan().
* vkd3d-compiler: Try to detect the source type by inspecting the file.
* vkd3d-compiler: Move some argument validation out of parse_command_line().
* vkd3d-compiler: Print usage instructions only if --help is specified.
* vkd3d-shader: Add tiled resource opcode definitions.
* tests: Fix shader tests crashes on WARP driver.
* include: Avoid using a field reference as a truth value.
* Fri Dec 31 2021 virtuousfoxAATTgmail.com- Update to version 1.2+682~git20211216.c768248:
* vkd3d-shader: Remove duplicate initialization.
* vkd3d: Don\'t copy an entire descriptor when destroying a view.
* vkd3d-shader/hlsl: Explicitly set swizzle type for resource derefs.
* vkd3d-shader/hlsl: Write SM4 unsigned minimum.
* vkd3d-shader/hlsl: Write SM4 unsigned maximum.
* vkd3d-shader/hlsl: Write SM4 integer minimum.
* vkd3d-shader/hlsl: Write SM4 integer maximum.
* vkd3d-shader/hlsl: Parse min intrinsic.
* vkd3d-shader/hlsl: Make pre/post decrement generate a signed one.
* vkd3d-shader/hlsl: Write SM4 integer negation.
* vkd3d-shader/hlsl: Pass a vkd3d_shader_location pointer to the intrinsic handler callback.
* vkd3d-shader/hlsl: Pass a vkd3d_shader_location pointer to message reporting functions.
* vkd3d-shader/hlsl: Lower narrowing casts to swizzles.
* vkd3d-shader/hlsl: Lower scalar-to-vector casts to swizzles.
* vkd3d-shader/hlsl: Write SM4 sample instructions.
* vkd3d-shader/hlsl: Introduce a copy propagation pass.
* vkd3d: Convert the descriptor handle to a pointer when the descriptor table is set.
* vkd3d: Change strip cut value FIXMEs to FIXME_ONCE.
* vkd3d: Simplify checking if a descriptor has a view.
* vkd3d-shader/spirv: Support runtime descriptor array offsets using push constants.
* vkd3d: Initialise root signature descriptor offset buffer to NULL.
* vkd3d: Only allocate descriptor offsets when descriptor arrays are used.
* vkd3d-shader/spirv: Use runtime descriptor arrays.
* Wed Nov 24 2021 virtuousfoxAATTgmail.com- Update to version 1.2+659~git20211122.1d59b17:
* vkd3d-shader/hlsl: Allocate samplers.
* vkd3d-shader/hlsl: Fix texture reservation trace.
* vkd3d-shader/hlsl: Implement cross() intrinsic function.
* vkd3d-shader/hlsl: Implement round() intrinsic function in SM4.
* vkd3d-shader/hlsl: Take writemask into account when emitting a SM4 constant.
* vkd3d-shader/hlsl: Explicitly specify the swizzle type for sm4 source registers.
* vkd3d-shader/hlsl: Allow failure in hlsl_offset_from_deref.
* vkd3d-shader/hlsl: Use \"false\" instead of \"0\" as a bool immediate.
* vkd3d-shader/hlsl: Remove trivial swizzles.
* tests: Test support for HLSL vector and matrix types.
* vkd3d-shader/hlsl: Parse matrix and vector types without parameters.
* vkd3d-shader/hlsl: Write the else block only if it isn\'t empty.
* vkd3d-shader/spirv: Shift the private variable destination mask instead of the source mask.
* vkd3d-shader/spirv: Fix the outer tessellation level indices for isoline tessellation.
* tests: Add tests for a domain shader using a single patch constant input value.
* tests: Add tests for domain shader patch constant inputs.
* vkd3d-shader/spirv: Handle arrayed builtin inputs.
* vkd3d-shader/spirv: Apply \'Patch\' decorations to builtin patch constant inputs.
* tests: Test implicit conversions for return statements.
* vkd3d-shader/hlsl: Avoid hard-coding array sizes in hlsl_type_to_string().
* vkd3d-shader/hlsl: Write SM4 sampler declarations.
* vkd3d-shader/hlsl: Handle samplers in write_sm1_uniform().
* tests: Return a failure code if unable to parse a shader_test file.
* tests: Add a shader test for texture sampling.
* tests: Initialize current_texture variable.
* vkd3d-shader/spirv: Ignore break instructions outside active blocks.
* tests: Add a test for an unconditional break instruction at the end of a loop block.
* vkd3d-shader/spirv: Omit the \"endloop\" branch to the loop start if the loop block was previously ended.
* vkd3d-shader/hlsl: Fix a typo in an error message.
* vkd3d-shader/hlsl: Align conditionals and loops in the IR dump.
* vkd3d-shader/hlsl: Write SM4 conditionals.
* vkd3d-shader/hlsl: Write SM4 loops.
* vkd3d-shader/hlsl: Introduce a helper to write SM4 code blocks.
* vkd3d-shader/hlsl: Parse the Sample() method.
* vkd3d-shader/hlsl: Lex the SamplerState keyword.
* tests: Allow using multiple [test] directives in the same shader_test file.
* vkd3d-shader/hlsl: Write SM4 image load instructions.
* vkd3d-shader/hlsl: Define a symbolic constant to represent the D3D_SIF_TEXTURE_COMPONENTS shift.
* vkd3d-shader/hlsl: Don\'t explicitly mark the return variable as read in compute_liveness().
* vkd3d-shader/hlsl: Factor out an hlsl_block structure.
* vkd3d-shader/hlsl: Store the function body directly in the hlsl_ir_function_decl structure.
* vkd3d-shader/hlsl: Generate synthetic temps for object uniforms as well.
* vkd3d-shader/hlsl: Use last_read for resource loads.
* vkd3d-shader/hlsl: Add a helper for comparison operations.
* vkd3d-shader/hlsl: Do not cast types in add_expr.
* vkd3d-shader/hlsl: Add a helper for unary arithmetic operations.
* vkd3d-shader/hlsl: Add helpers for binary arithmetic operations.
* vkd3d-shader/hlsl: Allow more implicit conversions between matrices and vectors.
* vkd3d-shader/hlsl: Return the shape of the left operand when appropriate.
* vkd3d-shader/hlsl: Simplify common shape computation.
* vkd3d-shader/hlsl: Move the common shape computation to expr_common_shape.
* vkd3d-shader/hlsl: Introduce a helper for getting numeric types.
* vkd3d: Enable EXT_shader_stencil_export if available.
* vkd3d-shader/spirv: Implement support for stencil export.
* tests: Add a test for exporting SV_StencilRef from a pixel shader.
* vkd3d: Implement output merger logic ops.
* tests: Add tests for output merger logic ops.
* vkd3d: Take the mip-level into account for the 3D UAV slice check in vkd3d_create_texture_uav().
* vkd3d: Do not emit a FIXME for UINT_MAX Texture3D.WSize in vkd3d_create_texture_uav().
* vkd3d: Pass descriptor offset info to vkd3d-shader for graphics pipelines.
* vkd3d: Pass descriptor offset info to vkd3d-shader for compute pipelines.
* vkd3d: Introduce a helper function to chain vkd3d structures.
* vkd3d-shader/spirv: Implement support for descriptor array offsets.
* vkd3d-shader/spirv: Implement texel offset support for sample_c instructions.
* tests: Add tests for sample_c texel offsets.
* vkd3d: Reject 0 sample count textures in d3d12_resource_validate_desc().
* tests: Add a test for 0 sample count resources to test_create_committed_resource().
* tests: Add tests for d3d12_command_list_IASetVertexBuffers() calls with NULL views.
* vkd3d: Ignore d3d12_command_list_IASetVertexBuffers() calls with NULL views.
* vkd3d-shader/hlsl: Write SM4 texture declarations.
* vkd3d-shader/hlsl: Write bound resources into the RDEF table.
* vkd3d-shader/hlsl: Sort extern objects by type and resource index for SM4.
* vkd3d-shader/hlsl: Allocate textures for SM4.
* vkd3d: Reject overflowing descriptor ranges.
* vkd3d: Reject empty descriptor ranges.
* tests: Add more tests for invalid descriptor tables.
* tests: Add a UINT_MAX layer count test to test_clear_depth_stencil_view().
* tests: Add UINT_MAX layer count tests to test_clear_render_target_view().
* tests: Test a UINT_MAX layer count in test_clear_unordered_access_view_image().
* vkd3d: Normalise layer counts in d3d12_desc_create_srv().
* vkd3d: Normalise layer counts in d3d12_dsv_desc_create_dsv().
* vkd3d: Normalise layer counts in d3d12_rtv_desc_create_rtv().
* vkd3d: Normalise layer counts in vkd3d_create_texture_uav().
* vkd3d-shader/spirv: Correctly handle bit shifts greater than 31 bits.
* tests: Add a test for 5-bit masking of shader bit shift operands.
* vkd3d: Ignore D3D12_SO_NO_RASTERIZED_STREAM when stream output is disabled.
* tests: Use D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER for constant buffers in test_unbounded_resource_arrays().
* tests: Use a bounded range between unbounded ranges in test_unbounded_resource_arrays().
* vkd3d-shader/spirv: Add non-uniform decorations.
* vkd3d-shader/hlsl: Parse the Load() method.
* vkd3d-shader/hlsl: Handle texture types in hlsl_type_to_string().
* vkd3d-shader/hlsl: Parse explicitly typed texture types.
* vkd3d-shader/hlsl: Lex the Texture
* keywords.
* vkd3d-shader/hlsl: Parse texture types.
* tests: Mark WriteToSubresource test as todo on NVIDIA.
* vkd3d: Create and write descriptor sets for root signature unbounded ranges.
* vkd3d: Reject descriptor tables containing register collisions.
* vkd3d: Reject OFFSET_APPEND after unbounded ranges in d3d12_root_signature_info_count_descriptors().
* tests: Add root signature tests for unbounded descriptor ranges.
* tests: Add root signature tests for descriptor register range collisions.
* vkd3d-shader/sm1: Add support for vkd3d_shader_scan().
* vkd3d-shader/sm1: Introduce a parser for the legacy D3D byte-code format.
* vkd3d-shader: Introduce struct vkd3d_shader_parser_ops.
* vkd3d-shader: Introduce vkd3d_shader_parser_error().
* vkd3d-shader/sm4: Set an error state when shader_sm4_error() is called.
* vkd3d-shader/sm4: Use the parser location in shader_sm4_error().
* tests: Add a test for explicitly typed textures.
* tests: Add a test for texture load instructions.
* tests: Use % as the shader_test comment character.
* vkd3d-shader/hlsl: Get rid of hlsl_type_is_void().
* vkd3d-shader/hlsl: SM4 immediate constants do not have a register index.
* vkd3d-shader/sm4: Maintain the parser location in the vkd3d_shader_parser structure.
* vkd3d-shader/sm4: Store the message context pointer in the vkd3d_shader_parser structure.
* vkd3d-shader/sm4: Get rid of the redundant \"shader_version\" field in the vkd3d_shader_sm4_parser structure.
* vkd3d-shader/sm4: Rename the vkd3d_sm4_data structure to vkd3d_shader_sm4_parser.
* vkd3d-shader/sm4: Store a vkd3d_shader_parser structure in the vkd3d_sm4_data structure.
* vkd3d-shader: Allocate memory for a string buffer at init time.
* vkd3d-shader: Don\'t resize the buffer when there is enough free space.
* vkd3d-shader/hlsl: Pass the original name string to hlsl_new_type().
* vkd3d-shader/hlsl: Cache matrix types.
* vkd3d-shader/hlsl: Use cached vector types in more places.
* vkd3d-shader/hlsl: Avoid hardcoding the size of the operands array.
* vkd3d-shader/hlsl: Specify the destination register in struct sm4_instruction as an array.
* vkd3d-shader/hlsl: Parse state blocks in variable definitions.
* vkd3d-shader/sm4: Skip second-order extended operands.
* vkd3d-shader/sm4: Parse the \"non-uniform\" modifier.
* vkd3d-shader/sm4: Parse register precision modifiers.
* vkd3d-shader/sm4: Parse register modifiers separately from the extended operand type.
* vkd3d-shader/hlsl: Fix type comparison for column-major matrices.
* vkd3d-shader/hlsl: Fix a few memory leaks.
* vkd3d-shader/hlsl: Fix a memory leak.
* vkd3d-shader/hlsl: Factor out a variable_decl rule.
* vkd3d-shader/hlsl: Get rid of append_unop().
* vkd3d-shader/hlsl: Get rid of the unary_op rule.
* vkd3d-shader/hlsl: Factor out add_unary_expr().
* vkd3d-shader/hlsl: Don\'t dereference a NULL offset_node in hlsl_offset_from_deref().
* vkd3d-shader/hlsl: Separate an add_constructor() helper.
* vkd3d-shader/hlsl: Respect the deref offset for uniforms in sm4_register_from_deref().
* vkd3d-shader/hlsl: Do not try to dereference the else_instrs list pointer if there is no else block.
* vkd3d-shader/hlsl: Introduce an allocation helper for vkd3d_realloc() as well.
* vkd3d-shader/hlsl: Store constant values as an array of unions.
* vkd3d-shader/hlsl: Write SM4 exponent instructions.
* vkd3d-shader/hlsl: Write SM4 logarithm instructions.
* vkd3d-shader/hlsl: Parse the pow() intrinsic.
* vkd3d-shader/hlsl: Write SM4 absolute value instructions.
* vkd3d-shader/hlsl: Parse the abs() intrinsic.
* vkd3d-shader: Factor out a vkd3d_shader_trace_text() helper and use it in vkd3d_spirv_dump() (Valgrind).
* vkd3d-shader/hlsl: Write SM4 saturate instructions.
* vkd3d-shader/hlsl: Parse the saturate() intrinsic.
* vkd3d-shader/hlsl: Write SM4 min instructions.
* vkd3d-shader/hlsl: Write SM1 min instructions.
* vkd3d-shader/hlsl: Write SM4 max instructions.
* vkd3d-shader/hlsl: Write SM1 max instructions.
* vkd3d: Do not attempt to enable primitive restart for non-strip topology.
* vkd3d-shader/hlsl: Write constant buffer offsets in bytes.
* vkd3d-shader/hlsl: Write dimension for constant buffer registers.
* tests: Test a for loop, with break and continue.
* tests: Test the shape of the sum of two numeric values.
* vkd3d-shader/glsl: Explicitly initialise \"buffer\" in vkd3d_glsl_generator_create().
* vkd3d-shader/hlsl: Write SM4 casts to uint.
* vkd3d-shader/hlsl: Write SM4 casts to int.
* vkd3d-shader/hlsl: Write SM4 casts to float.
* tests: Test casts to uint.
* tests: Test casts to int.
* tests: Test casts to half.
* tests: Test casts to float.
* vkd3d-shader: Introduce shader_sm4_reset().
* vkd3d-shader: Pass a vkd3d_shader_parser structure to shader_sm4_is_end().
* vkd3d-shader: Pass a vkd3d_shader_parser structure to shader_sm4_read_instruction().
* vkd3d-shader: Pass a vkd3d_shader_parser structure to shader_sm4_read_header().
* vkd3d-shader: Pass a vkd3d_shader_parser structure to shader_sm4_free().
* tests: Add tests for an unbounded sampler array.
* tests: Add tests for unbounded resource arrays.
* tests: Test casting to and then from bool.
* vkd3d: Handle D3D_PRIMITIVE_TOPOLOGY_UNDEFINED.
* vkd3d: Change to void the return type for ID3D12GraphicsCommandList::ClearState().
* vkd3d-shader: Free the capabilities array on spirv builder destruction.
* vkd3d-shader/hlsl: Parse the clamp() intrinsic.
* vkd3d-shader/hlsl: Parse the max() intrinsic.
* vkd3d-shader/hlsl: Use get_overloaded_func() only to find exact matches.
* vkd3d-shader/hlsl: Parse function calls.
* tests: Add a simple test for function overloads.
* vkd3d-shader: Pass a vkd3d_shader_parser structure to vkd3d_dxbc_binary_to_text().
* vkd3d-shader: Pass a vkd3d_shader_parser structure to vkd3d_shader_trace().
* vkd3d-shader: Only use scan_dxbc() for scanning dxbc-tpf source.
* vkd3d-shader/hlsl: Set the source name in hlsl_ctx_init().
* vkd3d-shader: Dump HLSL shaders with a \".hlsl\" suffix.
* vkd3d-shader/hlsl: Use the modifiers location when validating modifiers on casts.
* vkd3d-shader/hlsl: Merge the \"type\" and \"base_type\" rules.
* vkd3d-shader/hlsl: Write SM4 negation instructions.
* vkd3d-shader/hlsl: Write SM4 division instructions.
* vkd3d-shader/hlsl: Write SM4 multiplication instructions.
* build: Install the gears and triangle demos.
* vkd3d-compiler: Default to monochrome output when NO_COLOUR/NO_COLOR is set.
* vkd3d-compiler: Mention the default target type in the help text for -b.
* vkd3d-compiler: Reference --print-target-types in the help text for -b.
* vkd3d-shader: Use vkd3d_swizzle_get_component() in shader_dump_src_param().
* vkd3d-shader/hlsl: Cleanup HLSL context during error path.
* vkd3d-shader/hlsl: Do not swallow compilation errors.
* vkd3d-shader/hlsl: Simplify expr_common_base_type.
* vkd3d-shader/hlsl: Return int as common type between bool and bool.
* vkd3d-shader/hlsl: Move the base type equality case in expr_common_base_type.
* include: Print failed allocation size.
* vkd3d-shader/hlsl: Write SM4 addition instructions.
* vkd3d-shader/hlsl: Write SM4 constant instructions.
* vkd3d-shader/hlsl: Write SM4 swizzle instructions.
* vkd3d-shader/hlsl: Write SM4 load instructions.
* vkd3d-shader/hlsl: Write SM4 store instructions.
* vkd3d-shader/hlsl: Avoid crashing when emitting a dereference with non-constant offset.
* vkd3d-shader/hlsl: Write the SHDR token count.
* vkd3d-shader/hlsl: Write the SM4 ret instruction.
* vkd3d-shader/hlsl: Write the SM4 dcl_temps instruction.
* vkd3d-shader/hlsl: Write SM4 semantic declarations.
* vkd3d-shader/hlsl: Write SM4 constant buffer declarations.
* vkd3d-shader/hlsl: Write SM4 signatures.
* include: Update the D3D_SHADER_VARIABLE_TYPE enumeration.
* vkd3d-shader/hlsl: Use vkd3d_make_u32() in more places.
* vkd3d: Calculate shader visibility once per root signature table.
* vkd3d: Pass a struct d3d12_root_descriptor_table_range to vk_write_descriptor_set_from_d3d12_desc().
* vkd3d: Store descriptor sets in an array.
* vkd3d-shader/glsl: Implement VKD3DSIH_DCL_OUTPUT.
* vkd3d-shader/glsl: Implement VKD3DSIH_RET.
* vkd3d-shader/glsl: Implement VKD3D_DCL_OUTPUT_SIV.
* vkd3d-shader/glsl: Implement VKD3DSIH_DCL_INPUT.
* vkd3d-shader/glsl: Implement vkd3d_glsl_generator_generate().
* vkd3d-shader/hlsl: Write SM5 RDEF extensions.
* vkd3d-shader/hlsl: Write data types into the RDEF section.
* vkd3d-shader/hlsl: Write the RDEF section.
* vkd3d-shader/hlsl: Write an empty SHDR section.
* vkd3d-shader/hlsl: Write empty SM4 shaders.
* vkd3d-shader/hlsl: Free all instruction lists in reverse order (Valgrind).
* vkd3d-shader: Implement VKD3D_SHADER_TARGET_GLSL.
* tests: Parse max ulps in the \"probe rect rgba\" case. (Clang).
* vkd3d: Do not append a newline to messages passed to d3d12_device_mark_as_removed().
* vkd3d-shader/hlsl: Make some FIXME messages into proper compiler errors.
* vkd3d-shader/hlsl: Remove a couple of redundant default switch cases.
* vkd3d-shader/hlsl: Split array copies.
* vkd3d-shader/hlsl: Rename hlsl_ir_expr_op members.
* vkd3d-shader/hlsl: Use a designated initializer in debug_expr_op().
* vkd3d-shader: Implement UTOD instruction.
* vkd3d-shader: Implement ITOD instruction.
* vkd3d-shader: Implement DTOU instruction.
* vkd3d-shader: Implement DTOI instruction.
* vkd3d-shader: Implement DTOF instruction.
* vkd3d-shader: Implement FTOD instruction.
* vkd3d-shader: Lower SUB to NEG + ADD at parse time.
* vkd3d-shader: Introduce vkd3d_make_u{16, 32}() helpers.
* vkd3d-shader: Move SM1 code generation to a separate file.
* vkd3d-shader: Fold negations of constant integers.
* vkd3d-shader: Fold constant casts from int to float.
* tests: Add a test for the shader DTOF instruction.
* vkd3d-shader: Implement DMOVC instruction.
* vkd3d-shader: Implement DRCP instruction.
* vkd3d-shader: Implement DDIV instruction.
* vkd3d-shader: Implement DMUL instruction.
* tests: Add a test for the shader DMUL instruction.
* vkd3d: Initialise static samplers before the root descriptor tables.
* vkd3d: Iterate over the root signature\'s range table instead of the D3D12 table.
* vkd3d: Introduce a helper function to append descriptor set layouts to the layout array.
* vkd3d-shader: Implement DFMA instruction.
* tests: Add a test for the shader DFMA instruction.
* vkd3d-shader: Implement DMIN instruction.
* vkd3d-shader: Implement DMAX instruction.
* build: Use dllimport/dllexport on Win32 targets.
* build: Make the default symbol visibility \"hidden\".
* vkd3d-shader: Move SM4 byte code definitions to a separate header.
* configure: Also extract the cross target from Clang compilers.
* tests: Include
from \"d3d12_crosstest.h\". (Clang).
* build: Use noinst_HEADERS instead of EXTRA_DIST to track demo and test headers.
* build: Add hlsl.h and preproc.h to libvkd3d_shader_la_SOURCES.
* vkd3d-shader: Implement DNE instruction.
* vkd3d-shader: Implement DLT instruction.
* vkd3d-shader: Implement DGE instruction.
* tests: Add tests for DGE and DLT instructions.
* vkd3d: Use Vulkan descriptor arrays if descriptor indexing is available.
* vkd3d: Return E_INVALIDARG if a descriptor range overflows.
* tests: Test for range overflow in test_root_signature_limits().
* vkd3d-shader: Implement DADD instruction.
* vkd3d-shader: Emit saturate modifier for double-precision float registers.
* vkd3d-shader: Emit abs modifier for double-precision float registers.
* vkd3d-shader: Handle 64-bit immediate constant registers.
* vkd3d-shader: Add a 64-bit immediate constant register type.
* vkd3d: Narrow the scope of cur_binding in d3d12_root_signature_init_root_descriptor_tables().
* vkd3d: Pass target info to vkd3d-shader for compute pipelines.
* vkd3d: Include descriptor indexing in the shader extensions if the device supports it.
* vkd3d: Resolve D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND during table parsing.
* tests: Do not use llabs(3) on an unsigned difference.
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_root_signature().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_static_samplers().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_root_parameters().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_root_descriptor1().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_root_descriptor().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_root_constants().
* vkd3d-shader: Create descriptor array symbols for samplers.
* vkd3d-shader: Handle descriptor array dynamic indexing.
* vkd3d: Pass vkd3d_pipeline_bind_point values to invalidate_root_parameters() calls.
* vkd3d: Pass vkd3d_pipeline_bind_point values to set_root_cbv() calls.
* vkd3d: Pass vkd3d_pipeline_bind_point values to set_root_constants() calls.
* vkd3d: Pass vkd3d_pipeline_bind_point values to set_descriptor_table() calls.
* vkd3d: Pass vkd3d_pipeline_bind_point values to set_root_signature() calls.
* vkd3d: Pass vkd3d_pipeline_bind_point values to update_descriptors() calls.
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_descriptor_table1().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_descriptor_table().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_descriptor_ranges1().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_descriptor_ranges().
* vkd3d-shader: Use vkd3d_bytecode_buffer helpers directly in shader_write_root_signature_header().
* vkd3d-shader: Implement DMOV instruction.
* vkd3d-shader: Replace individual SpvCapability bit fields with an array.
* vkd3d-shader: Exclude descriptor arrays from push constant buffer searches.
* vkd3d-shader: Exclude descriptor arrays from combined sampler searches.
* vkd3d-shader: Include register ranges in descriptor binding error messages.
* vkd3d-shader: Use struct vkd3d_bytecode_buffer in vkd3d_shader_serialize_root_signature().
* vkd3d-shader: Move the bytecode buffer helpers to vkd3d_shader_main.c.
* vkd3d: Introduce a vkd3d_bound_range() helper.
* vkd3d-shader: Track bytecode buffer size in bytes.
* vkd3d-shader: Allocate the $Params buffer in hlsl_ctx_init().
* vkd3d: Return E_INVALIDARG if a heap is too small for a placed resource.
* tests: Test a buffer larger than the destination heap.
* vkd3d-shader: Compute XfbOffset for the slot of the specified element.
* vkd3d: Add support for UAV counters in pixel shaders.
* vkd3d: Introduce struct d3d12_pipeline_uav_counter_state.
* vkd3d-shader: Create descriptor array symbols for resources.
* vkd3d-shader: Get descriptor info for descriptor arrays.
* vkd3d-shader: Introduce to struct vkd3d_symbol a descriptor array symbol type.
* vkd3d-shader: Find bindings for descriptor arrays.
* vkd3d-shader: Emit negation modifier for double-precision float registers.
* Mon Jul 26 2021 virtuousfoxAATTgmail.com- Update to version 1.2+333~git20210722.bb0ae18:
* tests: Use multiple stream output slots in test_line_tessellation().
* vkd3d-shader: Implement DEQ instruction.
* vkd3d: Add missing parenthesis in vkd3d_init_format_info().
* vkd3d: Rename d3d12_pipeline_state_init_compute_uav_counters() and handle pixel shaders.
* tests: Add tests for a UAV counter in a graphics pipeline.
* tests: Use D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT in test_uav_counters().
* tests: Delete spurious HLSL source line.
* vkd3d-shader: Add shader component type double.
* vkd3d-shader: Trace DXBC global flags for double-precision floating point ops and extensions.
* vkd3d-shader: Enable Float64 capability if flagged in DXBC.
* tests: Add tests for shader double-precision floating point instructions.
* vkd3d-shader: Trace SM5.1 descriptor register ranges.
* vkd3d-shader: Normalise descriptor register indices to shader model 5.1.
* tests: Add shader tests for dynamically indexed unbounded resource arrays.
* vkd3d: Pad resource allocation size to allow texture placement at a 64kb alignment.
* tests: Add test for texture placement with a 64kb alignment.
* vkd3d-shader: Introduce shader_sm4_error() for reporting via vkd3d_shader_verror().
* vkd3d-shader: Call shader_sm4_set_descriptor_register_range() for raw resources.
* vkd3d-shader: Call shader_sm4_set_descriptor_register_range() for structured resources.
* vkd3d-shader: Call shader_sm4_set_descriptor_register_range() for structured UAVs.
* vkd3d-shader: Call shader_sm4_set_descriptor_register_range() for raw UAVs.
* vkd3d-shader: Call shader_sm4_set_descriptor_register_range() for samplers.
* vkd3d-shader: Call shader_sm4_set_descriptor_register_range() for constant buffers.
* vkd3d-shader: Introduce shader_sm4_set_descriptor_register_range().
* vkd3d-shader: Pass a struct vkd3d_shader_register_range to vkd3d_shader_scan_add_descriptor().
* vkd3d-shader: Pass a struct vkd3d_shader_register_range to vkd3d_dxbc_compiler_get_descriptor_binding().
* vkd3d-shader: Pass a struct vkd3d_shader_register_range to vkd3d_dxbc_compiler_emit_descriptor_binding_for_reg().
* vkd3d-shader: Pass a struct vkd3d_shader_register_range to vkd3d_dxbc_compiler_get_descriptor_info().
* vkd3d-shader: Pass a struct vkd3d_shader_register_range to vkd3d_dxbc_compiler_get_image_type_id().
* vkd3d-shader: Pass a struct vkd3d_shader_register_range to vkd3d_dxbc_compiler_emit_combined_sampler_declarations().
* vkd3d-shader: Allocate constant buffers.
* vkd3d-shader: Calculate register size for SM4.
* vkd3d-shader: Factor out register size calculation.
* vkd3d-shader: Apply type modifiers recursively when cloning a type.
* vkd3d-shader: Allow declarations to specify type modifiers redundant with the type.
* vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_symbol_sampler_data.
* vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_symbol_resource_data.
* vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_shader_constant_buffer.
* vkd3d-shader: Store a vkd3d_shader_register_range structure in struct vkd3d_shader_sampler.
* vkd3d-shader: Introduce struct vkd3d_shader_register_range.
* tests: Add offset tests to test_uav_counters().
* vkd3d: Remove fixme for UAV counter offsets.
* vkd3d-shader: Track register size in components.
* vkd3d-shader: Keep track of the buffer in which a variable was defined.
* vkd3d-shader: Parse buffer declarations.
* vkd3d-shader: Get rid of HLSL_IR_SEQUENCE.
* vkd3d-shader: Rename the \"regnum\" field of struct hlsl_reg_reservation to \"index\".
* vkd3d-shader: Zero-initialize constant definitions.
* vkd3d-shader: Store the hlsl_reg_reservation struct directly.
* vkd3d-shader: Store the register type for reservations as a char.
* vkd3d-shader: Write SM1 reciprocal instructions.
* vkd3d-shader: Fold constant casts from uint to float.
* vkd3d-shader: Write SM1 subtraction instructions.
* vkd3d-shader: Lower DIV to RCP + MUL for SM1.
* vkd3d-shader: Distinguish between resource exhaustion and invalid shaders when returning failure.
* vkd3d-shader: Use the HLSL string buffer cache in hlsl_type_to_string() and hlsl_modifiers_to_string().
* vkd3d-shader: Introduce HLSL string buffer helpers.
* vkd3d-shader: Introduce HLSL allocation helpers.
* vkd3d-shader: Write SM1 negation instructions.
* vkd3d-shader: Write SM1 multiplication instructions.
* vkd3d-shader: Write SM1 addition instructions.
* vkd3d-shader: Write SM1 swizzle instructions.
* vkd3d-shader: Write SM1 constant instructions.
* vkd3d-shader: Write SM1 load instructions.
* vkd3d-shader: Sanity-check the offset data type in hlsl_reg_from_deref().
* vkd3d-shader: Introduce write_sm1_{src, dst}_register() helpers.
* vkd3d-shader: Trace SM1 predefined registers.
* vkd3d-shader: Mark all declared non-static global variables as HLSL_STORAGE_UNIFORM.
* vkd3d-shader: Write SM1 store instructions.
* vkd3d-shader: Write SM1 semantic declarations.
* tests: Add some tests for HLSL storage qualifiers.
* vkd3d-shader: Forbid declaring variables as both \"uniform\" and \"static\".
* vkd3d-shader: Forbid declaring parameters as both \"out\" and \"uniform\".
* vkd3d-shader: Allocate semantic registers.
* vkd3d-shader: Avoid using the term \"varying\" for all semantics.
* vkd3d-shader: Parse the semantic index in hlsl_parse().
* vkd3d-shader: Only mark entry point parameters as uniform, input, or output.
* vkd3d-shader: Write SM1 constant definitions.
* vkd3d-shader: Return the current buffer offset from put_dword() and put_string().
* vkd3d-shader: Rename name_offset to name_bytecode_offset.
* vkd3d: Store root signature Vulkan descriptor set layouts in an array.
* vkd3d: Remove an unused function parameter.
* vkd3d: Move descriptor range iteration to the count function.
* vkd3d: Move duplicate descriptor accounting to the descriptor count function.
* vkd3d: Rename descriptor_count where binding_count is more accurate.
* vkd3d-shader: Sort uniforms by name before writing them into the SM1 constant table.
* vkd3d-shader: Write the SM1 constant table.
* vkd3d-shader: Generate the synthetic name for the temp variable instead of the uniform.
* vkd3d-shader: Store variables with external linkage in a dedicated list.
* vkd3d-shader: Write empty SM1 shaders.
* vkd3d-shader: \"reg_size\" is tracked in whole registers.
* vkd3d-shader: Allocate constant registers for uniforms.
* vkd3d-shader: Allocate constant registers for anonymous constants.
* vkd3d-shader: Store the shader type and version in the hlsl_ctx structure.
* vkd3d-shader: Allocate temporary registers for anonymous expressions.
* vkd3d-shader: Allocate temporary registers for variables.
* vkd3d-shader: Rename HLSL_IR_ASSIGNMENT to HLSL_IR_STORE.
* vkd3d-shader: Create a separate variable for output varyings.
* vkd3d-shader: Store the function return semantic in the return variable.
* vkd3d-shader: Create a separate variable for input varyings.
* vkd3d-shader: Check for missing semantics on entry function parameters.
* vkd3d-shader: Create a separate variable for uniforms.
* vkd3d-shader: Treat global variables as written to only if they are uniform.
* vkd3d-shader: Treat entry point parameters as written to if they are uniform.
* vkd3d-shader: Do not mark objects as uniform or varying.
* vkd3d-shader: Use separate flag fields to track whether a variable is a uniform or varying.
* vkd3d-shader: Inline declare_variable() into its caller.
* vkd3d-shader: Forbid storage modifiers on struct fields.
* build: Move Vulkan library detection to m4/check-vulkan.m4.
* configure: Use VULKAN_LIBS when looking for the Vulkan library.
* vkd3d-shader: Set correct dcl masks in vkd3d_dxbc_compiler_emit_hull_shader_inputs().
* vkd3d-shader: Avoid redeclaring inputs in vkd3d_dxbc_compiler_emit_default_control_point_phase().
* vkd3d-shader: Export patch constants at the end of tessellation control shaders.
* vkd3d-shader: Support patch constant inputs in tessellation control shader join phases.
* tests: Add a test for patch constant inputs in tessellation control shader join phases.
* vkd3d-shader: Use the (potentially) modified write mask as dcl_mask in vkd3d_dxbc_compiler_emit_input().
* vkd3d-shader: Use the (potentially) modified write mask as dcl_mask in vkd3d_dxbc_compiler_emit_output().
* vkd3d-shader: Properly handle coalesced outputs in vkd3d_dxbc_compiler_emit_store_shader_output().
* vkd3d-shader: Allow static const variables to lack an initializer.
* vkd3d-shader: Eliminate unused assignments.
* vkd3d-shader: Consider previous last_read value when computing liveness.
* vkd3d-shader: Split struct copies.
* vkd3d-shader: Factor out hlsl_new_load().
* vkd3d-shader: Rename hlsl_type_compare() to hlsl_types_are_equal().
* vkd3d-shader: Get rid of a spurious \'\
\' in a HLSL compiler message.
* vkd3d-shader: Fold redundant casts between scalars and 1-dimensional vectors.
* vkd3d-shader: Fold redundant casts.
* vkd3d-shader: Add a dead code elimination pass.
* vkd3d-shader: Fold addition and multiplication of uint constants.
* vkd3d-shader: Factor out hlsl_new_copy().
* tests: Add some tests for fused assignment operations with writemasks.
* vkd3d-shader: Build fused assignment operations before unwrapping swizzles from the LHS.
* vkd3d-shader: Lower postincrement and postdecrement to assignment operations at parse time.
* vkd3d-shader: Lower preincrement and predecrement to assignment operations at parse time.
* vkd3d-shader: Don\'t use assignment instructions as sources.
* build: Enable -Winit-self.
* vkd3d-shader: Use yy_scan_bytes() instead of yy_scan_string().
* vkd3d-shader: Watch for allocation failure from yyparse().
* vkd3d-shader: Parse nested arrays.
* tests: Add some tests for nested arrays.
* vkd3d-shader: Move the remainder of hlsl_parser_compile() to hlsl_compile_shader().
* vkd3d-shader: Move some functions into hlsl_codegen.c.
* vkd3d-shader: Remove a duplicate check for semantics on void functions.
* vkd3d-shader: Print offending values for more error messages.
* vkd3d-shader: Print the previous location for redefinition errors.
* vkd3d-shader: Use %empty.
* vkd3d-shader: Factor out hlsl_new_loop().
* vkd3d-shader: Factor out hlsl_new_jump().
* vkd3d-shader: Factor out make_empty_list().
* vkd3d-shader: Assert that we don\'t read out of bounds of the base_types array.
* vkd3d-shader: Return a vkd3d_string_buffer from hlsl_modifiers_to_string().
* vkd3d-shader: Return a vkd3d_string_buffer from hlsl_type_to_string().
* vkd3d-shader: Keep track of declared SPIR-V output components.
* vkd3d-shader: Implement hlsl_note().
* vkd3d-shader: Replace hlsl_message() with hlsl_error().
* vkd3d-shader: Implement hlsl_error() and hlsl_warning().
* vkd3d-shader: Add a fall-through to default case in shader_sm4_read_param().
* vkd3d-shader: Recognise the \"raw_buffer\" and \"structured_buffer\" shader model 5 resource types.
* vkd3d-shader: Parse shader model 5 resource strides.
* vkd3d-shader: Explicitly handle \"none\" modifiers in shader_sm4_read_param().
* vkd3d-shader: Do not print FIXMEs for VKD3DSUF_ORDER_PRESERVING_COUNTER when generating SPIR-V.
* vkd3d-shader: Respect VKD3D_SHADER_COMPILE_OPTION_FORMATTING_INDENT for d3d-asm output.
* vkd3d-shader: Add some colour to the d3d-asm version token.
* vkd3d-shader: Avoid using debug functions for shader error messages.
* vkd3d-shader: Get rid of hlsl_base_type_to_string().
* vkd3d-shader: Correctly dump array types.
* vkd3d-shader: Add some colour to d3d-asm swizzles.
* vkd3d-shader: Add some colour to d3d-asm write masks.
* vkd3d-shader: Add some colour to d3d-asm literals.
* vkd3d-shader: Introduce a helper to print d3d-asm boolean literals.
* vkd3d-shader: Introduce a helper to print d3d-asm hexadecimal literals.
* vkd3d-shader: Introduce a helper to print d3d-asm unsigned integer literals.
* vkd3d-shader: Introduce a helper to print d3d-asm integer literals.
* vkd3d-shader: Introduce a helper to print d3d-asm floating-point literals.
* vkd3d-shader: Introduce a helper to print d3d-asm subscripts.
* vkd3d-shader: Add some colour to d3d-asm register names.
* vkd3d-shader: Add some colour to d3d-asm opcodes.
* vkd3d-shader: Introduce a helper to print d3d-asm opcodes.
* vkd3d-shader: Store the output buffer in struct vkd3d_d3d_asm_compiler.
* vkd3d-shader: Introduce struct vkd3d_d3d_asm_compiler.
* vkd3d-shader: Rename VKD3D_SHADER_INSTRUCTION_HANDLER to vkd3d_shader_opcode.
* vkd3d-shader: Avoid using debugging utilities in debug_hlsl_type().
* vkd3d-shader: Avoid using debugging utilities in hlsl_debug_modifiers().
* vkd3d-shader: Remove some TRACE messages.
* vkd3d-shader: Do not warn if a \"for\" initializer is empty.
* vkd3d-shader: Replace \"parse_status\" with a boolean variable.
* vkd3d-shader: Keep track of declared SPIR-V input components.
* tests: Add tessellation shader tests to test_clip_distance().
* vkd3d-shader: Handle non-vec4 builtins in vkd3d_dxbc_compiler_emit_hull_shader_input_initialisation().
* vkd3d-shader: Use struct vkd3d_shader_location in struct hlsl_ctx.
* vkd3d-shader: Replace struct source_location with struct vkd3d_shader_location.
* vkd3d-shader: Separate hlsl_report_message() into helpers for individual log levels.
* vkd3d-shader: Use \"hlsl_yy\" as an API prefix for bison and flex definitions.
* vkd3d-shader: Use hlsl_report_message() to report use of reserved keywords.
* vkd3d-shader: Make the HLSL compiler reëntrant.
* vkd3d-shader: Use struct source_location as the Bison location type.
* vkd3d-shader: Use a table to initialize predefined effect types.
* vkd3d-shader: Move hlsl_ctx initialization and cleanup to hlsl_compile_shader().
* vkd3d-shader: Move parse_
* structure definitions to hlsl.y.
* Sat Feb 06 2021 virtuousfoxAATTgmail.com- Update to version 1.2~git20210204T223242:
* vkd3d-shader: Implement global resource memory barriers.
* vkd3d-shader: Replace BOOL with bool.
* vkd3d-shader: Return void from hlsl_pop_scope().
* vkd3d-shader: Rename debug_dump_
*() to dump_
*().
* vkd3d-shader: Add a hlsl_ namespace prefix to common functions.
* vkd3d-shader: Move hlsl_message() and hlsl_report_message() to hlsl.c.
* vkd3d-shader: Implement relative addressing of tessellation control shader inputs.
* tests: Add a test for relative addressing of tessellation control shader inputs.
* vkd3d-shader: Move compatible_data_types() to hlsl.y.
* vkd3d-shader: Move add_expr() to hlsl.y.
* vkd3d-shader: Move add_implicit_conversion() to hlsl.y.
* vkd3d-shader: Move add_assignment() to hlsl.y.
* vkd3d-shader: Move instruction allocation functions to hlsl.c.
* vkd3d-compiler: Update usage message for the -x option.
* vkd3d-compiler: Set default source type before handling --print-target-types.
* vkd3d-shader: Import the HLSL compiler from Wine.
* vkd3d-compiler: Require a profile specification when compiling HLSL sources.
* vkd3d-shader: Cleanup predefined macro body on allocation failure.
* vkd3d: Fix typo in WARN() message.
* vkd3d-shader: Preserve some tokens verbatim for the assembler.
* vkd3d-shader: Add predefined macros to the macro list.
* vkd3d-shader: Parse #line directives.
* vkd3d-shader: Implement the parenthetical operator in #if directives.
* vkd3d-shader: Implement the ternary operator in #if directives.
* vkd3d-shader: Implement logical operators in #if directives.
* vkd3d-shader: Implement bitwise operators in #if directives.
* vkd3d-shader: Implement equality operators in #if directives.
* vkd3d-shader: Implement inequality operators in #if directives.
* vkd3d-shader: Implement addition and subtraction in #if directives.
* vkd3d-shader: Implement multiplication and division in #if directives.
* vkd3d-shader: Implement unary operators in #if directives.
* vkd3d-shader: Treat undefined identifiers as equal to 0 in #if directives.
* vkd3d-shader: Implement the \"defined\" keyword.
* vkd3d-shader: Implement #error.
* vkd3d-shader: Implement #pragma.
* vkd3d-shader: Implement __FILE__.
* vkd3d-shader: Implement __LINE__.
* vkd3d-shader: Implement stringification.
* vkd3d-shader: Implement concatenation.
* vkd3d-shader: Implement function-like macro expansion.
* vkd3d-shader: Parse function-like macro definitions.
* vkd3d-shader: Implement macro body expansion.
* vkd3d-shader: Decorate \"precise\" arithmetic instructions with SpvDecorationNoContraction.
* vkd3d-shader: Implement #undef.
* vkd3d-shader: Implement #include.
* vkd3d-shader: Implement #ifndef.
* vkd3d-shader: Implement #ifdef.
* vkd3d-shader: Partially implement #define.
* Wed Jan 06 2021 virtuousfoxAATTgmail.com- Update to version 1.2~git20210104T210111:
* vkd3d-shader: Implement #elif.
* vkd3d-shader: Implement #else.
* vkd3d-shader: Implement basic support for #if and #endif.
* vkd3d-shader: Handle preprocessor parsing errors.
* Fri Dec 25 2020 virtuousfoxAATTgmail.com- Update to version 1.2~git20201215T221932:
* vkd3d-shader: Move location tracking out of the vkd3d_shader_message_context structure.
* vkd3d-shader: Introduce a helper to report errors while scanning.
* build: Create object directories before running bison or flex.
* vkd3d: Fix misplaced parenthesis.
* vkd3d-shader: Preserve some tokens verbatim for HLSL.
* vkd3d-shader: Parse comments in the preprocessor.
* vkd3d-shader: Implement an initial pass-through HLSL preprocessor.
* vkd3d-shader: Validate \"compile_info\" in vkd3d_shader_preprocess().
* tests: Add a test for macro invocation split across multiple files.
* vkd3d-utils: Initialize input parameters to ID3DInclude::Open().
* vkd3d-utils: Return an error from open_include() if a NULL ID3DInclude was passed to D3DPreprocess().
* tests: Use vkd3d_memmem() in shader_runner_d3d12 (Valgrind).
* vkd3d-compiler: Default to HLSL as a source format when preprocessing.
* vkd3d-compiler: Check whether the source format is binary when checking if the output is a tty, when preprocessing.
* vkd3d-compiler: Do not validate the target type when preprocessing.
* vkd3d-compiler: Add support for running the HLSL preprocessor.
* vkd3d-compiler: Also pass the entry point as part of the SPIR-V target information.
* vkd3d-compiler: Rename the \'spirv\' local variable to \'output_code\'.
* tests: Add some C HLSL preprocessor tests.
* tests: Add some more miscellaneous preprocessor tests.
* tests: Add some tests for shaders which fail to preprocess.
* tests: Add some tests for macro expansion.
* tests: Add some tests for #if expression evaluation.
* tests: Add some tests for #ifdef and defined().
* tests: Add some basic tests for #if and related preprocessor directives.
* vkd3d-shader: Initialize \"messages\" to NULL in vkd3d_shader_preprocess() (Valgrind).
* vkd3d-utils: Initialize \"messages_blob\" to NULL in D3DPreprocess().
* vkd3d-utils: Initialize \"messages_blob\" to NULL in D3DCompile2().
* include: Add more D3D12_RESOURCE_STATES enum elements.
* include: Add DEFINE_ENUM_FLAG_OPERATORS macro for enumerations.
* Thu Oct 22 2020 virtuousfoxAATTgmail.com- Update to version 1.2~git20201016T220718:
* vkd3d-shader: Adjust the API for struct vkd3d_shader_macro.
* include: Clarify that struct vkd3d_shader_code is not null-terminated.
* vkd3d-shader: Avoid reading past the end of the buffer in vkd3d_string_buffer_trace() (Valgrind).
* vkd3d-shader: Avoid reading past the end of the buffer in vkd3d_shader_trace() (Valgrind).
* vkd3d-shader: Don\'t allocate an initial buffer in vkd3d_string_buffer_init().
* vkd3d-shader: Return NULL from vkd3d_shader_message_context_copy_messages() if there are no messages to copy.
* vkd3d-shader: Pass the output pointer to vkd3d_shader_message_context_copy_messages().
* vkd3d-compiler: Use the correct array count in validate_target_type().
* include: Add the D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE enumeration.
* include: Add the ID3D12InfoQueue interface.
* vkd3d-compiler: Do not validate the target type if --print-target-types is specified.
* vkd3d-common: Correctly escape whitespace characters in debugstr_
*().
* tests: Import invalid HLSL shader tests from Wine.
* tests: Import HLSL static initializer tests from Wine.
* tests: Import HLSL struct varying tests from Wine.
* tests: Import HLSL struct assignment tests from Wine.
* tests: Import HLSL majority tests from Wine.
* tests: Import HLSL array dimension tests from Wine.
* tests: Import HLSL return statement tests from Wine.
* tests: Import comma tests from Wine.
* tests: Import trigonometry tests from Wine.
* include: Add more D3D12_FEATURE enum elements.
* include: Add enum flag operators for D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS.
* include: Add the D3D12EnableExperimentalFeatures() prototype.
* include: Remove backslashes from D3D12_COLOR_WRITE_ENABLE_ALL.
* tests: Import vector indexing tests from Wine.
* tests: Import HLSL conditional tests from Wine.
* tests: Import math tests from Wine.
* tests: Import HLSL swizzle tests from Wine.
* tests: Introduce a custom format and parser for shader-based tests.
* vkd3d-shader: Correct an off-by-one error when comparing against ARRAY_SIZE.
* vkd3d-utils: Introduce D3DPreprocess().
* vkd3d-utils: Introduce D3DCompile() and D3DCompile2().
* vkd3d-compiler: Add support for specifying the entry point for HLSL shaders.
* vkd3d-compiler: Add support for specifying the HLSL shader profile.
* vkd3d-compiler: Add the dxbc-tpf target type.
* vkd3d-compiler: Add the HLSL source type.
* vkd3d: Move hresult_from_vkd3d_result to vkd3d-common.
* Tue Sep 29 2020 virtuousfoxAATTgmail.com- Update to version 1.2~git20200928T194210:
* vkd3d-compiler: Enable colour output by default when outputting to a colour capable tty.
* vkd3d-shader: Parse all 4 data type components.
* vkd3d-shader: Add valid vkd3d_sm4_data_type types.
* vkd3d-shader: Introduce struct vkd3d_shader_hlsl_source_info.
* vkd3d-shader: Introduce vkd3d_shader_preprocess().
* vkd3d-shader: Advertise support for compiling HLSL to DXBC_TPF.
* vkd3d-shader: Move vkd3d_shader_compile() to avoid forward declarations.
* vkd3d-shader: Use the same message context for scanning and compiling in vkd3d_shader_compile().
* vkd3d-compiler: Add d3d-asm target type.
* vkd3d-shader: Implement target type d3d asm.
* vkd3d-shader: Add vkd3d_dxbc_binary_to_text() helper function.
* vkd3d-shader: Change use of strstr to strchr.
* vkd3d-utils: Introduce D3DCreateBlob().
* vkd3d: Move the ID3DBlob implementation to vkd3d-common.
* Thu Sep 24 2020 Marcus Meissner - added also shader library to baselibs.conf (bsc#1176894)
* Wed Sep 23 2020 virtuousfoxAATTgmail.com- Update to version 1.2~git20200922T115618:
* Release 1.2.
* build: Add ANNOUNCE to EXTRA_DIST.
* build: Install vkd3d-compiler.
* vkd3d-compiler: Allow the --formatting option to modify individual flags.
* vkd3d-shader: Invert the \"FRIENDLY_NAMES\" output formatting flag.
* vkd3d-shader: Invert the \"NO_HEADER\" output formatting flag.
* vkd3d-shader: Rename the \"SHOW_BYTE_OFFSET\" output formatting flag to just \"OFFSETS\".
* include: The vkd3d_shader_log_level enumeration describes the
*minimum
* severity.
* vkd3d-shader: Pass format to shader_addline.
* build: Print whether we\'re building documentation in the configuration summary.
* vkd3d-shader: Separate the allocated and used mask in struct vkd3d_shader_signature_element.
* vkd3d: Print VK_MEMORY_HEAP_MULTI_INSTANCE_BIT in debug_vk_memory_heap_flags().
* vkd3d-shader: Make shader_dump_data_type print the type 4 times.
* vkd3d-shader: Print abs(x) as |x|.
* vkd3d-shader: Print oC registers as o in versions >= 4.
* vkd3d-shader: Output \"tri\" instead of \"triangle\" in tessellator domains.
* vkd3d-shader: Output \"isoline\" instead of \"line\" in tessellator domains.
* vkd3d-shader: Print \"partitioning\" in tessellator partitions.
* vkd3d-shader: Print \"output\" in tessellator outputs.
* vkd3d-shader: Print \"domain\" in tessellator domains.
* vkd3d-shader: Always print swizzle except for immediates or samplers.
* vkd3d-shader: Always print writemask.
* vkd3d-shader: Don\'t print 1-st index in constant buffers if < 5.1.
* vkd3d-shader: Only print brackets when necessary.
* vkd3d-shader: Remove [ ] from first index of fp in dcl_interface.
* vkd3d-shader: Remove [ ] from x registers in dcl_indexabletemp.
* vkd3d-shader: Print samplers with dump_register directly.
* vkd3d-shader: Print uav with dump_register directly.
* vkd3d-shader: Print dcl_cb registers with dump_register directly.
* vkd3d-shader: Add \"typed\" when handling VKD3DSIH_DCL_UAV_TYPED.
* vkd3d-shader: Recognize skipOptimization global flag.
* vkd3d-shader: Fix out of bound array accesses.
* vkd3d-shader: Add shader_ver_ge version comparison function.
* vkd3d-shader: Use proper variables for epilogue arguments.
* vkd3d-shader: Do not use built-ins for hull shader clip/cull distance built-ins.
* vkd3d-shader: Enable the corresponding capabilities when using the clip/cull distance built-ins.
* vkd3d-shader: Add some TRACEs.
* build: Stop ignoring the vkd3d-compiler directory.
* vkd3d-compiler: Add formatting options.
* vkd3d-compiler: Add spirv-text output type.
* vkd3d-compiler: Validate target type.
* vkd3d-compiler: Add get_source_type_info helper.
* vkd3d-compiler: Add get_target_type_info helper.
* vkd3d-shader: Add formatting compiler options.
* vkd3d-shader: Implement VKD3D_SHADER_TARGET_SPIRV_TEXT.
* vkd3d-shader: Implement vkd3d_spirv_binary_to_text helper.
* vkd3d-shader: Read the SM5 resource data type instruction modifier.
* vkd3d-shader: Read the SM5 resource type instruction modifier.
* vkd3d-shader: Rename VKD3D_SHADER_MINIMUM_PRECISION_FLOAT_8_2 to VKD3D_SHADER_MINIMUM_PRECISION_FIXED_8_2.
* Sun Sep 06 2020 virtuousfoxAATTgmail.com- Update to version 1.1~git20200904T210752:
* include: Document vkd3d_shader_signature.
* include: Document vkd3d-shader function pointer types.
* include: Document vkd3d-shader shader signature functions.
* include: Document struct vkd3d_shader_scan_descriptor_info.
* include: Document vkd3d-shader swizzles.
* include: Document vkd3d-shader root signature functions.
* include: Document vkd3d_shader_get_version().
* include: Document struct vkd3d_shader_interface_info.
* include: Document vkd3d-shader compilation and scanning functions.
* include: Document struct vkd3d_shader_compile_info and members.
* include: Add documentation for enum vkd3d_shader_structure_type.
* include: Add basic documentation for vkd3d_types.h.
* vkd3d-shader: Do not check for NULL in vkd3d_shader_free_shader_code().
* vkd3d-shader: Do not check for NULL in vkd3d_shader_free_scan_descriptor_info().
* vkd3d-shader: Allow structures to be chained in any order.
* vkd3d-shader: Handle non-contiguous destination write masks in vkd3d_dxbc_compiler_emit_store().
* vkd3d-shader: Properly handle scalar destinations in vkd3d_dxbc_compiler_emit_store().
* tests: Use descriptor ranges with multiple descriptors in test_register_space().
* vkd3d-shader: Introduce API for descriptor array bindings.
* vkd3d-shader: Change the memory layout of swizzles to allow for future swizzle components.
* vkd3d-shader: Introduce an enumeration for swizzle components.
* vkd3d-compiler: Support reading from standard input.
* vkd3d-compiler: Support writing to standard output.
* build: Try \"vulkan-1\" as the Vulkan library.
* build: Assume the soname is .dll when building for MinGW hosts.
* vkd3d-shader: Remove the unused \"ctx\" field from struct vkd3d_shader_instruction.
* vkd3d-shader: Rename vkd3d_sm4_immconst_type to vkd3d_sm4_dimension.
* build: Link vkd3d-utils with PTHREAD_LIBS.
* vkd3d-shader: Support register spaces for combined samplers.
* vkd3d-compiler: Add an option to specify the target type.
* vkd3d-compiler: Add an option to list the supported target types.
* vkd3d-compiler: Add an option to list the supported source types.
* vkd3d-shader: Make VKD3D_SHADER_SWIZZLE more legible.
* build: Clean widl generated headers if building with widl.
* vkd3d-shader: Introduce vkd3d_shader_get_supported_target_types().
* vkd3d-shader: Introduce vkd3d_shader_get_supported_source_types().
* vkd3d-shader: Use vkd3d_shader_validate_compile_info() in vkd3d_shader_scan().
* vkd3d-compiler: Also print the vkd3d-shader version when printing the vkd3d-compiler version.
* vkd3d-shader: Introduce vkd3d_shader_get_version().
* vkd3d-shader: Merge the vkd3d_shader_descriptor_type and vkd3d_shader_descriptor_range_type enumerations.
* vkd3d-compiler: Add an option to specify the buffer type to use for buffer UAV bindings.
* vkd3d-shader: Allow plain storage buffers to be used for buffer UAVs.
* vkd3d-shader: Add a compiler message for unhandled register types in vkd3d_dxbc_compiler_get_descriptor_binding().
* vkd3d-shader: Fail shader compilation if any descriptor bindings are missing.
* include: Correct the case of rbtree macros.
* vkd3d-shader: Report error messages from vkd3d_shader_serialize_root_signature().
* vkd3d-shader: Report error messages from vkd3d_shader_parse_root_signature().
* vkd3d-shader: Report error messages from vkd3d_shader_parse_input_signature().
* vkd3d-shader: Pass a vkd3d_shader_compile_info structure to vkd3d_shader_scan_dxbc().
* vkd3d-shader: Validate control flow instructions in vkd3d_shader_scan_dxbc().
* vkd3d-shader: Trace messages in vkd3d_shader_compile().
* vkd3d-shader: Trace messages in vkd3d_shader_scan_dxbc().
* vkd3d-shader: Trace the shader in vkd3d_shader_scan_dxbc().
* vkd3d-shader: Also copy the terminator in vkd3d_shader_message_context_copy_messages().
* vkd3d: Add trailing newlines to error messages in vkd3d_uav_clear_state_init().
* vkd3d-shader: Add compiler messages for invalid DXBC chunk offsets and sizes.
* vkd3d-shader: Add a compiler message for unsupported DXBC versions.
* vkd3d-shader: Validate DXBC checksums.
* vkd3d-shader: Add a compiler message for invalid DXBC magic.
* vkd3d-shader: Output a compiler error message if the DXBC size is invalid.
* vkd3d-shader: Output point sizes.
* vkd3d-shader: Add missing VKD3D_FORCE_32_BIT_ENUM enum elements.
* vkd3d-shader: Rename the VKD3D_DUMMY_SAMPLER_INDEX macro to VKD3D_SHADER_DUMMY_SAMPLER_INDEX.
* vkd3d-shader: Rename the vkd3d_versioned_root_signature_desc structure.
* vkd3d-shader: Rename the vkd3d_root_signature_desc1 structure to vkd3d_shader_root_signature_desc1.
* vkd3d-shader: Rename the vkd3d_root_signature_desc structure to vkd3d_shader_root_signature_desc.
* vkd3d-shader: Rename the vkd3d_root_signature_version enumeration to vkd3d_shader_root_signature_version.
* vkd3d-shader: Rename the vkd3d_root_parameter1 structure to vkd3d_shader_root_parameter1.
* vkd3d-shader: Rename the vkd3d_root_signature_flags enumeration to vkd3d_shader_root_signature_flags.
* vkd3d-shader: Rename the vkd3d_static_sampler_desc structure to vkd3d_shader_static_sampler_desc.
* vkd3d-shader: Rename the vkd3d_root_parameter structure to vkd3d_shader_root_parameter.
* vkd3d-shader: Rename the vkd3d_root_descriptor1 structure to vkd3d_shader_root_descriptor1.
* vkd3d-shader: Rename the vkd3d_root_descriptor_table1 structure to vkd3d_shader_root_descriptor_table1.
* vkd3d-shader: Rename the vkd3d_static_border_color enumeration to vkd3d_shader_static_border_colour.
* vkd3d-shader: Rename the vkd3d_comparison_func enumeration to vkd3d_shader_comparison_func.
* vkd3d-shader: Rename the vkd3d_texture_address_mode enumeration to vkd3d_shader_texture_address_mode.
* vkd3d-shader: Rename the vkd3d_filter enumeration to vkd3d_shader_filter.
* vkd3d-shader: Rename the vkd3d_root_descriptor structure to vkd3d_shader_root_descriptor.
* vkd3d-shader: Rename the vkd3d_root_constants structure to vkd3d_shader_root_constants.
* vkd3d-shader: Rename the vkd3d_root_descriptor_table structure to vkd3d_shader_root_descriptor_table.
* vkd3d-shader: Rename the vkd3d_root_parameter_type enumeration to vkd3d_shader_root_parameter_type.
* vkd3d-shader: Rename the vkd3d_root_descriptor_flags enumeration to vkd3d_shader_root_descriptor_flags.
* vkd3d-shader: Rename the vkd3d_descriptor_range1 structure to vkd3d_shader_descriptor_range1.
* vkd3d-shader: Rename the vkd3d_descriptor_range structure to vkd3d_shader_descriptor_range.
* vkd3d-shader: Rename the vkd3d_descriptor_range_flags enumeration to vkd3d_shader_descriptor_range_flags.
* vkd3d-shader: Rename the vkd3d_descriptor_range_type enumeration to vkd3d_shader_descriptor_range_type.
* vkd3d-shader: Rename the VKD3D_SWIZZLE macro to VKD3D_SHADER_SWIZZLE.
* vkd3d-shader: Rename the vkd3d_sysval_semantic enumeration to vkd3d_shader_sysval_semantic.
* vkd3d-shader: Rename the vkd3d_component_type enumeration to vkd3d_shader_component_type.
* vkd3d-compiler: Add an option to specify the source type.
* vkd3d-compiler: Add a long option to specify the output file.
* vkd3d-compiler: Add a --version option.
* vkd3d-compiler: Add an explicit --help option.
* vkd3d-compiler: Use getopt to parse command-line options.
* vkd3d-compiler: Print a slightly more elaborate usage message.
* vkd3d: Require VKD3D_API_VERSION_1_2 for version 1.1 root signatures.
* vkd3d: Introduce API versions.
* vkd3d-shader: Introduce struct vkd3d_shader_resource.
* vkd3d-shader: Support more than 8 UAV counters.
* tests: Test using UAV counters with multiple register spaces.
* vkd3d-shader: Get rid of the \"use_vocp\" field in the vkd3d_shader_scan_info structure.
* vkd3d-shader: Store sampler comparison mode information in the descriptor scan info.
* vkd3d-shader: Store UAV read information in the descriptor scan info.
* vkd3d-shader: Store UAV counter information in the descriptor scan info.
* vkd3d-shader: Report descriptor resource types in vkd3d_shader_scan_dxbc().
* vkd3d-shader: Report descriptor usage information in vkd3d_shader_scan_dxbc().
* include: Correct the \"vkd3d_shader_binding_flag\" type name in some comments.
* vkd3d-shader: Allow the name of the SPIR-V entry point to be specified.
* vkd3d-shader: Rename the vkd3d_tessellator_partitioning enumeration.
* vkd3d-shader: Rename the vkd3d_tessellator_output_primitive enumeration.
* vkd3d-shader: Allow vkd3d_shader_compile() to handle multiple target types.
* vkd3d-shader: Allow vkd3d_shader_compile_dxbc() to handle multiple source types.
* vkd3d-shader: Pass compile options as an array instead of as flags.
* vkd3d-shader: Pass the target info as part of the vkd3d_shader_compile_info structure chain.
* vkd3d-shader: Pass the interface info as part of the vkd3d_shader_compile_info structure chain.
* vkd3d-shader: Introduce struct vkd3d_shader_compile_info.
* vkd3d-shader: Rename the vkd3d_shader_target_extension enumeration to vkd3d_shader_spirv_extension.
* vkd3d-shader: Rename the vkd3d_shader_target enumeration to vkd3d_shader_spirv_environment.
* vkd3d-shader: Rename VKD3D_SHADER_STRUCTURE_TYPE_SHADER_INTERFACE_INFO.
* vkd3d-shader: Rename the vkd3d_shader_domain_shader_compile_arguments structure.
* vkd3d-shader: Rename the vkd3d_shader_compile_arguments structure to vkd3d_shader_spirv_target_info.
* vkd3d-compiler: vkd3d_shader_compile_dxbc() returns an int.
* vkd3d: Also match the UAV counter register space in d3d12_command_list_update_descriptor_table().
* vkd3d: Store a count of used UAV counters instead of a mask.
* vkd3d: Index the \"vk_uav_counter_views\" array to match the \"uav_counters\" array.
* vkd3d: Introduce our own pipeline bind point enumeration.
* Mon Jul 06 2020 virtuousfoxAATTgmail.com- Update to version 1.1~git20200626T183327:
* build: Use Meson subproject for dxil-spirv
* vkd3d-shader: Fix incorrect use of static in ext arrays
* vkd3d-shader: Fix incorrect enum being used for tesselator partitioning
* vkd3d-shader: Fix incorrect type enum in global binding
* vkd3d-shader: Fix wrong enum for {CLIP,CULL}_DISTANCE
* build: Remove SPIRV-Tools dependency
* vkd3d: Remove SPIRV-Tools-based debugging code
* vkd3d: Remove _spv suffix from prebuilt shaders
* vkd3d: Compile glsl shaders at compile time
* vkd3d: Move shader contents out of header
* build: Add glsl generator to root build script
* vkd3d: Make enqueued_fence_count a uint32_t
* vkd3d: Add vkd3d_atomic_uint32_{dec, inc}rement helper
* vkd3d: Rename vkd3d_uint32_atomic to vkd3d_atomic_uint32
* vkd3d: Define our own memory orders
* vkd3d: Use __atomic builtins instead of stdatomic
* vkd3d: Implement sequential consistency on MSVC
* demos/gears: Don\'t redefine _GNU_SOURCE
* vkd3d: Use pthread reimplementation only on MSVC
* vkd3d: Don\'t redefine InterlockedIncrement under MinGW
* programs/vkd3d-compiler: Add build script
* build: Fallback to vkd3d-utils if no d3d12 lib is present
* tests: Don\'t build uninteresting tests.
* build: Link dxil-spirv statically
* subprojects: Update dxil-spirv submodule
* vkd3d-shader: Build statically
* vkd3d: Toss VKD3D_DEBUG_ENV_NAME
* build: Fix MinGW build.
* Revert \"vkd3d: make spinlock_t atomic to make clang happy\"
* vkd3d: make spinlock_t atomic to make clang happy
* vkd3d/meta: Initialize flags variable.
* build: Add Meson build system
* vkd3d: Eliminate config.h
* vkd3d: Eliminate HAVE_SPIRV_UNIFIED1_SPIRV_H and HAVE_SPIRV_UNIFIED1_GLSL_STD_450_H
* vkd3d: Eliminate HAVE_PTHREAD_H
* subprojects: Add submodules for dependencies
* vkd3d: use pause while spinning on x86
* vkd3d-shader: Don\'t use return value semantics in void functions
* vkd3d: Add vkd3d_atomic.h to Makefile.am
* vkd3d: Refactor platform-specific code
* vkd3d: Implement vkd3d_get_program_name for Win32
* Revert \"vkd3d: Use monotonically increasing fence values in test suite.\"
* vkd3d: Support rewinding ID3D12Fence.
* vkd3d: Fix uninitialized return value in CPU fence signaling.
* demos/gears: Use hpc for getting time on Win32
* demos/gears: Define _USE_MATH_DEFINES
* demos: Use WinMain instead of wmain on Win32
* vkd3d: Remove PACKAGE_NAME usage for engine version
* vkd3d: Refactor atomics
* vkd3d: Make nameless unions really nameless
* vkd3d: Remove dependency on linking directly against libvulkan.
* vkd3d-shader: Introduce vkd3d_dxbc_compiler_find_register_info.
* vkd3d: Implement BeginEvent/EndEvent.
* utils: Add a max_elements parameter to wchar conversion.
* vkd3d: Move to VK_EXT_debug_utils.
* vkd3d: Always enable instance debug extension.
* vkd3d: Always use PDF2/PDP2 without KHR extensions.
* vkd3d: Serialize all queue submissions.
* vkd3d-shader: Fix modifier handling.
* vkd3d: Use ALLOW_ONLY_BUFFERS for committed buffer resources.
* tests: Test image creation on ALLOW_ONLY_BUFFERS heap.
* vkd3d: Validate heap flags for placed resources.
* vkd3d: Remove vkd3d_select_memory_type.
* vkd3d: Use new memory allocation code in d3d12_resource_bind_sparse_metadata.
* vkd3d: Rework vkd3d_allocate_device_memory.
* vkd3d: Use new memory allocation code in vkd3d_allocate_image_memory.
* vkd3d: Use new memory allocation code in vkd3d_allocate_buffer_memory.
* vkd3d: Add new memory allocation helpers.
* vkd3d: Expose D3D12_RESOURCE_HEAP_TIER_1 based on hardware capabilities.
* vkd3d: Determine compatible memory types for different resource types.
* configure.ac: Report that 1.2.140 is required, not 1.1.140.
* vkd3d: Do not enable VK_KHR_dedicated_allocation.
* vkd3d: Do not enable VK_KHR_maintenance3.
* vkd3d: Remove required extensions.
* vkd3d: Require Vulkan 1.1 device.
* vkd3d: Require Vulkan 1.1 instance.
* vkd3d: Apply heap offsets for ExecuteIndirect buffers.
* Sat Jun 06 2020 virtuousfoxAATTgmail.com- Update to version 1c7df3f+warning refname \'1c7df3f\' is ambiguous. 1182~git20200527T145921:
* vkd3d: Issue full barrier at the end of command lists.
* vkd3d: Enable SM 6.2 features.
* vkd3d-shader: Only sample with the required number of components.
* configure: Check for 1.1.140 headers.
* vkd3d: Silence SetMarker/BeginEvent/EndEvent log spam.
* vkd3d: Invalidate descriptor heaps on root signature change.
* vkd3d: Handle null root descriptors.
* vkd3d: Expose Tiled Resources Tier 2.
* vkd3d: Implement sampler reduction modes.
* vkd3d: Enable VK_EXT_sampler_filter_minmax if available.
* Sat Jun 06 2020 virtuousfoxAATTgmail.com- Update to version kd3d1.1+715~git20200601T220857:
* include: Use standard 64-bit types.
* tests: Test multiple register spaces with samplers.
* tests: Test multiple register spaces.
* vkd3d: Implement register spaces.
* vkd3d-shader: Also match the register space when looking up bindings.
* vkd3d-shader: Do not treat descriptor registers as arrayed.
* vkd3d-shader: Use the size from struct vkd3d_shader_constant_buffer when declaring push constant buffers.
* vkd3d-shader: Read constant buffer offsets from the second index.
* vkd3d-shader: Read the resource index from idx[1] instead of idx[0] when looking up SM5.1 bindings.
* vkd3d: Fix a spelling error in vkd3d_init_null_resources_data().
* Sat May 30 2020 Marcus Meissner - updated baselibs requires to allow better wine 32bit dependencies (bsc#1172310)
* Sun Oct 07 2018 meissnerAATTsuse.com- updated to 1.1 - Initial support for placed resources. - MoltenVK support. - Support for geometry shaders.
* Sun Jul 29 2018 jengelhAATTinai.de- Fix RPM groups. Drop redundant ldconfig requires (they are implicit).
* Sun Jun 17 2018 meissnerAATTsuse.com- ininital vkd3d library, Direct3D 12 to Vulkan translation library