mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Removed patches accepted upstream and rebase.
This commit is contained in:
parent
ad5dcc9752
commit
5f3631c6be
@ -83,11 +83,11 @@ Included bug fixes and improvements
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
* Don't fill KdHelp structure for usermode applications ([Wine Bug #37272](https://bugs.winehq.org/show_bug.cgi?id=37272))
|
||||
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
|
||||
* Emulate write to CR4 register ([Wine Bug #30220](https://bugs.winehq.org/show_bug.cgi?id=30220))
|
||||
* ~~Emulate write to CR4 register~~ ([Wine Bug #30220](https://bugs.winehq.org/show_bug.cgi?id=30220))
|
||||
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](https://bugs.winehq.org/show_bug.cgi?id=33162))
|
||||
* Exception during start of fr-043 caused by missing DXTn support ([Wine Bug #37391](https://bugs.winehq.org/show_bug.cgi?id=37391))
|
||||
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
|
||||
* FairplayKD.sys needs KeSetSystemAffinityThread ([Wine Bug #36822](https://bugs.winehq.org/show_bug.cgi?id=36822))
|
||||
* ~~FairplayKD.sys needs KeSetSystemAffinityThread~~ ([Wine Bug #36822](https://bugs.winehq.org/show_bug.cgi?id=36822))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
|
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -30,6 +30,8 @@ wine-staging (1.7.34) UNRELEASED; urgency=low
|
||||
* Added patch to fix parameters for ConvertToIndexedBlendedMesh stub.
|
||||
* Added patch for basic CUDA support.
|
||||
* Added patches for D3DXComputeNormals and D3DXComputeNormalMap.
|
||||
* Removed patch to emulate write to CR4 register (accepted upstream).
|
||||
* Removed patch with stub for KeSetSystemAffinityThread (accepted upstream).
|
||||
* Removed patch to implement combase HSTRING objects (accepted upstream).
|
||||
* Removed patch to add fake ProductId to registry (accepted upstream).
|
||||
* Removed patch to implement stubs for MFStartup and MFShutdown (accepted upstream).
|
||||
|
@ -88,9 +88,7 @@ PATCHLIST := \
|
||||
ntdll-WinSqm.ok \
|
||||
ntoskrnl-Emulator.ok \
|
||||
ntoskrnl-Irp_Status.ok \
|
||||
ntoskrnl-KeSetSystemAffinityThread.ok \
|
||||
ntoskrnl-Stub_FileObject.ok \
|
||||
ntoskrnl-Write_CR4.ok \
|
||||
nvcuda-CUDA_Support.ok \
|
||||
ole32-CoWaitForMultipleHandles.ok \
|
||||
quartz-MediaSeeking_Positions.ok \
|
||||
@ -1385,21 +1383,6 @@ ntoskrnl-Irp_Status.ok:
|
||||
echo '+ { "Sebastian Lackner", "ntoskrnl: Handle issues when driver returns two different status codes from dispatcher.", 1 },'; \
|
||||
) > ntoskrnl-Irp_Status.ok
|
||||
|
||||
# Patchset ntoskrnl-KeSetSystemAffinityThread
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#36822] FairplayKD.sys needs KeSetSystemAffinityThread
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
# |
|
||||
.INTERMEDIATE: ntoskrnl-KeSetSystemAffinityThread.ok
|
||||
ntoskrnl-KeSetSystemAffinityThread.ok:
|
||||
$(call APPLY_FILE,ntoskrnl-KeSetSystemAffinityThread/0001-ntoskrnl-Add-stub-for-KeSetSystemAffinityThread.patch)
|
||||
@( \
|
||||
echo '+ { "Michael Müller", "ntoskrnl: Add stub for KeSetSystemAffinityThread.", 1 },'; \
|
||||
) > ntoskrnl-KeSetSystemAffinityThread.ok
|
||||
|
||||
# Patchset ntoskrnl-Stub_FileObject
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -1415,21 +1398,6 @@ ntoskrnl-Stub_FileObject.ok:
|
||||
echo '+ { "Sebastian Lackner", "ntoskrnl: Initialize irp.Tail.Overlay.OriginalFileObject with stub file object.", 1 },'; \
|
||||
) > ntoskrnl-Stub_FileObject.ok
|
||||
|
||||
# Patchset ntoskrnl-Write_CR4
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#30220] Emulate write to CR4 register
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/ntoskrnl.exe/instr.c
|
||||
# |
|
||||
.INTERMEDIATE: ntoskrnl-Write_CR4.ok
|
||||
ntoskrnl-Write_CR4.ok:
|
||||
$(call APPLY_FILE,ntoskrnl-Write_CR4/0001-ntoskrnl.exe-Emulate-write-to-CR4-register.patch)
|
||||
@( \
|
||||
echo '+ { "Stefan Leichter", "ntoskrnl.exe: Emulate write to CR4 register.", 1 },'; \
|
||||
) > ntoskrnl-Write_CR4.ok
|
||||
|
||||
# Patchset nvcuda-CUDA_Support
|
||||
# |
|
||||
# | Modified files:
|
||||
@ -2028,8 +1996,8 @@ winecfg-Staging.ok: ntdll-DllRedirects.ok wined3d-CSMT_Main.ok
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * configure.ac, dlls/ddraw/surface.c, dlls/wined3d-csmt/Makefile.in, dlls/wined3d-csmt/version.rc,
|
||||
# | dlls/wined3d/resource.c, dlls/wined3d/surface.c, dlls/wined3d/volume.c, dlls/wined3d/wined3d.spec,
|
||||
# | dlls/wined3d/wined3d_private.h, include/wine/wined3d.h
|
||||
# | dlls/wined3d/resource.c, dlls/wined3d/surface.c, dlls/wined3d/texture.c, dlls/wined3d/volume.c,
|
||||
# | dlls/wined3d/wined3d.spec, dlls/wined3d/wined3d_private.h, include/wine/wined3d.h
|
||||
# |
|
||||
.INTERMEDIATE: wined3d-CSMT_Helper.ok
|
||||
wined3d-CSMT_Helper.ok: makedep-PARENTSPEC.ok wined3d-DXTn.ok
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 85771b3079ab71a2e4e4a81e7ed3e1f6f63e93ef Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Wed, 5 Nov 2014 05:06:06 +0100
|
||||
Subject: ntoskrnl: Add stub for KeSetSystemAffinityThread.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++
|
||||
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
index a31b186..8d3e3c6 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
|
||||
@@ -1404,6 +1404,15 @@ KPRIORITY WINAPI KeSetPriorityThread( PKTHREAD Thread, KPRIORITY Priority )
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
+ * KeSetSystemAffinityThread (NTOSKRNL.EXE.@)
|
||||
+ */
|
||||
+VOID WINAPI KeSetSystemAffinityThread( KAFFINITY affinity )
|
||||
+{
|
||||
+ FIXME("(%lx)\n", affinity);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/***********************************************************************
|
||||
* KeWaitForSingleObject (NTOSKRNL.EXE.@)
|
||||
*/
|
||||
NTSTATUS WINAPI KeWaitForSingleObject(PVOID Object,
|
||||
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
index 4ead907..356c3a3 100644
|
||||
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
|
||||
@@ -614,7 +614,7 @@
|
||||
@ stub KeSetKernelStackSwapEnable
|
||||
@ stdcall KeSetPriorityThread(ptr long)
|
||||
@ stub KeSetProfileIrql
|
||||
-@ stub KeSetSystemAffinityThread
|
||||
+@ stdcall KeSetSystemAffinityThread(long)
|
||||
@ stub KeSetTargetProcessorDpc
|
||||
@ stub KeSetTimeIncrement
|
||||
@ stub KeSetTimer
|
||||
--
|
||||
1.9.1
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [36822] FairplayKD.sys needs KeSetSystemAffinityThread
|
@ -1,31 +0,0 @@
|
||||
From 0f039e31e5e405a94ddc907bffc796886a53c9b1 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Leichter <Stefan.Leichter@camline.com>
|
||||
Date: Fri, 31 Oct 2014 07:30:03 +0100
|
||||
Subject: ntoskrnl.exe: Emulate write to CR4 register.
|
||||
|
||||
---
|
||||
dlls/ntoskrnl.exe/instr.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntoskrnl.exe/instr.c b/dlls/ntoskrnl.exe/instr.c
|
||||
index 85ab9eb..e545269 100644
|
||||
--- a/dlls/ntoskrnl.exe/instr.c
|
||||
+++ b/dlls/ntoskrnl.exe/instr.c
|
||||
@@ -319,9 +319,14 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
TRACE("mov eax,cr0 at 0x%08x, EAX=0x%08x\n", context->Eip,context->Eax );
|
||||
context->Eip += prefixlen+3;
|
||||
return ExceptionContinueExecution;
|
||||
+ case 0xe0:
|
||||
+ TRACE("mov eax,cr4 at 0x%08x, EAX=0x%08x\n", context->Eip,context->Eax );
|
||||
+ context->Eip += prefixlen+3;
|
||||
+ return ExceptionContinueExecution;
|
||||
default:
|
||||
break; /*fallthrough to bad instruction handling */
|
||||
}
|
||||
+ ERR("Unsupported CR register, eip+2 is %02x\n", instr[2]);
|
||||
break; /*fallthrough to bad instruction handling */
|
||||
case 0x20: /* mov crX, eax */
|
||||
switch (instr[2])
|
||||
--
|
||||
2.1.2
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [30220] Emulate write to CR4 register
|
@ -1,4 +1,4 @@
|
||||
From ef430ec89085a9d089de21871329c7cac5a5eea2 Mon Sep 17 00:00:00 2001
|
||||
From 8f95372e011674226be25a4456db6dd2952da804 Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Mon, 11 Aug 2014 13:51:55 +0800
|
||||
Subject: riched20: Stub for ITextFont interface and implement
|
||||
@ -10,7 +10,7 @@ Subject: riched20: Stub for ITextFont interface and implement
|
||||
2 files changed, 893 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index 8b5f2ba..6cc4b09 100644
|
||||
index 276c795..df43621 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -46,10 +46,12 @@ DEFINE_GUID(IID_ITextHost2, 0x13e670f5,0x1a5a,0x11cf,0xab,0xeb,0x00,0xaa,0x00,0x
|
||||
@ -46,7 +46,24 @@ index 8b5f2ba..6cc4b09 100644
|
||||
struct ITextRangeImpl {
|
||||
ITextRange ITextRange_iface;
|
||||
LONG ref;
|
||||
@@ -481,6 +494,744 @@ static const IRichEditOleVtbl revt = {
|
||||
@@ -145,6 +158,7 @@ static ULONG WINAPI IRichEditOleImpl_inner_fnRelease(IUnknown *iface)
|
||||
if (!ref)
|
||||
{
|
||||
ITextRangeImpl *txtRge;
|
||||
+ ITextFontImpl *txtFont;
|
||||
|
||||
TRACE("Destroying %p\n", This);
|
||||
This->txtSel->reOle = NULL;
|
||||
@@ -153,6 +167,8 @@ static ULONG WINAPI IRichEditOleImpl_inner_fnRelease(IUnknown *iface)
|
||||
IOleClientSite_Release(&This->clientSite->IOleClientSite_iface);
|
||||
LIST_FOR_EACH_ENTRY(txtRge, &This->rangelist, ITextRangeImpl, entry)
|
||||
txtRge->reOle = NULL;
|
||||
+ LIST_FOR_EACH_ENTRY(txtFont, &This->fontlist, ITextFontImpl, entry)
|
||||
+ txtFont->reOle = NULL;
|
||||
heap_free(This);
|
||||
}
|
||||
return ref;
|
||||
@@ -492,6 +508,744 @@ static const IRichEditOleVtbl revt = {
|
||||
IRichEditOle_fnImportDataObject
|
||||
};
|
||||
|
||||
@ -791,7 +808,7 @@ index 8b5f2ba..6cc4b09 100644
|
||||
/* ITextRange interface */
|
||||
static inline ITextRangeImpl *impl_from_ITextRange(ITextRange *iface)
|
||||
{
|
||||
@@ -733,14 +1484,42 @@ static HRESULT WINAPI ITextRange_fnSetEnd(ITextRange *me, LONG cpLim)
|
||||
@@ -744,14 +1498,42 @@ static HRESULT WINAPI ITextRange_fnSetEnd(ITextRange *me, LONG cpLim)
|
||||
return range_SetEnd(This->reOle->editor, cpLim, &This->start, &This->end);
|
||||
}
|
||||
|
||||
@ -836,7 +853,7 @@ index 8b5f2ba..6cc4b09 100644
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ITextRange_fnSetFont(ITextRange *me, ITextFont *pFont)
|
||||
@@ -1754,11 +2533,24 @@ static HRESULT WINAPI ITextSelection_fnSetEnd(ITextSelection *me, LONG cpLim)
|
||||
@@ -1765,11 +2547,24 @@ static HRESULT WINAPI ITextSelection_fnSetEnd(ITextSelection *me, LONG cpLim)
|
||||
static HRESULT WINAPI ITextSelection_fnGetFont(ITextSelection *me, ITextFont **pFont)
|
||||
{
|
||||
ITextSelectionImpl *This = impl_from_ITextSelection(me);
|
||||
@ -863,7 +880,7 @@ index 8b5f2ba..6cc4b09 100644
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ITextSelection_fnSetFont(ITextSelection *me, ITextFont *pFont)
|
||||
@@ -2392,6 +3184,7 @@ LRESULT CreateIRichEditOle(IUnknown *outer_unk, ME_TextEditor *editor, LPVOID *p
|
||||
@@ -2403,6 +3198,7 @@ LRESULT CreateIRichEditOle(IUnknown *outer_unk, ME_TextEditor *editor, LPVOID *p
|
||||
}
|
||||
TRACE("Created %p\n",reo);
|
||||
list_init(&reo->rangelist);
|
||||
@ -871,23 +888,6 @@ index 8b5f2ba..6cc4b09 100644
|
||||
if (outer_unk)
|
||||
reo->outer_unk = outer_unk;
|
||||
else
|
||||
@@ -2405,6 +3198,7 @@ void DestroyIRichEditOle(IRichEditOle *iface)
|
||||
{
|
||||
IRichEditOleImpl *This = impl_from_IRichEditOle(iface);
|
||||
ITextRangeImpl *txtRge;
|
||||
+ ITextFontImpl *txtFont;
|
||||
|
||||
TRACE("Destroying %p\n", This);
|
||||
This->txtSel->reOle = NULL;
|
||||
@@ -2413,6 +3207,8 @@ void DestroyIRichEditOle(IRichEditOle *iface)
|
||||
IOleClientSite_Release(&This->clientSite->IOleClientSite_iface);
|
||||
LIST_FOR_EACH_ENTRY(txtRge, &This->rangelist, ITextRangeImpl, entry)
|
||||
txtRge->reOle = NULL;
|
||||
+ LIST_FOR_EACH_ENTRY(txtFont, &This->fontlist, ITextFontImpl, entry)
|
||||
+ txtFont->reOle = NULL;
|
||||
heap_free(This);
|
||||
}
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index 2268211..e9618d8 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
@ -1005,5 +1005,5 @@ index 2268211..e9618d8 100644
|
||||
+ test_ITextRange_GetFont();
|
||||
}
|
||||
--
|
||||
2.1.2
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ad5c4b52d44704ff75e0706ce0e2aaa3859f6f29 Mon Sep 17 00:00:00 2001
|
||||
From 19911f4b2960e524c1701273c9460d281643d03c Mon Sep 17 00:00:00 2001
|
||||
From: Jactry Zeng <wine@jactry.com>
|
||||
Date: Sun, 10 Aug 2014 22:17:57 +0800
|
||||
Subject: riched20: Stub for ITextPara interface and implement
|
||||
@ -10,7 +10,7 @@ Subject: riched20: Stub for ITextPara interface and implement
|
||||
2 files changed, 729 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
|
||||
index 6cc4b09..76fc51d 100644
|
||||
index df43621..f98f147 100644
|
||||
--- a/dlls/riched20/richole.c
|
||||
+++ b/dlls/riched20/richole.c
|
||||
@@ -47,11 +47,13 @@ DEFINE_GUID(IID_ITextDocument, 0x8cc497c0, 0xa1df, 0x11ce, 0x80, 0x98, 0x00, 0xa
|
||||
@ -47,7 +47,24 @@ index 6cc4b09..76fc51d 100644
|
||||
struct ITextFontImpl {
|
||||
ITextFont ITextFont_iface;
|
||||
LONG ref;
|
||||
@@ -494,6 +507,641 @@ static const IRichEditOleVtbl revt = {
|
||||
@@ -159,6 +172,7 @@ static ULONG WINAPI IRichEditOleImpl_inner_fnRelease(IUnknown *iface)
|
||||
{
|
||||
ITextRangeImpl *txtRge;
|
||||
ITextFontImpl *txtFont;
|
||||
+ ITextParaImpl *txtPara;
|
||||
|
||||
TRACE("Destroying %p\n", This);
|
||||
This->txtSel->reOle = NULL;
|
||||
@@ -169,6 +183,8 @@ static ULONG WINAPI IRichEditOleImpl_inner_fnRelease(IUnknown *iface)
|
||||
txtRge->reOle = NULL;
|
||||
LIST_FOR_EACH_ENTRY(txtFont, &This->fontlist, ITextFontImpl, entry)
|
||||
txtFont->reOle = NULL;
|
||||
+ LIST_FOR_EACH_ENTRY(txtPara, &This->paralist, ITextParaImpl, entry)
|
||||
+ txtPara->reOle = NULL;
|
||||
heap_free(This);
|
||||
}
|
||||
return ref;
|
||||
@@ -508,6 +524,641 @@ static const IRichEditOleVtbl revt = {
|
||||
IRichEditOle_fnImportDataObject
|
||||
};
|
||||
|
||||
@ -689,7 +706,7 @@ index 6cc4b09..76fc51d 100644
|
||||
/* ITextFont interface */
|
||||
static inline ITextFontImpl *impl_from_ITextFont(ITextFont *iface)
|
||||
{
|
||||
@@ -1532,14 +2180,42 @@ static HRESULT WINAPI ITextRange_fnSetFont(ITextRange *me, ITextFont *pFont)
|
||||
@@ -1546,14 +2197,42 @@ static HRESULT WINAPI ITextRange_fnSetFont(ITextRange *me, ITextFont *pFont)
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
@ -734,7 +751,7 @@ index 6cc4b09..76fc51d 100644
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ITextRange_fnSetPara(ITextRange *me, ITextPara *pPara)
|
||||
@@ -3185,6 +3861,7 @@ LRESULT CreateIRichEditOle(IUnknown *outer_unk, ME_TextEditor *editor, LPVOID *p
|
||||
@@ -3199,6 +3878,7 @@ LRESULT CreateIRichEditOle(IUnknown *outer_unk, ME_TextEditor *editor, LPVOID *p
|
||||
TRACE("Created %p\n",reo);
|
||||
list_init(&reo->rangelist);
|
||||
list_init(&reo->fontlist);
|
||||
@ -742,23 +759,6 @@ index 6cc4b09..76fc51d 100644
|
||||
if (outer_unk)
|
||||
reo->outer_unk = outer_unk;
|
||||
else
|
||||
@@ -3199,6 +3876,7 @@ void DestroyIRichEditOle(IRichEditOle *iface)
|
||||
IRichEditOleImpl *This = impl_from_IRichEditOle(iface);
|
||||
ITextRangeImpl *txtRge;
|
||||
ITextFontImpl *txtFont;
|
||||
+ ITextParaImpl *txtPara;
|
||||
|
||||
TRACE("Destroying %p\n", This);
|
||||
This->txtSel->reOle = NULL;
|
||||
@@ -3209,6 +3887,8 @@ void DestroyIRichEditOle(IRichEditOle *iface)
|
||||
txtRge->reOle = NULL;
|
||||
LIST_FOR_EACH_ENTRY(txtFont, &This->fontlist, ITextFontImpl, entry)
|
||||
txtFont->reOle = NULL;
|
||||
+ LIST_FOR_EACH_ENTRY(txtPara, &This->paralist, ITextParaImpl, entry)
|
||||
+ txtPara->reOle = NULL;
|
||||
heap_free(This);
|
||||
}
|
||||
|
||||
diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c
|
||||
index e9618d8..909d27e 100644
|
||||
--- a/dlls/riched20/tests/richole.c
|
||||
@ -823,5 +823,5 @@ index e9618d8..909d27e 100644
|
||||
+ test_ITextRange_GetPara();
|
||||
}
|
||||
--
|
||||
2.1.2
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e40fbe3feb09e745a7cb95413b23f3087a2859af Mon Sep 17 00:00:00 2001
|
||||
From 366b6fe7fb45ebe1010417aedfa3dfab9cd6360b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 19 Sep 2013 14:22:24 +0200
|
||||
Subject: wined3d: Merge get_pitch functions.
|
||||
@ -7,14 +7,15 @@ Subject: wined3d: Merge get_pitch functions.
|
||||
dlls/ddraw/surface.c | 12 ++++++--
|
||||
dlls/wined3d/resource.c | 31 +++++++++++++++++++
|
||||
dlls/wined3d/surface.c | 70 +++++++++++++++++-------------------------
|
||||
dlls/wined3d/volume.c | 29 ++---------------
|
||||
dlls/wined3d/texture.c | 2 +-
|
||||
dlls/wined3d/volume.c | 28 ++---------------
|
||||
dlls/wined3d/wined3d.spec | 2 +-
|
||||
dlls/wined3d/wined3d_private.h | 2 +-
|
||||
include/wine/wined3d.h | 3 +-
|
||||
7 files changed, 74 insertions(+), 75 deletions(-)
|
||||
8 files changed, 75 insertions(+), 75 deletions(-)
|
||||
|
||||
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
||||
index a4184b8..a0d7f2d 100644
|
||||
index a387d12..9a8d94f 100644
|
||||
--- a/dlls/ddraw/surface.c
|
||||
+++ b/dlls/ddraw/surface.c
|
||||
@@ -6158,6 +6158,10 @@ void ddraw_surface_init(struct ddraw_surface *surface, struct ddraw *ddraw, stru
|
||||
@ -96,7 +97,7 @@ index 0ab55dc..8032a4c 100644
|
||||
+ TRACE("Returning row pitch %u, slice pitch %u.\n", *row_pitch, *slice_pitch);
|
||||
+}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 092cbe6..d9b1846 100644
|
||||
index fb27c8a..3ffec05 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -364,6 +364,7 @@ static HRESULT surface_create_dib_section(struct wined3d_surface *surface)
|
||||
@ -164,19 +165,20 @@ index 092cbe6..d9b1846 100644
|
||||
POINT p;
|
||||
|
||||
TRACE("dst_surface %p, dst_point %s, src_surface %p, src_rect %s.\n",
|
||||
@@ -1698,9 +1700,9 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
@@ -1698,10 +1700,10 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
wined3d_texture_bind(dst_surface->container, context, FALSE);
|
||||
|
||||
surface_get_memory(src_surface, &data, src_surface->locations);
|
||||
- src_pitch = wined3d_surface_get_pitch(src_surface);
|
||||
+ wined3d_resource_get_pitch(&src_surface->resource, &src_row_pitch, &src_slice_pitch);
|
||||
|
||||
- surface_upload_data(dst_surface, gl_info, src_format, src_rect, src_pitch, dst_point, FALSE, &data);
|
||||
+ surface_upload_data(dst_surface, gl_info, src_format, src_rect, src_row_pitch, dst_point, FALSE, &data);
|
||||
wined3d_surface_upload_data(dst_surface, gl_info, src_format, src_rect,
|
||||
- src_pitch, dst_point, FALSE, wined3d_const_bo_address(&data));
|
||||
+ src_row_pitch, dst_point, FALSE, wined3d_const_bo_address(&data));
|
||||
|
||||
context_invalidate_active_texture(context);
|
||||
|
||||
@@ -2008,25 +2010,6 @@ HRESULT CDECL wined3d_surface_restore(struct wined3d_surface *surface)
|
||||
@@ -2009,25 +2011,6 @@ HRESULT CDECL wined3d_surface_restore(struct wined3d_surface *surface)
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@ -202,7 +204,7 @@ index 092cbe6..d9b1846 100644
|
||||
HRESULT CDECL wined3d_surface_set_overlay_position(struct wined3d_surface *surface, LONG x, LONG y)
|
||||
{
|
||||
LONG w, h;
|
||||
@@ -2207,12 +2190,13 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2208,12 +2191,13 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
surface->resource.map_binding = WINED3D_LOCATION_USER_MEMORY;
|
||||
valid_location = WINED3D_LOCATION_USER_MEMORY;
|
||||
}
|
||||
@ -219,7 +221,7 @@ index 092cbe6..d9b1846 100644
|
||||
else
|
||||
surface->resource.size = wined3d_format_calculate_size(texture_resource->format,
|
||||
texture_resource->device->surface_alignment, width, height, 1);
|
||||
@@ -2680,7 +2664,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2681,7 +2665,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
if (format->flags & WINED3DFMT_FLAG_BROKEN_PITCH)
|
||||
map_desc->row_pitch = surface->resource.width * format->byte_count;
|
||||
else
|
||||
@ -228,7 +230,7 @@ index 092cbe6..d9b1846 100644
|
||||
map_desc->slice_pitch = 0;
|
||||
|
||||
if (!rect)
|
||||
@@ -2860,7 +2844,9 @@ static void read_from_framebuffer(struct wined3d_surface *surface, DWORD dst_loc
|
||||
@@ -2861,7 +2845,9 @@ static void read_from_framebuffer(struct wined3d_surface *surface, DWORD dst_loc
|
||||
{
|
||||
/* glReadPixels returns the image upside down, and there is no way to prevent this.
|
||||
* Flip the lines in software. */
|
||||
@ -239,7 +241,7 @@ index 092cbe6..d9b1846 100644
|
||||
|
||||
if (!(row = HeapAlloc(GetProcessHeap(), 0, pitch)))
|
||||
goto error;
|
||||
@@ -4092,7 +4078,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4093,7 +4079,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
const struct wined3d_color_key_conversion *conversion;
|
||||
struct wined3d_texture *texture = surface->container;
|
||||
struct wined3d_context *context;
|
||||
@ -248,7 +250,7 @@ index 092cbe6..d9b1846 100644
|
||||
struct wined3d_bo_address data;
|
||||
struct wined3d_format format;
|
||||
POINT dst_point = {0, 0};
|
||||
@@ -4187,7 +4173,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4188,7 +4174,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
else surface->flags &= ~SFLAG_GLCKEY;
|
||||
|
||||
width = surface->resource.width;
|
||||
@ -257,7 +259,7 @@ index 092cbe6..d9b1846 100644
|
||||
|
||||
format = *texture->resource.format;
|
||||
if ((conversion = wined3d_format_get_color_key_conversion(texture, TRUE)))
|
||||
@@ -4226,9 +4212,9 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4227,9 +4213,9 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
context_release(context);
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
@ -269,7 +271,7 @@ index 092cbe6..d9b1846 100644
|
||||
data.addr = mem;
|
||||
}
|
||||
else if (conversion)
|
||||
@@ -4248,13 +4234,13 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4249,14 +4235,14 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
}
|
||||
if (texture->swapchain && texture->swapchain->palette)
|
||||
palette = texture->swapchain->palette;
|
||||
@ -281,21 +283,34 @@ index 092cbe6..d9b1846 100644
|
||||
data.addr = mem;
|
||||
}
|
||||
|
||||
- surface_upload_data(surface, gl_info, &format, &src_rect, src_pitch, &dst_point, srgb, &data);
|
||||
+ surface_upload_data(surface, gl_info, &format, &src_rect, src_row_pitch, &dst_point, srgb, &data);
|
||||
wined3d_surface_upload_data(surface, gl_info, &format, &src_rect,
|
||||
- src_pitch, &dst_point, srgb, wined3d_const_bo_address(&data));
|
||||
+ src_row_pitch, &dst_point, srgb, wined3d_const_bo_address(&data));
|
||||
|
||||
context_release(context);
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index d33bad1..0a8a550 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1340,7 +1340,7 @@ static void texture3d_sub_resource_upload_data(struct wined3d_resource *sub_reso
|
||||
struct wined3d_const_bo_address addr;
|
||||
unsigned int row_pitch, slice_pitch;
|
||||
|
||||
- wined3d_volume_get_pitch(volume, &row_pitch, &slice_pitch);
|
||||
+ wined3d_resource_get_pitch(&volume->resource, &row_pitch, &slice_pitch);
|
||||
if (row_pitch != data->row_pitch || slice_pitch != data->slice_pitch)
|
||||
FIXME("Ignoring row/slice pitch (%u/%u).\n", data->row_pitch, data->slice_pitch);
|
||||
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 58d7321..af99825 100644
|
||||
index b5ab862..87b6ab6 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -40,31 +40,6 @@ BOOL volume_prepare_system_memory(struct wined3d_volume *volume)
|
||||
@@ -40,30 +40,6 @@ BOOL volume_prepare_system_memory(struct wined3d_volume *volume)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
-static void wined3d_volume_get_pitch(const struct wined3d_volume *volume, UINT *row_pitch,
|
||||
- UINT *slice_pitch)
|
||||
-void wined3d_volume_get_pitch(const struct wined3d_volume *volume, UINT *row_pitch, UINT *slice_pitch)
|
||||
-{
|
||||
- const struct wined3d_format *format = volume->resource.format;
|
||||
-
|
||||
@ -321,17 +336,17 @@ index 58d7321..af99825 100644
|
||||
-
|
||||
/* Context activation is done by the caller. */
|
||||
void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wined3d_context *context,
|
||||
const struct wined3d_bo_address *data)
|
||||
@@ -95,7 +70,7 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
const struct wined3d_const_bo_address *data)
|
||||
@@ -95,7 +71,7 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
dst_row_pitch = (dst_row_pitch + alignment - 1) & ~(alignment - 1);
|
||||
dst_slice_pitch = dst_row_pitch * height;
|
||||
|
||||
- wined3d_volume_get_pitch(volume, &src_row_pitch, &src_slice_pitch);
|
||||
+ wined3d_resource_get_pitch(&volume->resource, &src_row_pitch, &src_slice_pitch);
|
||||
|
||||
mem = HeapAlloc(GetProcessHeap(), 0, dst_slice_pitch * depth);
|
||||
format->convert(data->addr, mem, src_row_pitch, src_slice_pitch,
|
||||
@@ -638,7 +613,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
converted_mem = HeapAlloc(GetProcessHeap(), 0, dst_slice_pitch * depth);
|
||||
format->convert(data->addr, converted_mem, src_row_pitch, src_slice_pitch,
|
||||
@@ -638,7 +614,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -361,10 +376,10 @@ index 7a77003..95885c7 100644
|
||||
@ cdecl wined3d_surface_get_resource(ptr)
|
||||
@ cdecl wined3d_surface_getdc(ptr ptr)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 7935a5d..abd8d2b 100644
|
||||
index 047946b..d3af1c0 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2080,6 +2080,7 @@ struct wined3d_resource
|
||||
@@ -2091,6 +2091,7 @@ struct wined3d_resource
|
||||
UINT size;
|
||||
DWORD priority;
|
||||
void *heap_memory;
|
||||
@ -372,7 +387,7 @@ index 7935a5d..abd8d2b 100644
|
||||
struct list resource_list_entry;
|
||||
|
||||
void *parent;
|
||||
@@ -2298,7 +2299,6 @@ struct wined3d_surface
|
||||
@@ -2314,7 +2315,6 @@ struct wined3d_surface
|
||||
|
||||
DWORD flags;
|
||||
|
||||
@ -381,10 +396,10 @@ index 7935a5d..abd8d2b 100644
|
||||
UINT pow2Height;
|
||||
|
||||
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
|
||||
index 0cf26e1..3d24b98 100644
|
||||
index 6e06388..cd8fd28 100644
|
||||
--- a/include/wine/wined3d.h
|
||||
+++ b/include/wine/wined3d.h
|
||||
@@ -2411,6 +2411,8 @@ static inline HRESULT wined3d_private_store_set_private_data(struct wined3d_priv
|
||||
@@ -2418,6 +2418,8 @@ static inline HRESULT wined3d_private_store_set_private_data(struct wined3d_priv
|
||||
void __cdecl wined3d_resource_get_desc(const struct wined3d_resource *resource,
|
||||
struct wined3d_resource_desc *desc);
|
||||
void * __cdecl wined3d_resource_get_parent(const struct wined3d_resource *resource);
|
||||
@ -393,7 +408,7 @@ index 0cf26e1..3d24b98 100644
|
||||
DWORD __cdecl wined3d_resource_get_priority(const struct wined3d_resource *resource);
|
||||
void __cdecl wined3d_resource_set_parent(struct wined3d_resource *resource, void *parent);
|
||||
DWORD __cdecl wined3d_resource_set_priority(struct wined3d_resource *resource, DWORD priority);
|
||||
@@ -2468,7 +2470,6 @@ HRESULT __cdecl wined3d_surface_get_blt_status(const struct wined3d_surface *sur
|
||||
@@ -2475,7 +2477,6 @@ HRESULT __cdecl wined3d_surface_get_blt_status(const struct wined3d_surface *sur
|
||||
HRESULT __cdecl wined3d_surface_get_flip_status(const struct wined3d_surface *surface, DWORD flags);
|
||||
HRESULT __cdecl wined3d_surface_get_overlay_position(const struct wined3d_surface *surface, LONG *x, LONG *y);
|
||||
void * __cdecl wined3d_surface_get_parent(const struct wined3d_surface *surface);
|
||||
@ -402,5 +417,5 @@ index 0cf26e1..3d24b98 100644
|
||||
struct wined3d_surface *render_target);
|
||||
struct wined3d_resource * __cdecl wined3d_surface_get_resource(struct wined3d_surface *surface);
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c47fbee59422dcccdf545d9ca1a37eba75e7ef92 Mon Sep 17 00:00:00 2001
|
||||
From 4e063e06ce5bf0e641ce3f307c6cbfc891a227d4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sun, 17 Nov 2013 19:52:56 +0100
|
||||
Subject: wined3d: Pass a context to surface_load_texture.
|
||||
@ -8,10 +8,10 @@ Subject: wined3d: Pass a context to surface_load_texture.
|
||||
1 file changed, 6 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index ee6cfdd..b37dca9 100644
|
||||
index 92fe15c..6c291ad 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -4130,13 +4130,13 @@ static HRESULT surface_load_drawable(struct wined3d_surface *surface,
|
||||
@@ -4275,13 +4275,13 @@ static HRESULT surface_load_drawable(struct wined3d_surface *surface,
|
||||
}
|
||||
|
||||
static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@ -27,7 +27,7 @@ index ee6cfdd..b37dca9 100644
|
||||
UINT width, src_row_pitch, src_slice_pitch, dst_pitch;
|
||||
struct wined3d_bo_address data;
|
||||
struct wined3d_format format;
|
||||
@@ -4158,8 +4158,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4303,8 +4303,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
NULL, surface->resource.usage, surface->resource.pool, surface->resource.format,
|
||||
NULL, surface->resource.usage, surface->resource.pool, surface->resource.format))
|
||||
{
|
||||
@ -36,7 +36,7 @@ index ee6cfdd..b37dca9 100644
|
||||
if (srgb)
|
||||
surface_blt_fbo(device, context, WINED3D_TEXF_POINT, surface, WINED3D_LOCATION_TEXTURE_RGB,
|
||||
&src_rect, surface, WINED3D_LOCATION_TEXTURE_SRGB, &src_rect);
|
||||
@@ -4167,8 +4165,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4312,8 +4310,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
surface_blt_fbo(device, context, WINED3D_TEXF_POINT, surface, WINED3D_LOCATION_TEXTURE_SRGB,
|
||||
&src_rect, surface, WINED3D_LOCATION_TEXTURE_RGB, &src_rect);
|
||||
|
||||
@ -45,7 +45,7 @@ index ee6cfdd..b37dca9 100644
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@@ -4183,10 +4179,8 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4328,10 +4324,8 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
DWORD dst_location = srgb ? WINED3D_LOCATION_TEXTURE_SRGB : WINED3D_LOCATION_TEXTURE_RGB;
|
||||
RECT rect = {0, 0, surface->resource.width, surface->resource.height};
|
||||
|
||||
@ -56,7 +56,7 @@ index ee6cfdd..b37dca9 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -4224,9 +4218,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4369,9 +4363,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
surface_load_location(surface, WINED3D_LOCATION_SYSMEM);
|
||||
}
|
||||
|
||||
@ -66,16 +66,16 @@ index ee6cfdd..b37dca9 100644
|
||||
wined3d_texture_prepare_texture(texture, context, srgb);
|
||||
wined3d_texture_bind_and_dirtify(texture, context, srgb);
|
||||
|
||||
@@ -4307,8 +4298,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
|
||||
surface_upload_data(surface, gl_info, &format, &src_rect, src_row_pitch, &dst_point, srgb, &data);
|
||||
@@ -4453,8 +4444,6 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
wined3d_surface_upload_data(surface, gl_info, &format, &src_rect,
|
||||
src_row_pitch, &dst_point, srgb, wined3d_const_bo_address(&data));
|
||||
|
||||
- context_release(context);
|
||||
-
|
||||
HeapFree(GetProcessHeap(), 0, mem);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -4330,7 +4319,6 @@ static void surface_multisample_resolve(struct wined3d_surface *surface, struct
|
||||
@@ -4476,7 +4465,6 @@ static void surface_multisample_resolve(struct wined3d_surface *surface, struct
|
||||
HRESULT surface_load_location(struct wined3d_surface *surface, DWORD location)
|
||||
{
|
||||
struct wined3d_device *device = surface->resource.device;
|
||||
@ -83,7 +83,7 @@ index ee6cfdd..b37dca9 100644
|
||||
HRESULT hr;
|
||||
struct wined3d_context *context = NULL;
|
||||
|
||||
@@ -4410,7 +4398,10 @@ HRESULT surface_load_location(struct wined3d_surface *surface, DWORD location)
|
||||
@@ -4556,7 +4544,10 @@ HRESULT surface_load_location(struct wined3d_surface *surface, DWORD location)
|
||||
|
||||
case WINED3D_LOCATION_TEXTURE_RGB:
|
||||
case WINED3D_LOCATION_TEXTURE_SRGB:
|
||||
@ -96,5 +96,5 @@ index ee6cfdd..b37dca9 100644
|
||||
break;
|
||||
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 98ce21ea2f7c29d885b7dcf5b36819f8d977c5a5 Mon Sep 17 00:00:00 2001
|
||||
From b947c724e3227d812a7e60f1a845b2e5c2d7ec09 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 3 Oct 2013 12:31:24 +0200
|
||||
Subject: wined3d: Store volume locations in the resource.
|
||||
@ -9,11 +9,11 @@ Subject: wined3d: Store volume locations in the resource.
|
||||
2 files changed, 26 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index af99825..ea56b38 100644
|
||||
index 87b6ab6..62eb5ed 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -101,15 +101,15 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
static void wined3d_volume_validate_location(struct wined3d_volume *volume, DWORD location)
|
||||
@@ -102,15 +102,15 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
void wined3d_volume_validate_location(struct wined3d_volume *volume, DWORD location)
|
||||
{
|
||||
TRACE("Volume %p, setting %s.\n", volume, wined3d_debug_location(location));
|
||||
- volume->locations |= location;
|
||||
@ -32,7 +32,7 @@ index af99825..ea56b38 100644
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@@ -217,9 +217,9 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -218,9 +218,9 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
DWORD required_access = volume_access_from_location(location);
|
||||
|
||||
TRACE("Volume %p, loading %s, have %s.\n", volume, wined3d_debug_location(location),
|
||||
@ -44,7 +44,7 @@ index af99825..ea56b38 100644
|
||||
{
|
||||
TRACE("Location(s) already up to date.\n");
|
||||
return;
|
||||
@@ -242,32 +242,32 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -243,32 +243,32 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
&& !(volume->container->flags & WINED3D_TEXTURE_SRGB_ALLOCATED)))
|
||||
ERR("Trying to load (s)RGB texture without prior allocation.\n");
|
||||
|
||||
@ -57,13 +57,13 @@ index af99825..ea56b38 100644
|
||||
- else if (volume->locations & WINED3D_LOCATION_SYSMEM)
|
||||
+ else if (volume->resource.locations & WINED3D_LOCATION_SYSMEM)
|
||||
{
|
||||
struct wined3d_bo_address data = {0, volume->resource.heap_memory};
|
||||
struct wined3d_const_bo_address data = {0, volume->resource.heap_memory};
|
||||
wined3d_volume_upload_data(volume, context, &data);
|
||||
}
|
||||
- else if (volume->locations & WINED3D_LOCATION_BUFFER)
|
||||
+ else if (volume->resource.locations & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
struct wined3d_bo_address data = {volume->pbo, NULL};
|
||||
struct wined3d_const_bo_address data = {volume->pbo, NULL};
|
||||
wined3d_volume_upload_data(volume, context, &data);
|
||||
}
|
||||
- else if (volume->locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
@ -83,7 +83,7 @@ index af99825..ea56b38 100644
|
||||
return;
|
||||
}
|
||||
wined3d_volume_validate_location(volume, location);
|
||||
@@ -281,16 +281,16 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -282,16 +282,16 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
if (!volume->resource.heap_memory)
|
||||
ERR("Trying to load WINED3D_LOCATION_SYSMEM without setting it up first.\n");
|
||||
|
||||
@ -103,7 +103,7 @@ index af99825..ea56b38 100644
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, FALSE);
|
||||
else
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, TRUE);
|
||||
@@ -301,7 +301,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -302,7 +302,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
else
|
||||
{
|
||||
FIXME("Implement WINED3D_LOCATION_SYSMEM loading from %s.\n",
|
||||
@ -112,7 +112,7 @@ index af99825..ea56b38 100644
|
||||
return;
|
||||
}
|
||||
wined3d_volume_validate_location(volume, WINED3D_LOCATION_SYSMEM);
|
||||
@@ -311,16 +311,16 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -312,16 +312,16 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
if (!volume->pbo)
|
||||
ERR("Trying to load WINED3D_LOCATION_BUFFER without setting it up first.\n");
|
||||
|
||||
@ -132,7 +132,7 @@ index af99825..ea56b38 100644
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, FALSE);
|
||||
else
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, TRUE);
|
||||
@@ -330,7 +330,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -331,7 +331,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
else
|
||||
{
|
||||
FIXME("Implement WINED3D_LOCATION_BUFFER loading from %s.\n",
|
||||
@ -141,7 +141,7 @@ index af99825..ea56b38 100644
|
||||
return;
|
||||
}
|
||||
wined3d_volume_validate_location(volume, WINED3D_LOCATION_BUFFER);
|
||||
@@ -338,7 +338,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -339,7 +339,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
|
||||
default:
|
||||
FIXME("Implement %s loading from %s.\n", wined3d_debug_location(location),
|
||||
@ -150,7 +150,7 @@ index af99825..ea56b38 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -595,7 +595,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -596,7 +596,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
{
|
||||
wined3d_volume_validate_location(volume, WINED3D_LOCATION_SYSMEM);
|
||||
}
|
||||
@ -159,7 +159,7 @@ index af99825..ea56b38 100644
|
||||
{
|
||||
context = context_acquire(device, NULL);
|
||||
wined3d_volume_load_location(volume, context, WINED3D_LOCATION_SYSMEM);
|
||||
@@ -743,7 +743,7 @@ static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_texture
|
||||
@@ -744,7 +744,7 @@ static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_texture
|
||||
}
|
||||
|
||||
volume->texture_level = level;
|
||||
@ -169,7 +169,7 @@ index af99825..ea56b38 100644
|
||||
if (desc->pool == WINED3D_POOL_DEFAULT && desc->usage & WINED3DUSAGE_DYNAMIC
|
||||
&& gl_info->supported[ARB_PIXEL_BUFFER_OBJECT]
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index f24808b..57a048f 100644
|
||||
index 78406a4..004969d 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -5,7 +5,7 @@
|
||||
@ -181,7 +181,7 @@ index f24808b..57a048f 100644
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -2082,6 +2082,7 @@ struct wined3d_resource
|
||||
@@ -2093,6 +2093,7 @@ struct wined3d_resource
|
||||
void *heap_memory;
|
||||
UINT custom_row_pitch, custom_slice_pitch;
|
||||
struct list resource_list_entry;
|
||||
@ -189,7 +189,7 @@ index f24808b..57a048f 100644
|
||||
|
||||
void *parent;
|
||||
const struct wined3d_parent_ops *parent_ops;
|
||||
@@ -2236,7 +2237,7 @@ struct wined3d_volume
|
||||
@@ -2250,7 +2251,7 @@ struct wined3d_volume
|
||||
struct wined3d_resource resource;
|
||||
struct wined3d_texture *container;
|
||||
|
||||
@ -199,5 +199,5 @@ index f24808b..57a048f 100644
|
||||
DWORD download_count;
|
||||
GLuint pbo;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,19 +1,20 @@
|
||||
From 8b7f33e2323fa2acac3722c3a8a753b7a8f11db2 Mon Sep 17 00:00:00 2001
|
||||
From 8f5ecefe9fba62e68e71b8931b94a658e4b32602 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 3 Oct 2013 12:34:13 +0200
|
||||
Subject: wined3d: Move validate_location to resource.c.
|
||||
|
||||
---
|
||||
dlls/wined3d/resource.c | 7 +++++++
|
||||
dlls/wined3d/texture.c | 2 +-
|
||||
dlls/wined3d/volume.c | 19 ++++++-------------
|
||||
dlls/wined3d/wined3d_private.h | 1 +
|
||||
3 files changed, 14 insertions(+), 13 deletions(-)
|
||||
dlls/wined3d/wined3d_private.h | 2 +-
|
||||
4 files changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 8032a4c..bac15c0 100644
|
||||
index 7594a0d..dd80490 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -332,6 +332,13 @@ void wined3d_resource_update_draw_binding(struct wined3d_resource *resource)
|
||||
@@ -335,6 +335,13 @@ void wined3d_resource_update_draw_binding(struct wined3d_resource *resource)
|
||||
resource->draw_binding = WINED3D_LOCATION_TEXTURE_RGB;
|
||||
}
|
||||
|
||||
@ -27,15 +28,28 @@ index 8032a4c..bac15c0 100644
|
||||
void CDECL wined3d_resource_get_pitch(const struct wined3d_resource *resource, UINT *row_pitch,
|
||||
UINT *slice_pitch)
|
||||
{
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index ea56b38..6bc2724 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -98,13 +98,6 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
HeapFree(GetProcessHeap(), 0, mem);
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 1ff27bc..315a8d0 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1333,7 +1333,7 @@ static void texture3d_sub_resource_validate_location(struct wined3d_resource *su
|
||||
{
|
||||
struct wined3d_volume *volume = volume_from_resource(sub_resource);
|
||||
|
||||
- wined3d_volume_validate_location(volume, location);
|
||||
+ wined3d_resource_validate_location(&volume->resource, location);
|
||||
}
|
||||
|
||||
-static void wined3d_volume_validate_location(struct wined3d_volume *volume, DWORD location)
|
||||
static void texture3d_sub_resource_upload_data(struct wined3d_resource *sub_resource,
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 62eb5ed..e1fa454 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -99,13 +99,6 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
HeapFree(GetProcessHeap(), 0, converted_mem);
|
||||
}
|
||||
|
||||
-void wined3d_volume_validate_location(struct wined3d_volume *volume, DWORD location)
|
||||
-{
|
||||
- TRACE("Volume %p, setting %s.\n", volume, wined3d_debug_location(location));
|
||||
- volume->resource.locations |= location;
|
||||
@ -45,7 +59,7 @@ index ea56b38..6bc2724 100644
|
||||
void wined3d_volume_invalidate_location(struct wined3d_volume *volume, DWORD location)
|
||||
{
|
||||
TRACE("Volume %p, clearing %s.\n", volume, wined3d_debug_location(location));
|
||||
@@ -270,7 +263,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -271,7 +264,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
FIXME("Implement texture loading from %s.\n", wined3d_debug_location(volume->resource.locations));
|
||||
return;
|
||||
}
|
||||
@ -54,7 +68,7 @@ index ea56b38..6bc2724 100644
|
||||
|
||||
if (wined3d_volume_can_evict(volume))
|
||||
wined3d_volume_evict_sysmem(volume);
|
||||
@@ -304,7 +297,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -305,7 +298,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
wined3d_debug_location(volume->resource.locations));
|
||||
return;
|
||||
}
|
||||
@ -63,7 +77,7 @@ index ea56b38..6bc2724 100644
|
||||
break;
|
||||
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
@@ -333,7 +326,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -334,7 +327,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
wined3d_debug_location(volume->resource.locations));
|
||||
return;
|
||||
}
|
||||
@ -72,7 +86,7 @@ index ea56b38..6bc2724 100644
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -412,7 +405,7 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -413,7 +406,7 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
else
|
||||
{
|
||||
ERR("Out of memory when unloading volume %p.\n", volume);
|
||||
@ -81,7 +95,7 @@ index ea56b38..6bc2724 100644
|
||||
wined3d_volume_invalidate_location(volume, ~WINED3D_LOCATION_DISCARDED);
|
||||
}
|
||||
|
||||
@@ -558,7 +551,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -559,7 +552,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
|
||||
wined3d_volume_prepare_pbo(volume, context);
|
||||
if (flags & WINED3D_MAP_DISCARD)
|
||||
@ -90,7 +104,7 @@ index ea56b38..6bc2724 100644
|
||||
else
|
||||
wined3d_volume_load_location(volume, context, WINED3D_LOCATION_BUFFER);
|
||||
|
||||
@@ -593,7 +586,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -594,7 +587,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
|
||||
if (flags & WINED3D_MAP_DISCARD)
|
||||
{
|
||||
@ -100,10 +114,10 @@ index ea56b38..6bc2724 100644
|
||||
else if (!(volume->resource.locations & WINED3D_LOCATION_SYSMEM))
|
||||
{
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 57a048f..0c698b6 100644
|
||||
index 004969d..edbc066 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2114,6 +2114,7 @@ GLenum wined3d_resource_gl_legacy_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN;
|
||||
@@ -2125,6 +2125,7 @@ GLenum wined3d_resource_gl_legacy_map_flags(DWORD d3d_flags) DECLSPEC_HIDDEN;
|
||||
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@ -111,6 +125,14 @@ index 57a048f..0c698b6 100644
|
||||
|
||||
/* Tests show that the start address of resources is 32 byte aligned */
|
||||
#define RESOURCE_ALIGNMENT 16
|
||||
@@ -2270,7 +2271,6 @@ void wined3d_volume_get_pitch(const struct wined3d_volume *volume, UINT *row_pit
|
||||
void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *context,
|
||||
BOOL srgb_mode) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_invalidate_location(struct wined3d_volume *volume, DWORD location) DECLSPEC_HIDDEN;
|
||||
-void wined3d_volume_validate_location(struct wined3d_volume *volume, DWORD location) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wined3d_context *context,
|
||||
const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 298ba6d476f8f76000f879b2ca61ff1fd0e810ff Mon Sep 17 00:00:00 2001
|
||||
From ea0e273a5c7c53945e0de57fc877511555ed0627 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Tue, 21 Jan 2014 12:22:30 +0100
|
||||
Subject: wined3d: Move surface locations into the resource.
|
||||
@ -26,7 +26,7 @@ index bc66c4a..c1b3b6d 100644
|
||||
&& !wined3d_resource_is_offscreen(&src_surface->container->resource))
|
||||
{
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 0b4c6f9..01ccd9d 100644
|
||||
index df8789a..4ac9c3e 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -236,7 +236,7 @@ static void prepare_ds_clear(struct wined3d_surface *ds, struct wined3d_context
|
||||
@ -61,7 +61,7 @@ index 2d39a83..7034b25 100644
|
||||
else
|
||||
SetRectEmpty(¤t_rect);
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 8a14169..c44179f 100644
|
||||
index 6927ea3..1ed3e46 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -556,7 +556,7 @@ static void surface_prepare_system_memory(struct wined3d_surface *surface)
|
||||
@ -99,8 +99,8 @@ index 8a14169..c44179f 100644
|
||||
+ surface_get_memory(src_surface, &data, src_surface->resource.locations);
|
||||
wined3d_resource_get_pitch(&src_surface->resource, &src_row_pitch, &src_slice_pitch);
|
||||
|
||||
surface_upload_data(dst_surface, gl_info, src_format, src_rect, src_row_pitch, dst_point, FALSE, &data);
|
||||
@@ -1872,7 +1872,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
wined3d_surface_upload_data(dst_surface, gl_info, src_format, src_rect,
|
||||
@@ -1873,7 +1873,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
if (ck_changed)
|
||||
wined3d_texture_force_reload(surface->container);
|
||||
}
|
||||
@ -109,7 +109,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
TRACE("Reloading because surface is dirty.\n");
|
||||
}
|
||||
@@ -2186,7 +2186,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2187,7 +2187,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
create_dib = TRUE;
|
||||
}
|
||||
|
||||
@ -118,7 +118,7 @@ index 8a14169..c44179f 100644
|
||||
wined3d_resource_free_sysmem(&surface->resource);
|
||||
|
||||
width = texture_resource->width;
|
||||
@@ -3088,9 +3088,9 @@ void flip_surface(struct wined3d_surface *front, struct wined3d_surface *back)
|
||||
@@ -3233,9 +3233,9 @@ void flip_surface(struct wined3d_surface *front, struct wined3d_surface *back)
|
||||
back->flags = front->flags;
|
||||
front->flags = tmp_flags;
|
||||
|
||||
@ -131,7 +131,7 @@ index 8a14169..c44179f 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3269,7 +3269,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3414,7 +3414,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
checkGLcall("glEnable(texture_target)");
|
||||
|
||||
/* For now invalidate the texture copy of the back buffer. Drawable and sysmem copy are untouched */
|
||||
@ -140,7 +140,7 @@ index 8a14169..c44179f 100644
|
||||
}
|
||||
|
||||
/* Make sure that the top pixel is always above the bottom pixel, and keep a separate upside down flag
|
||||
@@ -3863,13 +3863,14 @@ void surface_modify_ds_location(struct wined3d_surface *surface,
|
||||
@@ -4008,13 +4008,14 @@ void surface_modify_ds_location(struct wined3d_surface *surface,
|
||||
{
|
||||
TRACE("surface %p, new location %#x, w %u, h %u.\n", surface, location, w, h);
|
||||
|
||||
@ -158,7 +158,7 @@ index 8a14169..c44179f 100644
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@@ -3884,7 +3885,7 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4029,7 +4030,7 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
/* TODO: Make this work for modes other than FBO */
|
||||
if (wined3d_settings.offscreen_rendering_mode != ORM_FBO) return;
|
||||
|
||||
@ -167,7 +167,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
w = surface->ds_current_size.cx;
|
||||
h = surface->ds_current_size.cy;
|
||||
@@ -3910,7 +3911,7 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4055,7 +4056,7 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
return;
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
TRACE("Surface was discarded, no need copy data.\n");
|
||||
switch (location)
|
||||
@@ -3927,17 +3928,17 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4072,17 +4073,17 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
default:
|
||||
FIXME("Unhandled location %#x\n", location);
|
||||
}
|
||||
@ -198,7 +198,7 @@ index 8a14169..c44179f 100644
|
||||
surface->ds_current_size.cx = surface->resource.width;
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
return;
|
||||
@@ -4026,7 +4027,7 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4171,7 +4172,7 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
ERR("Invalid location (%#x) specified.\n", location);
|
||||
}
|
||||
|
||||
@ -207,7 +207,7 @@ index 8a14169..c44179f 100644
|
||||
surface->ds_current_size.cx = surface->resource.width;
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
}
|
||||
@@ -4035,7 +4036,7 @@ void surface_validate_location(struct wined3d_surface *surface, DWORD location)
|
||||
@@ -4180,7 +4181,7 @@ void surface_validate_location(struct wined3d_surface *surface, DWORD location)
|
||||
{
|
||||
TRACE("surface %p, location %s.\n", surface, wined3d_debug_location(location));
|
||||
|
||||
@ -216,7 +216,7 @@ index 8a14169..c44179f 100644
|
||||
}
|
||||
|
||||
void surface_invalidate_location(struct wined3d_surface *surface, DWORD location)
|
||||
@@ -4044,9 +4045,9 @@ void surface_invalidate_location(struct wined3d_surface *surface, DWORD location
|
||||
@@ -4189,9 +4190,9 @@ void surface_invalidate_location(struct wined3d_surface *surface, DWORD location
|
||||
|
||||
if (location & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||
wined3d_texture_set_dirty(surface->container);
|
||||
@ -228,7 +228,7 @@ index 8a14169..c44179f 100644
|
||||
ERR("Surface %p does not have any up to date location.\n", surface);
|
||||
}
|
||||
|
||||
@@ -4082,7 +4083,7 @@ static void surface_copy_simple_location(struct wined3d_surface *surface, DWORD
|
||||
@@ -4227,7 +4228,7 @@ static void surface_copy_simple_location(struct wined3d_surface *surface, DWORD
|
||||
UINT size = surface->resource.size;
|
||||
|
||||
surface_get_memory(surface, &dst, location);
|
||||
@ -237,7 +237,7 @@ index 8a14169..c44179f 100644
|
||||
|
||||
if (dst.buffer_object)
|
||||
{
|
||||
@@ -4115,33 +4116,33 @@ static void surface_load_sysmem(struct wined3d_surface *surface,
|
||||
@@ -4260,33 +4261,33 @@ static void surface_load_sysmem(struct wined3d_surface *surface,
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
|
||||
@ -277,7 +277,7 @@ index 8a14169..c44179f 100644
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@@ -4181,14 +4182,14 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4326,14 +4327,14 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
|
||||
if (wined3d_settings.offscreen_rendering_mode != ORM_FBO
|
||||
&& wined3d_resource_is_offscreen(&texture->resource)
|
||||
@ -294,7 +294,7 @@ index 8a14169..c44179f 100644
|
||||
&& (surface->resource.format->flags & WINED3DFMT_FLAG_FBO_ATTACHABLE_SRGB)
|
||||
&& fbo_blit_supported(gl_info, WINED3D_BLIT_OP_COLOR_BLIT,
|
||||
NULL, surface->resource.usage, surface->resource.pool, surface->resource.format,
|
||||
@@ -4204,13 +4205,13 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4349,13 +4350,13 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@ -310,7 +310,7 @@ index 8a14169..c44179f 100644
|
||||
WINED3D_LOCATION_RB_RESOLVED : WINED3D_LOCATION_RB_MULTISAMPLE;
|
||||
DWORD dst_location = srgb ? WINED3D_LOCATION_TEXTURE_SRGB : WINED3D_LOCATION_TEXTURE_RGB;
|
||||
RECT rect = {0, 0, surface->resource.width, surface->resource.height};
|
||||
@@ -4225,7 +4226,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4370,7 +4371,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
|
||||
if (srgb)
|
||||
{
|
||||
@ -319,7 +319,7 @@ index 8a14169..c44179f 100644
|
||||
== WINED3D_LOCATION_TEXTURE_RGB)
|
||||
{
|
||||
/* Performance warning... */
|
||||
@@ -4236,7 +4237,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4381,7 +4382,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -328,7 +328,7 @@ index 8a14169..c44179f 100644
|
||||
== WINED3D_LOCATION_TEXTURE_SRGB)
|
||||
{
|
||||
/* Performance warning... */
|
||||
@@ -4246,7 +4247,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4391,7 +4392,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
}
|
||||
}
|
||||
|
||||
@ -337,7 +337,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
WARN("Trying to load a texture from sysmem, but no simple location is valid.\n");
|
||||
/* Lets hope we get it from somewhere... */
|
||||
@@ -4288,7 +4289,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4433,7 +4434,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
surface_remove_pbo(surface, gl_info);
|
||||
}
|
||||
|
||||
@ -346,7 +346,7 @@ index 8a14169..c44179f 100644
|
||||
if (format.convert)
|
||||
{
|
||||
/* This code is entered for texture formats which need a fixup. */
|
||||
@@ -4344,7 +4345,7 @@ static void surface_multisample_resolve(struct wined3d_surface *surface, struct
|
||||
@@ -4490,7 +4491,7 @@ static void surface_multisample_resolve(struct wined3d_surface *surface, struct
|
||||
{
|
||||
RECT rect = {0, 0, surface->resource.width, surface->resource.height};
|
||||
|
||||
@ -355,7 +355,7 @@ index 8a14169..c44179f 100644
|
||||
ERR("Trying to resolve multisampled surface %p, but location WINED3D_LOCATION_RB_MULTISAMPLE not current.\n",
|
||||
surface);
|
||||
|
||||
@@ -4362,12 +4363,12 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4508,12 +4509,12 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
if (surface->resource.usage & WINED3DUSAGE_DEPTHSTENCIL)
|
||||
{
|
||||
if (location == WINED3D_LOCATION_TEXTURE_RGB
|
||||
@ -370,7 +370,7 @@ index 8a14169..c44179f 100644
|
||||
&& surface->container->resource.draw_binding != WINED3D_LOCATION_DRAWABLE)
|
||||
{
|
||||
/* Already up to date, nothing to do. */
|
||||
@@ -4376,12 +4377,12 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4522,12 +4523,12 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
else
|
||||
{
|
||||
FIXME("Unimplemented copy from %s to %s for depth/stencil buffers.\n",
|
||||
@ -385,7 +385,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
TRACE("Location already up to date.\n");
|
||||
return;
|
||||
@@ -4395,7 +4396,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4541,7 +4542,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
required_access, surface->resource.access_flags);
|
||||
}
|
||||
|
||||
@ -394,7 +394,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
ERR("Surface %p does not have any up to date location.\n", surface);
|
||||
surface->flags |= SFLAG_LOST;
|
||||
@@ -4434,7 +4435,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4580,7 +4581,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
|
||||
surface_validate_location(surface, location);
|
||||
|
||||
@ -403,7 +403,7 @@ index 8a14169..c44179f 100644
|
||||
surface_evict_sysmem(surface);
|
||||
|
||||
return;
|
||||
@@ -5439,8 +5440,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5585,8 +5586,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
{
|
||||
/* In principle this would apply to depth blits as well, but we don't
|
||||
* implement those in the CPU blitter at the moment. */
|
||||
@ -414,7 +414,7 @@ index 8a14169..c44179f 100644
|
||||
{
|
||||
if (scale)
|
||||
TRACE("Not doing sysmem blit because of scaling.\n");
|
||||
@@ -5467,8 +5468,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5613,8 +5614,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
TRACE("Color blit.\n");
|
||||
|
||||
/* Upload */
|
||||
@ -426,10 +426,10 @@ index 8a14169..c44179f 100644
|
||||
if (scale)
|
||||
TRACE("Not doing upload because of scaling.\n");
|
||||
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
|
||||
index d742b11..601d3ad 100644
|
||||
index f984235..4d7eb32 100644
|
||||
--- a/dlls/wined3d/swapchain.c
|
||||
+++ b/dlls/wined3d/swapchain.c
|
||||
@@ -555,8 +555,8 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -560,8 +560,8 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
}
|
||||
|
||||
front = surface_from_resource(wined3d_texture_get_sub_resource(swapchain->front_buffer, 0));
|
||||
@ -441,10 +441,10 @@ index d742b11..601d3ad 100644
|
||||
/* Both memory copies of the surfaces are ok, flip them around too instead of dirtifying
|
||||
* Doesn't work with render_to_fbo because we're not flipping
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 0c698b6..4011833 100644
|
||||
index edbc066..8203200 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2297,7 +2297,6 @@ struct wined3d_surface
|
||||
@@ -2312,7 +2312,6 @@ struct wined3d_surface
|
||||
const struct wined3d_surface_ops *surface_ops;
|
||||
struct wined3d_texture *container;
|
||||
void *user_memory;
|
||||
@ -453,5 +453,5 @@ index 0c698b6..4011833 100644
|
||||
DWORD flags;
|
||||
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a15ccac8ee6ece2955548900f4e7b4a993a498b2 Mon Sep 17 00:00:00 2001
|
||||
From c24cea315381bd5666541f3717079e3d09c02ff4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sat, 4 Jan 2014 00:53:47 +0100
|
||||
Subject: wined3d: Remove surface_validate_location.
|
||||
@ -8,8 +8,9 @@ Subject: wined3d: Remove surface_validate_location.
|
||||
dlls/wined3d/device.c | 2 +-
|
||||
dlls/wined3d/surface.c | 29 +++++++++++------------------
|
||||
dlls/wined3d/swapchain.c | 12 ++++++------
|
||||
dlls/wined3d/texture.c | 2 +-
|
||||
dlls/wined3d/wined3d_private.h | 1 -
|
||||
5 files changed, 19 insertions(+), 27 deletions(-)
|
||||
6 files changed, 20 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
|
||||
index c1b3b6d..08f92cb 100644
|
||||
@ -25,7 +26,7 @@ index c1b3b6d..08f92cb 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 01ccd9d..e10ea1c 100644
|
||||
index 4ac9c3e..99f4e96 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -392,7 +392,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
|
||||
@ -38,7 +39,7 @@ index 01ccd9d..e10ea1c 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index c44179f..b56796e 100644
|
||||
index 1ed3e46..f756621 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1224,7 +1224,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@ -50,7 +51,7 @@ index c44179f..b56796e 100644
|
||||
surface_invalidate_location(surface, ~WINED3D_LOCATION_SYSMEM);
|
||||
|
||||
/* We also get here when the ddraw swapchain is destroyed, for example
|
||||
@@ -1735,7 +1735,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
@@ -1736,7 +1736,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
|
||||
context_release(context);
|
||||
|
||||
@ -59,7 +60,7 @@ index c44179f..b56796e 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2253,7 +2253,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2254,7 +2254,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
valid_location = WINED3D_LOCATION_SYSMEM;
|
||||
}
|
||||
|
||||
@ -68,7 +69,7 @@ index c44179f..b56796e 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -2645,7 +2645,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2790,7 +2790,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
{
|
||||
TRACE("WINED3D_MAP_DISCARD flag passed, marking %s as up to date.\n",
|
||||
wined3d_debug_location(surface->resource.map_binding));
|
||||
@ -77,7 +78,7 @@ index c44179f..b56796e 100644
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3200,7 +3200,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
@@ -3345,7 +3345,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
|
||||
/* The texture is now most up to date - If the surface is a render target
|
||||
* and has a drawable, this path is never entered. */
|
||||
@ -86,7 +87,7 @@ index c44179f..b56796e 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@@ -3474,7 +3474,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3619,7 +3619,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
|
||||
/* The texture is now most up to date - If the surface is a render target
|
||||
* and has a drawable, this path is never entered. */
|
||||
@ -95,7 +96,7 @@ index c44179f..b56796e 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@@ -3787,7 +3787,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
@@ -3932,7 +3932,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT,
|
||||
(old_color_key_flags & WINEDDSD_CKSRCBLT) ? &old_blt_key : NULL);
|
||||
|
||||
@ -104,7 +105,7 @@ index c44179f..b56796e 100644
|
||||
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -4032,13 +4032,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4177,13 +4177,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
}
|
||||
|
||||
@ -118,7 +119,7 @@ index c44179f..b56796e 100644
|
||||
void surface_invalidate_location(struct wined3d_surface *surface, DWORD location)
|
||||
{
|
||||
TRACE("surface %p, location %s.\n", surface, wined3d_debug_location(location));
|
||||
@@ -4433,7 +4426,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4579,7 +4572,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
break;
|
||||
}
|
||||
|
||||
@ -127,7 +128,7 @@ index c44179f..b56796e 100644
|
||||
|
||||
if (location != WINED3D_LOCATION_SYSMEM && (surface->resource.locations & WINED3D_LOCATION_SYSMEM))
|
||||
surface_evict_sysmem(surface);
|
||||
@@ -5528,7 +5521,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5674,7 +5667,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
dst_surface, dst_surface->container->resource.draw_binding, &dst_rect);
|
||||
context_release(context);
|
||||
|
||||
@ -136,7 +137,7 @@ index c44179f..b56796e 100644
|
||||
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -5625,7 +5618,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5771,7 +5764,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
}
|
||||
|
||||
surface->container = container;
|
||||
@ -145,7 +146,7 @@ index c44179f..b56796e 100644
|
||||
list_init(&surface->renderbuffers);
|
||||
list_init(&surface->overlays);
|
||||
|
||||
@@ -5657,7 +5650,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5803,7 +5796,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
if (surface->resource.map_binding == WINED3D_LOCATION_DIB)
|
||||
{
|
||||
wined3d_resource_free_sysmem(&surface->resource);
|
||||
@ -155,10 +156,10 @@ index c44179f..b56796e 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
|
||||
index 601d3ad..bdb4b67 100644
|
||||
index 4d7eb32..3b0c6b3 100644
|
||||
--- a/dlls/wined3d/swapchain.c
|
||||
+++ b/dlls/wined3d/swapchain.c
|
||||
@@ -569,19 +569,19 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -574,19 +574,19 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
/* Tell the front buffer surface that is has been modified. However,
|
||||
* the other locations were preserved during that, so keep the flags.
|
||||
* This serves to update the emulated overlay, if any. */
|
||||
@ -182,7 +183,7 @@ index 601d3ad..bdb4b67 100644
|
||||
surface_invalidate_location(front, ~WINED3D_LOCATION_DRAWABLE);
|
||||
/* If the swapeffect is DISCARD, the back buffer is undefined. That means the SYSMEM
|
||||
* and INTEXTURE copies can keep their old content if they have any defined content.
|
||||
@@ -590,7 +590,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -595,7 +595,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
*/
|
||||
if (swapchain->desc.swap_effect == WINED3D_SWAP_EFFECT_FLIP)
|
||||
{
|
||||
@ -191,7 +192,7 @@ index 601d3ad..bdb4b67 100644
|
||||
surface_invalidate_location(back_buffer, ~back_buffer->container->resource.draw_binding);
|
||||
}
|
||||
}
|
||||
@@ -865,7 +865,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
|
||||
@@ -870,7 +870,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
|
||||
wined3d_texture_set_swapchain(swapchain->front_buffer, swapchain);
|
||||
if (!(device->wined3d->flags & WINED3D_NO3D))
|
||||
{
|
||||
@ -200,11 +201,24 @@ index 601d3ad..bdb4b67 100644
|
||||
surface_invalidate_location(front_buffer, ~WINED3D_LOCATION_DRAWABLE);
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 315a8d0..5bcbd12 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -876,7 +876,7 @@ static void texture2d_sub_resource_validate_location(struct wined3d_resource *su
|
||||
{
|
||||
struct wined3d_surface *surface = surface_from_resource(sub_resource);
|
||||
|
||||
- surface_validate_location(surface, location);
|
||||
+ wined3d_resource_validate_location(&surface->resource, location);
|
||||
}
|
||||
|
||||
static void texture2d_sub_resource_upload_data(struct wined3d_resource *sub_resource,
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 4011833..5ca3ab8 100644
|
||||
index 8203200..1a5cc7b 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2368,7 +2368,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2383,7 +2383,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
const struct wined3d_gl_info *gl_info, void *mem, unsigned int pitch) DECLSPEC_HIDDEN;
|
||||
HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const POINT *dst_point,
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect) DECLSPEC_HIDDEN;
|
||||
@ -213,5 +227,5 @@ index 4011833..5ca3ab8 100644
|
||||
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
|
||||
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c7669f4cc8e98c81027cd1c2392d3435ec534206 Mon Sep 17 00:00:00 2001
|
||||
From e91b559bcccc65140b04128ad41db21413065cf9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 3 Oct 2013 12:36:46 +0200
|
||||
Subject: wined3d: Move invalidate_location to resource.c.
|
||||
@ -12,7 +12,7 @@ Subject: wined3d: Move invalidate_location to resource.c.
|
||||
5 files changed, 17 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index e10ea1c..600afed 100644
|
||||
index 99f4e96..bde37b1 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3487,7 +3487,7 @@ static HRESULT device_update_volume(struct wined3d_device *device,
|
||||
@ -25,10 +25,10 @@ index e10ea1c..600afed 100644
|
||||
context_release(context);
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index bac15c0..1ec27d3 100644
|
||||
index dd80490..534cf80 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -339,6 +339,13 @@ void wined3d_resource_validate_location(struct wined3d_resource *resource, DWORD
|
||||
@@ -342,6 +342,13 @@ void wined3d_resource_validate_location(struct wined3d_resource *resource, DWORD
|
||||
TRACE("new location flags are %s.\n", wined3d_debug_location(resource->locations));
|
||||
}
|
||||
|
||||
@ -43,10 +43,10 @@ index bac15c0..1ec27d3 100644
|
||||
UINT *slice_pitch)
|
||||
{
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index c173518..f003fa2 100644
|
||||
index 5bcbd12..0113efc 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1286,9 +1286,7 @@ static void texture3d_sub_resource_cleanup(struct wined3d_resource *sub_resource
|
||||
@@ -1324,9 +1324,7 @@ static void texture3d_sub_resource_cleanup(struct wined3d_resource *sub_resource
|
||||
|
||||
static void texture3d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
{
|
||||
@ -56,13 +56,13 @@ index c173518..f003fa2 100644
|
||||
+ wined3d_resource_invalidate_location(sub_resource, location);
|
||||
}
|
||||
|
||||
static void texture3d_prepare_texture(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb)
|
||||
static void texture3d_sub_resource_validate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 6bc2724..3b742d2 100644
|
||||
index e1fa454..722f92e 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -98,13 +98,6 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
HeapFree(GetProcessHeap(), 0, mem);
|
||||
@@ -99,13 +99,6 @@ void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wine
|
||||
HeapFree(GetProcessHeap(), 0, converted_mem);
|
||||
}
|
||||
|
||||
-void wined3d_volume_invalidate_location(struct wined3d_volume *volume, DWORD location)
|
||||
@ -75,7 +75,7 @@ index 6bc2724..3b742d2 100644
|
||||
/* Context activation is done by the caller. */
|
||||
static void wined3d_volume_download_data(struct wined3d_volume *volume,
|
||||
const struct wined3d_context *context, const struct wined3d_bo_address *data)
|
||||
@@ -140,7 +133,7 @@ static void wined3d_volume_download_data(struct wined3d_volume *volume,
|
||||
@@ -141,7 +134,7 @@ static void wined3d_volume_download_data(struct wined3d_volume *volume,
|
||||
static void wined3d_volume_evict_sysmem(struct wined3d_volume *volume)
|
||||
{
|
||||
wined3d_resource_free_sysmem(&volume->resource);
|
||||
@ -84,7 +84,7 @@ index 6bc2724..3b742d2 100644
|
||||
}
|
||||
|
||||
static DWORD volume_access_from_location(DWORD location)
|
||||
@@ -238,7 +231,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -239,7 +232,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
if (volume->resource.locations & WINED3D_LOCATION_DISCARDED)
|
||||
{
|
||||
TRACE("Volume previously discarded, nothing to do.\n");
|
||||
@ -93,7 +93,7 @@ index 6bc2724..3b742d2 100644
|
||||
}
|
||||
else if (volume->resource.locations & WINED3D_LOCATION_SYSMEM)
|
||||
{
|
||||
@@ -277,7 +270,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -278,7 +271,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
if (volume->resource.locations & WINED3D_LOCATION_DISCARDED)
|
||||
{
|
||||
TRACE("Volume previously discarded, nothing to do.\n");
|
||||
@ -102,7 +102,7 @@ index 6bc2724..3b742d2 100644
|
||||
}
|
||||
else if (volume->resource.locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||
{
|
||||
@@ -307,7 +300,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
@@ -308,7 +301,7 @@ static void wined3d_volume_load_location(struct wined3d_volume *volume,
|
||||
if (volume->resource.locations & WINED3D_LOCATION_DISCARDED)
|
||||
{
|
||||
TRACE("Volume previously discarded, nothing to do.\n");
|
||||
@ -111,7 +111,7 @@ index 6bc2724..3b742d2 100644
|
||||
}
|
||||
else if (volume->resource.locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||
{
|
||||
@@ -400,13 +393,13 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -401,13 +394,13 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
context = context_acquire(device, NULL);
|
||||
wined3d_volume_load_location(volume, context, WINED3D_LOCATION_SYSMEM);
|
||||
context_release(context);
|
||||
@ -127,7 +127,7 @@ index 6bc2724..3b742d2 100644
|
||||
}
|
||||
|
||||
if (volume->pbo)
|
||||
@@ -640,7 +633,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -641,7 +634,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
if (!(flags & (WINED3D_MAP_NO_DIRTY_UPDATE | WINED3D_MAP_READONLY)))
|
||||
{
|
||||
wined3d_texture_set_dirty(volume->container);
|
||||
@ -137,10 +137,10 @@ index 6bc2724..3b742d2 100644
|
||||
|
||||
volume->resource.map_count++;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 5ca3ab8..fd28fa5 100644
|
||||
index 1a5cc7b..232e956 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2115,6 +2115,7 @@ BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_H
|
||||
@@ -2126,6 +2126,7 @@ BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_H
|
||||
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_validate_location(struct wined3d_resource *resource, DWORD location) DECLSPEC_HIDDEN;
|
||||
@ -148,14 +148,14 @@ index 5ca3ab8..fd28fa5 100644
|
||||
|
||||
/* Tests show that the start address of resources is 32 byte aligned */
|
||||
#define RESOURCE_ALIGNMENT 16
|
||||
@@ -2255,7 +2256,6 @@ HRESULT wined3d_volume_create(struct wined3d_texture *container, const struct wi
|
||||
void wined3d_volume_destroy(struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
@@ -2270,7 +2271,6 @@ void wined3d_volume_destroy(struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_get_pitch(const struct wined3d_volume *volume, UINT *row_pitch, UINT *slice_pitch) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *context,
|
||||
BOOL srgb_mode) DECLSPEC_HIDDEN;
|
||||
-void wined3d_volume_invalidate_location(struct wined3d_volume *volume, DWORD location) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wined3d_context *context,
|
||||
const struct wined3d_bo_address *data) DECLSPEC_HIDDEN;
|
||||
const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 421ef7716a0748076fd14bb607849f81ab149679 Mon Sep 17 00:00:00 2001
|
||||
From 7b874f424fc87ef49a94bc78d7080616ac9681a4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sat, 4 Jan 2014 01:02:15 +0100
|
||||
Subject: wined3d: Remove surface_invalidate_location.
|
||||
@ -41,7 +41,7 @@ index 1f34992..61c074f 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 600afed..70a30f0 100644
|
||||
index bde37b1..a6620f5 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -393,7 +393,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
|
||||
@ -67,7 +67,7 @@ index 7034b25..eef7e2c 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 6c2698a..ef52ed0 100644
|
||||
index 6f48834..8789d44 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -599,7 +599,7 @@ static void surface_evict_sysmem(struct wined3d_surface *surface)
|
||||
@ -118,7 +118,7 @@ index 6c2698a..ef52ed0 100644
|
||||
}
|
||||
|
||||
static const struct wined3d_resource_ops surface_resource_ops =
|
||||
@@ -1742,7 +1745,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
@@ -1743,7 +1746,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
context_release(context);
|
||||
|
||||
wined3d_resource_validate_location(&dst_surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
|
||||
@ -127,7 +127,7 @@ index 6c2698a..ef52ed0 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -1873,7 +1876,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
@@ -1874,7 +1877,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
|
||||
surface_prepare_map_memory(surface);
|
||||
surface_load_location(surface, context, surface->resource.map_binding);
|
||||
@ -136,7 +136,7 @@ index 6c2698a..ef52ed0 100644
|
||||
/* Switching color keying on / off may change the internal format. */
|
||||
if (ck_changed)
|
||||
wined3d_texture_force_reload(surface->container);
|
||||
@@ -2668,7 +2671,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2813,7 +2816,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
}
|
||||
|
||||
if (!(flags & (WINED3D_MAP_NO_DIRTY_UPDATE | WINED3D_MAP_READONLY)))
|
||||
@ -145,7 +145,7 @@ index 6c2698a..ef52ed0 100644
|
||||
|
||||
switch (surface->resource.map_binding)
|
||||
{
|
||||
@@ -2784,7 +2787,7 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
@@ -2929,7 +2932,7 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
}
|
||||
|
||||
surface_load_location(surface, context, WINED3D_LOCATION_DIB);
|
||||
@ -154,7 +154,7 @@ index 6c2698a..ef52ed0 100644
|
||||
|
||||
if (context)
|
||||
context_release(context);
|
||||
@@ -2833,7 +2836,7 @@ HRESULT CDECL wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc)
|
||||
@@ -2978,7 +2981,7 @@ HRESULT CDECL wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc)
|
||||
context = context_acquire(device, NULL);
|
||||
|
||||
surface_load_location(surface, context, surface->resource.map_binding);
|
||||
@ -163,7 +163,7 @@ index 6c2698a..ef52ed0 100644
|
||||
if (context)
|
||||
context_release(context);
|
||||
}
|
||||
@@ -3207,7 +3210,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
@@ -3352,7 +3355,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
/* The texture is now most up to date - If the surface is a render target
|
||||
* and has a drawable, this path is never entered. */
|
||||
wined3d_resource_validate_location(&dst_surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
|
||||
@ -172,7 +172,7 @@ index 6c2698a..ef52ed0 100644
|
||||
}
|
||||
|
||||
/* Uses the hardware to stretch and flip the image */
|
||||
@@ -3275,7 +3278,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3420,7 +3423,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
checkGLcall("glEnable(texture_target)");
|
||||
|
||||
/* For now invalidate the texture copy of the back buffer. Drawable and sysmem copy are untouched */
|
||||
@ -181,7 +181,7 @@ index 6c2698a..ef52ed0 100644
|
||||
}
|
||||
|
||||
/* Make sure that the top pixel is always above the bottom pixel, and keep a separate upside down flag
|
||||
@@ -3481,7 +3484,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3626,7 +3629,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
/* The texture is now most up to date - If the surface is a render target
|
||||
* and has a drawable, this path is never entered. */
|
||||
wined3d_resource_validate_location(&dst_surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
|
||||
@ -190,7 +190,7 @@ index 6c2698a..ef52ed0 100644
|
||||
}
|
||||
|
||||
/* Front buffer coordinates are always full screen coordinates, but our GL
|
||||
@@ -3794,7 +3797,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
@@ -3939,7 +3942,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
(old_color_key_flags & WINEDDSD_CKSRCBLT) ? &old_blt_key : NULL);
|
||||
|
||||
wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
|
||||
@ -199,7 +199,7 @@ index 6c2698a..ef52ed0 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -4038,18 +4041,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4183,18 +4186,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ index 6c2698a..ef52ed0 100644
|
||||
static DWORD resource_access_from_location(DWORD location)
|
||||
{
|
||||
switch (location)
|
||||
@@ -5528,7 +5519,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5674,7 +5665,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
context_release(context);
|
||||
|
||||
wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
|
||||
@ -227,7 +227,7 @@ index 6c2698a..ef52ed0 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -5657,7 +5648,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5803,7 +5794,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
{
|
||||
wined3d_resource_free_sysmem(&surface->resource);
|
||||
wined3d_resource_validate_location(&surface->resource, WINED3D_LOCATION_DIB);
|
||||
@ -237,10 +237,10 @@ index 6c2698a..ef52ed0 100644
|
||||
|
||||
return hr;
|
||||
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
|
||||
index bdb4b67..e64715e 100644
|
||||
index 3b0c6b3..290a6cd 100644
|
||||
--- a/dlls/wined3d/swapchain.c
|
||||
+++ b/dlls/wined3d/swapchain.c
|
||||
@@ -512,7 +512,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -517,7 +517,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
if (!swapchain->render_to_fbo && render_to_fbo && wined3d_settings.offscreen_rendering_mode == ORM_FBO)
|
||||
{
|
||||
surface_load_location(back_buffer, context, WINED3D_LOCATION_TEXTURE_RGB);
|
||||
@ -249,7 +249,7 @@ index bdb4b67..e64715e 100644
|
||||
swapchain->render_to_fbo = TRUE;
|
||||
swapchain_update_draw_bindings(swapchain);
|
||||
}
|
||||
@@ -574,15 +574,15 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -579,15 +579,15 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
else
|
||||
{
|
||||
wined3d_resource_validate_location(&front->resource, WINED3D_LOCATION_DRAWABLE);
|
||||
@ -268,7 +268,7 @@ index bdb4b67..e64715e 100644
|
||||
/* If the swapeffect is DISCARD, the back buffer is undefined. That means the SYSMEM
|
||||
* and INTEXTURE copies can keep their old content if they have any defined content.
|
||||
* If the swapeffect is COPY, the content remains the same. If it is FLIP however,
|
||||
@@ -591,7 +591,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -596,7 +596,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
if (swapchain->desc.swap_effect == WINED3D_SWAP_EFFECT_FLIP)
|
||||
{
|
||||
wined3d_resource_validate_location(&back_buffer->resource, back_buffer->container->resource.draw_binding);
|
||||
@ -277,7 +277,7 @@ index bdb4b67..e64715e 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -866,7 +866,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
|
||||
@@ -871,7 +871,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
|
||||
if (!(device->wined3d->flags & WINED3D_NO3D))
|
||||
{
|
||||
wined3d_resource_validate_location(&front_buffer->resource, WINED3D_LOCATION_DRAWABLE);
|
||||
@ -287,10 +287,10 @@ index bdb4b67..e64715e 100644
|
||||
|
||||
/* MSDN says we're only allowed a single fullscreen swapchain per device,
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index c42e475..941d935 100644
|
||||
index 9d89774..24c6cb9 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -832,7 +832,7 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
|
||||
@@ -855,7 +855,7 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
|
||||
context = context_acquire(surface->resource.device, NULL);
|
||||
surface_load_location(surface, context, surface->resource.map_binding);
|
||||
context_release(context);
|
||||
@ -299,7 +299,7 @@ index c42e475..941d935 100644
|
||||
}
|
||||
|
||||
static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource)
|
||||
@@ -844,9 +844,7 @@ static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource
|
||||
@@ -867,9 +867,7 @@ static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource
|
||||
|
||||
static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
{
|
||||
@ -309,12 +309,12 @@ index c42e475..941d935 100644
|
||||
+ wined3d_resource_invalidate_location(sub_resource, location);
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
static void texture2d_sub_resource_validate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 60d1b56..640aa95 100644
|
||||
index 2790115..002afea 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2351,7 +2351,6 @@ HRESULT surface_color_fill(struct wined3d_surface *s,
|
||||
@@ -2366,7 +2366,6 @@ HRESULT surface_color_fill(struct wined3d_surface *s,
|
||||
GLenum surface_get_gl_buffer(const struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context,
|
||||
unsigned int *width, unsigned int *height) DECLSPEC_HIDDEN;
|
||||
@ -323,5 +323,5 @@ index 60d1b56..640aa95 100644
|
||||
void surface_load_ds_location(struct wined3d_surface *surface,
|
||||
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b416ab9ae21fee5c8253969318c55156c1d5fc0a Mon Sep 17 00:00:00 2001
|
||||
From 437cae1236351d1ce2d0a6e5a2179de17932390b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 16 Jan 2014 22:07:17 +0100
|
||||
Subject: wined3d: Move volume PBO infrastructure into the resource.
|
||||
@ -10,10 +10,10 @@ Subject: wined3d: Move volume PBO infrastructure into the resource.
|
||||
3 files changed, 82 insertions(+), 79 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 63f8584..d904c36 100644
|
||||
index 6cbf120..ef7a52a 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -292,7 +292,7 @@ GLbitfield wined3d_resource_gl_map_flags(DWORD d3d_flags)
|
||||
@@ -295,7 +295,7 @@ GLbitfield wined3d_resource_gl_map_flags(DWORD d3d_flags)
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ index 63f8584..d904c36 100644
|
||||
{
|
||||
if (d3d_flags & WINED3D_MAP_READONLY)
|
||||
return GL_READ_ONLY_ARB;
|
||||
@@ -398,6 +398,68 @@ void wined3d_resource_load_location(struct wined3d_resource *resource,
|
||||
@@ -401,6 +401,68 @@ void wined3d_resource_load_location(struct wined3d_resource *resource,
|
||||
resource->resource_ops->resource_load_location(resource, context, location);
|
||||
}
|
||||
|
||||
@ -92,19 +92,19 @@ index 63f8584..d904c36 100644
|
||||
UINT *slice_pitch)
|
||||
{
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index ee64070..1e03097 100644
|
||||
index 2e92dd7..c538e08 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -215,7 +215,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@@ -216,7 +216,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
}
|
||||
else if (volume->resource.locations & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
- struct wined3d_bo_address data = {volume->pbo, NULL};
|
||||
+ struct wined3d_bo_address data = {volume->resource.buffer_object, NULL};
|
||||
- struct wined3d_const_bo_address data = {volume->pbo, NULL};
|
||||
+ struct wined3d_const_bo_address data = {volume->resource.buffer_object, NULL};
|
||||
wined3d_volume_upload_data(volume, context, &data);
|
||||
}
|
||||
else if (volume->resource.locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
@@ -269,7 +269,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@@ -270,7 +270,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
break;
|
||||
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
@ -113,7 +113,7 @@ index ee64070..1e03097 100644
|
||||
ERR("Trying to load WINED3D_LOCATION_BUFFER without setting it up first.\n");
|
||||
|
||||
if (volume->resource.locations & WINED3D_LOCATION_DISCARDED)
|
||||
@@ -279,7 +279,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@@ -280,7 +280,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
}
|
||||
else if (volume->resource.locations & (WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB))
|
||||
{
|
||||
@ -122,7 +122,7 @@ index ee64070..1e03097 100644
|
||||
|
||||
if (volume->resource.locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, FALSE);
|
||||
@@ -316,16 +316,16 @@ static void wined3d_volume_prepare_pbo(struct wined3d_volume *volume, struct win
|
||||
@@ -317,16 +317,16 @@ static void wined3d_volume_prepare_pbo(struct wined3d_volume *volume, struct win
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
|
||||
@ -143,7 +143,7 @@ index ee64070..1e03097 100644
|
||||
}
|
||||
|
||||
static void wined3d_volume_free_pbo(struct wined3d_volume *volume)
|
||||
@@ -333,10 +333,10 @@ static void wined3d_volume_free_pbo(struct wined3d_volume *volume)
|
||||
@@ -334,10 +334,10 @@ static void wined3d_volume_free_pbo(struct wined3d_volume *volume)
|
||||
struct wined3d_context *context = context_acquire(volume->resource.device, NULL);
|
||||
const struct wined3d_gl_info *gl_info = context->gl_info;
|
||||
|
||||
@ -157,7 +157,7 @@ index ee64070..1e03097 100644
|
||||
context_release(context);
|
||||
}
|
||||
|
||||
@@ -344,7 +344,7 @@ void wined3d_volume_destroy(struct wined3d_volume *volume)
|
||||
@@ -345,7 +345,7 @@ void wined3d_volume_destroy(struct wined3d_volume *volume)
|
||||
{
|
||||
TRACE("volume %p.\n", volume);
|
||||
|
||||
@ -166,7 +166,7 @@ index ee64070..1e03097 100644
|
||||
wined3d_volume_free_pbo(volume);
|
||||
|
||||
resource_cleanup(&volume->resource);
|
||||
@@ -377,7 +377,7 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -378,7 +378,7 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
wined3d_resource_invalidate_location(&volume->resource, ~WINED3D_LOCATION_DISCARDED);
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ index ee64070..1e03097 100644
|
||||
{
|
||||
/* Should not happen because only dynamic default pool volumes
|
||||
* have a buffer, and those are not evicted by device_evit_managed_resources
|
||||
@@ -493,44 +493,6 @@ static BOOL wined3d_volume_prepare_map_memory(struct wined3d_volume *volume, str
|
||||
@@ -494,44 +494,6 @@ static BOOL wined3d_volume_prepare_map_memory(struct wined3d_volume *volume, str
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,7 +220,7 @@ index ee64070..1e03097 100644
|
||||
HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags)
|
||||
{
|
||||
@@ -581,7 +543,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -582,7 +544,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
else
|
||||
wined3d_resource_load_location(&volume->resource, context, volume->resource.map_binding);
|
||||
|
||||
@ -229,7 +229,7 @@ index ee64070..1e03097 100644
|
||||
context_release(context);
|
||||
|
||||
TRACE("Base memory pointer %p.\n", base_memory);
|
||||
@@ -640,30 +602,6 @@ struct wined3d_volume * CDECL wined3d_volume_from_resource(struct wined3d_resour
|
||||
@@ -641,30 +603,6 @@ struct wined3d_volume * CDECL wined3d_volume_from_resource(struct wined3d_resour
|
||||
return volume_from_resource(resource);
|
||||
}
|
||||
|
||||
@ -260,7 +260,7 @@ index ee64070..1e03097 100644
|
||||
HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
{
|
||||
struct wined3d_device *device = volume->resource.device;
|
||||
@@ -677,7 +615,7 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
@@ -678,7 +616,7 @@ HRESULT CDECL wined3d_volume_unmap(struct wined3d_volume *volume)
|
||||
}
|
||||
|
||||
context = context_acquire(device, NULL);
|
||||
@ -270,10 +270,10 @@ index ee64070..1e03097 100644
|
||||
|
||||
volume->resource.map_count--;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 059310b..9285ab8 100644
|
||||
index 342b900..ff2f205 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2083,6 +2083,7 @@ struct wined3d_resource
|
||||
@@ -2094,6 +2094,7 @@ struct wined3d_resource
|
||||
UINT size;
|
||||
DWORD priority;
|
||||
void *heap_memory, *user_memory, *bitmap_data;
|
||||
@ -281,7 +281,7 @@ index 059310b..9285ab8 100644
|
||||
UINT custom_row_pitch, custom_slice_pitch;
|
||||
struct list resource_list_entry;
|
||||
DWORD locations;
|
||||
@@ -2113,12 +2114,15 @@ void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@@ -2124,12 +2125,15 @@ void resource_unload(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
DWORD wined3d_resource_access_from_location(DWORD location) DECLSPEC_HIDDEN;
|
||||
BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_free_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
@ -298,7 +298,7 @@ index 059310b..9285ab8 100644
|
||||
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_validate_location(struct wined3d_resource *resource, DWORD location) DECLSPEC_HIDDEN;
|
||||
@@ -2248,7 +2252,6 @@ struct wined3d_volume
|
||||
@@ -2262,7 +2266,6 @@ struct wined3d_volume
|
||||
DWORD flags;
|
||||
GLint texture_level;
|
||||
DWORD download_count;
|
||||
@ -307,5 +307,5 @@ index 059310b..9285ab8 100644
|
||||
|
||||
static inline struct wined3d_volume *volume_from_resource(struct wined3d_resource *resource)
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From df1b8896b325fb67b08f7cc8b6656d7166b451c2 Mon Sep 17 00:00:00 2001
|
||||
From a95bca19bbfd77bc151a29981e4cdd5c759f8821 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 18 Sep 2013 22:49:34 +0200
|
||||
Subject: wined3d: Move buffer creation into the resource.
|
||||
@ -15,10 +15,10 @@ surface_load_location will write a lot of ERRs.
|
||||
4 files changed, 72 insertions(+), 76 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index c0e4d70..d5ec71f 100644
|
||||
index b3c87ba..369ea52 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -142,6 +142,18 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
@@ -145,6 +145,18 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
return WINED3D_OK;
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ index c0e4d70..d5ec71f 100644
|
||||
void resource_cleanup(struct wined3d_resource *resource)
|
||||
{
|
||||
const struct wined3d *d3d = resource->device->wined3d;
|
||||
@@ -154,6 +166,9 @@ void resource_cleanup(struct wined3d_resource *resource)
|
||||
@@ -157,6 +169,9 @@ void resource_cleanup(struct wined3d_resource *resource)
|
||||
adapter_adjust_memory(resource->device->adapter, (INT64)0 - resource->size);
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ index c0e4d70..d5ec71f 100644
|
||||
wined3d_resource_free_sysmem(resource);
|
||||
|
||||
device_resource_released(resource->device, resource);
|
||||
@@ -164,6 +179,9 @@ void resource_unload(struct wined3d_resource *resource)
|
||||
@@ -167,6 +182,9 @@ void resource_unload(struct wined3d_resource *resource)
|
||||
if (resource->map_count)
|
||||
ERR("Resource %p is being unloaded while mapped.\n", resource);
|
||||
|
||||
@ -57,7 +57,7 @@ index c0e4d70..d5ec71f 100644
|
||||
context_resource_unloaded(resource->device,
|
||||
resource, resource->type);
|
||||
}
|
||||
@@ -468,6 +486,54 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -471,6 +489,54 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
}
|
||||
}
|
||||
|
||||
@ -113,10 +113,10 @@ index c0e4d70..d5ec71f 100644
|
||||
UINT *slice_pitch)
|
||||
{
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 48717d7..41cf61d 100644
|
||||
index 35010b0..91e8b72 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -1316,7 +1316,7 @@ static void texture3d_prepare_texture(struct wined3d_texture *texture, struct wi
|
||||
@@ -1378,7 +1378,7 @@ static void texture3d_prepare_texture(struct wined3d_texture *texture, struct wi
|
||||
void *mem = NULL;
|
||||
|
||||
if (gl_info->supported[APPLE_CLIENT_STORAGE] && !format->convert
|
||||
@ -126,7 +126,7 @@ index 48717d7..41cf61d 100644
|
||||
TRACE("Enabling GL_UNPACK_CLIENT_STORAGE_APPLE for volume %p\n", volume);
|
||||
gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_TRUE);
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 1e03097..a40d9f0 100644
|
||||
index c538e08..4842170 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -27,19 +27,6 @@
|
||||
@ -148,8 +148,8 @@ index 1e03097..a40d9f0 100644
|
||||
-
|
||||
/* Context activation is done by the caller. */
|
||||
void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wined3d_context *context,
|
||||
const struct wined3d_bo_address *data)
|
||||
@@ -311,42 +298,10 @@ void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *
|
||||
const struct wined3d_const_bo_address *data)
|
||||
@@ -312,42 +299,10 @@ void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *
|
||||
srgb_mode ? WINED3D_LOCATION_TEXTURE_SRGB : WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@ -192,7 +192,7 @@ index 1e03097..a40d9f0 100644
|
||||
resource_cleanup(&volume->resource);
|
||||
volume->resource.parent_ops->wined3d_object_destroyed(volume->resource.parent);
|
||||
HeapFree(GetProcessHeap(), 0, volume);
|
||||
@@ -363,7 +318,7 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -364,7 +319,7 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
|
||||
TRACE("texture %p.\n", resource);
|
||||
|
||||
@ -201,7 +201,7 @@ index 1e03097..a40d9f0 100644
|
||||
{
|
||||
context = context_acquire(device, NULL);
|
||||
wined3d_resource_load_location(&volume->resource, context, WINED3D_LOCATION_SYSMEM);
|
||||
@@ -377,15 +332,6 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -378,15 +333,6 @@ static void volume_unload(struct wined3d_resource *resource)
|
||||
wined3d_resource_invalidate_location(&volume->resource, ~WINED3D_LOCATION_DISCARDED);
|
||||
}
|
||||
|
||||
@ -217,7 +217,7 @@ index 1e03097..a40d9f0 100644
|
||||
/* The texture name is managed by the container. */
|
||||
volume->flags &= ~WINED3D_VFLAG_CLIENT_STORAGE;
|
||||
|
||||
@@ -475,24 +421,6 @@ static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *vol
|
||||
@@ -476,24 +422,6 @@ static BOOL wined3d_volume_check_box_dimensions(const struct wined3d_volume *vol
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -242,7 +242,7 @@ index 1e03097..a40d9f0 100644
|
||||
HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
struct wined3d_map_desc *map_desc, const struct wined3d_box *box, DWORD flags)
|
||||
{
|
||||
@@ -530,7 +458,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
@@ -531,7 +459,7 @@ HRESULT CDECL wined3d_volume_map(struct wined3d_volume *volume,
|
||||
flags = wined3d_resource_sanitize_map_flags(&volume->resource, flags);
|
||||
|
||||
context = context_acquire(device, NULL);
|
||||
@ -252,10 +252,10 @@ index 1e03097..a40d9f0 100644
|
||||
WARN("Out of memory.\n");
|
||||
map_desc->data = NULL;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 8dbee1a..9353e57 100644
|
||||
index a924009..26d2d5d 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2121,6 +2121,9 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
@@ -2132,6 +2132,9 @@ void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWO
|
||||
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_resource_load_location(struct wined3d_resource *resource,
|
||||
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
|
||||
@ -265,7 +265,7 @@ index 8dbee1a..9353e57 100644
|
||||
void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
const struct wined3d_context *context) DECLSPEC_HIDDEN;
|
||||
DWORD wined3d_resource_sanitize_map_flags(const struct wined3d_resource *resource, DWORD flags) DECLSPEC_HIDDEN;
|
||||
@@ -2259,7 +2262,6 @@ static inline struct wined3d_volume *volume_from_resource(struct wined3d_resourc
|
||||
@@ -2273,7 +2276,6 @@ static inline struct wined3d_volume *volume_from_resource(struct wined3d_resourc
|
||||
return CONTAINING_RECORD(resource, struct wined3d_volume, resource);
|
||||
}
|
||||
|
||||
@ -274,5 +274,5 @@ index 8dbee1a..9353e57 100644
|
||||
unsigned int level, struct wined3d_volume **volume) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_destroy(struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 564052d9ce2b7450a97ca3310d54d1b416976978 Mon Sep 17 00:00:00 2001
|
||||
From 97352f9938385bbf7c81995c1384633b7075076d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Mon, 16 Sep 2013 22:44:33 +0200
|
||||
Subject: wined3d: Introduce a function to retrieve resource memory.
|
||||
@ -10,10 +10,10 @@ Subject: wined3d: Introduce a function to retrieve resource memory.
|
||||
3 files changed, 38 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 051297c..94c06ac 100644
|
||||
index a7a0d44..05c5018 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -392,6 +392,36 @@ DWORD wined3d_resource_access_from_location(DWORD location)
|
||||
@@ -395,6 +395,36 @@ DWORD wined3d_resource_access_from_location(DWORD location)
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ index 051297c..94c06ac 100644
|
||||
void wined3d_resource_load_location(struct wined3d_resource *resource,
|
||||
struct wined3d_context *context, DWORD location)
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 29f4563..4815965 100644
|
||||
index e06a2d7..75e5acd 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -479,39 +479,6 @@ static HRESULT surface_create_dib_section(struct wined3d_surface *surface)
|
||||
@ -111,8 +111,8 @@ index 29f4563..4815965 100644
|
||||
+ wined3d_resource_get_memory(&src_surface->resource, src_surface->resource.locations, &data);
|
||||
wined3d_resource_get_pitch(&src_surface->resource, &src_row_pitch, &src_slice_pitch);
|
||||
|
||||
surface_upload_data(dst_surface, gl_info, src_format, src_rect, src_row_pitch, dst_point, FALSE, &data);
|
||||
@@ -2794,7 +2761,7 @@ static void read_from_framebuffer(struct wined3d_surface *surface,
|
||||
wined3d_surface_upload_data(dst_surface, gl_info, src_format, src_rect,
|
||||
@@ -2939,7 +2906,7 @@ static void read_from_framebuffer(struct wined3d_surface *surface,
|
||||
BOOL srcIsUpsideDown;
|
||||
struct wined3d_bo_address data;
|
||||
|
||||
@ -121,7 +121,7 @@ index 29f4563..4815965 100644
|
||||
|
||||
/* Context_release does not restore the original context in case of
|
||||
* nested context_acquire calls. Only read_from_framebuffer and
|
||||
@@ -3986,8 +3953,8 @@ static void surface_copy_simple_location(struct wined3d_surface *surface, DWORD
|
||||
@@ -4131,8 +4098,8 @@ static void surface_copy_simple_location(struct wined3d_surface *surface, DWORD
|
||||
struct wined3d_bo_address dst, src;
|
||||
UINT size = surface->resource.size;
|
||||
|
||||
@ -132,7 +132,7 @@ index 29f4563..4815965 100644
|
||||
|
||||
if (dst.buffer_object)
|
||||
{
|
||||
@@ -4206,7 +4173,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4351,7 +4318,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
surface_remove_pbo(surface, gl_info);
|
||||
}
|
||||
|
||||
@ -142,10 +142,10 @@ index 29f4563..4815965 100644
|
||||
{
|
||||
/* This code is entered for texture formats which need a fixup. */
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 9353e57..df2031a 100644
|
||||
index 26d2d5d..d56a63b 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2116,6 +2116,8 @@ BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPE
|
||||
@@ -2127,6 +2127,8 @@ BOOL wined3d_resource_allocate_sysmem(struct wined3d_resource *resource) DECLSPE
|
||||
void wined3d_resource_free_sysmem(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
BYTE *wined3d_resource_get_map_ptr(const struct wined3d_resource *resource,
|
||||
const struct wined3d_context *context, DWORD flags) DECLSPEC_HIDDEN;
|
||||
@ -155,5 +155,5 @@ index 9353e57..df2031a 100644
|
||||
void wined3d_resource_invalidate_location(struct wined3d_resource *resource, DWORD location) DECLSPEC_HIDDEN;
|
||||
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 86e9642f816e8f9bfa7b71f3157fd42071aaf7d6 Mon Sep 17 00:00:00 2001
|
||||
From 94dbd1a23471584d1f837ebc10f071d0ea09f9cf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Tue, 21 Jan 2014 16:40:56 +0100
|
||||
Subject: wined3d: Replace surface alloc functions with resource ones.
|
||||
@ -11,10 +11,10 @@ Subject: wined3d: Replace surface alloc functions with resource ones.
|
||||
4 files changed, 20 insertions(+), 87 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 947fe8d..aa81c00 100644
|
||||
index 0093c6a..59626f7 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -570,6 +570,16 @@ BOOL wined3d_resource_prepare_map_memory(struct wined3d_resource *resource, stru
|
||||
@@ -573,6 +573,16 @@ BOOL wined3d_resource_prepare_map_memory(struct wined3d_resource *resource, stru
|
||||
case WINED3D_LOCATION_SYSMEM:
|
||||
return wined3d_resource_prepare_system_memory(resource);
|
||||
|
||||
@ -32,7 +32,7 @@ index 947fe8d..aa81c00 100644
|
||||
ERR("Unexpected map binding %s.\n", wined3d_debug_location(resource->map_binding));
|
||||
return FALSE;
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 6fa2576..4c2a759 100644
|
||||
index b0f6ec9..85b1fd6 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -479,81 +479,6 @@ static HRESULT surface_create_dib_section(struct wined3d_surface *surface)
|
||||
@ -126,7 +126,7 @@ index 6fa2576..4c2a759 100644
|
||||
wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding);
|
||||
wined3d_resource_invalidate_location(&surface->resource, ~surface->resource.map_binding);
|
||||
}
|
||||
@@ -1780,7 +1705,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
@@ -1781,7 +1706,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
/* To perform the color key conversion we need a sysmem copy of
|
||||
* the surface. Make sure we have it. */
|
||||
|
||||
@ -135,7 +135,7 @@ index 6fa2576..4c2a759 100644
|
||||
wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding);
|
||||
wined3d_resource_invalidate_location(&surface->resource, ~surface->resource.map_binding);
|
||||
/* Switching color keying on / off may change the internal format. */
|
||||
@@ -2164,7 +2089,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2165,7 +2090,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
|
||||
if (!valid_location)
|
||||
{
|
||||
@ -144,7 +144,7 @@ index 6fa2576..4c2a759 100644
|
||||
valid_location = WINED3D_LOCATION_SYSMEM;
|
||||
}
|
||||
|
||||
@@ -2567,7 +2492,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2712,7 +2637,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
if (device->d3d_initialized)
|
||||
context = context_acquire(device, NULL);
|
||||
|
||||
@ -153,7 +153,7 @@ index 6fa2576..4c2a759 100644
|
||||
if (flags & WINED3D_MAP_DISCARD)
|
||||
{
|
||||
TRACE("WINED3D_MAP_DISCARD flag passed, marking %s as up to date.\n",
|
||||
@@ -4097,7 +4022,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4242,7 +4167,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
{
|
||||
/* Performance warning... */
|
||||
FIXME("Downloading RGB surface %p to reload it as sRGB.\n", surface);
|
||||
@ -162,7 +162,7 @@ index 6fa2576..4c2a759 100644
|
||||
wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding);
|
||||
}
|
||||
}
|
||||
@@ -4108,7 +4033,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4253,7 +4178,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
{
|
||||
/* Performance warning... */
|
||||
FIXME("Downloading sRGB surface %p to reload it as RGB.\n", surface);
|
||||
@ -171,7 +171,7 @@ index 6fa2576..4c2a759 100644
|
||||
wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding);
|
||||
}
|
||||
}
|
||||
@@ -4117,7 +4042,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4262,7 +4187,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
{
|
||||
WARN("Trying to load a texture from sysmem, but no simple location is valid.\n");
|
||||
/* Lets hope we get it from somewhere... */
|
||||
@ -180,7 +180,7 @@ index 6fa2576..4c2a759 100644
|
||||
wined3d_resource_load_location(&surface->resource, context, WINED3D_LOCATION_SYSMEM);
|
||||
}
|
||||
|
||||
@@ -4150,7 +4075,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4295,7 +4220,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
else
|
||||
surface->resource.map_binding = WINED3D_LOCATION_SYSMEM;
|
||||
|
||||
@ -190,10 +190,10 @@ index 6fa2576..4c2a759 100644
|
||||
surface_remove_pbo(surface, gl_info);
|
||||
}
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 8298e53..429eb89 100644
|
||||
index 0c3fe95..06a041c 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -828,8 +828,8 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
|
||||
@@ -851,8 +851,8 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
|
||||
struct wined3d_surface *surface = surface_from_resource(sub_resource);
|
||||
struct wined3d_context *context;
|
||||
|
||||
@ -203,7 +203,7 @@ index 8298e53..429eb89 100644
|
||||
wined3d_resource_load_location(&surface->resource, context, surface->resource.map_binding);
|
||||
context_release(context);
|
||||
wined3d_resource_invalidate_location(&surface->resource, ~surface->resource.map_binding);
|
||||
@@ -916,8 +916,7 @@ static void texture2d_prepare_texture(struct wined3d_texture *texture, struct wi
|
||||
@@ -966,8 +966,7 @@ static void texture2d_prepare_texture(struct wined3d_texture *texture, struct wi
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -214,17 +214,17 @@ index 8298e53..429eb89 100644
|
||||
surface->flags |= SFLAG_CLIENT;
|
||||
mem = surface->resource.heap_memory;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 35f2445..51c957b 100644
|
||||
index 7ea1374..b9d77f3 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2380,7 +2380,6 @@ HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct w
|
||||
@@ -2395,7 +2395,6 @@ HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct w
|
||||
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
|
||||
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
-void surface_prepare_map_memory(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
|
||||
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f2f3b1c84b57d393a2eb2986704537d37d81f04b Mon Sep 17 00:00:00 2001
|
||||
From d8d04cd60fafff413cb9f04efe1e5807eebf95b5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Mon, 29 Apr 2013 18:49:53 +0200
|
||||
Subject: wined3d: Send blits through the command stream.
|
||||
@ -108,10 +108,10 @@ index 949bd6b..dcaedfd 100644
|
||||
{
|
||||
struct wined3d_cs_block *block;
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 97450ef..2620570 100644
|
||||
index e2cc4c2..8536927 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -4937,14 +4937,13 @@ const struct blit_shader cpu_blit = {
|
||||
@@ -5083,14 +5083,13 @@ const struct blit_shader cpu_blit = {
|
||||
cpu_blit_depth_fill,
|
||||
};
|
||||
|
||||
@ -128,7 +128,7 @@ index 97450ef..2620570 100644
|
||||
BOOL scale, convert;
|
||||
|
||||
static const DWORD simple_blit = WINEDDBLT_ASYNC
|
||||
@@ -4953,111 +4952,6 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5099,111 +5098,6 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
| WINEDDBLT_DEPTHFILL
|
||||
| WINEDDBLT_DONOTWAIT;
|
||||
|
||||
@ -240,7 +240,7 @@ index 97450ef..2620570 100644
|
||||
if (!device->d3d_initialized)
|
||||
{
|
||||
WARN("D3D not initialized, using fallback.\n");
|
||||
@@ -5100,8 +4994,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5246,8 +5140,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
}
|
||||
|
||||
scale = src_surface
|
||||
@ -251,7 +251,7 @@ index 97450ef..2620570 100644
|
||||
convert = src_surface && src_surface->resource.format->id != dst_surface->resource.format->id;
|
||||
|
||||
dst_ds_flags = dst_surface->resource.format->flags & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL);
|
||||
@@ -5119,22 +5013,16 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5265,22 +5159,16 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
TRACE("Depth fill.\n");
|
||||
|
||||
if (!surface_convert_depth_to_float(dst_surface, fx->u5.dwFillDepth, &depth))
|
||||
@ -279,7 +279,7 @@ index 97450ef..2620570 100644
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -5161,8 +5049,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5307,8 +5195,8 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
if (!surface_convert_color_to_float(dst_surface, fx->u5.dwFillColor, &color))
|
||||
goto fallback;
|
||||
|
||||
@ -290,7 +290,7 @@ index 97450ef..2620570 100644
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5178,9 +5066,9 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5324,9 +5212,9 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
TRACE("Not doing upload because of format conversion.\n");
|
||||
else
|
||||
{
|
||||
@ -302,7 +302,7 @@ index 97450ef..2620570 100644
|
||||
{
|
||||
if (!wined3d_resource_is_offscreen(&dst_surface->container->resource))
|
||||
{
|
||||
@@ -5189,7 +5077,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5335,7 +5223,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
dst_surface->container->resource.draw_binding);
|
||||
context_release(context);
|
||||
}
|
||||
@ -311,7 +311,7 @@ index 97450ef..2620570 100644
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5214,51 +5102,192 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5360,51 +5248,192 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
wined3d_swapchain_present(dst_swapchain, NULL, NULL, dst_swapchain->win_handle, NULL, 0);
|
||||
dst_swapchain->desc.swap_effect = swap_effect;
|
||||
|
||||
@ -518,20 +518,20 @@ index 97450ef..2620570 100644
|
||||
|
||||
static const struct wined3d_resource_ops surface_resource_ops =
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index ab3d07f..a311a35 100644
|
||||
index 3c04b1b..6889bd8 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2409,6 +2409,9 @@ HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct w
|
||||
@@ -2424,6 +2424,9 @@ HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct w
|
||||
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
|
||||
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
+void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_in,
|
||||
+ struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags,
|
||||
+ const WINEDDBLTFX *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
@@ -2553,6 +2556,7 @@ struct wined3d_cs
|
||||
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
|
||||
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
@@ -2571,6 +2574,7 @@ struct wined3d_cs
|
||||
struct wined3d_device *device;
|
||||
struct wined3d_state state;
|
||||
HANDLE thread;
|
||||
@ -539,7 +539,7 @@ index ab3d07f..a311a35 100644
|
||||
DWORD tls_idx;
|
||||
struct wined3d_surface *onscreen_depth_stencil;
|
||||
|
||||
@@ -2629,6 +2633,10 @@ void wined3d_cs_emit_set_primitive_type(struct wined3d_cs *cs,
|
||||
@@ -2647,6 +2651,10 @@ void wined3d_cs_emit_set_primitive_type(struct wined3d_cs *cs,
|
||||
GLenum primitive_type) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_light(struct wined3d_cs *cs, const struct wined3d_light_info *light) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_set_light_enable(struct wined3d_cs *cs, UINT idx, BOOL enable) DECLSPEC_HIDDEN;
|
||||
@ -551,5 +551,5 @@ index ab3d07f..a311a35 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f563282c26b069e5e053bd2bc441fe079854f998 Mon Sep 17 00:00:00 2001
|
||||
From 69549fe872a05e2bfb752d583f7342cf52dd6228 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 20 Aug 2014 14:14:23 +0200
|
||||
Subject: wined3d: Put update_surface checks back in place
|
||||
@ -12,7 +12,7 @@ yet because blits depend on them.
|
||||
3 files changed, 68 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 9ef99b2..599a25d 100644
|
||||
index 5242028..a4d1c53 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3731,6 +3731,13 @@ HRESULT CDECL wined3d_device_update_surface(struct wined3d_device *device,
|
||||
@ -96,10 +96,10 @@ index 9ef99b2..599a25d 100644
|
||||
{
|
||||
FIXME("Waiting for cs.\n");
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 2620570..c47f78c 100644
|
||||
index 8536927..01bee3e 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1420,7 +1420,7 @@ static void surface_upload_data(struct wined3d_surface *surface, const struct wi
|
||||
@@ -1420,7 +1420,7 @@ void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct w
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,17 +109,17 @@ index 2620570..c47f78c 100644
|
||||
struct wined3d_box box;
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index a311a35..0d76377 100644
|
||||
index 6889bd8..c3b1c28 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2412,6 +2412,7 @@ void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
@@ -2427,6 +2427,7 @@ void wined3d_surface_destroy(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_in,
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags,
|
||||
const WINEDDBLTFX *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
+BOOL surface_check_block_align(struct wined3d_surface *surface, const RECT *rect) DECLSPEC_HIDDEN;
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
|
||||
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ece46da9666f1f33930351ffe5ba81d346db164a Mon Sep 17 00:00:00 2001
|
||||
From 1cc8df787d882d4c0a32c7c2f423c9935db5cf64 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 1 Aug 2013 00:33:48 +0200
|
||||
Subject: wined3d: Send update_texture calls through the CS
|
||||
@ -75,7 +75,7 @@ index 4834dd4..aeba50f 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index ed055f8..f1c284a 100644
|
||||
index cbb1466..5333f23 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3398,16 +3398,15 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
|
||||
@ -86,9 +86,9 @@ index ed055f8..f1c284a 100644
|
||||
+static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
struct wined3d_volume *src_volume, struct wined3d_volume *dst_volume)
|
||||
{
|
||||
struct wined3d_const_bo_address data;
|
||||
struct wined3d_map_desc src;
|
||||
HRESULT hr;
|
||||
struct wined3d_bo_address data;
|
||||
- struct wined3d_context *context;
|
||||
|
||||
- TRACE("device %p, src_volume %p, dst_volume %p.\n",
|
||||
@ -284,10 +284,10 @@ index ed055f8..f1c284a 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 409f395..25fce7f 100644
|
||||
index a1518dd..656469a 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2063,6 +2063,8 @@ void device_resource_add(struct wined3d_device *device, struct wined3d_resource
|
||||
@@ -2074,6 +2074,8 @@ void device_resource_add(struct wined3d_device *device, struct wined3d_resource
|
||||
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;
|
||||
void device_invalidate_shader_constants(const struct wined3d_device *device, DWORD mask) DECLSPEC_HIDDEN;
|
||||
@ -296,7 +296,7 @@ index 409f395..25fce7f 100644
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -2655,6 +2657,8 @@ void wined3d_cs_emit_update_surface(struct wined3d_cs *cs, struct wined3d_surfac
|
||||
@@ -2673,6 +2675,8 @@ void wined3d_cs_emit_update_surface(struct wined3d_cs *cs, struct wined3d_surfac
|
||||
const RECT *src_rect, struct wined3d_surface *dst, const POINT *dst_point) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_texture_preload(struct wined3d_cs *cs, struct wined3d_texture *texture) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_surface_preload(struct wined3d_cs *cs, struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
@ -306,5 +306,5 @@ index 409f395..25fce7f 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b78bd76d80ff1d2edf5a9789e117ae003ec2c842 Mon Sep 17 00:00:00 2001
|
||||
From 72175d9c8fd436a69642594990d9b671ac497f0d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 29 Aug 2013 22:25:14 +0200
|
||||
Subject: wined3d: Don't lock the src volume in device_update_volume
|
||||
@ -13,17 +13,17 @@ FIXME: Maybe merge this with the previous patch or change their order.
|
||||
1 file changed, 1 insertion(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index f1c284a..ae7ad31 100644
|
||||
index 5333f23..8d6272d 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3401,7 +3401,6 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
|
||||
static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
@@ -3402,7 +3402,6 @@ static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
struct wined3d_volume *src_volume, struct wined3d_volume *dst_volume)
|
||||
{
|
||||
struct wined3d_const_bo_address data;
|
||||
- struct wined3d_map_desc src;
|
||||
HRESULT hr;
|
||||
struct wined3d_bo_address data;
|
||||
|
||||
TRACE("src_volume %p, dst_volume %p.\n",
|
||||
@@ -3421,19 +3420,12 @@ static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
@ -46,5 +46,5 @@ index f1c284a..ae7ad31 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 496e24cd5a0649042e456adc2b4e512e15463974 Mon Sep 17 00:00:00 2001
|
||||
From a9c5139b4af3710105931fb127431ac153b48062 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Fri, 30 Aug 2013 17:00:35 +0200
|
||||
Subject: wined3d: Wrap GL BOs in a structure
|
||||
@ -14,10 +14,10 @@ them for DISCARD maps.
|
||||
5 files changed, 86 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index f062e84..6f82385 100644
|
||||
index c9723ea..c57bd77 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -5007,3 +5007,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
@@ -4990,3 +4990,56 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
|
||||
else
|
||||
return CallWindowProcA(proc, window, message, wparam, lparam);
|
||||
}
|
||||
@ -75,10 +75,10 @@ index f062e84..6f82385 100644
|
||||
+ wined3d_device_destroy_bo(device, context, bo);
|
||||
+}
|
||||
diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
|
||||
index 7cafdc6..4fc4ce9 100644
|
||||
index f84b3ee..885075e 100644
|
||||
--- a/dlls/wined3d/resource.c
|
||||
+++ b/dlls/wined3d/resource.c
|
||||
@@ -145,12 +145,10 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
@@ -148,12 +148,10 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
|
||||
void wined3d_resource_free_bo(struct wined3d_resource *resource)
|
||||
{
|
||||
struct wined3d_context *context = context_acquire(resource->device, NULL);
|
||||
@ -94,7 +94,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
context_release(context);
|
||||
}
|
||||
|
||||
@@ -166,7 +164,7 @@ void resource_cleanup(struct wined3d_resource *resource)
|
||||
@@ -169,7 +167,7 @@ void resource_cleanup(struct wined3d_resource *resource)
|
||||
adapter_adjust_memory(resource->device->adapter, (INT64)0 - resource->size);
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
wined3d_resource_free_bo(resource);
|
||||
|
||||
wined3d_resource_free_sysmem(resource);
|
||||
@@ -179,7 +177,7 @@ void resource_unload(struct wined3d_resource *resource)
|
||||
@@ -182,7 +180,7 @@ void resource_unload(struct wined3d_resource *resource)
|
||||
if (resource->map_count)
|
||||
ERR("Resource %p is being unloaded while mapped.\n", resource);
|
||||
|
||||
@ -112,7 +112,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
wined3d_resource_free_bo(resource);
|
||||
|
||||
context_resource_unloaded(resource->device,
|
||||
@@ -397,7 +395,7 @@ void wined3d_resource_get_memory(const struct wined3d_resource *resource,
|
||||
@@ -400,7 +398,7 @@ void wined3d_resource_get_memory(const struct wined3d_resource *resource,
|
||||
{
|
||||
if (location & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
@ -121,7 +121,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
data->addr = NULL;
|
||||
return;
|
||||
}
|
||||
@@ -506,7 +504,7 @@ BYTE *wined3d_resource_get_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -509,7 +507,7 @@ BYTE *wined3d_resource_get_map_ptr(const struct wined3d_resource *resource,
|
||||
{
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
gl_info = context->gl_info;
|
||||
@ -130,7 +130,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
|
||||
if (gl_info->supported[ARB_MAP_BUFFER_RANGE])
|
||||
{
|
||||
@@ -549,7 +547,7 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -552,7 +550,7 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
{
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
gl_info = context->gl_info;
|
||||
@ -139,7 +139,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
GL_EXTCALL(glUnmapBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB));
|
||||
GL_EXTCALL(glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0));
|
||||
checkGLcall("Unmap GL buffer");
|
||||
@@ -567,20 +565,14 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
@@ -570,20 +568,14 @@ void wined3d_resource_release_map_ptr(const struct wined3d_resource *resource,
|
||||
}
|
||||
|
||||
/* Context activation is done by the caller. */
|
||||
@ -166,7 +166,7 @@ index 7cafdc6..4fc4ce9 100644
|
||||
|
||||
BOOL wined3d_resource_prepare_system_memory(struct wined3d_resource *resource)
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 535e21a..7c532f0 100644
|
||||
index 7a65abc..8881490 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -48,7 +48,7 @@ static void surface_cleanup(struct wined3d_surface *surface)
|
||||
@ -178,7 +178,7 @@ index 535e21a..7c532f0 100644
|
||||
|| surface->rb_resolved || !list_empty(&surface->renderbuffers))
|
||||
{
|
||||
struct wined3d_renderbuffer_entry *entry, *entry2;
|
||||
@@ -2515,7 +2515,7 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
@@ -2660,7 +2660,7 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
}
|
||||
if (!(surface->resource.map_binding == WINED3D_LOCATION_USER_MEMORY
|
||||
|| surface->container->flags & WINED3D_TEXTURE_PIN_SYSMEM
|
||||
@ -187,7 +187,7 @@ index 535e21a..7c532f0 100644
|
||||
surface->resource.map_binding = WINED3D_LOCATION_DIB;
|
||||
}
|
||||
|
||||
@@ -3880,7 +3880,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
@@ -4025,7 +4025,7 @@ static HRESULT surface_load_texture(struct wined3d_surface *surface,
|
||||
/* 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. */
|
||||
@ -197,19 +197,19 @@ index 535e21a..7c532f0 100644
|
||||
TRACE("Removing the pbo attached to surface %p.\n", surface);
|
||||
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index faadea1..467169f 100644
|
||||
index 6532ab5..9d6583d 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -202,7 +202,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@@ -203,7 +203,7 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
}
|
||||
else if (volume->resource.locations & WINED3D_LOCATION_BUFFER)
|
||||
{
|
||||
- struct wined3d_bo_address data = {volume->resource.buffer_object, NULL};
|
||||
+ struct wined3d_bo_address data = {volume->resource.buffer->name, NULL};
|
||||
- struct wined3d_const_bo_address data = {volume->resource.buffer_object, NULL};
|
||||
+ struct wined3d_const_bo_address data = {volume->resource.buffer->name, NULL};
|
||||
wined3d_volume_upload_data(volume, context, &data);
|
||||
}
|
||||
else if (volume->resource.locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
@@ -251,12 +251,12 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
@@ -252,12 +252,12 @@ static void wined3d_volume_load_location(struct wined3d_resource *resource,
|
||||
break;
|
||||
|
||||
case WINED3D_LOCATION_BUFFER:
|
||||
@ -225,10 +225,10 @@ index faadea1..467169f 100644
|
||||
if (volume->resource.locations & WINED3D_LOCATION_TEXTURE_RGB)
|
||||
wined3d_texture_bind_and_dirtify(volume->container, context, FALSE);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index b9831fd..8477d0c 100644
|
||||
index e2e5423..b1ec269 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1960,6 +1960,14 @@ struct wined3d_state
|
||||
@@ -1971,6 +1971,14 @@ struct wined3d_state
|
||||
DWORD render_states[WINEHIGHEST_RENDER_STATE + 1];
|
||||
};
|
||||
|
||||
@ -243,7 +243,7 @@ index b9831fd..8477d0c 100644
|
||||
#define WINED3D_UNMAPPED_STAGE ~0U
|
||||
|
||||
/* Multithreaded flag. Removed from the public header to signal that
|
||||
@@ -2065,6 +2073,11 @@ void device_invalidate_state(const struct wined3d_device *device, DWORD state) D
|
||||
@@ -2076,6 +2084,11 @@ void device_invalidate_state(const struct wined3d_device *device, DWORD state) D
|
||||
void device_invalidate_shader_constants(const struct wined3d_device *device, DWORD mask) DECLSPEC_HIDDEN;
|
||||
void device_exec_update_texture(struct wined3d_context *context, struct wined3d_texture *src_texture,
|
||||
struct wined3d_texture *dst_texture) DECLSPEC_HIDDEN;
|
||||
@ -255,7 +255,7 @@ index b9831fd..8477d0c 100644
|
||||
|
||||
static inline BOOL isStateDirty(const struct wined3d_context *context, DWORD state)
|
||||
{
|
||||
@@ -2114,7 +2127,7 @@ struct wined3d_resource
|
||||
@@ -2125,7 +2138,7 @@ struct wined3d_resource
|
||||
UINT size;
|
||||
DWORD priority;
|
||||
void *heap_memory, *user_memory, *bitmap_data;
|
||||
@ -265,5 +265,5 @@ index b9831fd..8477d0c 100644
|
||||
struct list resource_list_entry;
|
||||
DWORD locations;
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6237370d85227ef7db8888705128156918fcafc3 Mon Sep 17 00:00:00 2001
|
||||
From baa69b6a987dfdefff4b205f1dabe6e485226256 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 2 Oct 2013 22:54:57 +0200
|
||||
Subject: wined3d: Clean up volume resource data through the CS.
|
||||
@ -70,10 +70,10 @@ index 40cd85d..9cba57b 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 218118d..a30acab 100644
|
||||
index a223f43..fb7ec1a 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -295,10 +295,8 @@ void wined3d_volume_destroy(struct wined3d_volume *volume)
|
||||
@@ -296,10 +296,8 @@ void wined3d_volume_destroy(struct wined3d_volume *volume)
|
||||
TRACE("volume %p.\n", volume);
|
||||
|
||||
resource_cleanup(&volume->resource);
|
||||
@ -85,7 +85,7 @@ index 218118d..a30acab 100644
|
||||
}
|
||||
|
||||
static void volume_unload(struct wined3d_resource *resource)
|
||||
@@ -339,6 +337,11 @@ ULONG CDECL wined3d_volume_incref(struct wined3d_volume *volume)
|
||||
@@ -340,6 +338,11 @@ ULONG CDECL wined3d_volume_incref(struct wined3d_volume *volume)
|
||||
return wined3d_texture_incref(volume->container);
|
||||
}
|
||||
|
||||
@ -98,18 +98,18 @@ index 218118d..a30acab 100644
|
||||
{
|
||||
TRACE("Forwarding to container %p.\n", volume->container);
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 76c0708..2b808dd 100644
|
||||
index ffcdcb4..8537000 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2343,6 +2343,7 @@ void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *
|
||||
@@ -2358,6 +2358,7 @@ void wined3d_volume_load(struct wined3d_volume *volume, struct wined3d_context *
|
||||
BOOL srgb_mode) DECLSPEC_HIDDEN;
|
||||
void wined3d_volume_upload_data(struct wined3d_volume *volume, const struct wined3d_context *context,
|
||||
const struct wined3d_bo_address *data) DECLSPEC_HIDDEN;
|
||||
const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
+void wined3d_volume_cleanup_cs(struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
|
||||
struct wined3d_surface_dib
|
||||
{
|
||||
@@ -2710,6 +2711,7 @@ void wined3d_cs_emit_create_vbo(struct wined3d_cs *cs, struct wined3d_buffer *bu
|
||||
@@ -2728,6 +2729,7 @@ void wined3d_cs_emit_create_vbo(struct wined3d_cs *cs, struct wined3d_buffer *bu
|
||||
void wined3d_cs_emit_resource_cleanup(struct wined3d_cs *cs,
|
||||
struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_buffer_cleanup(struct wined3d_cs *cs, struct wined3d_buffer *buffer) DECLSPEC_HIDDEN;
|
||||
@ -118,5 +118,5 @@ index 76c0708..2b808dd 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ffa89bb6de1ecc4769b6aae7f0c66b1c18296c21 Mon Sep 17 00:00:00 2001
|
||||
From 4cd3608532db258e1b970b68b696437e273cddde Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sun, 6 Oct 2013 16:12:24 +0200
|
||||
Subject: wined3d: Clean up surfaces through the cs.
|
||||
@ -70,7 +70,7 @@ index 9cba57b..7675214 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 4a1cf30..4d8bd1c 100644
|
||||
index 89c4c59..65bffab 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -36,20 +36,10 @@ WINE_DECLARE_DEBUG_CHANNEL(d3d);
|
||||
@ -135,7 +135,7 @@ index 4a1cf30..4d8bd1c 100644
|
||||
}
|
||||
|
||||
void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context,
|
||||
@@ -5324,8 +5321,6 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5470,8 +5467,6 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
{
|
||||
ERR("Private setup failed, hr %#x.\n", hr);
|
||||
surface_cleanup(surface);
|
||||
@ -144,7 +144,7 @@ index 4a1cf30..4d8bd1c 100644
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -5368,7 +5363,7 @@ HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct w
|
||||
@@ -5514,7 +5509,7 @@ HRESULT wined3d_surface_create(struct wined3d_texture *container, const struct w
|
||||
if (FAILED(hr = surface_init(object, container, desc, target, level, layer, flags)))
|
||||
{
|
||||
WARN("Failed to initialize surface, returning %#x.\n", hr);
|
||||
@ -154,18 +154,18 @@ index 4a1cf30..4d8bd1c 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 2b808dd..afb31c2 100644
|
||||
index 8537000..5b1a286 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2455,6 +2455,7 @@ void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_
|
||||
@@ -2470,6 +2470,7 @@ void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_
|
||||
struct wined3d_surface *src_surface, const RECT *src_rect_in, DWORD flags,
|
||||
const WINEDDBLTFX *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
BOOL surface_check_block_align(struct wined3d_surface *surface, const RECT *rect) DECLSPEC_HIDDEN;
|
||||
+void wined3d_surface_cleanup_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
@@ -2712,6 +2713,7 @@ void wined3d_cs_emit_resource_cleanup(struct wined3d_cs *cs,
|
||||
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
|
||||
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
@@ -2730,6 +2731,7 @@ void wined3d_cs_emit_resource_cleanup(struct wined3d_cs *cs,
|
||||
struct wined3d_resource *resource) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_buffer_cleanup(struct wined3d_cs *cs, struct wined3d_buffer *buffer) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_volume_cleanup(struct wined3d_cs *cs, struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
@ -174,5 +174,5 @@ index 2b808dd..afb31c2 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 92b80eca71961fa3669d9da8cb64a62e6f556184 Mon Sep 17 00:00:00 2001
|
||||
From 76c15351903191f31484a66c498dbfc39e763a5a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sun, 6 Oct 2013 16:20:32 +0200
|
||||
Subject: wined3d: Clean up texture resources through the cs.
|
||||
@ -70,7 +70,7 @@ index 7675214..5e4aa53 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index f7988e5..f055d5e 100644
|
||||
index 3fc020e..49bd366 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -131,17 +131,26 @@ static void wined3d_texture_unload_gl_texture(struct wined3d_texture *texture)
|
||||
@ -127,7 +127,7 @@ index f7988e5..f055d5e 100644
|
||||
}
|
||||
|
||||
return refcount;
|
||||
@@ -1040,12 +1047,14 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
@@ -1092,12 +1099,14 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
if (WINED3DFMT_UNKNOWN >= desc->format)
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture);
|
||||
@ -142,7 +142,7 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1055,12 +1064,14 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
@@ -1107,12 +1116,14 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
if (!gl_info->supported[SGIS_GENERATE_MIPMAP])
|
||||
{
|
||||
WARN("No mipmap generation support, returning D3DERR_INVALIDCALL.\n");
|
||||
@ -150,14 +150,14 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
if (levels > 1)
|
||||
if (levels != 1)
|
||||
{
|
||||
WARN("D3DUSAGE_AUTOGENMIPMAP is set, and level count > 1, returning D3DERR_INVALIDCALL.\n");
|
||||
WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning D3DERR_INVALIDCALL.\n");
|
||||
+ HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1088,6 +1099,7 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
}
|
||||
@@ -1133,6 +1144,7 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
else
|
||||
{
|
||||
WARN("Attempted to create a NPOT cube texture (edge length %u) without GL support.\n", desc->width);
|
||||
@ -165,7 +165,7 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1097,6 +1109,7 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
@@ -1142,6 +1154,7 @@ static HRESULT cubetexture_init(struct wined3d_texture *texture, const struct wi
|
||||
surface_flags, device, parent, parent_ops, &texture_resource_ops)))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x\n", hr);
|
||||
@ -173,7 +173,7 @@ index f7988e5..f055d5e 100644
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -1159,6 +1172,7 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
@@ -1204,6 +1217,7 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
if (WINED3DFMT_UNKNOWN >= desc->format)
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture);
|
||||
@ -181,7 +181,7 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1189,6 +1203,7 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
@@ -1234,6 +1248,7 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
else
|
||||
{
|
||||
WARN("Attempted to create a mipmapped NPOT texture without unconditional NPOT support.\n");
|
||||
@ -189,7 +189,7 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1201,12 +1216,14 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
@@ -1246,12 +1261,14 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
if (!gl_info->supported[SGIS_GENERATE_MIPMAP])
|
||||
{
|
||||
WARN("No mipmap generation support, returning WINED3DERR_INVALIDCALL.\n");
|
||||
@ -197,14 +197,14 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
if (levels > 1)
|
||||
if (levels != 1)
|
||||
{
|
||||
WARN("D3DUSAGE_AUTOGENMIPMAP is set, and level count > 1, returning WINED3DERR_INVALIDCALL.\n");
|
||||
WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning WINED3DERR_INVALIDCALL.\n");
|
||||
+ HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1222,6 +1239,7 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
}
|
||||
@@ -1260,6 +1277,7 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
|
||||
surface_flags, device, parent, parent_ops, &texture_resource_ops)))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x.\n", hr);
|
||||
@ -212,7 +212,7 @@ index f7988e5..f055d5e 100644
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -1382,12 +1400,14 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
@@ -1446,12 +1464,14 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
if (WINED3DFMT_UNKNOWN >= desc->format)
|
||||
{
|
||||
WARN("(%p) : Texture cannot be created with a format of WINED3DFMT_UNKNOWN.\n", texture);
|
||||
@ -227,7 +227,7 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1397,12 +1417,14 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
@@ -1461,12 +1481,14 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
if (!gl_info->supported[SGIS_GENERATE_MIPMAP])
|
||||
{
|
||||
WARN("No mipmap generation support, returning D3DERR_INVALIDCALL.\n");
|
||||
@ -235,14 +235,14 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
if (levels > 1)
|
||||
if (levels != 1)
|
||||
{
|
||||
WARN("D3DUSAGE_AUTOGENMIPMAP is set, and level count > 1, returning D3DERR_INVALIDCALL.\n");
|
||||
WARN("WINED3DUSAGE_AUTOGENMIPMAP is set, and level count != 1, returning D3DERR_INVALIDCALL.\n");
|
||||
+ HeapFree(GetProcessHeap(), 0, texture);
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@@ -1437,6 +1459,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
}
|
||||
@@ -1494,6 +1516,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
{
|
||||
WARN("Attempted to create a NPOT volume texture (%u, %u, %u) without GL support.\n",
|
||||
desc->width, desc->height, desc->depth);
|
||||
@ -250,7 +250,7 @@ index f7988e5..f055d5e 100644
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
}
|
||||
@@ -1446,6 +1469,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
@@ -1503,6 +1526,7 @@ static HRESULT volumetexture_init(struct wined3d_texture *texture, const struct
|
||||
0, device, parent, parent_ops, &texture_resource_ops)))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x.\n", hr);
|
||||
@ -258,7 +258,7 @@ index f7988e5..f055d5e 100644
|
||||
return hr;
|
||||
}
|
||||
|
||||
@@ -1516,7 +1540,6 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
||||
@@ -1579,7 +1603,6 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct
|
||||
if (FAILED(hr))
|
||||
{
|
||||
WARN("Failed to initialize texture, returning %#x.\n", hr);
|
||||
@ -267,10 +267,10 @@ index f7988e5..f055d5e 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index afb31c2..6382375 100644
|
||||
index 5b1a286..2f5fbf3 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2293,6 +2293,7 @@ static inline struct gl_texture *wined3d_texture_get_gl_texture(struct wined3d_t
|
||||
@@ -2307,6 +2307,7 @@ static inline struct gl_texture *wined3d_texture_get_gl_texture(struct wined3d_t
|
||||
void wined3d_texture_apply_state_changes(struct wined3d_texture *texture,
|
||||
const DWORD samplerStates[WINED3D_HIGHEST_SAMPLER_STATE + 1],
|
||||
const struct wined3d_gl_info *gl_info) DECLSPEC_HIDDEN;
|
||||
@ -278,7 +278,7 @@ index afb31c2..6382375 100644
|
||||
void wined3d_texture_bind(struct wined3d_texture *texture,
|
||||
struct wined3d_context *context, BOOL srgb) DECLSPEC_HIDDEN;
|
||||
void wined3d_texture_bind_and_dirtify(struct wined3d_texture *texture,
|
||||
@@ -2714,6 +2715,7 @@ void wined3d_cs_emit_resource_cleanup(struct wined3d_cs *cs,
|
||||
@@ -2732,6 +2733,7 @@ void wined3d_cs_emit_resource_cleanup(struct wined3d_cs *cs,
|
||||
void wined3d_cs_emit_buffer_cleanup(struct wined3d_cs *cs, struct wined3d_buffer *buffer) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_volume_cleanup(struct wined3d_cs *cs, struct wined3d_volume *volume) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_surface_cleanup(struct wined3d_cs *cs, struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
@ -287,5 +287,5 @@ index afb31c2..6382375 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3eb3def034aaacfd9f65b3f6f5f750cccbbf6c42 Mon Sep 17 00:00:00 2001
|
||||
From 79899d02dd509deb98dfeee88f8325422fdd6937 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 3 Oct 2013 19:23:24 +0200
|
||||
Subject: wined3d: Remove software cursor support.
|
||||
@ -8,13 +8,13 @@ in the main thread.
|
||||
|
||||
FIXME: Make sure wined3d_device_show_cursor returns the correct value if a software cursor is set.
|
||||
---
|
||||
dlls/wined3d/device.c | 83 +-----------------------------------------
|
||||
dlls/wined3d/swapchain.c | 21 -----------
|
||||
dlls/wined3d/device.c | 66 ++----------------------------------------
|
||||
dlls/wined3d/swapchain.c | 21 --------------
|
||||
dlls/wined3d/wined3d_private.h | 1 -
|
||||
3 files changed, 2 insertions(+), 103 deletions(-)
|
||||
3 files changed, 2 insertions(+), 86 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 2410547..b3f75ba 100644
|
||||
index a112027..746be2b 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -1023,8 +1023,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
@ -26,20 +26,18 @@ index 2410547..b3f75ba 100644
|
||||
|
||||
/* Release the buffers (with sanity checks).
|
||||
* FIXME: Move this move into a separate patch. I think the idea
|
||||
@@ -3984,77 +3982,12 @@ void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device,
|
||||
@@ -3984,60 +3982,12 @@ void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device,
|
||||
wined3d_rendertarget_view_decref(prev);
|
||||
}
|
||||
|
||||
-static struct wined3d_texture *wined3d_device_create_cursor_texture(struct wined3d_device *device,
|
||||
- struct wined3d_surface *cursor_image)
|
||||
-{
|
||||
- struct wined3d_sub_resource_data data;
|
||||
- struct wined3d_resource_desc desc;
|
||||
- struct wined3d_map_desc map_desc;
|
||||
- struct wined3d_texture *texture;
|
||||
- struct wined3d_surface *surface;
|
||||
- BYTE *src_data, *dst_data;
|
||||
- unsigned int src_pitch;
|
||||
- unsigned int i;
|
||||
- HRESULT hr;
|
||||
-
|
||||
- if (FAILED(wined3d_surface_map(cursor_image, &map_desc, NULL, WINED3D_MAP_READONLY)))
|
||||
- {
|
||||
@ -47,8 +45,9 @@ index 2410547..b3f75ba 100644
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- src_pitch = map_desc.row_pitch;
|
||||
- src_data = map_desc.data;
|
||||
- data.data = map_desc.data;
|
||||
- data.row_pitch = map_desc.row_pitch;
|
||||
- data.slice_pitch = map_desc.slice_pitch;
|
||||
-
|
||||
- desc.resource_type = WINED3D_RTYPE_TEXTURE;
|
||||
- desc.format = WINED3DFMT_B8G8R8A8_UNORM;
|
||||
@ -61,31 +60,15 @@ index 2410547..b3f75ba 100644
|
||||
- desc.depth = 1;
|
||||
- desc.size = 0;
|
||||
-
|
||||
- if (FAILED(wined3d_texture_create(device, &desc, 1, WINED3D_SURFACE_MAPPABLE,
|
||||
- NULL, &wined3d_null_parent_ops, &texture)))
|
||||
- hr = wined3d_texture_create(device, &desc, 1, WINED3D_SURFACE_MAPPABLE,
|
||||
- &data, NULL, &wined3d_null_parent_ops, &texture);
|
||||
- wined3d_surface_unmap(cursor_image);
|
||||
- if (FAILED(hr))
|
||||
- {
|
||||
- ERR("Failed to create cursor texture.\n");
|
||||
- wined3d_surface_unmap(cursor_image);
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- surface = surface_from_resource(wined3d_texture_get_sub_resource(texture, 0));
|
||||
- if (FAILED(wined3d_surface_map(surface, &map_desc, NULL, WINED3D_MAP_DISCARD)))
|
||||
- {
|
||||
- ERR("Failed to map destination surface.\n");
|
||||
- wined3d_texture_decref(texture);
|
||||
- wined3d_surface_unmap(cursor_image);
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- dst_data = map_desc.data;
|
||||
-
|
||||
- for (i = 0; i < desc.height; ++i)
|
||||
- memcpy(&dst_data[map_desc.row_pitch * i], &src_data[src_pitch * i], desc.width * 4);
|
||||
-
|
||||
- wined3d_surface_unmap(surface);
|
||||
- wined3d_surface_unmap(cursor_image);
|
||||
-
|
||||
- return texture;
|
||||
-}
|
||||
-
|
||||
@ -104,7 +87,7 @@ index 2410547..b3f75ba 100644
|
||||
if (cursor_image)
|
||||
{
|
||||
struct wined3d_display_mode mode;
|
||||
@@ -4089,11 +4022,8 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
|
||||
@@ -4072,11 +4022,8 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
|
||||
* release it after setting the cursor image. Windows doesn't
|
||||
* addref the set surface, so we can't do this either without
|
||||
* creating circular refcount dependencies. */
|
||||
@ -118,7 +101,7 @@ index 2410547..b3f75ba 100644
|
||||
|
||||
device->cursorWidth = cursor_image->resource.width;
|
||||
device->cursorHeight = cursor_image->resource.height;
|
||||
@@ -4193,10 +4123,6 @@ BOOL CDECL wined3d_device_show_cursor(struct wined3d_device *device, BOOL show)
|
||||
@@ -4176,10 +4123,6 @@ BOOL CDECL wined3d_device_show_cursor(struct wined3d_device *device, BOOL show)
|
||||
else
|
||||
SetCursor(NULL);
|
||||
}
|
||||
@ -129,7 +112,7 @@ index 2410547..b3f75ba 100644
|
||||
|
||||
return oldVisible;
|
||||
}
|
||||
@@ -4353,11 +4279,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
@@ -4336,11 +4279,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
|
||||
wined3d_texture_decref(device->logo_texture);
|
||||
device->logo_texture = NULL;
|
||||
}
|
||||
@ -142,10 +125,10 @@ index 2410547..b3f75ba 100644
|
||||
|
||||
if (device->state.fb.render_targets)
|
||||
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
|
||||
index 7ebdd1b..0a7b68d 100644
|
||||
index 1ccd18b..dbfc0d6 100644
|
||||
--- a/dlls/wined3d/swapchain.c
|
||||
+++ b/dlls/wined3d/swapchain.c
|
||||
@@ -449,27 +449,6 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -454,27 +454,6 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
NULL, WINED3D_TEXF_POINT);
|
||||
}
|
||||
|
||||
@ -174,10 +157,10 @@ index 7ebdd1b..0a7b68d 100644
|
||||
|
||||
render_to_fbo = swapchain->render_to_fbo;
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 6382375..2f8cab4 100644
|
||||
index 2f5fbf3..84343c6 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2037,7 +2037,6 @@ struct wined3d_device
|
||||
@@ -2048,7 +2048,6 @@ struct wined3d_device
|
||||
UINT xScreenSpace;
|
||||
UINT yScreenSpace;
|
||||
UINT cursorWidth, cursorHeight;
|
||||
@ -186,5 +169,5 @@ index 6382375..2f8cab4 100644
|
||||
|
||||
/* The Wine logo texture */
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 09b215acf85da6b34638c3454ff3d8e00d29ab07 Mon Sep 17 00:00:00 2001
|
||||
From a08ec4508ae2f63e2545b51a6b177e672c7dbdaf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sun, 16 Mar 2014 14:13:42 +0100
|
||||
Subject: wined3d: Send getdc and releasedc through the command stream.
|
||||
@ -104,10 +104,10 @@ index b152a0d..44930c1 100644
|
||||
|
||||
static inline void *_wined3d_cs_mt_require_space(struct wined3d_cs *cs, size_t size, BOOL prio)
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 3c5489f..1ccbe35 100644
|
||||
index 0221ebd..b6bb67e 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -2468,48 +2468,23 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2613,48 +2613,23 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
return wined3d_resource_map(&surface->resource, map_desc, rect ? &box : NULL, flags);
|
||||
}
|
||||
|
||||
@ -159,7 +159,7 @@ index 3c5489f..1ccbe35 100644
|
||||
}
|
||||
if (!(surface->resource.map_binding == WINED3D_LOCATION_USER_MEMORY
|
||||
|| surface->container->flags & WINED3D_TEXTURE_PIN_SYSMEM
|
||||
@@ -2522,35 +2497,40 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
@@ -2667,35 +2642,40 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
|
||||
if (context)
|
||||
context_release(context);
|
||||
@ -220,7 +220,7 @@ index 3c5489f..1ccbe35 100644
|
||||
&& surface->resource.map_binding != WINED3D_LOCATION_DIB))
|
||||
{
|
||||
/* The game Salammbo modifies the surface contents without mapping the surface between
|
||||
@@ -2571,6 +2551,26 @@ HRESULT CDECL wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc)
|
||||
@@ -2716,6 +2696,26 @@ HRESULT CDECL wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc)
|
||||
if (context)
|
||||
context_release(context);
|
||||
}
|
||||
@ -248,19 +248,19 @@ index 3c5489f..1ccbe35 100644
|
||||
return WINED3D_OK;
|
||||
}
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 63b67da..3abd0a8 100644
|
||||
index 3f491e0..19596f3 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2458,6 +2458,8 @@ void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_
|
||||
@@ -2474,6 +2474,8 @@ void surface_blt_ugly(struct wined3d_surface *dst_surface, const RECT *dst_rect_
|
||||
const WINEDDBLTFX *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
BOOL surface_check_block_align(struct wined3d_surface *surface, const RECT *rect) DECLSPEC_HIDDEN;
|
||||
void wined3d_surface_cleanup_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
+void wined3d_surface_getdc_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
+void wined3d_surface_releasedc_cs(struct wined3d_surface *surface) DECLSPEC_HIDDEN;
|
||||
|
||||
void draw_textured_quad(const struct wined3d_surface *src_surface, struct wined3d_context *context,
|
||||
const RECT *src_rect, const RECT *dst_rect, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
@@ -2727,6 +2729,8 @@ HRESULT wined3d_cs_emit_create_swapchain_context(struct wined3d_cs *cs,
|
||||
void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct wined3d_gl_info *gl_info,
|
||||
const struct wined3d_format *format, const RECT *src_rect, UINT src_pitch, const POINT *dst_point,
|
||||
BOOL srgb, const struct wined3d_const_bo_address *data) DECLSPEC_HIDDEN;
|
||||
@@ -2746,6 +2748,8 @@ HRESULT wined3d_cs_emit_create_swapchain_context(struct wined3d_cs *cs,
|
||||
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_delete_opengl_contexts(struct wined3d_cs *cs,
|
||||
struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
|
||||
@ -270,5 +270,5 @@ index 63b67da..3abd0a8 100644
|
||||
/* Direct3D terminology with little modifications. We do not have an issued state
|
||||
* because only the driver knows about it, but we have a created state because d3d
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a8a191d592e1c7202929d272b37afe5a2a347f40 Mon Sep 17 00:00:00 2001
|
||||
From ae26ae32cd73d0ca290196ac9dc02a641c77ed54 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 14 Dec 2014 15:24:44 +0100
|
||||
Subject: wined3d: Fix some uninitialized memory accesses.
|
||||
@ -9,18 +9,18 @@ Subject: wined3d: Fix some uninitialized memory accesses.
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 7bc6aeb..50376f7 100644
|
||||
index be1ecd6..93331b4 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -3370,7 +3370,6 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
|
||||
static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
@@ -3373,7 +3373,6 @@ static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
struct wined3d_volume *src_volume, struct wined3d_volume *dst_volume)
|
||||
{
|
||||
struct wined3d_const_bo_address data;
|
||||
- HRESULT hr;
|
||||
struct wined3d_bo_address data;
|
||||
|
||||
TRACE("src_volume %p, dst_volume %p.\n",
|
||||
@@ -3395,7 +3394,7 @@ static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
src_volume, dst_volume);
|
||||
@@ -3397,7 +3396,7 @@ static HRESULT device_update_volume(struct wined3d_context *context,
|
||||
wined3d_volume_upload_data(dst_volume, context, &data);
|
||||
wined3d_resource_invalidate_location(&dst_volume->resource, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
|
||||
@ -30,7 +30,7 @@ index 7bc6aeb..50376f7 100644
|
||||
|
||||
/* Context activation is done by the caller */
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 9ab0738..9a2bcf7 100644
|
||||
index bf37b7d..9c3f7ce 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -770,7 +770,7 @@ static void surface_blt_fbo(const struct wined3d_device *device,
|
||||
@ -43,5 +43,5 @@ index 9ab0738..9a2bcf7 100644
|
||||
}
|
||||
else
|
||||
--
|
||||
2.1.3
|
||||
1.9.1
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user