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
April 2013
----- 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
2 participants
579 discussions
Start a n
N
ew thread
Dmitry Timoshkov : kernel32/tests: Add some tests for remote process termination.
by Alexandre Julliard
26 Apr '13
26 Apr '13
Module: wine Branch: master Commit: fa5c708c41b83c3f3f9882e5807df1bf7507fb4d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fa5c708c41b83c3f3f9882e58…
Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Fri Apr 26 17:56:59 2013 +0900 kernel32/tests: Add some tests for remote process termination. --- dlls/kernel32/tests/loader.c | 237 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 229 insertions(+), 8 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=fa5c708c41b83c3f3f988…
1
0
0
0
Scott Ritchie : Remove Mandriva from downloads page
by Jeremy Newman
25 Apr '13
25 Apr '13
Module: website Branch: master Commit: 26b289e239f64904c66a625ee97e4abab0a577c1 URL:
http://source.winehq.org/git/website.git/?a=commit;h=26b289e239f64904c66a62…
Author: Scott Ritchie <scottritchie(a)ubuntu.com> Date: Wed Apr 24 17:41:26 2013 -0700 Remove Mandriva from downloads page Dead distro, no new packages in a very long time. RIP. --- images/distro/mandriva.png | Bin 1836 -> 0 bytes templates/de/download.template | 11 ----------- templates/en/download.template | 10 ---------- templates/fr/download.template | 11 ----------- templates/he/download.template | 10 ---------- templates/pl/download.template | 10 ---------- templates/pt/download.template | 9 --------- templates/tr/download.template | 10 ---------- templates/zh-cn/download.template | 10 ---------- 9 files changed, 0 insertions(+), 81 deletions(-) diff --git a/images/distro/mandriva.png b/images/distro/mandriva.png deleted file mode 100644 index 718b665..0000000 Binary files a/images/distro/mandriva.png and /dev/null differ diff --git a/templates/de/download.template b/templates/de/download.template index 45d0746..e9c63fa 100644 --- a/templates/de/download.template +++ b/templates/de/download.template @@ -100,17 +100,6 @@ erbeten hat, dass sie die Wine-Website hosten.</p> </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">Mandriva</a></b> - binär .rpms für Mandriva Linux 2008, 2009 und 2010. Lade das 2010.2 Package herunter, falls Du eine - 2010.2 Version von Mandriva nutzt, z.B. 2010 Spring. Lade das 2010.0 Package herunter, falls Du die erste - Mandriva Version aus 2010 nutzt.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td> diff --git a/templates/en/download.template b/templates/en/download.template index 616dce8..cfdf1bb 100644 --- a/templates/en/download.template +++ b/templates/en/download.template @@ -99,16 +99,6 @@ requested in exchange for hosting the Wine web site.</p> </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">Download Mandriva packages</a></b> - - binary .rpms for Mandriva Linux 2008, 2009, and 2010. Download the 2010.2 package if your Mandriva is a 2010.2 - release, e.g. 2010 Spring. Download the 2010.0 package if your Mandriva is the first 2010 release.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td> diff --git a/templates/fr/download.template b/templates/fr/download.template index 4b4741e..3869fd2 100644 --- a/templates/fr/download.template +++ b/templates/fr/download.template @@ -107,17 +107,6 @@ center;"><b>Voyez la </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">Paquets Mandriva</a></b> - - .rpm binaires pour Mandriva Linux 2008, 2009 et 2010. Téléchargez les - paquets 2010.2 si votre Mandriva est une version 2010.2, p.ex. 2010 -Spring. Téléchargez les paquets 2010.0 si votre Mandriva est la première version 2010.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware Linux" border="0"></a> </td> diff --git a/templates/he/download.template b/templates/he/download.template index d7cabac..f171e65 100644 --- a/templates/he/download.template +++ b/templates/he/download.template @@ -100,16 +100,6 @@ </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">הורדת חבילות ל־Mandriva</a></b> - - קובצי .rpmבינריים ל־Mandriva Linux 2008, 2009 ו־2010. יש להוריד את החבילה 2010.1 אם גרסת ה־היא Mandriva שלך היא - 2010.1, לדוגמה ל־2010 Spring. יש להוריד את חבילת 2010.0 אם הפצת ה־Mandriva שלך היא ההפצה הראשונה לשנת 2010.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td> diff --git a/templates/pl/download.template b/templates/pl/download.template index ae9b32e..0389781 100644 --- a/templates/pl/download.template +++ b/templates/pl/download.template @@ -99,16 +99,6 @@ </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">Pobierz paczki dla Mandriva</a></b> - - binarne paczki .rpm dla Mandriva Linux 2008, 2009, i 2010. Pobierz paczkę 2010.2 jeżeli wersja twojej Mandrivy to 2010.2 - , np. 2010 Spring. Pobierz paczkę 2010.0 jeżeli twoja Mandriva jest pierwszym wydaniem w roku 2010.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td> diff --git a/templates/pt/download.template b/templates/pt/download.template index fd1f61f..9eca240 100644 --- a/templates/pt/download.template +++ b/templates/pt/download.template @@ -97,15 +97,6 @@ </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">Descarregar pacotes para Mandriva</a></b> - - .rpms binários para Mandriva Linux 2008, 2009, e 2010. Use o pacote 2010.2 se o seu Mandriva for um lançamento 2010.2, por exemplo para a versão 2010 Spring. Use o pacote 2010.0 se o seu Mandriva for o primeiro lançamento de 2010.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td> diff --git a/templates/tr/download.template b/templates/tr/download.template index 52b1c79..ea6b6ca 100644 --- a/templates/tr/download.template +++ b/templates/tr/download.template @@ -100,16 +100,6 @@ requested in exchange for hosting the Wine web site.</p> </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">Mandriva paketleri indirin</a></b> - - binary .rpms for Mandriva Linux 2008, 2009, and 2010. Download the 2010.2 package if your Mandriva is a 2010.2 - release, eg. 2010 Spring. Download the 2010.0 package if your Mandriva is the first 2010 release.</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td> diff --git a/templates/zh-cn/download.template b/templates/zh-cn/download.template index 3b207fb..80f46fe 100644 --- a/templates/zh-cn/download.template +++ b/templates/zh-cn/download.template @@ -97,16 +97,6 @@ requested in exchange for hosting the Wine web site.</p> </tr> <tr bgcolor="#ffffff"> - <td align="center"><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
"> - <img src="{$root}/images/distro/mandriva.png" width="50" height="50" alt="Mandriva Linux" border="0"></a> - </td> - <td> <b><a href="
http://sourceforge.net/projects/wine/files/Mandriva%20Packages/
">下载 Mandriva 安装包</a></b> - - Mandriva Linux 2008、2009 和 2010 的二进制 .rpms。下载 2010.2 的安装包,如果你的 Mandriva 是 2010.2 - 发行版,例如:2010 Spring。下载 2010.0 安装包当你的 Mandriva 是 2010 的第一个发行。</td> - <td><a href="mailto:marco@mandrivaclub.nl">Marco Meijer</a></td> - </tr> - - <tr bgcolor="#ffffff"> <td align="center"><a href="
http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=6…
"> <img src="{$root}/images/distro/slackware.png" width="50" height="50" alt="Slackware linux" border="0"></a> </td>
1
0
0
0
Stefan Dösinger : wined3d: Move gl_info->limits. max_texture_stages to d3d_info.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: 76941eff009bebf5b1d1a101564035240ff75387 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=76941eff009bebf5b1d1a1015…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:30 2013 +0200 wined3d: Move gl_info->limits.max_texture_stages to d3d_info. --- dlls/wined3d/arb_program_shader.c | 4 ++-- dlls/wined3d/ati_fragment_shader.c | 3 ++- dlls/wined3d/device.c | 30 +++++++++++++++--------------- dlls/wined3d/directx.c | 4 ++-- dlls/wined3d/drawprim.c | 3 ++- dlls/wined3d/state.c | 20 +++++++++++--------- dlls/wined3d/utils.c | 2 +- dlls/wined3d/wined3d_private.h | 7 ++++--- 8 files changed, 39 insertions(+), 34 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=76941eff009bebf5b1d1a…
1
0
0
0
Stefan Dösinger : wined3d: Move valid_rt_mask to wined3d_d3d_info.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: ac99d539912ddc28324c03b7a296016389a9a9d9 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=ac99d539912ddc28324c03b7a…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:29 2013 +0200 wined3d: Move valid_rt_mask to wined3d_d3d_info. --- dlls/wined3d/context.c | 2 +- dlls/wined3d/device.c | 4 ---- dlls/wined3d/directx.c | 5 +++++ dlls/wined3d/wined3d_private.h | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index 6a4f766..54e9e80 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -2282,7 +2282,7 @@ static DWORD find_draw_buffers_mask(const struct wined3d_context *context, const else if (!context->render_offscreen) return context_generate_rt_mask_from_surface(rts[0]); rt_mask = ps ? ps->reg_maps.rt_mask : 1; - rt_mask &= device->valid_rt_mask; + rt_mask &= context->d3d_info->valid_rt_mask; rt_mask_bits = rt_mask; i = 0; while (rt_mask_bits) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 2dae6ab..61b2f2a 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1111,7 +1111,6 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device, struct wined3d_context *context; HRESULT hr; DWORD state; - unsigned int i; TRACE("device %p, swapchain_desc %p.\n", device, swapchain_desc); @@ -1120,9 +1119,6 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device, if (device->wined3d->flags & WINED3D_NO3D) return WINED3DERR_INVALIDCALL; - device->valid_rt_mask = 0; - for (i = 0; i < gl_info->limits.buffers; ++i) - device->valid_rt_mask |= (1 << i); device->fb.render_targets = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*device->fb.render_targets) * gl_info->limits.buffers); diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index e462680..dd3b9a3 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2632,6 +2632,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter) enum wined3d_pci_device device; DWORD gl_version; HDC hdc; + unsigned int i; TRACE("adapter %p.\n", adapter); @@ -2935,6 +2936,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter) gl_info->wrap_lookup[WINED3D_TADDRESS_MIRROR_ONCE - WINED3D_TADDRESS_WRAP] = gl_info->supported[ATI_TEXTURE_MIRROR_ONCE] ? GL_MIRROR_CLAMP_TO_EDGE_ATI : GL_REPEAT; + adapter->d3d_info.valid_rt_mask = 0; + for (i = 0; i < gl_info->limits.buffers; ++i) + adapter->d3d_info.valid_rt_mask |= (1 << i); + fixup_extensions(gl_info, gl_renderer_str, gl_vendor, card_vendor, device); init_driver_info(driver_info, card_vendor, device); add_gl_compat_wrappers(gl_info); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index d5f479b..550dc63 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1599,6 +1599,7 @@ struct wined3d_d3d_info { struct wined3d_d3d_limits limits; BOOL vs_clipping; + DWORD valid_rt_mask; }; /* The adapter structure */ @@ -1771,7 +1772,6 @@ struct wined3d_device struct list shaders; /* a linked list to track shaders (pixel and vertex) */ /* Render Target Support */ - DWORD valid_rt_mask; struct wined3d_fb_state fb; struct wined3d_surface *onscreen_depth_stencil; struct wined3d_surface *auto_depth_stencil;
1
0
0
0
Stefan Dösinger : wined3d: Move max_ffp_textures to wined3d_d3d_info.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: cb01fb27b1095e3cd2657e25b13bf3017d829ac9 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=cb01fb27b1095e3cd2657e25b…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:28 2013 +0200 wined3d: Move max_ffp_textures to wined3d_d3d_info. --- dlls/wined3d/device.c | 13 ++++++------- dlls/wined3d/directx.c | 1 + dlls/wined3d/wined3d_private.h | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index c999f65..2dae6ab 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -2714,7 +2714,8 @@ static void device_update_fixed_function_usage_map(struct wined3d_device *device } } -static void device_map_fixed_function_samplers(struct wined3d_device *device, const struct wined3d_gl_info *gl_info) +static void device_map_fixed_function_samplers(struct wined3d_device *device, const struct wined3d_gl_info *gl_info, + const struct wined3d_d3d_info *d3d_info) { unsigned int i, tex; WORD ffu_map; @@ -2722,8 +2723,8 @@ static void device_map_fixed_function_samplers(struct wined3d_device *device, co device_update_fixed_function_usage_map(device); ffu_map = device->fixed_function_usage_map; - if (device->max_ffp_textures == gl_info->limits.texture_stages - || device->stateBlock->state.lowest_disabled_stage <= device->max_ffp_textures) + if (d3d_info->limits.ffp_textures == gl_info->limits.texture_stages + || device->stateBlock->state.lowest_disabled_stage <= d3d_info->limits.ffp_textures) { for (i = 0; ffu_map; ffu_map >>= 1, ++i) { @@ -2844,6 +2845,7 @@ static void device_map_vsamplers(struct wined3d_device *device, BOOL ps, const s void device_update_tex_unit_map(struct wined3d_device *device) { const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; + const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; const struct wined3d_state *state = &device->stateBlock->state; BOOL vs = use_vs(state); BOOL ps = use_ps(state); @@ -2857,7 +2859,7 @@ void device_update_tex_unit_map(struct wined3d_device *device) if (ps) device_map_psamplers(device, gl_info); else - device_map_fixed_function_samplers(device, gl_info); + device_map_fixed_function_samplers(device, gl_info, d3d_info); if (vs) device_map_vsamplers(device, ps, gl_info); @@ -5412,7 +5414,6 @@ HRESULT device_init(struct wined3d_device *device, struct wined3d *wined3d, struct wined3d_adapter *adapter = &wined3d->adapters[adapter_idx]; const struct fragment_pipeline *fragment_pipeline; const struct wined3d_vertex_pipe_ops *vertex_pipeline; - struct fragment_caps ffp_caps; unsigned int i; HRESULT hr; @@ -5436,8 +5437,6 @@ HRESULT device_init(struct wined3d_device *device, struct wined3d *wined3d, vertex_pipeline = adapter->vertex_pipe; fragment_pipeline = adapter->fragment_pipe; - fragment_pipeline->get_caps(&adapter->gl_info, &ffp_caps); - device->max_ffp_textures = ffp_caps.MaxSimultaneousTextures; if (vertex_pipeline->vp_states && fragment_pipeline->states && FAILED(hr = compile_state_table(device->StateTable, device->multistate_funcs, diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 52afdee..e462680 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2854,6 +2854,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter) adapter->fragment_pipe->get_caps(gl_info, &fragment_caps); gl_info->limits.texture_stages = fragment_caps.MaxTextureBlendStages; + adapter->d3d_info.limits.ffp_textures = fragment_caps.MaxSimultaneousTextures; TRACE("Max texture stages: %u.\n", gl_info->limits.texture_stages); if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT]) diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 991fab7..d5f479b 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1592,6 +1592,7 @@ struct wined3d_d3d_limits UINT vs_version, gs_version, ps_version; DWORD vs_uniform_count; DWORD ps_uniform_count; + UINT ffp_textures; }; struct wined3d_d3d_info @@ -1736,7 +1737,6 @@ struct wined3d_device APPLYSTATEFUNC *multistate_funcs[STATE_HIGHEST + 1]; const struct blit_shader *blitter; - unsigned int max_ffp_textures; UINT instance_count; WORD vertexBlendUsed : 1; /* To avoid needless setting of the blend matrices */
1
0
0
0
Stefan Dösinger : wined3d: Move shader limits to wined3d_d3d_info.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: 768e8c098cf5358f235b66473281a1492ed790ad URL:
http://source.winehq.org/git/wine.git/?a=commit;h=768e8c098cf5358f235b66473…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:27 2013 +0200 wined3d: Move shader limits to wined3d_d3d_info. --- dlls/wined3d/arb_program_shader.c | 18 ++++++++++-------- dlls/wined3d/device.c | 23 ++++++++++------------- dlls/wined3d/directx.c | 5 +++++ dlls/wined3d/shader.c | 22 +++++++++++++--------- dlls/wined3d/stateblock.c | 36 ++++++++++++++++++++---------------- dlls/wined3d/wined3d_private.h | 10 ++++++++-- 6 files changed, 66 insertions(+), 48 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=768e8c098cf5358f235b6…
1
0
0
0
Stefan Dösinger : wined3d: Don' t pass the device to gen_ffp_frag_op.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: f7580726b0697cb3f873daba8468dafe60141d63 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=f7580726b0697cb3f873daba8…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:26 2013 +0200 wined3d: Don't pass the device to gen_ffp_frag_op. --- dlls/wined3d/arb_program_shader.c | 2 +- dlls/wined3d/ati_fragment_shader.c | 2 +- dlls/wined3d/glsl_shader.c | 2 +- dlls/wined3d/utils.c | 6 +++--- dlls/wined3d/wined3d_private.h | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 70c796d..5d6bd1a 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -6410,7 +6410,7 @@ static void fragment_prog_arbfp(struct wined3d_context *context, const struct wi { /* Find or create a shader implementing the fixed function pipeline * settings, then activate it. */ - gen_ffp_frag_op(device, state, &settings, FALSE); + gen_ffp_frag_op(context, state, &settings, FALSE); desc = (const struct arbfp_ffp_desc *)find_ffp_frag_shader(&priv->fragment_shaders, &settings); if(!desc) { struct arbfp_ffp_desc *new_desc = HeapAlloc(GetProcessHeap(), 0, sizeof(*new_desc)); diff --git a/dlls/wined3d/ati_fragment_shader.c b/dlls/wined3d/ati_fragment_shader.c index 34330c2..4832abe 100644 --- a/dlls/wined3d/ati_fragment_shader.c +++ b/dlls/wined3d/ati_fragment_shader.c @@ -844,7 +844,7 @@ static void set_tex_op_atifs(struct wined3d_context *context, const struct wined DWORD mapped_stage; unsigned int i; - gen_ffp_frag_op(device, state, &settings, TRUE); + gen_ffp_frag_op(context, state, &settings, TRUE); desc = (const struct atifs_ffp_desc *)find_ffp_frag_shader(&priv->fragment_shaders, &settings); if(!desc) { struct atifs_ffp_desc *new_desc = HeapAlloc(GetProcessHeap(), 0, sizeof(*new_desc)); diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 7750eab..16054ed 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -5532,7 +5532,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, struc struct glsl_ffp_fragment_shader *ffp_shader; struct ffp_frag_settings settings; - gen_ffp_frag_op(device, state, &settings, FALSE); + gen_ffp_frag_op(context, state, &settings, FALSE); ffp_shader = shader_glsl_find_ffp_fragment_shader(priv, gl_info, &settings); ps_id = ffp_shader->id; ps_list = &ffp_shader->linked_programs; diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 0e5ff2b..cc615bc 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -3090,7 +3090,7 @@ DWORD get_flexible_vertex_size(DWORD d3dvtVertexType) { return size; } -void gen_ffp_frag_op(const struct wined3d_device *device, const struct wined3d_state *state, +void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d_state *state, struct ffp_frag_settings *settings, BOOL ignore_textype) { #define ARG1 0x01 @@ -3130,8 +3130,8 @@ void gen_ffp_frag_op(const struct wined3d_device *device, const struct wined3d_s DWORD ttff; DWORD cop, aop, carg0, carg1, carg2, aarg0, aarg1, aarg2; const struct wined3d_surface *rt = state->fb->render_targets[0]; - const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; - const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; + const struct wined3d_gl_info *gl_info = context->gl_info; + const struct wined3d_d3d_info *d3d_info = context->d3d_info; for (i = 0; i < gl_info->limits.texture_stages; ++i) { diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index b3d1eb7..6863116 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1674,7 +1674,7 @@ struct ffp_frag_desc extern const struct wine_rb_functions wined3d_ffp_frag_program_rb_functions DECLSPEC_HIDDEN; extern const struct wined3d_parent_ops wined3d_null_parent_ops DECLSPEC_HIDDEN; -void gen_ffp_frag_op(const struct wined3d_device *device, const struct wined3d_state *state, +void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d_state *state, struct ffp_frag_settings *settings, BOOL ignore_textype) DECLSPEC_HIDDEN; const struct ffp_frag_desc *find_ffp_frag_shader(const struct wine_rb_tree *fragment_shaders, const struct ffp_frag_settings *settings) DECLSPEC_HIDDEN;
1
0
0
0
Stefan Dösinger : wined3d: Access gl_info and d3d_info from the context in find_arb_*_compile_args.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: 820c12c98f3a18a1e2829a64930cf93a6e3bd1f7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=820c12c98f3a18a1e2829a649…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:25 2013 +0200 wined3d: Access gl_info and d3d_info from the context in find_arb_*_compile_args. --- dlls/wined3d/arb_program_shader.c | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 5054b7c..70c796d 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -4472,11 +4472,11 @@ static struct arb_vs_compiled_shader *find_arb_vshader(struct wined3d_shader *sh } static void find_arb_ps_compile_args(const struct wined3d_state *state, - const struct wined3d_shader *shader, struct arb_ps_compile_args *args) + const struct wined3d_context *context, const struct wined3d_shader *shader, + struct arb_ps_compile_args *args) { - struct wined3d_device *device = shader->device; - const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; - const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; + const struct wined3d_gl_info *gl_info = context->gl_info; + const struct wined3d_d3d_info *d3d_info = context->d3d_info; int i; WORD int_skip; @@ -4528,12 +4528,13 @@ static void find_arb_ps_compile_args(const struct wined3d_state *state, } static void find_arb_vs_compile_args(const struct wined3d_state *state, - const struct wined3d_shader *shader, struct arb_vs_compile_args *args) + const struct wined3d_context *context, const struct wined3d_shader *shader, + struct arb_vs_compile_args *args) { struct wined3d_device *device = shader->device; const struct wined3d_adapter *adapter = device->adapter; - const struct wined3d_gl_info *gl_info = &adapter->gl_info; - const struct wined3d_d3d_info *d3d_info = &adapter->d3d_info; + const struct wined3d_gl_info *gl_info = context->gl_info; + const struct wined3d_d3d_info *d3d_info = context->d3d_info; int i; WORD int_skip; @@ -4623,7 +4624,7 @@ static void shader_arb_select(const struct wined3d_context *context, enum wined3 struct arb_ps_compiled_shader *compiled; TRACE("Using pixel shader %p.\n", ps); - find_arb_ps_compile_args(state, ps, &compile_args); + find_arb_ps_compile_args(state, context, ps, &compile_args); compiled = find_arb_pshader(ps, &compile_args); priv->current_fprogram_id = compiled->prgId; priv->compiled_fprog = compiled; @@ -4688,7 +4689,7 @@ static void shader_arb_select(const struct wined3d_context *context, enum wined3 struct arb_vs_compiled_shader *compiled; TRACE("Using vertex shader %p\n", vs); - find_arb_vs_compile_args(state, vs, &compile_args); + find_arb_vs_compile_args(state, context, vs, &compile_args); compiled = find_arb_vshader(vs, &compile_args); priv->current_vprogram_id = compiled->prgId; priv->compiled_vprog = compiled;
1
0
0
0
Stefan Dösinger : wined3d: Add a new structure for d3d limits and other info.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: 16e862ba9d82326a9ce8549584aec863b2e5286f URL:
http://source.winehq.org/git/wine.git/?a=commit;h=16e862ba9d82326a9ce854958…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Thu Apr 25 15:20:24 2013 +0200 wined3d: Add a new structure for d3d limits and other info. --- dlls/wined3d/arb_program_shader.c | 12 ++++++++---- dlls/wined3d/context.c | 1 + dlls/wined3d/device.c | 1 - dlls/wined3d/directx.c | 4 ++++ dlls/wined3d/state.c | 12 +++++++----- dlls/wined3d/utils.c | 3 ++- dlls/wined3d/wined3d_private.h | 8 +++++++- 7 files changed, 29 insertions(+), 12 deletions(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 967a057..5054b7c 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -4293,6 +4293,7 @@ static struct arb_ps_compiled_shader *find_arb_pshader(struct wined3d_shader *sh { struct wined3d_device *device = shader->device; const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; + const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; UINT i; DWORD new_size; struct arb_ps_compiled_shader *new_array; @@ -4315,7 +4316,7 @@ static struct arb_ps_compiled_shader *find_arb_pshader(struct wined3d_shader *sh TRACE("Shader got assigned input signature index %u\n", shader_data->input_signature_idx); - if (!device->vs_clipping) + if (!d3d_info->vs_clipping) shader_data->clipplane_emulation = shader_find_free_input_register(&shader->reg_maps, gl_info->limits.texture_stages - 1); else @@ -4475,6 +4476,7 @@ static void find_arb_ps_compile_args(const struct wined3d_state *state, { struct wined3d_device *device = shader->device; const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; + const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; int i; WORD int_skip; @@ -4493,7 +4495,7 @@ static void find_arb_ps_compile_args(const struct wined3d_state *state, * is quite expensive because it forces the driver to disable early Z discards. It is cheaper to * duplicate the shader than have a no-op KIL instruction in every shader */ - if (!device->vs_clipping && use_vs(state) + if (!d3d_info->vs_clipping && use_vs(state) && state->render_states[WINED3D_RS_CLIPPING] && state->render_states[WINED3D_RS_CLIPPLANEENABLE]) args->clip = 1; @@ -4529,7 +4531,9 @@ static void find_arb_vs_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, struct arb_vs_compile_args *args) { struct wined3d_device *device = shader->device; - const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; + const struct wined3d_adapter *adapter = device->adapter; + const struct wined3d_gl_info *gl_info = &adapter->gl_info; + const struct wined3d_d3d_info *d3d_info = &adapter->d3d_info; int i; WORD int_skip; @@ -4547,7 +4551,7 @@ static void find_arb_vs_compile_args(const struct wined3d_state *state, else { args->ps_signature = ~0; - if (!device->vs_clipping && device->adapter->fragment_pipe == &arbfp_fragment_pipeline) + if (!d3d_info->vs_clipping && adapter->fragment_pipe == &arbfp_fragment_pipeline) { args->clip.boolclip.clip_texcoord = ffp_clip_emul(state) ? gl_info->limits.texture_stages : 0; } diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c index 4ee5bd4..6a4f766 100644 --- a/dlls/wined3d/context.c +++ b/dlls/wined3d/context.c @@ -1449,6 +1449,7 @@ struct wined3d_context *context_create(struct wined3d_swapchain *swapchain, } ret->gl_info = gl_info; + ret->d3d_info = &device->adapter->d3d_info; ret->state_table = device->StateTable; /* Mark all states dirty to force a proper initialization of the states diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 3eb7852..b15d4c2 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -5435,7 +5435,6 @@ HRESULT device_init(struct wined3d_device *device, struct wined3d *wined3d, device->ps_version = shader_caps.ps_version; device->d3d_vshader_constantF = shader_caps.vs_uniform_count; device->d3d_pshader_constantF = shader_caps.ps_uniform_count; - device->vs_clipping = shader_caps.wined3d_caps & WINED3D_SHADER_CAP_VS_CLIPPING; vertex_pipeline = adapter->vertex_pipe; diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 3743968..cd96ac7 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2625,6 +2625,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter) struct wined3d_gl_info *gl_info = &adapter->gl_info; enum wined3d_pci_vendor card_vendor; struct fragment_caps fragment_caps; + struct shader_caps shader_caps; const char *WGL_Extensions = NULL; const char *GL_Extensions = NULL; enum wined3d_gl_vendor gl_vendor; @@ -2843,6 +2844,9 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter) adapter->fragment_pipe = select_fragment_implementation(gl_info, adapter->shader_backend); adapter->blitter = select_blit_implementation(gl_info, adapter->shader_backend); + adapter->shader_backend->shader_get_caps(&adapter->gl_info, &shader_caps); + adapter->d3d_info.vs_clipping = shader_caps.wined3d_caps & WINED3D_SHADER_CAP_VS_CLIPPING; + adapter->fragment_pipe->get_caps(gl_info, &fragment_caps); gl_info->limits.texture_stages = fragment_caps.MaxTextureBlendStages; TRACE("Max texture stages: %u.\n", gl_info->limits.texture_stages); diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 84e8b72..5de7f43 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -610,9 +610,7 @@ static void state_clipping(struct wined3d_context *context, const struct wined3d if (use_vs(state)) { - const struct wined3d_device *device = context->swapchain->device; - - if (!device->vs_clipping) + if (!context->d3d_info->vs_clipping) { /* The spec says that opengl clipping planes are disabled when using shaders. Direct3D planes aren't, * so that is an issue. The MacOS ATI driver keeps clipping planes activated with shaders in some @@ -4603,8 +4601,11 @@ static void vertexdeclaration(struct wined3d_context *context, const struct wine { updateFog = TRUE; - if (!device->vs_clipping && !isStateDirty(context, STATE_RENDER(WINED3D_RS_CLIPPLANEENABLE))) + if (!context->d3d_info->vs_clipping + && !isStateDirty(context, STATE_RENDER(WINED3D_RS_CLIPPLANEENABLE))) + { state_clipping(context, state, STATE_RENDER(WINED3D_RS_CLIPPLANEENABLE)); + } for (i = 0; i < gl_info->limits.clipplanes; ++i) { @@ -4618,7 +4619,8 @@ static void vertexdeclaration(struct wined3d_context *context, const struct wine { if(!context->last_was_vshader) { static BOOL warned = FALSE; - if(!device->vs_clipping) { + if (!context->d3d_info->vs_clipping) + { /* Disable all clip planes to get defined results on all drivers. See comment in the * state_clipping state handler */ diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index 4a4289c..0e5ff2b 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -3131,6 +3131,7 @@ void gen_ffp_frag_op(const struct wined3d_device *device, const struct wined3d_s DWORD cop, aop, carg0, carg1, carg2, aarg0, aarg1, aarg2; const struct wined3d_surface *rt = state->fb->render_targets[0]; const struct wined3d_gl_info *gl_info = &device->adapter->gl_info; + const struct wined3d_d3d_info *d3d_info = &device->adapter->d3d_info; for (i = 0; i < gl_info->limits.texture_stages; ++i) { @@ -3350,7 +3351,7 @@ void gen_ffp_frag_op(const struct wined3d_device *device, const struct wined3d_s } else { settings->sRGB_write = 0; } - if (device->vs_clipping || !use_vs(state) || !state->render_states[WINED3D_RS_CLIPPING] + if (d3d_info->vs_clipping || !use_vs(state) || !state->render_states[WINED3D_RS_CLIPPING] || !state->render_states[WINED3D_RS_CLIPPLANEENABLE]) { /* No need to emulate clipplanes if GL supports native vertex shader clipping or if diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index f836485..b3d1eb7 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1059,6 +1059,7 @@ BOOL wined3d_event_query_supported(const struct wined3d_gl_info *gl_info) DECLSP struct wined3d_context { const struct wined3d_gl_info *gl_info; + const struct wined3d_d3d_info *d3d_info; const struct StateEntry *state_table; /* State dirtification * dirtyArray is an array that contains markers for dirty states. numDirtyEntries states are dirty, their numbers are in indices @@ -1586,6 +1587,11 @@ struct wined3d_driver_info DWORD version_low; }; +struct wined3d_d3d_info +{ + BOOL vs_clipping; +}; + /* The adapter structure */ struct wined3d_adapter { @@ -1594,6 +1600,7 @@ struct wined3d_adapter enum wined3d_format_id screen_format; struct wined3d_gl_info gl_info; + struct wined3d_d3d_info d3d_info; struct wined3d_driver_info driver_info; WCHAR DeviceName[CCHDEVICENAME]; /* DeviceName for use with e.g. ChangeDisplaySettings */ unsigned int cfg_count; @@ -1724,7 +1731,6 @@ struct wined3d_device unsigned int max_ffp_textures; UINT vs_version, gs_version, ps_version; DWORD d3d_vshader_constantF, d3d_pshader_constantF; /* Advertised d3d caps, not GL ones */ - DWORD vs_clipping; UINT instance_count; WORD vertexBlendUsed : 1; /* To avoid needless setting of the blend matrices */
1
0
0
0
Christian Costa : d3dx9_36: Add DIB file support to D3DXSaveSurfaceToFileInMemory.
by Alexandre Julliard
25 Apr '13
25 Apr '13
Module: wine Branch: master Commit: 0321e6364141a2fc5796343145bcb14b7ff5aa7c URL:
http://source.winehq.org/git/wine.git/?a=commit;h=0321e6364141a2fc579634314…
Author: Christian Costa <titan.costa(a)gmail.com> Date: Mon Apr 22 23:08:18 2013 +0200 d3dx9_36: Add DIB file support to D3DXSaveSurfaceToFileInMemory. --- dlls/d3dx9_36/surface.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c index fd1acc6..81bdd78 100644 --- a/dlls/d3dx9_36/surface.c +++ b/dlls/d3dx9_36/surface.c @@ -1941,6 +1941,7 @@ HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE switch (file_format) { case D3DXIFF_BMP: + case D3DXIFF_DIB: encoder_clsid = &CLSID_WICBmpEncoder; break; case D3DXIFF_PNG: @@ -1951,7 +1952,6 @@ HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE break; case D3DXIFF_DDS: return save_dds_surface_to_memory(dst_buffer, src_surface, src_rect); - case D3DXIFF_DIB: case D3DXIFF_HDR: case D3DXIFF_PFM: case D3DXIFF_TGA: @@ -2088,6 +2088,10 @@ HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE } size = stream_stats.cbSize.u.LowPart; + /* Remove BMP header for DIB */ + if (file_format == D3DXIFF_DIB) + size -= sizeof(BITMAPFILEHEADER); + hr = D3DXCreateBuffer(size, &buffer); if (FAILED(hr)) goto cleanup; @@ -2096,6 +2100,9 @@ HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE { void *buffer_pointer = ID3DXBuffer_GetBufferPointer(buffer); void *stream_data = GlobalLock(stream_hglobal); + /* Remove BMP header for DIB */ + if (file_format == D3DXIFF_DIB) + stream_data = (void*)((BYTE*)stream_data + sizeof(BITMAPFILEHEADER)); memcpy(buffer_pointer, stream_data, size); GlobalUnlock(stream_hglobal); *dst_buffer = buffer;
1
0
0
0
← Newer
1
...
5
6
7
8
9
10
11
...
58
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
Results per page:
10
25
50
100
200