[PATCH 1/5] ddraw: Set WINED3D_RESOURCE_ACCESS_MAP on buffers.

Henri Verbeet hverbeet at codeweavers.com
Fri Feb 9 15:12:39 CST 2018


Since ddraw buffers can always be mapped. WINED3D_RESOURCE_ACCESS_MAP is
currently not enforced on buffers in wined3d, but we'd like to change that.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/ddraw/executebuffer.c | 2 +-
 dlls/ddraw/vertexbuffer.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index d710b34..59ff83b 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -632,7 +632,7 @@ static HRESULT WINAPI d3d_execute_buffer_SetExecuteData(IDirect3DExecuteBuffer *
 
         desc.byte_width = new_size * sizeof(D3DTLVERTEX);
         desc.usage = WINED3DUSAGE_STATICDECL;
-        desc.access = WINED3D_RESOURCE_ACCESS_GPU;
+        desc.access = WINED3D_RESOURCE_ACCESS_GPU | WINED3D_RESOURCE_ACCESS_MAP;
 
         if (FAILED(hr = wined3d_buffer_create(buffer->d3ddev->wined3d_device, &desc,
                 NULL, NULL, &ddraw_null_wined3d_parent_ops, &dst_buffer)))
diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c
index df8531d..0ce5446 100644
--- a/dlls/ddraw/vertexbuffer.c
+++ b/dlls/ddraw/vertexbuffer.c
@@ -127,7 +127,7 @@ static HRESULT d3d_vertex_buffer_create_wined3d_buffer(struct d3d_vertex_buffer
     if (buffer->Caps & D3DVBCAPS_SYSTEMMEMORY)
         desc.access = WINED3D_RESOURCE_ACCESS_CPU | WINED3D_RESOURCE_ACCESS_MAP;
     else
-        desc.access = WINED3D_RESOURCE_ACCESS_GPU;
+        desc.access = WINED3D_RESOURCE_ACCESS_GPU | WINED3D_RESOURCE_ACCESS_MAP;
     desc.misc_flags = 0;
     desc.structure_byte_stride = 0;
 
-- 
2.1.4




More information about the wine-devel mailing list