winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
January 2009
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
3 participants
1348 discussions
Start a n
N
ew thread
Ge van Geldorp : comctl32/tests: Fix title bar tests for non-English locales.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: 80d4d54c59b3a533575270174b9b4800225d40f7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=80d4d54c59b3a533575270174…
Author: Ge van Geldorp <ge(a)gse.nl> Date: Sun Jan 4 16:20:56 2009 +0100 comctl32/tests: Fix title bar tests for non-English locales. --- dlls/comctl32/tests/monthcal.c | 69 +++++++++++++++------------------------ 1 files changed, 27 insertions(+), 42 deletions(-) diff --git a/dlls/comctl32/tests/monthcal.c b/dlls/comctl32/tests/monthcal.c index 33f41d0..cccb1b9 100644 --- a/dlls/comctl32/tests/monthcal.c +++ b/dlls/comctl32/tests/monthcal.c @@ -215,10 +215,6 @@ static const struct message monthcal_hit_test_seq[] = { { MCM_HITTEST, sent|wparam, 0}, { MCM_HITTEST, sent|wparam, 0}, { MCM_HITTEST, sent|wparam, 0}, - { MCM_HITTEST, sent|wparam, 0}, - { MCM_HITTEST, sent|wparam, 0}, - { MCM_HITTEST, sent|wparam, 0}, - { MCM_HITTEST, sent|wparam, 0}, { 0 } }; @@ -463,8 +459,6 @@ static LRESULT WINAPI monthcal_subclass_proc(HWND hwnd, UINT message, WPARAM wPa LRESULT ret; struct message msg; - trace("monthcal: %p, %04x, %08lx, %08lx\n", hwnd, message, wParam, lParam); - msg.message = message; msg.flags = sent|wparam|lparam; if (defwndproc_counter) msg.flags |= defwinproc; @@ -727,6 +721,12 @@ static void test_monthcal_HitTest(HWND hwnd) MCHITTESTINFO mchit; UINT res; SYSTEMTIME st; + LONG x; + UINT title_index; + static const UINT title_hits[] = + { MCHT_NOWHERE, MCHT_TITLEBK, MCHT_TITLEBTNPREV, MCHT_TITLEBK, + MCHT_TITLEMONTH, MCHT_TITLEBK, MCHT_TITLEYEAR, MCHT_TITLEBK, + MCHT_TITLEBTNNEXT, MCHT_TITLEBK, MCHT_NOWHERE }; memset(&mchit, 0, sizeof(MCHITTESTINFO)); @@ -781,42 +781,6 @@ static void test_monthcal_HitTest(HWND hwnd) expect(mchit.uHit, res); expect(MCHT_CALENDARBK, res); - /* (50, 40) is in active area - previous month button */ - mchit.pt.x = 50; - mchit.pt.y = 40; - res = SendMessage(hwnd, MCM_HITTEST, 0, (LPARAM) & mchit); - expect(50, mchit.pt.x); - expect(40, mchit.pt.y); - expect(mchit.uHit, res); - todo_wine {expect(MCHT_TITLEBTNPREV, res);} - - /* (90, 40) is in active area - background section of the title */ - mchit.pt.x = 90; - mchit.pt.y = 40; - res = SendMessage(hwnd, MCM_HITTEST, 0, (LPARAM) & mchit); - expect(90, mchit.pt.x); - expect(40, mchit.pt.y); - expect(mchit.uHit, res); - todo_wine {expect(MCHT_TITLE, res);} - - /* (140, 40) is in active area - month section of the title */ - mchit.pt.x = 140; - mchit.pt.y = 40; - res = SendMessage(hwnd, MCM_HITTEST, 0, (LPARAM) & mchit); - expect(140, mchit.pt.x); - expect(40, mchit.pt.y); - expect(mchit.uHit, res); - todo_wine {expect(MCHT_TITLEMONTH, res);} - - /* (250, 40) is in active area - next month button */ - mchit.pt.x = 250; - mchit.pt.y = 40; - res = SendMessage(hwnd, MCM_HITTEST, 0, (LPARAM) & mchit); - expect(250, mchit.pt.x); - expect(40, mchit.pt.y); - expect(mchit.uHit, res); - todo_wine {expect(MCHT_TITLEBTNNEXT, res);} - /* (70, 70) is in active area - day of the week */ mchit.pt.x = 70; mchit.pt.y = 70; @@ -910,6 +874,27 @@ static void test_monthcal_HitTest(HWND hwnd) todo_wine {expect(MCHT_TODAYLINK, res);} ok_sequence(sequences, MONTHCAL_SEQ_INDEX, monthcal_hit_test_seq, "monthcal hit test", TRUE); + + /* The horizontal position of title bar elements depends on locale (y pos + is constant), so we sample across a horizontal line and make sure we + find all elements. */ + mchit.pt.y = 40; + title_index = 0; + for (x = 0; x < 300; x++){ + mchit.pt.x = x; + res = SendMessage(hwnd, MCM_HITTEST, 0, (LPARAM) & mchit); + expect(x, mchit.pt.x); + expect(40, mchit.pt.y); + expect(mchit.uHit, res); + if (res != title_hits[title_index]){ + title_index++; + if (sizeof(title_hits) / sizeof(title_hits[0]) <= title_index) + break; + todo_wine {expect(title_hits[title_index], res);} + } + } + todo_wine {ok(300 <= x && title_index + 1 == sizeof(title_hits) / sizeof(title_hits[0]), + "Wrong title layout\n");} } static void test_monthcal_todaylink(HWND hwnd)
1
0
0
0
Markus Weiland : dxdiaxgn: Implemented retrieval of szDeviceIdentifier property.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: 40fb1cd9cda94dd6dd9d1f4f8de70fd9eebe5435 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=40fb1cd9cda94dd6dd9d1f4f8…
Author: Markus Weiland <kde(a)graph-ix.net> Date: Sat Jan 3 12:22:51 2009 -0500 dxdiaxgn: Implemented retrieval of szDeviceIdentifier property. --- dlls/dxdiagn/provider.c | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/dlls/dxdiagn/provider.c b/dlls/dxdiagn/provider.c index 7a32da4..a55bbb4 100644 --- a/dlls/dxdiagn/provider.c +++ b/dlls/dxdiagn/provider.c @@ -32,6 +32,7 @@ #include "vfw.h" #include "mmddk.h" #include "ddraw.h" +#include "d3d9.h" #include "wine/debug.h" @@ -188,6 +189,37 @@ static inline HRESULT add_prop_ull_as_str( IDxDiagContainer* cont, LPCWSTR prop, return hr; } +static void get_display_device_id(WCHAR *szIdentifierBuffer) +{ + static const WCHAR szNA[] = {'n','/','a',0}; + + HRESULT hr = E_FAIL; + + HMODULE d3d9_handle; + IDirect3D9 *(WINAPI *pDirect3DCreate9)(UINT) = NULL; + IDirect3D9 *pD3d = NULL; + D3DADAPTER_IDENTIFIER9 adapter_ident; + + /* Retrieves the display device identifier from the d3d9 implementation. */ + d3d9_handle = LoadLibraryA("d3d9.dll"); + if(d3d9_handle) + pDirect3DCreate9 = (void *)GetProcAddress(d3d9_handle, "Direct3DCreate9"); + if(pDirect3DCreate9) + pD3d = pDirect3DCreate9(D3D_SDK_VERSION); + if(pD3d) + hr = IDirect3D9_GetAdapterIdentifier(pD3d, D3DADAPTER_DEFAULT, 0, &adapter_ident); + if(SUCCEEDED(hr)) { + StringFromGUID2(&adapter_ident.DeviceIdentifier, szIdentifierBuffer, 39); + } else { + memcpy(szIdentifierBuffer, szNA, sizeof(szNA)); + } + + if (pD3d) + IDirect3D9_Release(pD3d); + if (d3d9_handle) + FreeLibrary(d3d9_handle); +} + /** * @param szFilePath: usually GetSystemDirectoryW * @param szFileName: name of the dll without path @@ -438,6 +470,7 @@ static HRESULT DXDiag_InitDXDiagDisplayContainer(IDxDiagContainer* pSubCont) static const WCHAR szKeyDeviceKey[] = {'s','z','K','e','y','D','e','v','i','c','e','K','e','y',0}; static const WCHAR szVendorId[] = {'s','z','V','e','n','d','o','r','I','d',0}; static const WCHAR szDeviceId[] = {'s','z','D','e','v','i','c','e','I','d',0}; + static const WCHAR szDeviceIdentifier[] = {'s','z','D','e','v','i','c','e','I','d','e','n','t','i','f','i','e','r',0}; static const WCHAR dwWidth[] = {'d','w','W','i','d','t','h',0}; static const WCHAR dwHeight[] = {'d','w','H','e','i','g','h','t',0}; static const WCHAR dwBpp[] = {'d','w','B','p','p',0}; @@ -495,6 +528,9 @@ static HRESULT DXDiag_InitDXDiagDisplayContainer(IDxDiagContainer* pSubCont) add_prop_ui4( pDisplayAdapterSubCont, dwBpp, surface_descr.u4.ddpfPixelFormat.u1.dwRGBBitCount ); } + get_display_device_id( buffer ); + add_prop_str( pDisplayAdapterSubCont, szDeviceIdentifier, buffer ); + add_prop_str( pDisplayAdapterSubCont, szVendorId, szEmpty ); add_prop_str( pDisplayAdapterSubCont, szDeviceId, szEmpty ); add_prop_str( pDisplayAdapterSubCont, szKeyDeviceKey, szEmpty );
1
0
0
0
Andrey Turkin : include: Add more definitions to winuser.rh.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: a54c0de2a415dbd563dabc6749658568e6d3c2e5 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=a54c0de2a415dbd563dabc674…
Author: Andrey Turkin <andrey.turkin(a)gmail.com> Date: Mon Jan 5 04:54:05 2009 +0300 include: Add more definitions to winuser.rh. --- include/winuser.rh | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 190 insertions(+), 0 deletions(-) diff --git a/include/winuser.rh b/include/winuser.rh index c4c8875..e760917 100644 --- a/include/winuser.rh +++ b/include/winuser.rh @@ -75,6 +75,36 @@ #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE) #define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST) +/* Standard dialog button IDs */ +#define IDOK 1 +#define IDCANCEL 2 +#define IDABORT 3 +#define IDRETRY 4 +#define IDIGNORE 5 +#define IDYES 6 +#define IDNO 7 +#define IDCLOSE 8 +#define IDHELP 9 +#define IDTRYAGAIN 10 +#define IDCONTINUE 11 + +/* Win32 button control messages */ +#define BM_GETCHECK 0x00f0 +#define BM_SETCHECK 0x00f1 +#define BM_GETSTATE 0x00f2 +#define BM_SETSTATE 0x00f3 +#define BM_SETSTYLE 0x00f4 +#define BM_CLICK 0x00f5 +#define BM_GETIMAGE 0x00f6 +#define BM_SETIMAGE 0x00f7 + +/* Button states */ +#define BST_UNCHECKED 0x0000 +#define BST_CHECKED 0x0001 +#define BST_INDETERMINATE 0x0002 +#define BST_PUSHED 0x0004 +#define BST_FOCUS 0x0008 + /* Button control styles */ #define BS_PUSHBUTTON 0x00000000L #define BS_DEFPUSHBUTTON 0x00000001L @@ -155,6 +185,38 @@ #define ES_WANTRETURN 0x00001000 #define ES_NUMBER 0x00002000 + +#define HELP_CONTEXT 0x0001 +#define HELP_QUIT 0x0002 +#define HELP_INDEX 0x0003 +#define HELP_CONTENTS 0x0003 +#define HELP_HELPONHELP 0x0004 +#define HELP_SETINDEX 0x0005 +#define HELP_SETCONTENTS 0x0005 +#define HELP_CONTEXTPOPUP 0x0008 +#define HELP_FORCEFILE 0x0009 +#define HELP_KEY 0x0101 +#define HELP_COMMAND 0x0102 +#define HELP_PARTIALKEY 0x0105 +#define HELP_MULTIKEY 0x0201 +#define HELP_SETWINPOS 0x0203 +#define HELP_CONTEXTMENU 0x000a +#define HELP_FINDER 0x000b +#define HELP_WM_HELP 0x000c +#define HELP_SETPOPUP_POS 0x000d + +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 0x0010 +#define HELP_TCARD_OTHER_CALLER 0x0011 + + +#define IDH_NO_HELP 28440 +#define IDH_MISSING_CONTEXT 28441 +#define IDH_GENERIC_HELP_BUTTON 28442 +#define IDH_OK 28443 +#define IDH_CANCEL 28444 +#define IDH_HELP 28445 + /* Listbox styles */ #define LBS_NOTIFY 0x0001 #define LBS_SORT 0x0002 @@ -174,6 +236,105 @@ #define LBS_COMBOBOX 0x8000 #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER) +/* Menu flags */ +#define MF_INSERT 0x0000 +#define MF_CHANGE 0x0080 +#define MF_APPEND 0x0100 +#define MF_DELETE 0x0200 +#define MF_REMOVE 0x1000 +#define MF_END 0x0080 + +#define MF_ENABLED 0x0000 +#define MF_GRAYED 0x0001 +#define MF_DISABLED 0x0002 +#define MF_STRING 0x0000 +#define MF_BITMAP 0x0004 +#define MF_UNCHECKED 0x0000 +#define MF_CHECKED 0x0008 +#define MF_POPUP 0x0010 +#define MF_MENUBARBREAK 0x0020 +#define MF_MENUBREAK 0x0040 +#define MF_UNHILITE 0x0000 +#define MF_HILITE 0x0080 +#define MF_OWNERDRAW 0x0100 +#define MF_USECHECKBITMAPS 0x0200 +#define MF_BYCOMMAND 0x0000 +#define MF_BYPOSITION 0x0400 +#define MF_SEPARATOR 0x0800 +#define MF_DEFAULT 0x1000 +#define MF_SYSMENU 0x2000 +#define MF_HELP 0x4000 +#define MF_RIGHTJUSTIFY 0x4000 +#define MF_MOUSESELECT 0x8000 + +/* Flags for extended menu item types. */ +#define MFT_STRING MF_STRING +#define MFT_BITMAP MF_BITMAP +#define MFT_MENUBARBREAK MF_MENUBARBREAK +#define MFT_MENUBREAK MF_MENUBREAK +#define MFT_OWNERDRAW MF_OWNERDRAW +#define MFT_RADIOCHECK 0x00000200L +#define MFT_SEPARATOR MF_SEPARATOR +#define MFT_RIGHTORDER 0x00002000L +#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY + +/* Flags for extended menu item states. */ +#define MFS_GRAYED 0x00000003L +#define MFS_DISABLED MFS_GRAYED +#define MFS_CHECKED MF_CHECKED +#define MFS_HILITE MF_HILITE +#define MFS_ENABLED MF_ENABLED +#define MFS_UNCHECKED MF_UNCHECKED +#define MFS_UNHILITE MF_UNHILITE +#define MFS_DEFAULT MF_DEFAULT +#define MFS_MASK 0x0000108BL +#define MFS_HOTTRACKDRAWN 0x10000000L +#define MFS_CACHEDBMP 0x20000000L +#define MFS_BOTTOMGAPDROP 0x40000000L +#define MFS_TOPGAPDROP 0x80000000L +#define MFS_GAPDROP 0xC0000000L +/* Scrollbar styles */ +#define SBS_HORZ 0x0000L +#define SBS_VERT 0x0001L +#define SBS_TOPALIGN 0x0002L +#define SBS_LEFTALIGN 0x0002L +#define SBS_BOTTOMALIGN 0x0004L +#define SBS_RIGHTALIGN 0x0004L +#define SBS_SIZEBOXTOPLEFTALIGN 0x0002L +#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L +#define SBS_SIZEBOX 0x0008L +#define SBS_SIZEGRIP 0x0010L + +/* WM_SYSCOMMAND parameters */ +#ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */ +#undef SC_SIZE +#endif +#define SC_SIZE 0xf000 +#define SC_MOVE 0xf010 +#define SC_MINIMIZE 0xf020 +#define SC_MAXIMIZE 0xf030 +#define SC_NEXTWINDOW 0xf040 +#define SC_PREVWINDOW 0xf050 +#define SC_CLOSE 0xf060 +#define SC_VSCROLL 0xf070 +#define SC_HSCROLL 0xf080 +#define SC_MOUSEMENU 0xf090 +#define SC_KEYMENU 0xf100 +#define SC_ARRANGE 0xf110 +#define SC_RESTORE 0xf120 +#define SC_TASKLIST 0xf130 +#define SC_SCREENSAVE 0xf140 +#define SC_HOTKEY 0xf150 + /* Win32 4.0 */ +#define SC_DEFAULT 0xf160 +#define SC_MONITORPOWER 0xf170 +#define SC_CONTEXTHELP 0xf180 +#define SC_SEPARATOR 0xf00f + +/* obsolete names(SC_ICON and SC_ZOOM) */ +#define SC_ICON SC_MINIMIZE +#define SC_ZOOM SC_MAXIMIZE + /* Static Control Styles */ #define SS_LEFT 0x00000000L #define SS_CENTER 0x00000001L @@ -208,3 +369,32 @@ #define SS_PATHELLIPSIS 0x00008000L #define SS_WORDELLIPSIS 0x0000C000L #define SS_ELLIPSISMASK 0x0000C000L + +/* ShowWindow() codes */ +#define SW_HIDE 0 +#define SW_SHOWNORMAL 1 +#define SW_NORMAL 1 +#define SW_SHOWMINIMIZED 2 +#define SW_SHOWMAXIMIZED 3 +#define SW_MAXIMIZE 3 +#define SW_SHOWNOACTIVATE 4 +#define SW_SHOW 5 +#define SW_MINIMIZE 6 +#define SW_SHOWMINNOACTIVE 7 +#define SW_SHOWNA 8 +#define SW_RESTORE 9 +#define SW_SHOWDEFAULT 10 +#define SW_FORCEMINIMIZE 11 +#define SW_MAX 11 + +/* Predefined resources */ +#define IDI_APPLICATION MAKEINTRESOURCE(32512) +#define IDI_HAND MAKEINTRESOURCE(32513) +#define IDI_QUESTION MAKEINTRESOURCE(32514) +#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) +#define IDI_ASTERISK MAKEINTRESOURCE(32516) +#define IDI_WINLOGO MAKEINTRESOURCE(32517) + +#define IDI_WARNING IDI_EXCLAMATION +#define IDI_ERROR IDI_HAND +#define IDI_INFORMATION IDI_ASTERISK
1
0
0
0
Alexandre Julliard : msvcrt: Fix the time_t definition for the msvcrt build .
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: f1b363e27da8c1dfd435cee2d5058714a4264559 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=f1b363e27da8c1dfd435cee2d…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Mon Jan 5 15:07:53 2009 +0100 msvcrt: Fix the time_t definition for the msvcrt build. --- dlls/msvcrt/msvcrt.h | 4 +++- dlls/msvcrt/tests/headers.c | 1 + 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index 28d8f54..8ed8fd9 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -50,15 +50,17 @@ typedef unsigned long MSVCRT__fsize_t; typedef unsigned __int64 MSVCRT_size_t; typedef __int64 MSVCRT_intptr_t; typedef unsigned __int64 MSVCRT_uintptr_t; +typedef __int64 MSVCRT_time_t; #else typedef unsigned long MSVCRT_size_t; typedef long MSVCRT_intptr_t; typedef unsigned long MSVCRT_uintptr_t; +typedef long MSVCRT_time_t; #endif typedef unsigned int MSVCRT__dev_t; typedef int MSVCRT__off_t; typedef long MSVCRT_clock_t; -typedef long MSVCRT_time_t; +typedef long MSVCRT___time32_t; typedef __int64 MSVCRT___time64_t; typedef __int64 MSVCRT_fpos_t; diff --git a/dlls/msvcrt/tests/headers.c b/dlls/msvcrt/tests/headers.c index c9e9570..7133e1e 100644 --- a/dlls/msvcrt/tests/headers.c +++ b/dlls/msvcrt/tests/headers.c @@ -88,6 +88,7 @@ static void test_types(void) CHECK_TYPE(_off_t); CHECK_TYPE(clock_t); CHECK_TYPE(time_t); + CHECK_TYPE(__time32_t); CHECK_TYPE(__time64_t); CHECK_TYPE(fpos_t); CHECK_SIZE(FILE);
1
0
0
0
Henri Verbeet : wined3d: Remove unused enum elements from WINED3DTEXTURESTAGESTATETYPE.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: e8ba733706fecd1710a60f28e4f724dd092a5c75 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=e8ba733706fecd1710a60f28e…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Jan 5 10:10:16 2009 +0100 wined3d: Remove unused enum elements from WINED3DTEXTURESTAGESTATETYPE. --- dlls/wined3d/device.c | 1 - dlls/wined3d/stateblock.c | 1 - dlls/wined3d/utils.c | 1 - include/wine/wined3d.idl | 11 ----------- 4 files changed, 0 insertions(+), 14 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 212184c..b5f2b3e 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -7571,7 +7571,6 @@ const DWORD SavedPixelStates_R[NUM_SAVEDPIXELSTATES_R] = { }; const DWORD SavedPixelStates_T[NUM_SAVEDPIXELSTATES_T] = { - WINED3DTSS_ADDRESSW , WINED3DTSS_ALPHAARG0 , WINED3DTSS_ALPHAARG1 , WINED3DTSS_ALPHAARG2 , diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index 445e281..81614b4 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -1240,7 +1240,6 @@ static HRESULT WINAPI IWineD3DStateBlockImpl_InitStartupStateBlock(IWineD3DStat This->textureState[i][WINED3DTSS_BUMPENVLSCALE ] = 0; This->textureState[i][WINED3DTSS_BUMPENVLOFFSET ] = 0; This->textureState[i][WINED3DTSS_TEXTURETRANSFORMFLAGS ] = WINED3DTTFF_DISABLE; - This->textureState[i][WINED3DTSS_ADDRESSW ] = WINED3DTADDRESS_WRAP; This->textureState[i][WINED3DTSS_COLORARG0 ] = WINED3DTA_CURRENT; This->textureState[i][WINED3DTSS_ALPHAARG0 ] = WINED3DTA_CURRENT; This->textureState[i][WINED3DTSS_RESULTARG ] = WINED3DTA_CURRENT; diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 8cf8ee0..4bfa453 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -1020,7 +1020,6 @@ const char* debug_d3dtexturestate(DWORD state) { D3DSTATE_TO_STR(WINED3DTSS_BUMPENVLSCALE ); D3DSTATE_TO_STR(WINED3DTSS_BUMPENVLOFFSET ); D3DSTATE_TO_STR(WINED3DTSS_TEXTURETRANSFORMFLAGS ); - D3DSTATE_TO_STR(WINED3DTSS_ADDRESSW ); D3DSTATE_TO_STR(WINED3DTSS_COLORARG0 ); D3DSTATE_TO_STR(WINED3DTSS_ALPHAARG0 ); D3DSTATE_TO_STR(WINED3DTSS_RESULTARG ); diff --git a/include/wine/wined3d.idl b/include/wine/wined3d.idl index 422673e..4c89a4d 100644 --- a/include/wine/wined3d.idl +++ b/include/wine/wined3d.idl @@ -565,20 +565,9 @@ typedef enum _WINED3DTEXTURESTAGESTATETYPE WINED3DTSS_BUMPENVMAT10 = 9, WINED3DTSS_BUMPENVMAT11 = 10, WINED3DTSS_TEXCOORDINDEX = 11, - WINED3DTSS_ADDRESS = 12, - WINED3DTSS_ADDRESSU = 13, - WINED3DTSS_ADDRESSV = 14, - WINED3DTSS_BORDERCOLOR = 15, - WINED3DTSS_MAGFILTER = 16, - WINED3DTSS_MINFILTER = 17, - WINED3DTSS_MIPFILTER = 18, - WINED3DTSS_MIPMAPLODBIAS = 19, - WINED3DTSS_MAXMIPLEVEL = 20, - WINED3DTSS_MAXANISOTROPY = 21, WINED3DTSS_BUMPENVLSCALE = 22, WINED3DTSS_BUMPENVLOFFSET = 23, WINED3DTSS_TEXTURETRANSFORMFLAGS = 24, - WINED3DTSS_ADDRESSW = 25, WINED3DTSS_COLORARG0 = 26, WINED3DTSS_ALPHAARG0 = 27, WINED3DTSS_RESULTARG = 28,
1
0
0
0
Henri Verbeet : d3d9: Remove d3d8 enum elements from D3DTEXTURESTAGESTATETYPE.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: df89eec03c14802cbbedfd295e993478597bb12a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=df89eec03c14802cbbedfd295…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Jan 5 10:10:16 2009 +0100 d3d9: Remove d3d8 enum elements from D3DTEXTURESTAGESTATETYPE. --- include/d3d9types.h | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-) diff --git a/include/d3d9types.h b/include/d3d9types.h index d0ac9b4..b453525 100644 --- a/include/d3d9types.h +++ b/include/d3d9types.h @@ -1130,21 +1130,9 @@ typedef enum _D3DTEXTURESTAGESTATETYPE { D3DTSS_BUMPENVMAT10 = 9, D3DTSS_BUMPENVMAT11 = 10, D3DTSS_TEXCOORDINDEX = 11, -#if 1 /* TODO: remove once samplerstates are implemented. */ - D3DTSS_ADDRESSU = 13, - D3DTSS_ADDRESSV = 14, - D3DTSS_BORDERCOLOR = 15, - D3DTSS_MAGFILTER = 16, - D3DTSS_MINFILTER = 17, - D3DTSS_MIPFILTER = 18, - D3DTSS_MIPMAPLODBIAS = 19, - D3DTSS_MAXMIPLEVEL = 20, - D3DTSS_MAXANISOTROPY = 21, -#endif D3DTSS_BUMPENVLSCALE = 22, D3DTSS_BUMPENVLOFFSET = 23, D3DTSS_TEXTURETRANSFORMFLAGS = 24, - D3DTSS_ADDRESSW = 25, D3DTSS_COLORARG0 = 26, D3DTSS_ALPHAARG0 = 27, D3DTSS_RESULTARG = 28,
1
0
0
0
Henri Verbeet : wined3d: Convert samplerState to a bitmap in struct SAVEDSTATES.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: fd33f0f97fe68123e608218822877bf6004631db URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fd33f0f97fe68123e60821882…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Jan 5 10:10:16 2009 +0100 wined3d: Convert samplerState to a bitmap in struct SAVEDSTATES. --- dlls/wined3d/device.c | 27 ++++++++++++++++----------- dlls/wined3d/stateblock.c | 8 +++++--- dlls/wined3d/wined3d_private.h | 18 +++++++++--------- 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 4dc0806..212184c 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -485,9 +485,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateStateBlock(IWineD3DDevice* iface, } for (j = 0 ; j < MAX_COMBINED_SAMPLERS; j++) { for (i =0; i < NUM_SAVEDPIXELSTATES_S;i++) { - object->changed.samplerState[j][SavedPixelStates_S[i]] = TRUE; + DWORD state = SavedPixelStates_S[i]; + object->changed.samplerState[j] |= 1 << state; object->contained_sampler_states[object->num_contained_sampler_states].stage = j; - object->contained_sampler_states[object->num_contained_sampler_states].state = SavedPixelStates_S[i]; + object->contained_sampler_states[object->num_contained_sampler_states].state = state; object->num_contained_sampler_states++; } } @@ -543,9 +544,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateStateBlock(IWineD3DDevice* iface, } for (j = 0 ; j < MAX_COMBINED_SAMPLERS; j++){ for (i =0; i < NUM_SAVEDVERTEXSTATES_S;i++) { - object->changed.samplerState[j][SavedVertexStates_S[i]] = TRUE; + DWORD state = SavedVertexStates_S[i]; + object->changed.samplerState[j] |= 1 << state; object->contained_sampler_states[object->num_contained_sampler_states].stage = j; - object->contained_sampler_states[object->num_contained_sampler_states].state = SavedVertexStates_S[i]; + object->contained_sampler_states[object->num_contained_sampler_states].state = state; object->num_contained_sampler_states++; } } @@ -3327,7 +3329,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetSamplerState(IWineD3DDevice *iface, oldValue = This->stateBlock->samplerState[Sampler][Type]; This->updateStateBlock->samplerState[Sampler][Type] = Value; - This->updateStateBlock->changed.samplerState[Sampler][Type] = Value; + This->updateStateBlock->changed.samplerState[Sampler] |= 1 << Type; /* Handle recording of state blocks */ if (This->isRecordingState) { @@ -4821,12 +4823,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl_EndStateBlock(IWineD3DDevice *iface, IW } } for(i = 0; i < MAX_COMBINED_SAMPLERS; i++){ - for (j = 1; j < WINED3D_HIGHEST_SAMPLER_STATE; j++) { - if(object->changed.samplerState[i][j]) { - object->contained_sampler_states[object->num_contained_sampler_states].stage = i; - object->contained_sampler_states[object->num_contained_sampler_states].state = j; - object->num_contained_sampler_states++; - } + DWORD map = object->changed.samplerState[i]; + + for (j = 0; map; map >>= 1, ++j) + { + if (!(map & 1)) continue; + + object->contained_sampler_states[object->num_contained_sampler_states].stage = i; + object->contained_sampler_states[object->num_contained_sampler_states].state = j; + ++object->num_contained_sampler_states; } } diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index 2d19b53..445e281 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -92,7 +92,7 @@ static void stateblock_savedstates_copy(IWineD3DStateBlock* iface, SAVEDSTATES * memcpy(dest->transform, source->transform, sizeof(source->transform)); memcpy(dest->renderState, source->renderState, sizeof(source->renderState)); memcpy(dest->textureState, source->textureState, bsize * MAX_TEXTURES * (WINED3D_HIGHEST_TEXTURE_STATE + 1)); - memcpy(dest->samplerState, source->samplerState, bsize * MAX_COMBINED_SAMPLERS * (WINED3D_HIGHEST_SAMPLER_STATE + 1)); + memcpy(dest->samplerState, source->samplerState, sizeof(source->samplerState)); dest->clipplane = source->clipplane; dest->pixelShaderConstantsB = source->pixelShaderConstantsB; dest->pixelShaderConstantsI = source->pixelShaderConstantsI; @@ -132,11 +132,13 @@ void stateblock_savedstates_set( /* Fixed size arrays */ if (value) { + int i; states->streamSource = 0xffff; states->streamFreq = 0xffff; states->textures = 0xfffff; stateblock_set_bits(states->transform, HIGHEST_TRANSFORMSTATE + 1); stateblock_set_bits(states->renderState, WINEHIGHEST_RENDER_STATE + 1); + for (i = 0; i < MAX_COMBINED_SAMPLERS; ++i) states->samplerState[i] = 0x3fff; states->clipplane = 0xffffffff; states->pixelShaderConstantsB = 0xffff; states->pixelShaderConstantsI = 0xffff; @@ -150,6 +152,7 @@ void stateblock_savedstates_set( states->textures = 0; memset(states->transform, 0, sizeof(states->transform)); memset(states->renderState, 0, sizeof(states->renderState)); + memset(states->samplerState, 0, sizeof(states->samplerState)); states->clipplane = 0; states->pixelShaderConstantsB = 0; states->pixelShaderConstantsI = 0; @@ -157,7 +160,6 @@ void stateblock_savedstates_set( states->vertexShaderConstantsI = 0; } memset(states->textureState, value, bsize * MAX_TEXTURES * (WINED3D_HIGHEST_TEXTURE_STATE + 1)); - memset(states->samplerState, value, bsize * MAX_COMBINED_SAMPLERS * (WINED3D_HIGHEST_SAMPLER_STATE + 1)); /* Dynamically sized arrays */ memset(states->pixelShaderConstantsF, value, bsize * GL_LIMITS(pshader_constantsF)); @@ -815,7 +817,7 @@ should really perform a delta so that only the changes get updated*/ DWORD stage = This->contained_sampler_states[i].stage; DWORD state = This->contained_sampler_states[i].state; ((IWineD3DDeviceImpl *)pDevice)->stateBlock->samplerState[stage][state] = This->samplerState[stage][state]; - ((IWineD3DDeviceImpl *)pDevice)->stateBlock->changed.samplerState[stage][state] = TRUE; + ((IWineD3DDeviceImpl *)pDevice)->stateBlock->changed.samplerState[stage] |= 1 << state; IWineD3DDeviceImpl_MarkStateDirty((IWineD3DDeviceImpl *)pDevice, STATE_SAMPLER(stage)); } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 83f716f..a9abe07 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1759,18 +1759,18 @@ extern const IWineD3DVertexDeclarationVtbl IWineD3DVertexDeclaration_Vtbl; /* to resolve everything we need, so doing it manually for now */ typedef struct SAVEDSTATES { DWORD transform[(HIGHEST_TRANSFORMSTATE >> 5) + 1]; - WORD streamSource; /* MAX_STREAMS, 16 */ - WORD streamFreq; /* MAX_STREAMS, 16 */ - DWORD textures; /* MAX_COMBINED_SAMPLERS, 20 */ + WORD streamSource; /* MAX_STREAMS, 16 */ + WORD streamFreq; /* MAX_STREAMS, 16 */ + DWORD textures; /* MAX_COMBINED_SAMPLERS, 20 */ DWORD renderState[(WINEHIGHEST_RENDER_STATE >> 5) + 1]; BOOL textureState[MAX_TEXTURES][WINED3D_HIGHEST_TEXTURE_STATE + 1]; - BOOL samplerState[MAX_COMBINED_SAMPLERS][WINED3D_HIGHEST_SAMPLER_STATE + 1]; - DWORD clipplane; /* WINED3DMAXUSERCLIPPLANES, 32 */ - WORD pixelShaderConstantsB; /* MAX_CONST_B, 16 */ - WORD pixelShaderConstantsI; /* MAX_CONST_I, 16 */ + WORD samplerState[MAX_COMBINED_SAMPLERS]; /* WINED3D_HIGHEST_SAMPLER_STATE + 1, 14*/ + DWORD clipplane; /* WINED3DMAXUSERCLIPPLANES, 32 */ + WORD pixelShaderConstantsB; /* MAX_CONST_B, 16 */ + WORD pixelShaderConstantsI; /* MAX_CONST_I, 16 */ BOOL *pixelShaderConstantsF; - WORD vertexShaderConstantsB; /* MAX_CONST_B, 16 */ - WORD vertexShaderConstantsI; /* MAX_CONST_I, 16 */ + WORD vertexShaderConstantsB; /* MAX_CONST_B, 16 */ + WORD vertexShaderConstantsI; /* MAX_CONST_I, 16 */ BOOL *vertexShaderConstantsF; BYTE indices : 1; BYTE material : 1;
1
0
0
0
Henri Verbeet : wined3d: Convert renderState to a bitmap in struct SAVEDSTATES.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: c33b38117e3c8376bd47b93c26beeaa2bae46ca4 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c33b38117e3c8376bd47b93c2…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Jan 5 10:10:16 2009 +0100 wined3d: Convert renderState to a bitmap in struct SAVEDSTATES. --- dlls/wined3d/device.c | 24 +++++++++++++++--------- dlls/wined3d/stateblock.c | 39 +++++++++++++++++++++++++++------------ dlls/wined3d/wined3d_private.h | 2 +- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 8c98962..4dc0806 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -470,8 +470,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateStateBlock(IWineD3DDevice* iface, object->num_contained_ps_consts_i = MAX_CONST_I; for (i = 0; i < NUM_SAVEDPIXELSTATES_R; i++) { - object->changed.renderState[SavedPixelStates_R[i]] = TRUE; - object->contained_render_states[i] = SavedPixelStates_R[i]; + DWORD rs = SavedPixelStates_R[i]; + object->changed.renderState[rs >> 5] |= 1 << (rs & 0x1f); + object->contained_render_states[i] = rs; } object->num_contained_render_states = NUM_SAVEDPIXELSTATES_R; for (j = 0; j < MAX_TEXTURES; j++) { @@ -527,8 +528,9 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateStateBlock(IWineD3DDevice* iface, } object->num_contained_vs_consts_i = MAX_CONST_I; for (i = 0; i < NUM_SAVEDVERTEXSTATES_R; i++) { - object->changed.renderState[SavedVertexStates_R[i]] = TRUE; - object->contained_render_states[i] = SavedVertexStates_R[i]; + DWORD rs = SavedVertexStates_R[i]; + object->changed.renderState[rs >> 5] |= 1 << (rs & 0x1f); + object->contained_render_states[i] = rs; } object->num_contained_render_states = NUM_SAVEDVERTEXSTATES_R; for (j = 0; j < MAX_TEXTURES; j++) { @@ -3262,7 +3264,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetRenderState(IWineD3DDevice *iface, W TRACE("(%p)->state = %s(%d), value = %d\n", This, debug_d3drenderstate(State), State, Value); - This->updateStateBlock->changed.renderState[State] = TRUE; + This->updateStateBlock->changed.renderState[State >> 5] |= 1 << (State & 0x1f); This->updateStateBlock->renderState[State] = Value; /* Handle recording of state blocks */ @@ -4746,10 +4748,14 @@ static HRESULT WINAPI IWineD3DDeviceImpl_EndStateBlock(IWineD3DDevice *iface, IW return WINED3DERR_INVALIDCALL; } - for(i = 1; i <= WINEHIGHEST_RENDER_STATE; i++) { - if(object->changed.renderState[i]) { - object->contained_render_states[object->num_contained_render_states] = i; - object->num_contained_render_states++; + for (i = 0; i <= WINEHIGHEST_RENDER_STATE >> 5; ++i) + { + DWORD map = object->changed.renderState[i]; + for (j = 0; map; map >>= 1, ++j) + { + if (!(map & 1)) continue; + + object->contained_render_states[object->num_contained_render_states++] = (i << 5) | j; } } diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index d5206c7..2d19b53 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -90,7 +90,7 @@ static void stateblock_savedstates_copy(IWineD3DStateBlock* iface, SAVEDSTATES * dest->streamFreq = source->streamFreq; dest->textures = source->textures; memcpy(dest->transform, source->transform, sizeof(source->transform)); - memcpy(dest->renderState, source->renderState, bsize * (WINEHIGHEST_RENDER_STATE + 1)); + memcpy(dest->renderState, source->renderState, sizeof(source->renderState)); memcpy(dest->textureState, source->textureState, bsize * MAX_TEXTURES * (WINED3D_HIGHEST_TEXTURE_STATE + 1)); memcpy(dest->samplerState, source->samplerState, bsize * MAX_COMBINED_SAMPLERS * (WINED3D_HIGHEST_SAMPLER_STATE + 1)); dest->clipplane = source->clipplane; @@ -130,19 +130,34 @@ void stateblock_savedstates_set( states->scissorRect = value; /* Fixed size arrays */ - states->streamSource = value ? 0xffff : 0; - states->streamFreq = value ? 0xffff : 0; - states->textures = value ? 0xfffff : 0; - if (value) stateblock_set_bits(states->transform, HIGHEST_TRANSFORMSTATE + 1); - else memset(states->transform, 0, sizeof(states->transform)); - memset(states->renderState, value, bsize * (WINEHIGHEST_RENDER_STATE + 1)); + if (value) + { + states->streamSource = 0xffff; + states->streamFreq = 0xffff; + states->textures = 0xfffff; + stateblock_set_bits(states->transform, HIGHEST_TRANSFORMSTATE + 1); + stateblock_set_bits(states->renderState, WINEHIGHEST_RENDER_STATE + 1); + states->clipplane = 0xffffffff; + states->pixelShaderConstantsB = 0xffff; + states->pixelShaderConstantsI = 0xffff; + states->vertexShaderConstantsB = 0xffff; + states->vertexShaderConstantsI = 0xffff; + } + else + { + states->streamSource = 0; + states->streamFreq = 0; + states->textures = 0; + memset(states->transform, 0, sizeof(states->transform)); + memset(states->renderState, 0, sizeof(states->renderState)); + states->clipplane = 0; + states->pixelShaderConstantsB = 0; + states->pixelShaderConstantsI = 0; + states->vertexShaderConstantsB = 0; + states->vertexShaderConstantsI = 0; + } memset(states->textureState, value, bsize * MAX_TEXTURES * (WINED3D_HIGHEST_TEXTURE_STATE + 1)); memset(states->samplerState, value, bsize * MAX_COMBINED_SAMPLERS * (WINED3D_HIGHEST_SAMPLER_STATE + 1)); - states->clipplane = value ? 0xffffffff : 0; - states->pixelShaderConstantsB = value ? 0xffff : 0; - states->pixelShaderConstantsI = value ? 0xffff : 0; - states->vertexShaderConstantsB = value ? 0xffff : 0; - states->vertexShaderConstantsI = value ? 0xffff : 0; /* Dynamically sized arrays */ memset(states->pixelShaderConstantsF, value, bsize * GL_LIMITS(pshader_constantsF)); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index b974077..83f716f 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1762,7 +1762,7 @@ typedef struct SAVEDSTATES { WORD streamSource; /* MAX_STREAMS, 16 */ WORD streamFreq; /* MAX_STREAMS, 16 */ DWORD textures; /* MAX_COMBINED_SAMPLERS, 20 */ - BOOL renderState[WINEHIGHEST_RENDER_STATE + 1]; + DWORD renderState[(WINEHIGHEST_RENDER_STATE >> 5) + 1]; BOOL textureState[MAX_TEXTURES][WINED3D_HIGHEST_TEXTURE_STATE + 1]; BOOL samplerState[MAX_COMBINED_SAMPLERS][WINED3D_HIGHEST_SAMPLER_STATE + 1]; DWORD clipplane; /* WINED3DMAXUSERCLIPPLANES, 32 */
1
0
0
0
Henri Verbeet : wined3d: Convert transform to a bitmap in struct SAVEDSTATES.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: fc39831e4cc46615b71ad81d74183bfae96b1f31 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fc39831e4cc46615b71ad81d7…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Jan 5 10:10:16 2009 +0100 wined3d: Convert transform to a bitmap in struct SAVEDSTATES. --- dlls/wined3d/device.c | 15 ++++++++++----- dlls/wined3d/stateblock.c | 12 ++++++++++-- dlls/wined3d/wined3d_private.h | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 1ce2287..8c98962 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2669,7 +2669,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetTransform(IWineD3DDevice *iface, W /* Handle recording of state blocks */ if (This->isRecordingState) { TRACE("Recording... not performing anything\n"); - This->updateStateBlock->changed.transform[d3dts] = TRUE; + This->updateStateBlock->changed.transform[d3dts >> 5] |= 1 << (d3dts & 0x1f); This->updateStateBlock->transforms[d3dts] = *lpmatrix; return WINED3D_OK; } @@ -4752,10 +4752,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl_EndStateBlock(IWineD3DDevice *iface, IW object->num_contained_render_states++; } } - for(i = 1; i <= HIGHEST_TRANSFORMSTATE; i++) { - if(object->changed.transform[i]) { - object->contained_transform_states[object->num_contained_transform_states] = i; - object->num_contained_transform_states++; + + for (i = 0; i <= HIGHEST_TRANSFORMSTATE >> 5; ++i) + { + DWORD map = object->changed.transform[i]; + for (j = 0; map; map >>= 1, ++j) + { + if (!(map & 1)) continue; + + object->contained_transform_states[object->num_contained_transform_states++] = (i << 5) | j; } } for(i = 0; i < GL_LIMITS(vshader_constantsF); i++) { diff --git a/dlls/wined3d/stateblock.c b/dlls/wined3d/stateblock.c index 1ffdabe..d5206c7 100644 --- a/dlls/wined3d/stateblock.c +++ b/dlls/wined3d/stateblock.c @@ -89,7 +89,7 @@ static void stateblock_savedstates_copy(IWineD3DStateBlock* iface, SAVEDSTATES * dest->streamSource = source->streamSource; dest->streamFreq = source->streamFreq; dest->textures = source->textures; - memcpy(dest->transform, source->transform, bsize * (HIGHEST_TRANSFORMSTATE + 1)); + memcpy(dest->transform, source->transform, sizeof(source->transform)); memcpy(dest->renderState, source->renderState, bsize * (WINEHIGHEST_RENDER_STATE + 1)); memcpy(dest->textureState, source->textureState, bsize * MAX_TEXTURES * (WINED3D_HIGHEST_TEXTURE_STATE + 1)); memcpy(dest->samplerState, source->samplerState, bsize * MAX_COMBINED_SAMPLERS * (WINED3D_HIGHEST_SAMPLER_STATE + 1)); @@ -104,6 +104,13 @@ static void stateblock_savedstates_copy(IWineD3DStateBlock* iface, SAVEDSTATES * memcpy(dest->vertexShaderConstantsF, source->vertexShaderConstantsF, bsize * GL_LIMITS(vshader_constantsF)); } +static inline void stateblock_set_bits(DWORD *map, UINT map_size) +{ + DWORD mask = (1 << (map_size & 0x1f)) - 1; + memset(map, 0xff, (map_size >> 5) * sizeof(*map)); + if (mask) map[map_size >> 5] = mask; +} + /** Set all members of a stateblock savedstate to the given value */ void stateblock_savedstates_set( IWineD3DStateBlock* iface, @@ -126,7 +133,8 @@ void stateblock_savedstates_set( states->streamSource = value ? 0xffff : 0; states->streamFreq = value ? 0xffff : 0; states->textures = value ? 0xfffff : 0; - memset(states->transform, value, bsize * (HIGHEST_TRANSFORMSTATE + 1)); + if (value) stateblock_set_bits(states->transform, HIGHEST_TRANSFORMSTATE + 1); + else memset(states->transform, 0, sizeof(states->transform)); memset(states->renderState, value, bsize * (WINEHIGHEST_RENDER_STATE + 1)); memset(states->textureState, value, bsize * MAX_TEXTURES * (WINED3D_HIGHEST_TEXTURE_STATE + 1)); memset(states->samplerState, value, bsize * MAX_COMBINED_SAMPLERS * (WINED3D_HIGHEST_SAMPLER_STATE + 1)); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 90f8ee1..b974077 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1758,10 +1758,10 @@ extern const IWineD3DVertexDeclarationVtbl IWineD3DVertexDeclaration_Vtbl; /* Note: Very long winded but gl Lists are not flexible enough */ /* to resolve everything we need, so doing it manually for now */ typedef struct SAVEDSTATES { + DWORD transform[(HIGHEST_TRANSFORMSTATE >> 5) + 1]; WORD streamSource; /* MAX_STREAMS, 16 */ WORD streamFreq; /* MAX_STREAMS, 16 */ DWORD textures; /* MAX_COMBINED_SAMPLERS, 20 */ - BOOL transform[HIGHEST_TRANSFORMSTATE + 1]; BOOL renderState[WINEHIGHEST_RENDER_STATE + 1]; BOOL textureState[MAX_TEXTURES][WINED3D_HIGHEST_TEXTURE_STATE + 1]; BOOL samplerState[MAX_COMBINED_SAMPLERS][WINED3D_HIGHEST_SAMPLER_STATE + 1];
1
0
0
0
Dmitry Timoshkov : winex11: Indicate that dmDisplayFlags is also initialized.
by Alexandre Julliard
05 Jan '09
05 Jan '09
Module: wine Branch: master Commit: 48973dad53f9292204cd5a193a56cff65d3eba2d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=48973dad53f9292204cd5a193…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Mon Jan 5 17:53:50 2009 +0800 winex11: Indicate that dmDisplayFlags is also initialized. --- dlls/winex11.drv/settings.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/dlls/winex11.drv/settings.c b/dlls/winex11.drv/settings.c index 6bd804a..e2aafbc 100644 --- a/dlls/winex11.drv/settings.c +++ b/dlls/winex11.drv/settings.c @@ -299,7 +299,8 @@ BOOL CDECL X11DRV_EnumDisplaySettingsEx( LPCWSTR name, DWORD n, LPDEVMODEW devmo devmode->dmPelsHeight = dd_modes[n].dwHeight; devmode->dmBitsPerPel = dd_modes[n].dwBPP; devmode->dmDisplayFrequency = dd_modes[n].wRefreshRate; - devmode->dmFields = (DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL); + devmode->dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | + DM_DISPLAYFLAGS; if (devmode->dmDisplayFrequency) { devmode->dmFields |= DM_DISPLAYFREQUENCY;
1
0
0
0
← Newer
1
...
115
116
117
118
119
120
121
...
135
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
Results per page:
10
25
50
100
200