It's a clean-room reimplementation that mimics Windows 10 program's output format.
It prints all the information that is available via KerbQueryTicketCacheMessage.
Also tested to work on Windows if dynamically linked + built with winegcc.
For further extension of the functonality, implementing
KerbQueryTicketCacheEx{,2,3}Message is required.
--
v12: klist: Add a program that lists Kerberos tickets.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3347
`wcsncpy` and `GetLocaleInfoEx` take length in number of characters, but `size` and `ret` counts number of bytes.
Previous commit changed a call to `GetLocaleInfoW` which counts lenght in `TCHAR`s (aka bytes), to the current `GetLocaleInfoEx`, which is probably the source of this confusion.
--
v4: msvcrt: Fix out-of-bound access in create_locinfo.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3358
Shader visibility is currently ignored, but we don't want to create Vulkan descriptor sets for CPU heaps.
--
v3: vkd3d: Do not create Vulkan descriptor sets for non-shader-visible heaps.
vkd3d: Return a null handle from GetGPUDescriptorHandleForHeapStart() for non-shader-visible heaps.
tests: Test GetGPUDescriptorHandleForHeapStart() on a non-shader-visible heap.
vkd3d: Enable Vulkan-backed heaps for each heap instead of per device.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/272
Recap:
I implemented relative addressing in !229, but I was suggested to handle register indexes by moving all the registers to the heap, which I did in https://gitlab.winehq.org/fcasas/vkd3d/-/commits/nonconst-offsets-6. A part of this implementation required !269, but I was asked to try to turn the sm4 register structs into the vkd3d-shader register structs instead, to get closer to a common low level IR.
This is the first part of that transformation. The whole thing is in https://gitlab.winehq.org/fcasas/vkd3d/-/commits/use_vkd3d_reg.
This is built on top of !225 (the first two patches), so it may be good to get that upstream first.
---
This patch series aims to do the following replacements:
```
struct sm4_register -> struct vkd3d_shader_register
struct sm4_dst_register -> struct vkd3d_shader_dst_param
struct sm4_src_register -> struct vkd3d_shader_src_param
```
to get us closer to a common level IR and simplify the implementation of relative-addressing.
To achieve this, the fields in the sm4 register structs are replaced with fields in the vkd3d-shader structs or removed altogether, one at the time.
As can be seen when looking at the whole branch, it is possible to do this transformation without having to add additional fields to `struct vkd3d_shader_register`, by restricting each register type to a single `enum vkd3d_sm4_dimension` (and its src registers to a single `enum vkd3d_sm4_swizzle_type`) by default.
The only exception we need so far is for registers sampler registers: They always have dimension NONE, except when used as arguments of gather instructions, in which case they have dimension VEC4 and SCALAR swizzle. This, and similar exceptions we may find in the future, can be handled using the opcode_info, as in 7/8 (81e17506ba2cb1fbf4d021159ab1692af0940d06).
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/281