On Mon Mar 11 06:06:25 2024 +0000, Giovanni Mascellani wrote:
> Test `test_hull_shader_punned_array()` currently emits this validation error:
> ```
> VUID-RuntimeSpirv-OpEntryPoint-08743(ERROR / SPEC): msgNum: -1986897773
> - Validation Error: [ VUID-RuntimeSpirv-OpEntryPoint-08743 ] Object 0:
> handle = 0x270000000027, type = VK_OBJECT_TYPE_SHADER_MODULE; Object 1:
> handle = 0x280000000028, type = VK_OBJECT_TYPE_SHADER_MODULE; |
> MessageID = 0x89925893 | vkCreateGraphicsPipelines(): pCreateInfos[0]
> (SPIR-V Interface) VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT declared
> input at Location 2 Component 3 but it is not an Output declared in
> VK_SHADER_STAGE_VERTEX_BIT. The Vulkan spec states: Any user-defined
> variables shared between the OpEntryPoint of two shader stages, and
> declared with Input as its Storage Class for the subsequent shader
> stage, must have all Location slots and Component words declared in the
> preceding shader stage's OpEntryPoint with Output as the Storage Class (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.ht…)
> ```
> It might or might not be related to this MR, I haven't debugged yet.
I see no validation failure on my machine, but I do see the issue. The VS declares `o2.xyz` and the HS accesses it as part of a punned array of four rows of `.xyzw`. There's no way to tell the requirement in the VS, and we can't handle the array access in the HS without declaring row 2 as `.xyzw`.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/537#note_64172
On Sat Mar 9 20:24:57 2024 +0000, David Kahurani wrote:
> If we're sailing on the same boat then said gdi32 clipping optimization
> was not primarily an optimization.
> This was primarily a bug fix and will remain as one such unless it is
> proven to be reasonably broken.
I'm starting to favor GDI+ having its own rasterization again, but either way the bounding box calculation will be useful.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4206#note_64139
Mainly required to test for any regression in wineserver robustness (wineserver won't crash on any user action).
Currently disabled on wine, since deleting `\KernelObjects\__wine_user_shared_data` will lead to instability (but not wineserver crash).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5268