Skip to content

Commit

Permalink
10.0-rc2-2 patchset
Browse files Browse the repository at this point in the history
rebase, remove upstreamed stuff, streamline lib32-ffmpeg things, random small changes
  • Loading branch information
whrvt committed Dec 14, 2024
1 parent 033785f commit 3bec479
Show file tree
Hide file tree
Showing 59 changed files with 2,169 additions and 897 deletions.
4 changes: 1 addition & 3 deletions .github/workflows/build-aur.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,6 @@ jobs:
echo "replace#global#_generic_release=false#_generic_release=true" > ~/.customizepkg/${AUR_PACKAGE}-wow64
echo "replace#global#^_patchbase_tag=.*#_patchbase_tag=${CURRENT_TAG}" >> ~/.customizepkg/${AUR_PACKAGE}-wow64
echo "replace#global#sha512sums+=.*#sha512sums+=('SKIP')" >> ~/.customizepkg/${AUR_PACKAGE}-wow64
echo "remove#depends#.*lib32-x265.*" > ~/.customizepkg/lib32-ffmpeg
echo "replace#build#enable-cuda#disable-cuda" >> ~/.customizepkg/lib32-ffmpeg
echo "replace#build#enable-libx265#disable-libx265" >> ~/.customizepkg/lib32-ffmpeg
EOF
echo -e "\n[bin]\nPreBuildCommand = customizepkg --modify" >> /etc/paru.conf
Expand All @@ -141,6 +138,7 @@ jobs:
run: |
sudo -u builder bash << EOF
cd ~
sleep 240
paru -S --nocheck --noconfirm --mflags "--skipinteg" ${AUR_PACKAGE} --assume-installed=ntsync-dkms
paru -S --nocheck --noconfirm --mflags "--skipinteg" ${AUR_PACKAGE}-wow64 --assume-installed=ntsync-dkms
EOF
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
From 2b4faa78340a546e709e881a2b291997a2b0df83 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <[email protected]>
Date: Thu, 15 Aug 2024 10:33:02 +1000
Subject: [PATCH] shell32: Allow FindExecutables to find unix files.

---
dlls/shell32/shlexec.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/dlls/shell32/shlexec.c b/dlls/shell32/shlexec.c
index 828c7168a34..607aca3a450 100644
--- a/dlls/shell32/shlexec.c
+++ b/dlls/shell32/shlexec.c
@@ -677,7 +677,15 @@ static UINT SHELL_FindExecutable(LPCWSTR lpPath, LPCWSTR lpFile, LPCWSTR lpVerb,
/* The file was found in lpPath or one of the directories in the system-wide search path */
}
else
- xlpFile[0] = '\0';
+ {
+ /* Checking for an unix application */
+ if( (xlpFile[0] == '/') || PathFindOnPathW(xlpFile, search_paths))
+ {
+ lstrcpyW(lpResult, xlpFile);
+ }
+ else
+ xlpFile[0] = '\0';
+ }
}

attribs = GetFileAttributesW(lpFile);
@@ -1939,6 +1947,8 @@ static BOOL SHELL_execute( LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfunc )

end:
TRACE("retval %Iu\n", retval);
+ if (retval == SE_ERR_NOASSOC)
+ SetLastError(ERROR_FILE_NOT_FOUND);

free(wszApplicationName);
if (wszParameters != parametersBuffer)
--
GitLab

Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
From 759db416c81301833740a8f43ec3ffb738f1ce4c Mon Sep 17 00:00:00 2001
From: Elizabeth Figura <[email protected]>
Date: Sun, 9 Jun 2024 12:50:30 -0500
Subject: [PATCH] wined3d: Feed WINED3D_RS_POINTSIZE through a push constant
buffer.

Not yet used by the GLSL backend, but will be needed by the HLSL backend.
---
dlls/wined3d/stateblock.c | 3 +++
dlls/wined3d/wined3d_private.h | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c
index 80c1a6ea5b7..c064d950ba5 100644
--- a/dlls/wined3d/stateblock.c
+++ b/dlls/wined3d/stateblock.c
@@ -1616,6 +1616,7 @@ void CDECL wined3d_stateblock_set_render_state(struct wined3d_stateblock *stateb
stateblock->changed.alpha_to_coverage = 1;
stateblock->stateblock_state.alpha_to_coverage = (value == WINED3D_ALPHA_TO_COVERAGE_ENABLE);
}
+ stateblock->changed.point_scale = 1;
break;

case WINED3D_RS_TEXTUREFACTOR:
@@ -3810,6 +3811,8 @@ void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device,
{
struct wined3d_ffp_point_constants constants;

+ constants.size = int_to_float(state->rs[WINED3D_RS_POINTSIZE]);
+
if (state->rs[WINED3D_RS_POINTSCALEENABLE])
{
float scale_factor = state->viewport.height * state->viewport.height;
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 39a4aa5da9c..3e797b47795 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2784,7 +2784,7 @@ struct wined3d_ffp_vs_constants
struct wined3d_ffp_point_constants
{
float scale_const, scale_linear, scale_quad;
- float padding; /* For the HLSL backend. */
+ float size;
} point;
struct wined3d_material material;
float padding[3]; /* For the HLSL backend. */
--
GitLab

Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From b197989561e8f086b0e028d255d168d48e5d2ddf Mon Sep 17 00:00:00 2001
From: Elizabeth Figura <[email protected]>
Date: Sun, 9 Jun 2024 12:50:30 -0500
Subject: [PATCH] wined3d: Implement point size in the HLSL FFP pipeline.

---
dlls/wined3d/ffp_hlsl.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/ffp_hlsl.c b/dlls/wined3d/ffp_hlsl.c
index b662f1756c8..51a621aad6d 100644
--- a/dlls/wined3d/ffp_hlsl.c
+++ b/dlls/wined3d/ffp_hlsl.c
@@ -201,9 +201,6 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
{
struct wined3d_string_buffer texcoord;

- if (settings->point_size)
- FIXME("Ignoring point size.\n");
-
if (settings->vertexblends)
FIXME("Ignoring vertex blend.\n");

@@ -256,6 +253,7 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
}
if (settings->fog_mode == WINED3D_FFP_VS_FOG_DEPTH || settings->fog_mode == WINED3D_FFP_VS_FOG_RANGE)
shader_addline(buffer, " float fogcoord : FOG;\n");
+ shader_addline(buffer, " float point_size : PSIZE;\n");
shader_addline(buffer, "};\n\n");

shader_addline(buffer, "float3 ffp_normalize(float3 n)\n{\n");
@@ -350,6 +348,11 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
break;
}

+ shader_addline(buffer, " o.point_size = %s / sqrt(c.point_params.x"
+ " + c.point_params.y * length(ec_pos.xyz)"
+ " + c.point_params.z * dot(ec_pos.xyz, ec_pos.xyz));\n",
+ settings->per_vertex_point_size ? "i.point_size" : "c.point_params.w");
+
shader_addline(buffer, "}\n");

return true;
--
GitLab

Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
From 7e52ea5b11b14c66aecb1aee99aedb963328fd81 Mon Sep 17 00:00:00 2001
From: Elizabeth Figura <[email protected]>
Date: Sun, 9 Jun 2024 12:50:30 -0500
Subject: [PATCH] wined3d: Implement vertex blending in the HLSL FFP pipeline.

---
dlls/wined3d/ffp_hlsl.c | 32 ++++++++++++++++++++++++--------
1 file changed, 24 insertions(+), 8 deletions(-)

diff --git a/dlls/wined3d/ffp_hlsl.c b/dlls/wined3d/ffp_hlsl.c
index 51a621aad6d..d846a6bda26 100644
--- a/dlls/wined3d/ffp_hlsl.c
+++ b/dlls/wined3d/ffp_hlsl.c
@@ -201,9 +201,6 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
{
struct wined3d_string_buffer texcoord;

- if (settings->vertexblends)
- FIXME("Ignoring vertex blend.\n");
-
/* This must be kept in sync with struct wined3d_ffp_vs_constants. */
shader_addline(buffer, "uniform struct\n");
shader_addline(buffer, "{\n");
@@ -264,6 +261,8 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
shader_addline(buffer, "void main(in struct input i, out struct output o)\n");
shader_addline(buffer, "{\n");

+ shader_addline(buffer, " i.blend_weight[%u] = 1.0;\n", settings->vertexblends);
+
if (settings->transformed)
{
shader_addline(buffer, " float4 ec_pos = float4(i.pos.xyz, 1.0);\n");
@@ -277,9 +276,12 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
}
else
{
- shader_addline(buffer, " float4 ec_pos = 0.0;\n\n");
+ for (unsigned int i = 0; i < settings->vertexblends; ++i)
+ shader_addline(buffer, " i.blend_weight[%u] -= i.blend_weight[%u];\n", settings->vertexblends, i);

- shader_addline(buffer, " ec_pos += mul(c.modelview_matrices[0], float4(i.pos.xyz, 1.0));\n\n");
+ shader_addline(buffer, " float4 ec_pos = 0.0;\n\n");
+ for (unsigned int i = 0; i < settings->vertexblends + 1; ++i)
+ shader_addline(buffer, " ec_pos += i.blend_weight[%u] * mul(c.modelview_matrices[%u], float4(i.pos.xyz, 1.0));\n", i, i);

shader_addline(buffer, " o.pos = mul(c.projection_matrix, ec_pos);\n");
shader_addline(buffer, " ec_pos /= ec_pos.w;\n\n");
@@ -288,10 +290,24 @@ static bool ffp_hlsl_generate_vertex_shader(const struct wined3d_ffp_vs_settings
shader_addline(buffer, " float3 normal = 0.0;\n");
if (settings->normal)
{
- if (settings->transformed)
- shader_addline(buffer, " normal = i.normal;\n");
+ if (!settings->vertexblends)
+ {
+ if (settings->transformed)
+ shader_addline(buffer, " normal = i.normal;\n");
+ else
+ shader_addline(buffer, " normal = mul((float3x3)c.modelview_matrices[1], i.normal);\n");
+ }
else
- shader_addline(buffer, " normal = mul((float3x3)c.modelview_matrices[1], i.normal);\n");
+ {
+ for (unsigned int i = 0; i < settings->vertexblends + 1; ++i)
+ {
+ if (settings->transformed)
+ shader_addline(buffer, " normal += i.blend_weight[%u] * i.normal;\n", i);
+ else
+ shader_addline(buffer, " normal += i.blend_weight[%u]"
+ " * mul((float3x3)c.modelview_matrices[%u], i.normal);\n", i, i);
+ }
+ }

if (settings->normalize)
shader_addline(buffer, " normal = ffp_normalize(normal);\n");
--
GitLab

Loading

0 comments on commit 3bec479

Please sign in to comment.