Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
> [DX_LEGACY_F32TOF16 ] = {"i", "f", sm6_parser_emit_dx_unary},
> [DX_LOAD_INPUT ] = {"o", "ii8i", sm6_parser_emit_dx_load_input},
> [DX_LOG ] = {"g", "R", sm6_parser_emit_dx_unary},
> + [DX_RAW_BUFFER_LOAD ] = {"o", "Hii8i", sm6_parser_emit_dx_raw_buffer_load},
I just realized that the last parameter is never read. Is that intended? What is supposed to be there? Maybe you could add a comment in the code to explain this? Apparently something similar happens for `DX_LOAD_INPUT` too and maybe other DX opcodes.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/583#note_61454
The state table, as may have been described elsewhere, is not very friendly to
modern CPUs (due to its indirect calls). Additionally, interdependencies between
states are often more obscure (or at least harder to account for) than they
might be with a linear function.
Hence, we'd like to transform the table into a linear function, with "dirty"
state guarding explicitly spelled out. For the FFP tables, the approach I've
taken to achieve this is to gradually move states out of the table and into the
existing vp_enable() and fp_enable() functions, eventually making those
functions the aforementioned single linear functions.
--
v3: wined3d/arb: Move fragment program compilation from fragment_prog_arbfp() to arbfp_apply_draw_state().
wined3d: Pass a non-const wined3d_context pointer to the FFP *_apply_draw_state() methods.
wined3d: Pass a wined3d_state pointer to the vp_enable() and fp_enable() methods.
wined3d: Introduce a separate fp_disable() method.
wined3d: Introduce a separate vp_disable() method.
wined3d: Merge shader_load_constants() into shader_select().
https://gitlab.winehq.org/wine/wine/-/merge_requests/5053
--
v4: server: Enumerate desktop processes for rawinput messages.
server: Keep a list of threads connected to each desktop.
server: Send hardware input to the visible input desktop.
server: Keep track of the winstation input desktop.
win32u: Introduce new NtUserSwitchDesktop syscall stub.
user32/tests: Run in-desktop tests from a new thread.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5066
--
v3: vkd3d-shader/dxil: Implement DX intrinsic GetDimensions.
vkd3d-shader/dxil: Move the resource kind helper functions up.
vkd3d-shader/spirv: Introduce a sample info flag value for a scalar uint dst parameter.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/629
--
v2: vkd3d-shader/dxil: Implement DX intrinsic GetDimensions.
vkd3d-shader/dxil: Move the resource kind helper functions up.
vkd3d-shader/spirv: Introduce a sample info flag value for a scalar uint dst parameter.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/629
On the client side, frame aperture may be included or omitted. This can be used to include or drop the frame padding, and the VideoProcessor MFT supports it.
On GStreamer side, we can only use the unpadded frame size in the caps, because this is how decoders work, and padding needs to be added as a property of the input/output video buffers. Then, frame size needs to be adjusted to be consistent between input and output, and any difference considered as extra padding to be added on one side or the other.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5055
--
v11: vkd3d-shader/dxil: Implement DX intrinsic AnnotateHandle.
vkd3d-shader/dxil: Implement DX intrinsic CreateHandleFromBinding.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/648
--
v10: vkd3d-shader/dxil: Also set the result type for cast to minimum-precision.
vkd3d-shader/dxil: Emit a minimum 4-byte stride for minimum-precision TGSMs.
vkd3d-shader/dxil: Handle resource descriptor additional tag/value pairs.
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/648