Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Kertels <robin.kertels@gmail.com>2023-09-18 20:49:25 +0300
committerJoshie <joshua@froggi.es>2023-09-19 23:25:12 +0300
commit494f7fd38df9b0ec6b1d3137a6528d2f31d55452 (patch)
treea3ae6408b9fd160ece8b32b645bd1bb87fb1105c
parent0632da19357fb3d846ea36ef07166eb93b09173a (diff)
[d3d9] Only set initial NeedsUpload for D3DPOOL_MANAGED textures
-rw-r--r--src/d3d9/d3d9_common_texture.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/d3d9/d3d9_common_texture.cpp b/src/d3d9/d3d9_common_texture.cpp
index 6aed7038..1f66a626 100644
--- a/src/d3d9/d3d9_common_texture.cpp
+++ b/src/d3d9/d3d9_common_texture.cpp
@@ -31,11 +31,12 @@ namespace dxvk {
AddDirtyBox(nullptr, i);
}
- if (m_desc.Pool != D3DPOOL_DEFAULT) {
+ if (m_desc.Pool != D3DPOOL_DEFAULT && pSharedHandle) {
+ throw DxvkError("D3D9: Incompatible pool type for texture sharing.");
+ }
+
+ if (IsPoolManaged(m_desc.Pool)) {
SetAllNeedUpload();
- if (pSharedHandle) {
- throw DxvkError("D3D9: Incompatible pool type for texture sharing.");
- }
}
m_mapping = pDevice->LookupFormat(m_desc.Format);