They are substancially different from any other register type, so
it makes sense to have them stand out. Also, they help segmenting
visually the code into blocks, because labels are usually found
either at the beginning or at the end of a block.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/693
--
v3: vkd3d-shader/spirv: Handle the ORD and UNO instructions.
vkd3d-shader/dxil: Support FCMP_ORD and FCMP_UNO for CMP2.
tests/shader-runner: Add a test for FCMP_ORD (is ordered).
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/686
More commits in one MR than usual, but the implementations are quite short, and it's good to get them all in at once.
--
v2: vkd3d: Implement GetCopyableFootprints1().
vkd3d: Implement CreatePlacedResource1().
vkd3d: Implement CreateCommittedResource2().
vkd3d: Implement GetResourceAllocationInfo2().
tests/d3d12: Add tests for GetCopyableFootprints1().
tests/d3d12: Add tests for CreatePlacedResource1().
tests/d3d12: Add tests for CreateCommittedResource2().
tests/d3d12: Add tests for GetResourceAllocationInfo2().
vkd3d: Add ID3D12Device8 interface stubs.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/683
--
v4: vkd3d-shader: Refactor common code for vkd3d_shader_compile().
vkd3d-shader: Refactor common code for vkd3d_shader_scan().
vkd3d-shader: Treat the HLSL case specially in vkd3d_shader_compile().
vkd3d-shader: Treat the HLSL case specially in vkd3d_shader_scan().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/679
~~This applies on top of !662, the last four commits belong here.~~
Here we compute a topological order (plus some additional properties) of the shader blocks. Eventually the blocks will be emitted precisely in this order, after having been enriched with structured control flow information.
--
v9: vkd3d-shader/ir: Keep loops contiguous in the topological sort.
vkd3d-shader/ir: Dump the topological order of the control flow graph.
vkd3d-shader/ir: Topologically sort the control flow graph.
vkd3d-shader/ir: Allow adding to a block list without checking for duplicates.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/672
Buffers could be used with 'shared' and 'single' modifiers. There is a bit more work left to do to support this - 'shared' needs a compiler flag to enable child effects to be useful, and 'single' is not a keyword.
--
v4: vkd3d-shader/hlsl: Allow modifiers on buffer declarations.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/666
Basically !427, but in the form of a custom test driver script.
If I am not mistaken, for the driver script to run properly it is necessary to run
"autoreconf" in the source directory and call the configure script again in the build directory.
The output when running tests would be the same we currently have except for tests that don't PASS,
in that case, detailed information for each failing line will appear. Make a failing test to try it!
--
v5: tests: Get detailed information on failing tests.
tests: Copy autotool's testsuite driver script.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/661
I wanted to use ._xy element access to make it shorter, but that attempt was crushed by the reality - such indexing apparently compiles but does not produce correct element access loads. I'm going to update once this is fixed.
--
v10: vkd3d-shader/hlsl: Add determinant() function.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/329