[Git][wine/vkd3d][master] 6 commits: vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for whole struct structured stores.

"Henri Verbeet (@hverbeet) via Wine-commits" <[email protected]> Tue, 03 Feb 2026 10:41:06 -0600
Newsgroups gmane.comp.emulators.wine.cvs
Message-ID <[email protected]>
----==_mimepart_6982252244c91_37bc84f9b2812103c1
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Henri Verbeet pushed to branch master at wine / vkd3d


Commits:
e135e104 by Victor Chiletto at 2026-02-03T17:21:46+01:00
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for whole struct structured stores.

E.g:

    struct apple { float x; float y; };

    RWStructuredBuffer<apple> buf;
    [numthreads(1, 1, 1)]
    void main()
    {
        struct apple a = {1.0, 2.0};
        buf[1] = a;
    }

This hit a "Resource store expressions must write to all components."
hlsl_error, but only on 64 bit. On 32 bit, this error didn't trigger for
some reason, and we aborted much later during codegen.

- - - - -
1d3ee126 by Victor Chiletto at 2026-02-03T17:21:49+01:00
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for r-value matrix structured stores.

Otherwise some upcoming tests cause aborts rather than gracefully failing.

- - - - -
e7fae67f by Victor Chiletto at 2026-02-03T17:21:50+01:00
tests/hlsl: Add new UAV structured store tests.

- - - - -
ef6abddc by Victor Chiletto at 2026-02-03T17:21:50+01:00
vkd3d-shader/hlsl: Return the found index node on hlsl_index_chain_has_resource_access().

This also renames the function to something more appropriate.

- - - - -
fa0a3c24 by Victor Chiletto at 2026-02-03T17:21:50+01:00
vkd3d-shader/hlsl: Parse structured buffer subfield stores.

- - - - -
9089cac6 by Victor Chiletto at 2026-02-03T17:21:50+01:00
vkd3d-shader/hlsl: Emit vsir structured stores.

- - - - -


6 changed files:

- libs/vkd3d-shader/hlsl.c
- libs/vkd3d-shader/hlsl.h
- libs/vkd3d-shader/hlsl.y
- libs/vkd3d-shader/hlsl_codegen.c
- libs/vkd3d-shader/tpf.c
- tests/hlsl/uav-rwstructuredbuffer.shader_test


View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41

-- 
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41
You're receiving this email because of your account on gitlab.winehq.org.



----==_mimepart_6982252244c91_37bc84f9b2812103c1
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www=
.w3.org/TR/REC-html40/loose.dtd">
<html lang=3D"en" style=3D'--code-editor-font: var(--default-mono-font, "=
GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, =
Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospac=
e;'>
<head>
<meta content=3D"text/html; charset=3Dutf-8" http-equiv=3D"Content-Type">=

<title>
GitLab
</title>

<style data-premailer=3D"ignore" type=3D"text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Ro=
boto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Colo=
r Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size=
: inherit;
}
</style>
</head>
<body style=3D'font-size: inherit; -webkit-text-shadow: rgba(255,255,255,=
.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont=
,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-ser=
if,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emo=
ji";'>
<div class=3D"content">

<h3 style=3D"margin-top: 20px; margin-bottom: 10px;">
Henri Verbeet pushed to branch master at <a href=3D"https://gitlab.winehq=
.org/wine/vkd3d">wine / vkd3d</a>
</h3>
<h4 style=3D"margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style=3D"font-weight: 600;"><a href=3D"https://gitlab.winehq.org/=
wine/vkd3d/-/commit/e135e104362ebc0387651b7941d9a779c9c2d017">e135e104</a=
></strong>
<div>
<span> by Victor Chiletto </span> <i> at 2026-02-03T17:21:46+01:00 </i>
</div>
<pre class=3D"commit-message" style=3D'white-space: pre-wrap; display: bl=
ock; font-size: 14px; color: #3a383f; position: relative; font-family: "G=
itLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation M=
ono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida co=
nsole", monospace; font-variant-ligatures: none; word-break: break-all; w=
ord-wrap: break-word; background-color: #fbfafd; border-radius: 2px; marg=
in: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>vkd3d-shader/hlsl: =
Add an explicit hlsl_fixme() for whole struct structured stores.

E.g:

    struct apple { float x; float y; };

    RWStructuredBuffer&lt;apple&gt; buf;
    [numthreads(1, 1, 1)]
    void main()
    {
        struct apple a =3D {1.0, 2.0};
        buf[1] =3D a;
    }

This hit a "Resource store expressions must write to all components."
hlsl_error, but only on 64 bit. On 32 bit, this error didn't trigger for
some reason, and we aborted much later during codegen.
</pre>
</li>
<li>
<strong style=3D"font-weight: 600;"><a href=3D"https://gitlab.winehq.org/=
wine/vkd3d/-/commit/1d3ee126df1c98e085899ff585148b69b9320cf0">1d3ee126</a=
></strong>
<div>
<span> by Victor Chiletto </span> <i> at 2026-02-03T17:21:49+01:00 </i>
</div>
<pre class=3D"commit-message" style=3D'white-space: pre-wrap; display: bl=
ock; font-size: 14px; color: #3a383f; position: relative; font-family: "G=
itLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation M=
ono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida co=
nsole", monospace; font-variant-ligatures: none; word-break: break-all; w=
ord-wrap: break-word; background-color: #fbfafd; border-radius: 2px; marg=
in: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>vkd3d-shader/hlsl: =
Add an explicit hlsl_fixme() for r-value matrix structured stores.

Otherwise some upcoming tests cause aborts rather than gracefully failing=
.
</pre>
</li>
<li>
<strong style=3D"font-weight: 600;"><a href=3D"https://gitlab.winehq.org/=
wine/vkd3d/-/commit/e7fae67fd3dcb9fa7c9a38799f64a2cdb7e70c9a">e7fae67f</a=
></strong>
<div>
<span> by Victor Chiletto </span> <i> at 2026-02-03T17:21:50+01:00 </i>
</div>
<pre class=3D"commit-message" style=3D'white-space: pre-wrap; display: bl=
ock; font-size: 14px; color: #3a383f; position: relative; font-family: "G=
itLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation M=
ono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida co=
nsole", monospace; font-variant-ligatures: none; word-break: break-all; w=
ord-wrap: break-word; background-color: #fbfafd; border-radius: 2px; marg=
in: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>tests/hlsl: Add new=
 UAV structured store tests.
</pre>
</li>
<li>
<strong style=3D"font-weight: 600;"><a href=3D"https://gitlab.winehq.org/=
wine/vkd3d/-/commit/ef6abddcb33986f2a1492e0c3853562aef0fdf88">ef6abddc</a=
></strong>
<div>
<span> by Victor Chiletto </span> <i> at 2026-02-03T17:21:50+01:00 </i>
</div>
<pre class=3D"commit-message" style=3D'white-space: pre-wrap; display: bl=
ock; font-size: 14px; color: #3a383f; position: relative; font-family: "G=
itLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation M=
ono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida co=
nsole", monospace; font-variant-ligatures: none; word-break: break-all; w=
ord-wrap: break-word; background-color: #fbfafd; border-radius: 2px; marg=
in: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>vkd3d-shader/hlsl: =
Return the found index node on hlsl_index_chain_has_resource_access().

This also renames the function to something more appropriate.
</pre>
</li>
<li>
<strong style=3D"font-weight: 600;"><a href=3D"https://gitlab.winehq.org/=
wine/vkd3d/-/commit/fa0a3c242b08a737538bb72cda6f50760d21f2ea">fa0a3c24</a=
></strong>
<div>
<span> by Victor Chiletto </span> <i> at 2026-02-03T17:21:50+01:00 </i>
</div>
<pre class=3D"commit-message" style=3D'white-space: pre-wrap; display: bl=
ock; font-size: 14px; color: #3a383f; position: relative; font-family: "G=
itLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation M=
ono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida co=
nsole", monospace; font-variant-ligatures: none; word-break: break-all; w=
ord-wrap: break-word; background-color: #fbfafd; border-radius: 2px; marg=
in: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>vkd3d-shader/hlsl: =
Parse structured buffer subfield stores.
</pre>
</li>
<li>
<strong style=3D"font-weight: 600;"><a href=3D"https://gitlab.winehq.org/=
wine/vkd3d/-/commit/9089cac6f3fae9667bf7dba9e4362df9bf527e41">9089cac6</a=
></strong>
<div>
<span> by Victor Chiletto </span> <i> at 2026-02-03T17:21:50+01:00 </i>
</div>
<pre class=3D"commit-message" style=3D'white-space: pre-wrap; display: bl=
ock; font-size: 14px; color: #3a383f; position: relative; font-family: "G=
itLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation M=
ono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida co=
nsole", monospace; font-variant-ligatures: none; word-break: break-all; w=
ord-wrap: break-word; background-color: #fbfafd; border-radius: 2px; marg=
in: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>vkd3d-shader/hlsl: =
Emit vsir structured stores.
</pre>
</li>
</ul>
<h4 style=3D"margin-top: 10px; margin-bottom: 10px;">
6 changed files:
</h4>
<ul>
<li class=3D"file-stats">
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41#c6c9=
a40d72060550079c91bb6dd5741748169928">
libs/vkd3d-shader/hlsl.c
</a>
</li>
<li class=3D"file-stats">
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41#b4b2=
f0df64f7fbb515484cb602382012595ddfb6">
libs/vkd3d-shader/hlsl.h
</a>
</li>
<li class=3D"file-stats">
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41#9155=
b9453b4ec8ea0b9b025dfb55c061bd931610">
libs/vkd3d-shader/hlsl.y
</a>
</li>
<li class=3D"file-stats">
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41#3cf8=
04f245af47d51595ff932bf817c50967eea2">
libs/vkd3d-shader/hlsl_codegen.c
</a>
</li>
<li class=3D"file-stats">
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41#b9a6=
96b7e2f161c9052ff1159d7d8cb2907cdeae">
libs/vkd3d-shader/tpf.c
</a>
</li>
<li class=3D"file-stats">
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41#d9a9=
d1dde21f9625ffc9803652e725e6601916e5">
tests/hlsl/uav-rwstructuredbuffer.shader_test
</a>
</li>
</ul>

</div>
<div class=3D"footer" style=3D"margin-top: 10px;">
<p style=3D"font-size: small; color: #626168;">
=E2=80=94
<br>
<a href=3D"https://gitlab.winehq.org/wine/vkd3d/-/compare/f993eae4345a1a9=
fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e4362df9bf527e41">Vie=
w it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.winehq.org">gitlab.=
winehq.org</a>. <a href=3D"https://gitlab.winehq.org/-/profile/notificati=
ons" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"mng-notif-lin=
k">Manage all notifications</a> =C2=B7 <a href=3D"https://gitlab.winehq.o=
rg/help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link=
">Help</a>
<span style=3D"color: transparent; font-size: 0; display: none; overflow:=
 hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0;">
Notification message regarding https://gitlab.winehq.org/wine/vkd3d/-/com=
pare/f993eae4345a1a9fb7a32aafe01284b97bc50b8e...9089cac6f3fae9667bf7dba9e=
4362df9bf527e41 at 1770136866
</span>



</p>
</div>
</body>
</html>

----==_mimepart_6982252244c91_37bc84f9b2812103c1--