mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against c21c8525f9e69cfd48906ecc33b909490bd82783.
This commit is contained in:
parent
cc1da8fb76
commit
9739f8ff47
@ -1,4 +1,4 @@
|
||||
From 247c41da056d4a7da8506229e1cf7364297dd693 Mon Sep 17 00:00:00 2001
|
||||
From 65dda249fcbd5c1685fc89ede60e946b910508e3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 17 Jan 2016 17:12:45 +0100
|
||||
Subject: [PATCH] ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub
|
||||
@ -15,17 +15,17 @@ Subject: [PATCH] ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub
|
||||
create mode 100644 dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4d7111a..6857372 100644
|
||||
index 53ddeea..4061187 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3229,6 +3229,7 @@ WINE_CONFIG_MAKEFILE(dlls/evr)
|
||||
@@ -3238,6 +3238,7 @@ WINE_CONFIG_MAKEFILE(dlls/evr)
|
||||
WINE_CONFIG_MAKEFILE(dlls/evr/tests)
|
||||
WINE_CONFIG_MAKEFILE(dlls/explorerframe)
|
||||
WINE_CONFIG_MAKEFILE(dlls/explorerframe/tests)
|
||||
+WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-appmodel-usercontext-l1-1-0)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-authz-context-l1-1-0)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-domainjoin-netjoin-l1-1-0)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-dc-create-l1-1-1)
|
||||
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-dwmapi-ext-l1-1-0)
|
||||
diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..16eee75
|
||||
@ -87,5 +87,5 @@ index 0000000..7a9e75f
|
||||
+ return S_OK;
|
||||
+}
|
||||
--
|
||||
1.9.1
|
||||
2.7.4
|
||||
|
||||
|
@ -2,4 +2,4 @@ Fixes: Implement BCrypt AES provider
|
||||
# 40418 was originally here, but was apparently satisfied with less.
|
||||
Fixes: [42553] Implement BCrypt ECB chaining mode
|
||||
Fixes: [39582] Implement BCrypt RSA provider
|
||||
Fixes: [44053] Implement BCryptImportKey and BCryptExportKey
|
||||
Fixes: [43605] Implement elliptic curve (ECDSA) cryptography
|
@ -1,315 +0,0 @@
|
||||
From 56f22f460659c3b01e50bdb5b10a61c560bce724 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Wed, 31 Dec 2014 18:45:24 +0100
|
||||
Subject: d3dx9_36: Add stub for D3DXComputeNormalMap.
|
||||
|
||||
---
|
||||
dlls/d3dx9_24/d3dx9_24.spec | 2 +-
|
||||
dlls/d3dx9_25/d3dx9_25.spec | 2 +-
|
||||
dlls/d3dx9_26/d3dx9_26.spec | 2 +-
|
||||
dlls/d3dx9_27/d3dx9_27.spec | 2 +-
|
||||
dlls/d3dx9_28/d3dx9_28.spec | 2 +-
|
||||
dlls/d3dx9_29/d3dx9_29.spec | 2 +-
|
||||
dlls/d3dx9_30/d3dx9_30.spec | 2 +-
|
||||
dlls/d3dx9_31/d3dx9_31.spec | 2 +-
|
||||
dlls/d3dx9_32/d3dx9_32.spec | 2 +-
|
||||
dlls/d3dx9_33/d3dx9_33.spec | 2 +-
|
||||
dlls/d3dx9_34/d3dx9_34.spec | 2 +-
|
||||
dlls/d3dx9_35/d3dx9_35.spec | 2 +-
|
||||
dlls/d3dx9_36/d3dx9_36.spec | 2 +-
|
||||
dlls/d3dx9_36/mesh.c | 12 ++++++++++++
|
||||
dlls/d3dx9_37/d3dx9_37.spec | 2 +-
|
||||
dlls/d3dx9_38/d3dx9_38.spec | 2 +-
|
||||
dlls/d3dx9_39/d3dx9_39.spec | 2 +-
|
||||
dlls/d3dx9_40/d3dx9_40.spec | 2 +-
|
||||
dlls/d3dx9_41/d3dx9_41.spec | 2 +-
|
||||
dlls/d3dx9_42/d3dx9_42.spec | 2 +-
|
||||
dlls/d3dx9_43/d3dx9_43.spec | 2 +-
|
||||
21 files changed, 32 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
|
||||
index f182d7e..f07ef54 100644
|
||||
--- a/dlls/d3dx9_24/d3dx9_24.spec
|
||||
+++ b/dlls/d3dx9_24/d3dx9_24.spec
|
||||
@@ -18,7 +18,7 @@
|
||||
@ stdcall D3DXCompileShaderFromResourceW(ptr wstr ptr ptr str str long ptr ptr ptr)
|
||||
@ stdcall D3DXComputeBoundingBox(ptr long long ptr ptr)
|
||||
@ stdcall D3DXComputeBoundingSphere(ptr long long ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
|
||||
index 300dc1d..691f921 100644
|
||||
--- a/dlls/d3dx9_25/d3dx9_25.spec
|
||||
+++ b/dlls/d3dx9_25/d3dx9_25.spec
|
||||
@@ -18,7 +18,7 @@
|
||||
@ stdcall D3DXCompileShaderFromResourceW(ptr wstr ptr ptr str str long ptr ptr ptr)
|
||||
@ stdcall D3DXComputeBoundingBox(ptr long long ptr ptr)
|
||||
@ stdcall D3DXComputeBoundingSphere(ptr long long ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
|
||||
index 79e0a0c..151e6f8 100644
|
||||
--- a/dlls/d3dx9_26/d3dx9_26.spec
|
||||
+++ b/dlls/d3dx9_26/d3dx9_26.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
|
||||
index 79e0a0c..151e6f8 100644
|
||||
--- a/dlls/d3dx9_27/d3dx9_27.spec
|
||||
+++ b/dlls/d3dx9_27/d3dx9_27.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
|
||||
index abbfa94..10f7620 100644
|
||||
--- a/dlls/d3dx9_28/d3dx9_28.spec
|
||||
+++ b/dlls/d3dx9_28/d3dx9_28.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
|
||||
index abbfa94..10f7620 100644
|
||||
--- a/dlls/d3dx9_29/d3dx9_29.spec
|
||||
+++ b/dlls/d3dx9_29/d3dx9_29.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
|
||||
index 0269caa..65aaeb5 100644
|
||||
--- a/dlls/d3dx9_30/d3dx9_30.spec
|
||||
+++ b/dlls/d3dx9_30/d3dx9_30.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
|
||||
index be37e8f..30d84a8 100644
|
||||
--- a/dlls/d3dx9_31/d3dx9_31.spec
|
||||
+++ b/dlls/d3dx9_31/d3dx9_31.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
|
||||
index 6d9e244..1ff0f41 100644
|
||||
--- a/dlls/d3dx9_32/d3dx9_32.spec
|
||||
+++ b/dlls/d3dx9_32/d3dx9_32.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
|
||||
index 6d9e244..1ff0f41 100644
|
||||
--- a/dlls/d3dx9_33/d3dx9_33.spec
|
||||
+++ b/dlls/d3dx9_33/d3dx9_33.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
|
||||
index 6d9e244..1ff0f41 100644
|
||||
--- a/dlls/d3dx9_34/d3dx9_34.spec
|
||||
+++ b/dlls/d3dx9_34/d3dx9_34.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
|
||||
index 6d9e244..1ff0f41 100644
|
||||
--- a/dlls/d3dx9_35/d3dx9_35.spec
|
||||
+++ b/dlls/d3dx9_35/d3dx9_35.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
|
||||
index 2db0152..20571b1 100644
|
||||
--- a/dlls/d3dx9_36/d3dx9_36.spec
|
||||
+++ b/dlls/d3dx9_36/d3dx9_36.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_36/mesh.c b/dlls/d3dx9_36/mesh.c
|
||||
index 3204ea7..b0b9846 100644
|
||||
--- a/dlls/d3dx9_36/mesh.c
|
||||
+++ b/dlls/d3dx9_36/mesh.c
|
||||
@@ -7528,6 +7528,18 @@ HRESULT WINAPI D3DXComputeNormals(struct ID3DXBaseMesh *mesh, const DWORD *adjac
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
+ * D3DXComputeNormalMap (D3DX9_36.@)
|
||||
+ */
|
||||
+HRESULT WINAPI D3DXComputeNormalMap(IDirect3DTexture9 *texture, IDirect3DTexture9 *src_texture,
|
||||
+ const PALETTEENTRY *src_palette, DWORD flags, DWORD channel, FLOAT amplitude)
|
||||
+{
|
||||
+ FIXME("texture %p, src_texture %p, src_palette %p, flags %#x, channel %u, amplitude %f stub.\n",
|
||||
+ texture, src_texture, src_palette, flags, channel, amplitude);
|
||||
+
|
||||
+ return D3D_OK;
|
||||
+}
|
||||
+
|
||||
+/*************************************************************************
|
||||
* D3DXIntersect (D3DX9_36.@)
|
||||
*/
|
||||
HRESULT WINAPI D3DXIntersect(ID3DXBaseMesh *mesh, const D3DXVECTOR3 *ray_pos, const D3DXVECTOR3 *ray_dir,
|
||||
diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec
|
||||
index 2db0152..20571b1 100644
|
||||
--- a/dlls/d3dx9_37/d3dx9_37.spec
|
||||
+++ b/dlls/d3dx9_37/d3dx9_37.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec
|
||||
index 2db0152..20571b1 100644
|
||||
--- a/dlls/d3dx9_38/d3dx9_38.spec
|
||||
+++ b/dlls/d3dx9_38/d3dx9_38.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec
|
||||
index 2db0152..20571b1 100644
|
||||
--- a/dlls/d3dx9_39/d3dx9_39.spec
|
||||
+++ b/dlls/d3dx9_39/d3dx9_39.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec
|
||||
index 2db0152..20571b1 100644
|
||||
--- a/dlls/d3dx9_40/d3dx9_40.spec
|
||||
+++ b/dlls/d3dx9_40/d3dx9_40.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec
|
||||
index 2db0152..20571b1 100644
|
||||
--- a/dlls/d3dx9_41/d3dx9_41.spec
|
||||
+++ b/dlls/d3dx9_41/d3dx9_41.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec
|
||||
index 9a69e76..0e888d7 100644
|
||||
--- a/dlls/d3dx9_42/d3dx9_42.spec
|
||||
+++ b/dlls/d3dx9_42/d3dx9_42.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec
|
||||
index 9a69e76..0e888d7 100644
|
||||
--- a/dlls/d3dx9_43/d3dx9_43.spec
|
||||
+++ b/dlls/d3dx9_43/d3dx9_43.spec
|
||||
@@ -22,7 +22,7 @@
|
||||
@ stub D3DXComputeIMTFromPerVertexSignal(ptr ptr long long long ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromSignal(ptr long long long long ptr ptr ptr ptr ptr)
|
||||
@ stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
|
||||
-@ stub D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
+@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
|
||||
@ stdcall D3DXComputeNormals(ptr ptr)
|
||||
@ stub D3DXComputeTangent(ptr long long long long ptr)
|
||||
@ stub D3DXComputeTangentFrame(ptr long)
|
||||
--
|
||||
2.9.0
|
||||
|
@ -1,2 +1 @@
|
||||
Fixes: [38352] Add stub for D3DXComputeNormalMap
|
||||
Fixes: [41697] Add stub for D3DXComputeTangent
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a34d16145d16d83aa3edc0d8cbf59dfd40268738 Mon Sep 17 00:00:00 2001
|
||||
From c16727fda95fe208bfa5730d6a36e82c6d8d52a2 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dtimoshkov@codeweavers.com>
|
||||
Date: Mon, 28 Jul 2003 07:39:25 -0500
|
||||
Subject: libs: Fix most problems with CompareString.
|
||||
@ -9,10 +9,10 @@ Subject: libs: Fix most problems with CompareString.
|
||||
2 files changed, 34 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
|
||||
index 07d6f8c..97ed611 100644
|
||||
index efb4231..cdb935e 100644
|
||||
--- a/dlls/kernel32/tests/locale.c
|
||||
+++ b/dlls/kernel32/tests/locale.c
|
||||
@@ -1956,13 +1956,13 @@ static void test_CompareStringA(void)
|
||||
@@ -1959,13 +1959,13 @@ static void test_CompareStringA(void)
|
||||
todo_wine ok(ret != CSTR_EQUAL, "\\2 vs \\1 expected unequal\n");
|
||||
|
||||
ret = CompareStringA(lcid, NORM_IGNORECASE | LOCALE_USE_CP_ACP, "#", -1, ".", -1);
|
||||
@ -29,10 +29,10 @@ index 07d6f8c..97ed611 100644
|
||||
|
||||
lcid = MAKELCID(MAKELANGID(LANG_POLISH, SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
|
||||
@@ -5302,6 +5302,5 @@ START_TEST(locale)
|
||||
test_GetSystemPreferredUILanguages();
|
||||
@@ -5490,6 +5490,5 @@ START_TEST(locale)
|
||||
test_GetThreadPreferredUILanguages();
|
||||
test_GetUserPreferredUILanguages();
|
||||
test_FindNLSStringEx();
|
||||
- /* this requires collation table patch to make it MS compatible */
|
||||
- if (0) test_sorting();
|
||||
+ test_sorting();
|
||||
@ -168,5 +168,5 @@ index 465d740..f354a75 100644
|
||||
0x0a130121, 0x0a140121, 0x02370121, 0x02350121, 0x03a30121, 0x03a40121, 0x03a50121, 0x024e0121,
|
||||
0x02a10121, 0x0a150161, 0x0a290151, 0x0a3d0161, 0x0a490161, 0x0a650161, 0x0a910161, 0x0a990161,
|
||||
--
|
||||
2.9.0
|
||||
2.7.4
|
||||
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 9c89b126ffe944150dd643009b24b0140758fab3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 11 Sep 2017 03:07:45 +0200
|
||||
Subject: ntdll: Translate icebp instruction to EXCEPTION_SINGLE_STEP on x64.
|
||||
|
||||
---
|
||||
dlls/ntdll/signal_x86_64.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index f434775df00..2e1eac2d671 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -2815,6 +2815,12 @@ static void segv_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
||||
}
|
||||
}
|
||||
|
||||
+static inline DWORD is_icebp_instr( CONTEXT *context )
|
||||
+{
|
||||
+ const BYTE *instr = (BYTE *)context->Rip - 1;
|
||||
+ return (*instr == 0xf1) ? EXCEPTION_SINGLE_STEP : 0;
|
||||
+}
|
||||
+
|
||||
/**********************************************************************
|
||||
* trap_handler
|
||||
*
|
||||
@@ -2831,8 +2837,12 @@ static void trap_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
||||
rec->ExceptionCode = EXCEPTION_SINGLE_STEP;
|
||||
break;
|
||||
case TRAP_BRKPT: /* Breakpoint exception */
|
||||
+ {
|
||||
+ CONTEXT *win_context = get_exception_context( rec );
|
||||
+ if ((rec->ExceptionCode = is_icebp_instr( win_context ))) break;
|
||||
rec->ExceptionAddress = (char *)rec->ExceptionAddress - 1; /* back up over the int3 instruction */
|
||||
/* fall through */
|
||||
+ }
|
||||
default:
|
||||
rec->ExceptionCode = EXCEPTION_BREAKPOINT;
|
||||
rec->NumberParameters = 1;
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,113 +0,0 @@
|
||||
From 597a7781f843f3f23b91c17ce895150ff2c0aa81 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 4 Oct 2017 01:22:19 +0200
|
||||
Subject: ntdll: Correctly handle privileged instructions on x86_64.
|
||||
|
||||
---
|
||||
dlls/ntdll/signal_x86_64.c | 82 +++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 81 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index d35c3e6663c..996e5728e7e 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -2718,6 +2718,86 @@ static void raise_generic_exception( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
}
|
||||
|
||||
|
||||
+/***********************************************************************
|
||||
+ * is_privileged_instr
|
||||
+ *
|
||||
+ * Check if the fault location is a privileged instruction.
|
||||
+ */
|
||||
+static inline DWORD is_privileged_instr( CONTEXT *context )
|
||||
+{
|
||||
+ const BYTE *instr = (BYTE *)context->Rip;
|
||||
+ unsigned int prefix_count = 0;
|
||||
+
|
||||
+ for (;;) switch(*instr)
|
||||
+ {
|
||||
+ /* instruction prefixes */
|
||||
+ case 0x2e: /* %cs: */
|
||||
+ case 0x36: /* %ss: */
|
||||
+ case 0x3e: /* %ds: */
|
||||
+ case 0x26: /* %es: */
|
||||
+ case 0x40: /* rex */
|
||||
+ case 0x41: /* rex */
|
||||
+ case 0x42: /* rex */
|
||||
+ case 0x43: /* rex */
|
||||
+ case 0x44: /* rex */
|
||||
+ case 0x45: /* rex */
|
||||
+ case 0x46: /* rex */
|
||||
+ case 0x47: /* rex */
|
||||
+ case 0x48: /* rex */
|
||||
+ case 0x49: /* rex */
|
||||
+ case 0x4a: /* rex */
|
||||
+ case 0x4b: /* rex */
|
||||
+ case 0x4c: /* rex */
|
||||
+ case 0x4d: /* rex */
|
||||
+ case 0x4e: /* rex */
|
||||
+ case 0x4f: /* rex */
|
||||
+ case 0x64: /* %fs: */
|
||||
+ case 0x65: /* %gs: */
|
||||
+ case 0x66: /* opcode size */
|
||||
+ case 0x67: /* addr size */
|
||||
+ case 0xf0: /* lock */
|
||||
+ case 0xf2: /* repne */
|
||||
+ case 0xf3: /* repe */
|
||||
+ if (++prefix_count >= 15) return EXCEPTION_ILLEGAL_INSTRUCTION;
|
||||
+ instr++;
|
||||
+ continue;
|
||||
+
|
||||
+ case 0x0f: /* extended instruction */
|
||||
+ switch(instr[1])
|
||||
+ {
|
||||
+ case 0x06: /* clts */
|
||||
+ case 0x08: /* invd */
|
||||
+ case 0x09: /* wbinvd */
|
||||
+ case 0x20: /* mov crX, reg */
|
||||
+ case 0x21: /* mov drX, reg */
|
||||
+ case 0x22: /* mov reg, crX */
|
||||
+ case 0x23: /* mov reg drX */
|
||||
+ return EXCEPTION_PRIV_INSTRUCTION;
|
||||
+ }
|
||||
+ return 0;
|
||||
+ case 0x6c: /* insb (%dx) */
|
||||
+ case 0x6d: /* insl (%dx) */
|
||||
+ case 0x6e: /* outsb (%dx) */
|
||||
+ case 0x6f: /* outsl (%dx) */
|
||||
+ case 0xcd: /* int $xx */
|
||||
+ case 0xe4: /* inb al,XX */
|
||||
+ case 0xe5: /* in (e)ax,XX */
|
||||
+ case 0xe6: /* outb XX,al */
|
||||
+ case 0xe7: /* out XX,(e)ax */
|
||||
+ case 0xec: /* inb (%dx),%al */
|
||||
+ case 0xed: /* inl (%dx),%eax */
|
||||
+ case 0xee: /* outb %al,(%dx) */
|
||||
+ case 0xef: /* outl %eax,(%dx) */
|
||||
+ case 0xf4: /* hlt */
|
||||
+ case 0xfa: /* cli */
|
||||
+ case 0xfb: /* sti */
|
||||
+ return EXCEPTION_PRIV_INSTRUCTION;
|
||||
+ default:
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
/***********************************************************************
|
||||
* handle_interrupt
|
||||
*
|
||||
@@ -2791,8 +2871,8 @@ static void segv_handler( int signal, siginfo_t *siginfo, void *sigcontext )
|
||||
{
|
||||
CONTEXT *win_context = get_exception_context( rec );
|
||||
WORD err = ERROR_sig(ucontext);
|
||||
+ if (!err && (rec->ExceptionCode = is_privileged_instr( win_context ))) break;
|
||||
if ((err & 7) == 2 && handle_interrupt( err >> 3, rec, win_context )) break;
|
||||
- rec->ExceptionCode = err ? EXCEPTION_ACCESS_VIOLATION : EXCEPTION_PRIV_INSTRUCTION;
|
||||
rec->ExceptionCode = EXCEPTION_ACCESS_VIOLATION;
|
||||
}
|
||||
break;
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 89fb55baee8ee0ae595f940fdcf7e69a339b0b54 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Wesie <awesie@gmail.com>
|
||||
Date: Wed, 4 Oct 2017 01:51:09 +0200
|
||||
Subject: ntdll: Handle interrupt 0x2c on x86_64.
|
||||
|
||||
---
|
||||
dlls/ntdll/signal_x86_64.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
|
||||
index 28f6d926a43..34d748582ef 100644
|
||||
--- a/dlls/ntdll/signal_x86_64.c
|
||||
+++ b/dlls/ntdll/signal_x86_64.c
|
||||
@@ -2804,6 +2804,9 @@ static inline BOOL handle_interrupt( unsigned int interrupt, EXCEPTION_RECORD *r
|
||||
{
|
||||
switch(interrupt)
|
||||
{
|
||||
+ case 0x2c:
|
||||
+ rec->ExceptionCode = STATUS_ASSERTION_FAILURE;
|
||||
+ return TRUE;
|
||||
case 0x2d:
|
||||
context->Rip += 3;
|
||||
rec->ExceptionCode = EXCEPTION_BREAKPOINT;
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1 +1 @@
|
||||
Fixes: Translate icebp instruction to EXCEPTION_SINGLE_STEP on x86_64
|
||||
# Originally separated from ntdll-Builtin_Prot, for unclear reasons.
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "dfae798d98bf7a8b45954e6d788928d067d0772e"
|
||||
echo "c21c8525f9e69cfd48906ecc33b909490bd82783"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -3048,7 +3048,7 @@ fi
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#42553] Implement BCrypt ECB chaining mode
|
||||
# | * [#39582] Implement BCrypt RSA provider
|
||||
# | * [#44053] Implement BCryptImportKey and BCryptExportKey
|
||||
# | * [#43605] Implement elliptic curve (ECDSA) cryptography
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_main.c, dlls/bcrypt/tests/bcrypt.c, dlls/ncrypt/ncrypt.spec,
|
||||
@ -3672,7 +3672,6 @@ fi
|
||||
# Patchset d3dx9_36-D3DXStubs
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#38352] Add stub for D3DXComputeNormalMap
|
||||
# | * [#41697] Add stub for D3DXComputeTangent
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -3684,10 +3683,8 @@ fi
|
||||
# | dlls/d3dx9_43/d3dx9_43.spec
|
||||
# |
|
||||
if test "$enable_d3dx9_36_D3DXStubs" -eq 1; then
|
||||
patch_apply d3dx9_36-D3DXStubs/0001-d3dx9_36-Add-stub-for-D3DXComputeNormalMap.patch
|
||||
patch_apply d3dx9_36-D3DXStubs/0003-d3dx9-Implement-D3DXComputeTangent.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Christian Costa", "d3dx9_36: Add stub for D3DXComputeNormalMap.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "d3dx9: Implement D3DXComputeTangent.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
@ -5386,14 +5383,8 @@ fi
|
||||
# |
|
||||
if test "$enable_ntdll_x86_64_ExceptionInformation" -eq 1; then
|
||||
patch_apply ntdll-x86_64_ExceptionInformation/0001-ntdll-Set-proper-ExceptionInformation-0-for-x86_64-e.patch
|
||||
patch_apply ntdll-x86_64_ExceptionInformation/0003-ntdll-Translate-icebp-instruction-to-EXCEPTION_SINGL.patch
|
||||
patch_apply ntdll-x86_64_ExceptionInformation/0004-ntdll-Correctly-handle-privileged-instructions-on-x8.patch
|
||||
patch_apply ntdll-x86_64_ExceptionInformation/0005-ntdll-Handle-interrupt-0x2c-on-x86_64.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Set proper ExceptionInformation[0] for x86_64 exceptions.", 1 },';
|
||||
printf '%s\n' '+ { "Michael Müller", "ntdll: Translate icebp instruction to EXCEPTION_SINGLE_STEP on x64.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Correctly handle privileged instructions on x86_64.", 1 },';
|
||||
printf '%s\n' '+ { "Andrew Wesie", "ntdll: Handle interrupt 0x2c on x86_64.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
@ -8127,9 +8118,6 @@ fi
|
||||
|
||||
# Patchset windowscodecs-JPEG_Decoder
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#43520] Fix JPEG decoder and implement support for CMYK to BGR conversion
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/windowscodecs/converter.c, dlls/windowscodecs/jpegformat.c
|
||||
# |
|
||||
|
@ -1 +1 @@
|
||||
Fixes: [43520] Fix JPEG decoder and implement support for CMYK to BGR conversion
|
||||
Fixes: Implement support for CMYK to BGR conversion in JPEG decoder
|
||||
|
@ -1,12 +1,12 @@
|
||||
From 18a3c7cf10114b82a8bc90b86a60633d49c7b3f2 Mon Sep 17 00:00:00 2001
|
||||
From e9f05f59ca4858a809dc21dee963ca8835515a4d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 25 Aug 2016 19:24:47 +0200
|
||||
Subject: [PATCH] wined3d: Create dummy 1d textures and surfaces.
|
||||
|
||||
---
|
||||
dlls/wined3d/resource.c | 1 +
|
||||
dlls/wined3d/texture.c | 165 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 166 insertions(+)
|
||||
dlls/wined3d/texture.c | 163 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 164 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 97f7aec..f340217 100644
|
||||
@ -21,10 +21,10 @@ index 97f7aec..f340217 100644
|
||||
{WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_TEX_RECT},
|
||||
{WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_RB},
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 37a6b06..768b7fd 100644
|
||||
index c520995..e901c32 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1764,6 +1764,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
|
||||
@@ -1776,6 +1776,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s
|
||||
context, box, data, row_pitch, slice_pitch);
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ index 37a6b06..768b7fd 100644
|
||||
static void texture2d_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
||||
const struct wined3d_context *context, const struct wined3d_box *box,
|
||||
const struct wined3d_const_bo_address *data, unsigned int row_pitch, unsigned int slice_pitch)
|
||||
@@ -2166,6 +2205,128 @@ static const struct wined3d_resource_ops texture_resource_ops =
|
||||
@@ -2182,6 +2221,126 @@ static const struct wined3d_resource_ops texture_resource_ops =
|
||||
texture_resource_sub_resource_unmap,
|
||||
};
|
||||
|
||||
@ -171,8 +171,6 @@ index 37a6b06..768b7fd 100644
|
||||
+
|
||||
+ surface = &surfaces[idx];
|
||||
+ surface->container = texture;
|
||||
+ surface->texture_level = i;
|
||||
+ surface->texture_layer = j;
|
||||
+
|
||||
+ sub_resource = &texture->sub_resources[idx];
|
||||
+ sub_resource->locations = WINED3D_LOCATION_DISCARDED;
|
||||
@ -199,7 +197,7 @@ index 37a6b06..768b7fd 100644
|
||||
static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc,
|
||||
unsigned int layer_count, unsigned int level_count, DWORD flags, struct wined3d_device *device,
|
||||
void *parent, const struct wined3d_parent_ops *parent_ops)
|
||||
@@ -3074,6 +3235,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
||||
@@ -3090,6 +3249,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
||||
|
||||
switch (desc->resource_type)
|
||||
{
|
||||
|
@ -1,17 +1,17 @@
|
||||
From 451b07b05e97bbd1f198ee0dadbf6860e82bce59 Mon Sep 17 00:00:00 2001
|
||||
From 678e1311567041e679e9cd56e22eb2345cca62b9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:22:26 +0200
|
||||
Subject: [PATCH] wined3d: Implement preparation for 1d textures.
|
||||
|
||||
---
|
||||
dlls/wined3d/texture.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 56 insertions(+), 1 deletion(-)
|
||||
dlls/wined3d/texture.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 57 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index ead97c8..9e9ab32 100644
|
||||
index e901c32..5472aea 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1660,7 +1660,62 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -1800,7 +1800,63 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
|
||||
static void texture1d_prepare_texture(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb)
|
||||
{
|
||||
@ -54,19 +54,20 @@ index ead97c8..9e9ab32 100644
|
||||
+ for (i = 0; i < sub_count; ++i)
|
||||
+ {
|
||||
+ GLenum target;
|
||||
+ struct wined3d_surface *surface = texture->sub_resources[i].u.surface;
|
||||
+ width = wined3d_texture_get_level_width(texture, surface->texture_level);
|
||||
+ unsigned int level = i % texture->level_count;
|
||||
+
|
||||
+ width = wined3d_texture_get_level_width(texture, level);
|
||||
+ target = wined3d_texture_get_sub_resource_target(texture, i);
|
||||
+
|
||||
+ if (texture->target == GL_TEXTURE_1D_ARRAY)
|
||||
+ {
|
||||
+ gl_info->gl_ops.gl.p_glTexImage2D(target, surface->texture_level,
|
||||
+ gl_info->gl_ops.gl.p_glTexImage2D(target, level,
|
||||
+ internal, width, texture->layer_count, 0, format->glFormat, format->glType, NULL);
|
||||
+ checkGLcall("glTexImage2D");
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ gl_info->gl_ops.gl.p_glTexImage1D(target, surface->texture_level,
|
||||
+ gl_info->gl_ops.gl.p_glTexImage1D(target, level,
|
||||
+ internal, width, 0, format->glFormat, format->glType, NULL);
|
||||
+ checkGLcall("glTexImage1D");
|
||||
+ }
|
||||
@ -76,5 +77,5 @@ index ead97c8..9e9ab32 100644
|
||||
|
||||
static void texture1d_cleanup_sub_resources(struct wined3d_texture *texture)
|
||||
--
|
||||
1.9.1
|
||||
2.7.4
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a8eaed59c46311213da87a7bdf955be7516e3a1a Mon Sep 17 00:00:00 2001
|
||||
From 4675a6d20ed96591a5f0bcbf3c6e5330aa057102 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:25:20 +0200
|
||||
Subject: [PATCH] wined3d: Implement uploading for 1d textures.
|
||||
@ -9,10 +9,10 @@ Subject: [PATCH] wined3d: Implement uploading for 1d textures.
|
||||
2 files changed, 71 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 1662604..352d2e7 100644
|
||||
index 2962aa1..0177488 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4268,7 +4268,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
@@ -4263,7 +4263,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
|
||||
height = 1;
|
||||
depth = 1;
|
||||
}
|
||||
@ -23,17 +23,17 @@ index 1662604..352d2e7 100644
|
||||
struct wined3d_texture *texture = texture_from_resource(resource);
|
||||
unsigned int level;
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 9e9ab32..63658a8 100644
|
||||
index 5472aea..4ccf3d6 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1644,8 +1644,76 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
@@ -1784,8 +1784,76 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
const struct wined3d_context *context, const struct wined3d_box *box, const struct wined3d_const_bo_address *data,
|
||||
unsigned int row_pitch, unsigned int slice_pitch)
|
||||
{
|
||||
- FIXME("texture %p, sub_resource_idx %u, context %p, box %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x: stub.\n",
|
||||
+ struct wined3d_surface *surface = texture->sub_resources[sub_resource_idx].u.surface;
|
||||
+ const struct wined3d_format *format = texture->resource.format;
|
||||
+ unsigned int level = sub_resource_idx % texture->level_count;
|
||||
+ unsigned int layer = sub_resource_idx / texture->level_count;
|
||||
+ const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
+ const void *mem = data->addr;
|
||||
+ void *converted_mem = NULL;
|
||||
@ -83,7 +83,7 @@ index 9e9ab32..63658a8 100644
|
||||
+ {
|
||||
+ gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_ROW_LENGTH, row_pitch / format->byte_count);
|
||||
+
|
||||
+ gl_info->gl_ops.gl.p_glTexSubImage2D(target, level, x, surface->texture_layer, update_w, 1, format->glFormat, format->glType, mem);
|
||||
+ gl_info->gl_ops.gl.p_glTexSubImage2D(target, level, x, layer, update_w, 1, format->glFormat, format->glType, mem);
|
||||
+ checkGLcall("glTexSubImage2D");
|
||||
+
|
||||
+ gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
@ -105,5 +105,5 @@ index 9e9ab32..63658a8 100644
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
--
|
||||
1.9.1
|
||||
2.7.4
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b4b46e405c719c895276f10c68ddab7deeab6606 Mon Sep 17 00:00:00 2001
|
||||
From 7413752707a47be44e0aa11c670b5f7993ac8b91 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Aug 2016 22:41:05 +0200
|
||||
Subject: [PATCH] wined3d: Implement downloading from (s)rgb 1d textures to
|
||||
@ -9,18 +9,18 @@ Subject: [PATCH] wined3d: Implement downloading from (s)rgb 1d textures to
|
||||
1 file changed, 114 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 82ba0d4..da0e7d3a 100644
|
||||
index af97b38..7018343 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1717,6 +1717,78 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
@@ -1857,6 +1857,78 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
+static void texture1d_download_data(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
||||
+ const struct wined3d_context *context, const struct wined3d_bo_address *data)
|
||||
+{
|
||||
+ struct wined3d_surface *surface = texture->sub_resources[sub_resource_idx].u.surface;
|
||||
+ const struct wined3d_format *format = texture->resource.format;
|
||||
+ unsigned int layer = sub_resource_idx / texture->level_count;
|
||||
+ const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
+ struct wined3d_texture_sub_resource *sub_resource;
|
||||
+ BYTE *temporary_mem = NULL;
|
||||
@ -64,7 +64,7 @@ index 82ba0d4..da0e7d3a 100644
|
||||
+
|
||||
+ if (temporary_mem)
|
||||
+ {
|
||||
+ void *src_data = temporary_mem + surface->texture_layer * sub_resource->size;
|
||||
+ void *src_data = temporary_mem + layer * sub_resource->size;
|
||||
+ if (data->buffer_object)
|
||||
+ {
|
||||
+ GL_EXTCALL(glBindBuffer(GL_PIXEL_PACK_BUFFER, data->buffer_object));
|
||||
@ -91,7 +91,7 @@ index 82ba0d4..da0e7d3a 100644
|
||||
static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx,
|
||||
struct wined3d_context *context, DWORD location)
|
||||
{
|
||||
@@ -1779,6 +1851,48 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -1919,6 +1991,48 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
}
|
||||
break;
|
||||
|
||||
@ -141,5 +141,5 @@ index 82ba0d4..da0e7d3a 100644
|
||||
FIXME("Implement %s loading from %s.\n", wined3d_debug_location(location),
|
||||
wined3d_debug_location(sub_resource->locations));
|
||||
--
|
||||
1.9.1
|
||||
2.7.4
|
||||
|
||||
|
@ -19,7 +19,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
};
|
||||
|
||||
struct wined3d_cs_add_dirty_texture_region
|
||||
@@ -2256,6 +2259,53 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
@@ -2249,6 +2252,53 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
unsigned int slice_pitch)
|
||||
{
|
||||
struct wined3d_cs_update_sub_resource *op;
|
||||
@ -73,7 +73,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
|
||||
op = cs->ops->require_space(cs, sizeof(*op), WINED3D_CS_QUEUE_MAP);
|
||||
op->opcode = WINED3D_CS_OP_UPDATE_SUB_RESOURCE;
|
||||
@@ -2269,8 +2319,10 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
@@ -2262,8 +2312,10 @@ void wined3d_cs_emit_update_sub_resource(struct wined3d_cs *cs, struct wined3d_r
|
||||
wined3d_resource_acquire(resource);
|
||||
|
||||
cs->ops->submit(cs, WINED3D_CS_QUEUE_MAP);
|
||||
@ -84,7 +84,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
cs->ops->finish(cs, WINED3D_CS_QUEUE_MAP);
|
||||
}
|
||||
|
||||
@@ -2453,6 +2505,13 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
@@ -2446,6 +2498,13 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_GENERATE_MIPMAPS */ wined3d_cs_exec_generate_mipmaps,
|
||||
};
|
||||
|
||||
@ -98,7 +98,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id)
|
||||
{
|
||||
if (size > (cs->data_size - cs->end))
|
||||
@@ -2506,6 +2565,9 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
|
||||
@@ -2499,6 +2558,9 @@ static void wined3d_cs_st_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
|
||||
|
||||
static const struct wined3d_cs_ops wined3d_cs_st_ops =
|
||||
{
|
||||
@ -108,7 +108,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
wined3d_cs_st_require_space,
|
||||
wined3d_cs_st_submit,
|
||||
wined3d_cs_st_finish,
|
||||
@@ -2539,6 +2601,21 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs, enum wined3d_cs_queue_id
|
||||
@@ -2532,6 +2594,21 @@ static void wined3d_cs_mt_submit(struct wined3d_cs *cs, enum wined3d_cs_queue_id
|
||||
wined3d_cs_queue_submit(&cs->queue[queue_id], cs);
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size_t size, struct wined3d_cs *cs)
|
||||
{
|
||||
size_t queue_size = ARRAY_SIZE(queue->data);
|
||||
@@ -2600,6 +2677,16 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size
|
||||
@@ -2593,6 +2670,16 @@ static void *wined3d_cs_queue_require_space(struct wined3d_cs_queue *queue, size
|
||||
return packet->data;
|
||||
}
|
||||
|
||||
@ -147,7 +147,7 @@ diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
static void *wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, enum wined3d_cs_queue_id queue_id)
|
||||
{
|
||||
if (cs->thread_id == GetCurrentThreadId())
|
||||
@@ -2619,6 +2706,9 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
|
||||
@@ -2612,6 +2699,9 @@ static void wined3d_cs_mt_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id
|
||||
|
||||
static const struct wined3d_cs_ops wined3d_cs_mt_ops =
|
||||
{
|
||||
@ -271,7 +271,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -2406,7 +2406,11 @@ BOOL texture2d_load_texture(struct wined3d_texture *texture, unsigned int sub_re
|
||||
@@ -2393,7 +2393,11 @@ BOOL texture2d_load_texture(struct wined3d_texture *texture, unsigned int sub_re
|
||||
/* Don't use PBOs for converted surfaces. During PBO conversion we look at
|
||||
* WINED3D_TEXTURE_CONVERTED but it isn't set (yet) in all cases it is
|
||||
* getting called. */
|
||||
@ -286,7 +286,7 @@ diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
|
||||
--- a/dlls/wined3d/swapchain.c
|
||||
+++ b/dlls/wined3d/swapchain.c
|
||||
@@ -476,7 +476,11 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain,
|
||||
@@ -475,7 +475,11 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain,
|
||||
if (swapchain->render_to_fbo)
|
||||
swapchain_blit(swapchain, context, src_rect, dst_rect);
|
||||
|
||||
@ -395,7 +395,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
}
|
||||
|
||||
if (!context && !list_empty(&texture->renderbuffers))
|
||||
@@ -1583,11 +1621,16 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
|
||||
@@ -1595,11 +1633,16 @@ HRESULT CDECL wined3d_texture_update_desc(struct wined3d_texture *texture, UINT
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *texture,
|
||||
@ -412,7 +412,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
if (sub_resource->buffer_object)
|
||||
return;
|
||||
|
||||
@@ -1599,6 +1642,16 @@ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *textur
|
||||
@@ -1611,6 +1654,16 @@ static void wined3d_texture_prepare_buffer_object(struct wined3d_texture *textur
|
||||
|
||||
TRACE("Created buffer object %u for texture %p, sub-resource %u.\n",
|
||||
sub_resource->buffer_object, texture, sub_resource_idx);
|
||||
@ -429,7 +429,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
}
|
||||
|
||||
static void wined3d_texture_force_reload(struct wined3d_texture *texture)
|
||||
@@ -1697,7 +1750,11 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned
|
||||
@@ -1709,7 +1762,11 @@ BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned
|
||||
return TRUE;
|
||||
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
@ -441,7 +441,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
return TRUE;
|
||||
|
||||
case WINED3D_LOCATION_TEXTURE_RGB:
|
||||
@@ -1996,7 +2053,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -2008,7 +2065,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
}
|
||||
else if (sub_resource->locations & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
@ -453,7 +453,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB);
|
||||
wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch);
|
||||
texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch);
|
||||
@@ -2041,7 +2102,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -2053,7 +2114,11 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||
{
|
||||
@ -465,7 +465,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
|
||||
if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
wined3d_texture_bind_and_dirtify(texture, context, FALSE);
|
||||
@@ -2339,8 +2404,13 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
||||
@@ -2356,8 +2421,13 @@ static void wined3d_texture_unload(struct wined3d_resource *resource)
|
||||
wined3d_texture_invalidate_location(texture, i, ~WINED3D_LOCATION_DISCARDED);
|
||||
}
|
||||
|
||||
@ -479,7 +479,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
}
|
||||
|
||||
LIST_FOR_EACH_ENTRY_SAFE(entry, entry2, &texture->renderbuffers, struct wined3d_renderbuffer_entry, entry)
|
||||
@@ -3095,7 +3165,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -3110,7 +3180,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
}
|
||||
else if (sub_resource->locations & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
@ -491,7 +491,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
wined3d_texture_bind_and_dirtify(texture, context,
|
||||
location == WINED3D_LOCATION_TEXTURE_SRGB);
|
||||
wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch);
|
||||
@@ -3141,7 +3215,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
@@ -3156,7 +3230,11 @@ static BOOL texture3d_load_location(struct wined3d_texture *texture, unsigned in
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
if (sub_resource->locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||
{
|
||||
@ -503,7 +503,7 @@ diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
|
||||
if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
wined3d_texture_bind_and_dirtify(texture, context, FALSE);
|
||||
@@ -3344,8 +3422,19 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
|
||||
@@ -3359,8 +3437,19 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
|
||||
if (dst_texture->sub_resources[dst_sub_resource_idx].map_count
|
||||
|| src_texture->sub_resources[src_sub_resource_idx].map_count)
|
||||
{
|
||||
@ -571,7 +571,7 @@ diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2898,6 +2898,16 @@ struct wined3d_dummy_textures
|
||||
@@ -2906,6 +2906,16 @@ struct wined3d_dummy_textures
|
||||
GLuint tex_2d_ms_array;
|
||||
};
|
||||
|
||||
@ -588,7 +588,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
#define WINED3D_UNMAPPED_STAGE ~0u
|
||||
|
||||
/* Multithreaded flag. Removed from the public header to signal that
|
||||
@@ -2998,6 +3008,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
@@ -3006,6 +3016,12 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void device_invalidate_state(const struct wined3d_device *device, DWORD state) DECLSPEC_HIDDEN;
|
||||
@ -601,7 +601,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -3200,7 +3216,11 @@ struct wined3d_texture
|
||||
@@ -3208,7 +3224,11 @@ struct wined3d_texture
|
||||
|
||||
unsigned int map_count;
|
||||
DWORD locations;
|
||||
@ -613,7 +613,7 @@ diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
} sub_resources[1];
|
||||
};
|
||||
|
||||
@@ -3531,6 +3551,9 @@ struct wined3d_cs_queue
|
||||
@@ -3527,6 +3547,9 @@ struct wined3d_cs_queue
|
||||
|
||||
struct wined3d_cs_ops
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6a156acdcf5ef4f39472d736878f860fe9fa8aa0 Mon Sep 17 00:00:00 2001
|
||||
From 248a96ea17ba5998b1b2f759fec5736f43cf86ba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 18 Aug 2017 23:51:59 +0200
|
||||
Subject: [PATCH] wined3d: Implement dual source blending.
|
||||
@ -14,10 +14,10 @@ Subject: [PATCH] wined3d: Implement dual source blending.
|
||||
7 files changed, 92 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
|
||||
index 1a9053e50d..77dbdb5f80 100644
|
||||
index 3732fbf..15c8abd 100644
|
||||
--- a/dlls/d3d11/tests/d3d11.c
|
||||
+++ b/dlls/d3d11/tests/d3d11.c
|
||||
@@ -26215,7 +26215,7 @@ static void test_dual_blending(void)
|
||||
@@ -25560,7 +25560,7 @@ static void test_dual_blending(void)
|
||||
ID3D11DeviceContext_ClearRenderTargetView(context, rtv[1], white);
|
||||
ID3D11DeviceContext_Draw(context, 3, 0);
|
||||
|
||||
@ -27,10 +27,10 @@ index 1a9053e50d..77dbdb5f80 100644
|
||||
|
||||
ID3D11BlendState_Release(blend_state);
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index f51ad59c92..f72ac415cb 100644
|
||||
index 73327bd..384266b 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -3154,10 +3154,19 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
|
||||
@@ -3131,10 +3131,19 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const
|
||||
else if (!context->render_offscreen)
|
||||
return context_generate_rt_mask_from_resource(rts[0]->resource);
|
||||
|
||||
@ -52,10 +52,10 @@ index f51ad59c92..f72ac415cb 100644
|
||||
{
|
||||
i = wined3d_bit_scan(&mask);
|
||||
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
|
||||
index a75be3039c..bd2bc5b410 100644
|
||||
index 7c3a07c..cc45ed7 100644
|
||||
--- a/dlls/wined3d/directx.c
|
||||
+++ b/dlls/wined3d/directx.c
|
||||
@@ -3541,6 +3541,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info)
|
||||
@@ -3545,6 +3545,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info)
|
||||
gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max);
|
||||
TRACE("Max draw buffers: %u.\n", gl_max);
|
||||
}
|
||||
@ -68,7 +68,7 @@ index a75be3039c..bd2bc5b410 100644
|
||||
if (gl_info->supported[ARB_MULTITEXTURE])
|
||||
{
|
||||
if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT])
|
||||
@@ -4323,6 +4329,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
||||
@@ -4340,6 +4346,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
||||
for (i = 0; i < gl_info->limits.buffers; ++i)
|
||||
adapter->d3d_info.valid_rt_mask |= (1u << i);
|
||||
|
||||
@ -80,7 +80,7 @@ index a75be3039c..bd2bc5b410 100644
|
||||
{
|
||||
/* We do not want to deal with re-creating immutable texture storage for color keying emulation. */
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index a571405816..670a50e992 100644
|
||||
index 7edec82..7f7ad3f 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -3008,6 +3008,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
|
||||
@ -152,7 +152,7 @@ index a571405816..670a50e992 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
|
||||
index 66e1bbf882..0513c9e205 100644
|
||||
index 66e1bbf..0513c9e 100644
|
||||
--- a/dlls/wined3d/shader.c
|
||||
+++ b/dlls/wined3d/shader.c
|
||||
@@ -4011,6 +4011,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3
|
||||
@ -165,7 +165,7 @@ index 66e1bbf882..0513c9e205 100644
|
||||
|
||||
static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device,
|
||||
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
|
||||
index ace6f3e566..2ce8c6fd7e 100644
|
||||
index 486d22a..4ecd336 100644
|
||||
--- a/dlls/wined3d/state.c
|
||||
+++ b/dlls/wined3d/state.c
|
||||
@@ -534,12 +534,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st
|
||||
@ -208,7 +208,7 @@ index ace6f3e566..2ce8c6fd7e 100644
|
||||
state->render_states[WINED3D_RS_SRCBLEND],
|
||||
state->render_states[WINED3D_RS_DESTBLEND], rt_format);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 5c413549aa..cb76e0faf5 100644
|
||||
index c008124..098be97 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -194,6 +194,7 @@ struct wined3d_d3d_info
|
||||
@ -229,17 +229,17 @@ index 5c413549aa..cb76e0faf5 100644
|
||||
};
|
||||
|
||||
enum fog_src_type
|
||||
@@ -1911,7 +1913,8 @@ struct wined3d_context
|
||||
DWORD transform_feedback_paused : 1;
|
||||
@@ -1912,7 +1914,8 @@ struct wined3d_context
|
||||
DWORD shader_update_mask : 6; /* WINED3D_SHADER_TYPE_COUNT, 6 */
|
||||
DWORD clip_distance_mask : 8; /* MAX_CLIP_DISTANCES, 8 */
|
||||
- DWORD padding : 9;
|
||||
DWORD last_was_ffp_blit : 1;
|
||||
- DWORD padding : 8;
|
||||
+ DWORD last_was_dual_blend : 1;
|
||||
+ DWORD padding : 8;
|
||||
+ DWORD padding : 7;
|
||||
|
||||
DWORD constant_update_mask;
|
||||
DWORD numbered_array_mask;
|
||||
GLenum tracking_parm; /* Which source is tracking current colour */
|
||||
@@ -2512,6 +2515,7 @@ struct wined3d_fbo_ops
|
||||
@@ -2521,6 +2524,7 @@ struct wined3d_fbo_ops
|
||||
struct wined3d_gl_limits
|
||||
{
|
||||
UINT buffers;
|
||||
@ -247,7 +247,7 @@ index 5c413549aa..cb76e0faf5 100644
|
||||
UINT lights;
|
||||
UINT textures;
|
||||
UINT texture_coords;
|
||||
@@ -2855,6 +2859,22 @@ struct wined3d_state
|
||||
@@ -2867,6 +2871,22 @@ struct wined3d_state
|
||||
struct wined3d_rasterizer_state *rasterizer_state;
|
||||
};
|
||||
|
||||
@ -271,5 +271,5 @@ index 5c413549aa..cb76e0faf5 100644
|
||||
{
|
||||
GLuint tex_2d;
|
||||
--
|
||||
2.16.1
|
||||
2.7.4
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2ed127d65bdd85581d8d7fb50bde99a8c1354268 Mon Sep 17 00:00:00 2001
|
||||
From 40043e895e7e66e43589ac25efc7dade42690656 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 20 Jul 2017 13:50:07 +0200
|
||||
Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks.
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks.
|
||||
---
|
||||
dlls/d3d11/device.c | 29 ++++++++++-----------
|
||||
dlls/d3d11/state.c | 4 ---
|
||||
dlls/wined3d/context.c | 8 +++---
|
||||
dlls/wined3d/context.c | 10 +++-----
|
||||
dlls/wined3d/device.c | 6 ++---
|
||||
dlls/wined3d/state.c | 57 +++++++++++++++++++-----------------------
|
||||
dlls/wined3d/stateblock.c | 10 +++++---
|
||||
@ -14,7 +14,7 @@ Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks.
|
||||
dlls/wined3d/utils.c | 6 ++++-
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
include/wine/wined3d.h | 14 ++++++++++-
|
||||
10 files changed, 72 insertions(+), 70 deletions(-)
|
||||
10 files changed, 73 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
|
||||
index 835ea8b..2ef9b46 100644
|
||||
@ -86,23 +86,32 @@ index a14c9d3..2bec92e 100644
|
||||
|
||||
/* glEnableIndexedEXT(GL_BLEND, ...) */
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 60bf52b..15981ea 100644
|
||||
index 6530b6f..15eb449 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -2587,10 +2587,8 @@ static void SetupForBlit(const struct wined3d_device *device, struct wined3d_con
|
||||
@@ -2733,7 +2733,7 @@ void context_apply_blit_state(struct wined3d_context *context, const struct wine
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
struct wined3d_texture *rt = context->current_rt.texture;
|
||||
DWORD rt_mask, *cur_mask;
|
||||
- unsigned int sampler;
|
||||
+ unsigned int i, sampler;
|
||||
SIZE rt_size;
|
||||
|
||||
TRACE("Setting up context %p for blitting.\n", context);
|
||||
@@ -2832,10 +2832,8 @@ void context_apply_blit_state(struct wined3d_context *context, const struct wine
|
||||
context_invalidate_state(context, STATE_RENDER(WINED3D_RS_POINTSPRITEENABLE));
|
||||
}
|
||||
gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE,GL_TRUE,GL_TRUE);
|
||||
checkGLcall("glColorMask");
|
||||
gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
|
||||
- context_invalidate_state(context, STATE_RENDER(WINED3D_RS_COLORWRITEENABLE));
|
||||
- context_invalidate_state(context, STATE_RENDER(WINED3D_RS_COLORWRITEENABLE1));
|
||||
- context_invalidate_state(context, STATE_RENDER(WINED3D_RS_COLORWRITEENABLE2));
|
||||
- context_invalidate_state(context, STATE_RENDER(WINED3D_RS_COLORWRITEENABLE3));
|
||||
+ for (i = 0; i < MAX_RENDER_TARGETS; ++i)
|
||||
+ context_invalidate_state(context, STATE_RENDER(WINED3D_RS_COLORWRITE(i)));
|
||||
if (gl_info->supported[EXT_SECONDARY_COLOR])
|
||||
{
|
||||
gl_info->gl_ops.gl.p_glDisable(GL_COLOR_SUM_EXT);
|
||||
@@ -4829,7 +4827,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s
|
||||
|
||||
context->last_was_rhw = TRUE;
|
||||
context_invalidate_state(context, STATE_VDECL); /* because of last_was_rhw = TRUE */
|
||||
@@ -4812,7 +4810,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s
|
||||
if (!(rtv = fb->render_targets[i]) || rtv->format->id == WINED3DFMT_NULL)
|
||||
continue;
|
||||
|
||||
@ -269,10 +278,10 @@ index b9efcec..c9b3527 100644
|
||||
/* Texture Stage States - Put directly into state block, we will call function below */
|
||||
for (i = 0; i < MAX_TEXTURES; ++i)
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index fa25b03..c46b9b1 100644
|
||||
index b0ccfb8..47275e5 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -378,6 +378,7 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
|
||||
@@ -365,6 +365,7 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
|
||||
GLenum gl_filter;
|
||||
GLenum buffer;
|
||||
RECT s, d;
|
||||
@ -280,7 +289,7 @@ index fa25b03..c46b9b1 100644
|
||||
|
||||
TRACE("device %p, context %p, filter %s, src_texture %p, src_sub_resource_idx %u, src_location %s, "
|
||||
"src_rect %s, dst_texture %p, dst_sub_resource_idx %u, dst_location %s, dst_rect %s.\n",
|
||||
@@ -490,10 +491,8 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
|
||||
@@ -477,10 +478,8 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
|
||||
context_invalidate_state(context, STATE_FRAMEBUFFER);
|
||||
|
||||
gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
|
||||
@ -321,7 +330,7 @@ index 304214f..7cb2007 100644
|
||||
D3DSTATE_TO_STR(WINED3D_RS_SRGBWRITEENABLE);
|
||||
D3DSTATE_TO_STR(WINED3D_RS_DEPTHBIAS);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index e3d669a..45a7903 100644
|
||||
index 4f02ae4..628da26 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -276,6 +276,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup
|
||||
@ -333,7 +342,7 @@ index e3d669a..45a7903 100644
|
||||
struct min_lookup
|
||||
{
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index 8864965..58da08c 100644
|
||||
index 23fffdf..e47eeb6 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -388,8 +388,20 @@ enum wined3d_render_state
|
||||
|
Loading…
Reference in New Issue
Block a user