Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- 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
November 2021
- 83 participants
- 2620 messages
Re: [PATCH 1/2] ddraw/tests: Port test_filling_convention to ddraw (v2).
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=101640
Your paranoid android.
=== w8 (32 bit report) ===
ddraw:
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 7.
=== w8adm (32 bit report) ===
ddraw:
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 7.
=== w1064v1507 (32 bit report) ===
ddraw:
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 7.
=== w1064_tsign (32 bit report) ===
ddraw:
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 7.
=== w10pro64 (32 bit report) ===
ddraw:
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 0.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 1.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x1, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x2, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x3, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 4x4, case 2.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 3.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 4.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 5.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x5, case 6.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x1, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x2, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x3, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 2x4, case 7.
ddraw1.c:14875: Test failed: Got unexpected colour 000000ff, 3x4, case 7.
=== w1064_tsign (32 bit report) ===
ddraw:
ddraw7.c:18676: Test failed: Got unexpected color 0x00000040.
=== debiant2 (32 bit Chinese:China report) ===
Report validation errors:
ddraw1: Timeout
=== debiant2 (build log) ===
WineRunWineTest.pl:error: The task timed out
=== debiant2 (64 bit WoW report) ===
Report validation errors:
ddraw7: Timeout
=== debiant2 (build log) ===
WineRunWineTest.pl:error: The task timed out
Nov. 10, 2021
[PATCH v2 5/5] win32u: Move NtUserCountClipboardFormats implementation from user32.
by Jacek Caban
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
dlls/user32/clipboard.c | 23 +--------------
dlls/user32/user32.spec | 2 +-
dlls/win32u/Makefile.in | 1 +
dlls/win32u/clipboard.c | 55 ++++++++++++++++++++++++++++++++++++
dlls/win32u/driver.c | 34 +++++++++++++++++++---
dlls/win32u/gdiobj.c | 1 +
dlls/win32u/win32u.spec | 2 +-
dlls/win32u/win32u_private.h | 3 ++
dlls/win32u/wrappers.c | 5 ++++
include/ntuser.h | 1 +
10 files changed, 99 insertions(+), 28 deletions(-)
create mode 100644 dlls/win32u/clipboard.c
Nov. 10, 2021
[PATCH v2 4/5] win32u: Move null user driver implementation from user32.
by Jacek Caban
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
dlls/user32/driver.c | 209 +----------------------------
dlls/win32u/driver.c | 310 ++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 310 insertions(+), 209 deletions(-)
Nov. 10, 2021
[PATCH v2 3/5] win32u: Use user_driver_funcs to pass driver to __wine_set_display_driver.
by Jacek Caban
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
dlls/user32/driver.c | 11 +++---
dlls/win32u/driver.c | 45 ++++++++++++-----------
dlls/win32u/gdiobj.c | 2 +-
dlls/win32u/ntgdi_private.h | 1 -
dlls/win32u/win32u_private.h | 2 +-
dlls/win32u/wrappers.c | 19 +---------
dlls/wineandroid.drv/init.c | 14 -------
dlls/wineandroid.drv/wineandroid.drv.spec | 4 --
dlls/winemac.drv/gdi.c | 14 -------
dlls/winemac.drv/winemac.drv.spec | 4 --
dlls/winex11.drv/init.c | 14 -------
dlls/winex11.drv/winex11.drv.spec | 4 --
include/wine/gdi_driver.h | 4 +-
13 files changed, 34 insertions(+), 104 deletions(-)
Nov. 10, 2021
[PATCH v2 2/5] user32: Use user_driver_funcs to expose user driver function from drivers.
by Jacek Caban
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
v2: Fixed null driver handling.
dlls/user32/driver.c | 167 ++++++++++---------
dlls/user32/user32.spec | 1 +
dlls/wineandroid.drv/android.h | 27 +++
dlls/wineandroid.drv/init.c | 132 ++++-----------
dlls/wineandroid.drv/wineandroid.drv.spec | 24 ---
dlls/winemac.drv/gdi.c | 148 ++++++-----------
dlls/winemac.drv/macdrv.h | 52 ++++++
dlls/winemac.drv/mouse.c | 2 +-
dlls/winemac.drv/winemac.drv.spec | 39 -----
dlls/winex11.drv/display.c | 1 -
dlls/winex11.drv/event.c | 2 -
dlls/winex11.drv/init.c | 194 +++++++++++-----------
dlls/winex11.drv/winex11.drv.spec | 41 -----
dlls/winex11.drv/x11drv.h | 50 ++++++
dlls/winex11.drv/x11drv_main.c | 1 +
dlls/winex11.drv/xim.c | 2 -
include/wine/gdi_driver.h | 2 +
17 files changed, 403 insertions(+), 482 deletions(-)
Nov. 10, 2021
[PATCH 2/2] evr/mixer: Flush on MFT_MESSAGE_NOTIFY_END_STREAMING.
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/evr/mixer.c | 21 +++-----
dlls/evr/tests/evr.c | 121 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 128 insertions(+), 14 deletions(-)
diff --git a/dlls/evr/mixer.c b/dlls/evr/mixer.c
index b9a28c4ad75..8fe80c2f4a9 100644
--- a/dlls/evr/mixer.c
+++ b/dlls/evr/mixer.c
@@ -1125,34 +1125,27 @@ static HRESULT WINAPI video_mixer_transform_ProcessMessage(IMFTransform *iface,
TRACE("%p, %#x, %#lx.\n", iface, message, param);
+ EnterCriticalSection(&mixer->cs);
+
switch (message)
{
case MFT_MESSAGE_SET_D3D_MANAGER:
-
- EnterCriticalSection(&mixer->cs);
-
video_mixer_release_device_manager(mixer);
if (param)
hr = IUnknown_QueryInterface((IUnknown *)param, &IID_IDirect3DDeviceManager9, (void **)&mixer->device_manager);
- LeaveCriticalSection(&mixer->cs);
-
break;
case MFT_MESSAGE_COMMAND_FLUSH:
-
- EnterCriticalSection(&mixer->cs);
video_mixer_flush_input(mixer);
- LeaveCriticalSection(&mixer->cs);
break;
case MFT_MESSAGE_NOTIFY_BEGIN_STREAMING:
case MFT_MESSAGE_NOTIFY_END_STREAMING:
-
- EnterCriticalSection(&mixer->cs);
-
- if (!mixer->is_streaming)
+ if (mixer->is_streaming)
+ video_mixer_flush_input(mixer);
+ else
{
for (i = 0; i < mixer->input_count; ++i)
video_mixer_request_sample(mixer, i);
@@ -1160,8 +1153,6 @@ static HRESULT WINAPI video_mixer_transform_ProcessMessage(IMFTransform *iface,
mixer->is_streaming = message == MFT_MESSAGE_NOTIFY_BEGIN_STREAMING;
- LeaveCriticalSection(&mixer->cs);
-
break;
case MFT_MESSAGE_COMMAND_DRAIN:
@@ -1172,6 +1163,8 @@ static HRESULT WINAPI video_mixer_transform_ProcessMessage(IMFTransform *iface,
hr = E_NOTIMPL;
}
+ LeaveCriticalSection(&mixer->cs);
+
return hr;
}
diff --git a/dlls/evr/tests/evr.c b/dlls/evr/tests/evr.c
index 57b64937b79..046a7e4db59 100644
--- a/dlls/evr/tests/evr.c
+++ b/dlls/evr/tests/evr.c
@@ -94,6 +94,15 @@ static IFilterGraph2 *create_graph(void)
return ret;
}
+#define EXPECT_REF(obj,ref) _expect_ref((IUnknown*)obj, ref, __LINE__)
+static void _expect_ref(IUnknown *obj, ULONG ref, int line)
+{
+ ULONG rc;
+ IUnknown_AddRef(obj);
+ rc = IUnknown_Release(obj);
+ ok_(__FILE__,line)(rc == ref, "Unexpected refcount %d, expected %d.\n", rc, ref);
+}
+
static ULONG get_refcount(void *iface)
{
IUnknown *unknown = iface;
@@ -3061,6 +3070,117 @@ static void test_MFIsFormatYUV(void)
}
}
+static void test_mixer_render(void)
+{
+ IMFMediaType *video_type, *output_type;
+ IMFVideoMixerControl *mixer_control;
+ IDirect3DDeviceManager9 *manager;
+ IMFVideoProcessor *processor;
+ IDirect3DSurface9 *surface;
+ IDirect3DDevice9 *device;
+ IMFTransform *mixer;
+ IMFSample *sample;
+ DWORD status;
+ HWND window;
+ UINT token;
+ HRESULT hr;
+
+ window = create_window();
+ if (!(device = create_device(window)))
+ {
+ skip("Failed to create a D3D device, skipping tests.\n");
+ goto done;
+ }
+
+ hr = MFCreateVideoMixer(NULL, &IID_IDirect3DDevice9, &IID_IMFTransform, (void **)&mixer);
+ ok(hr == S_OK, "Failed to create a mixer, hr %#x.\n", hr);
+
+ hr = IMFTransform_QueryInterface(mixer, &IID_IMFVideoProcessor, (void **)&processor);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = IMFTransform_QueryInterface(mixer, &IID_IMFVideoMixerControl, (void **)&mixer_control);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ /* Configure device and media types. */
+ hr = DXVA2CreateDirect3DDeviceManager9(&token, &manager);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = IDirect3DDeviceManager9_ResetDevice(manager, device, token);
+ ok(hr == S_OK, "Failed to set a device, hr %#x.\n", hr);
+
+ hr = IMFTransform_ProcessMessage(mixer, MFT_MESSAGE_SET_D3D_MANAGER, (ULONG_PTR)manager);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ video_type = create_video_type(&MFVideoFormat_RGB32);
+
+ hr = IMFMediaType_SetUINT64(video_type, &MF_MT_FRAME_SIZE, (UINT64)64 << 32 | 64);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ hr = IMFMediaType_SetUINT32(video_type, &MF_MT_ALL_SAMPLES_INDEPENDENT, TRUE);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = IMFTransform_SetInputType(mixer, 0, video_type, 0);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = IMFTransform_GetOutputAvailableType(mixer, 0, 0, &output_type);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = IMFTransform_SetOutputType(mixer, 0, output_type, 0);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ IMFMediaType_Release(output_type);
+ IMFMediaType_Release(video_type);
+
+ surface = create_surface(manager, 64, 64);
+ ok(!!surface, "Failed to create input surface.\n");
+
+ hr = MFCreateVideoSampleFromSurface((IUnknown *)surface, &sample);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ EXPECT_REF(sample, 1);
+ hr = IMFTransform_ProcessInput(mixer, 0, sample, 0);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ EXPECT_REF(sample, 2);
+
+ hr = IMFTransform_GetOutputStatus(mixer, &status);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(status == MFT_OUTPUT_STATUS_SAMPLE_READY, "Unexpected status %#x.\n", status);
+
+ /* FLUSH/END_STREAMING releases input */
+ hr = IMFTransform_ProcessMessage(mixer, MFT_MESSAGE_NOTIFY_END_STREAMING, 0);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ EXPECT_REF(sample, 1);
+
+ hr = IMFTransform_GetOutputStatus(mixer, &status);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(!status, "Unexpected status %#x.\n", status);
+
+ hr = IMFTransform_ProcessInput(mixer, 0, sample, 0);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ EXPECT_REF(sample, 2);
+
+ hr = IMFTransform_GetOutputStatus(mixer, &status);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(status == MFT_OUTPUT_STATUS_SAMPLE_READY, "Unexpected status %#x.\n", status);
+
+ hr = IMFTransform_ProcessMessage(mixer, MFT_MESSAGE_COMMAND_FLUSH, 0);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ EXPECT_REF(sample, 1);
+
+ hr = IMFTransform_GetOutputStatus(mixer, &status);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(!status, "Unexpected status %#x.\n", status);
+
+ IMFSample_Release(sample);
+ IDirect3DSurface9_Release(surface);
+ IMFTransform_Release(mixer);
+
+ IDirect3DDevice9_Release(device);
+ IDirect3DDeviceManager9_Release(manager);
+
+done:
+ DestroyWindow(window);
+}
+
START_TEST(evr)
{
IMFVideoPresenter *presenter;
@@ -3099,6 +3219,7 @@ START_TEST(evr)
test_mixer_output_rectangle();
test_mixer_zorder();
test_mixer_samples();
+ test_mixer_render();
test_MFIsFormatYUV();
CoUninitialize();
--
2.33.0
Nov. 10, 2021
[PATCH 1/2] evr/mixer: Implement repainting requests.
by Nikolay Sivov
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/evr/mixer.c | 75 ++++++++++++++++++++++++++++++------------------
1 file changed, 47 insertions(+), 28 deletions(-)
diff --git a/dlls/evr/mixer.c b/dlls/evr/mixer.c
index 4f5837a49a4..b9a28c4ad75 100644
--- a/dlls/evr/mixer.c
+++ b/dlls/evr/mixer.c
@@ -95,7 +95,8 @@ struct video_mixer
IMFAttributes *attributes;
IMFAttributes *internal_attributes;
unsigned int mixing_flags;
- unsigned int is_streaming;
+ unsigned int is_streaming : 1;
+ unsigned int output_rendered : 1;
struct
{
COLORREF rgba;
@@ -207,6 +208,20 @@ static void video_mixer_update_zorder_map(struct video_mixer *mixer)
qsort(mixer->zorder, mixer->input_count, sizeof(*mixer->zorder), video_mixer_zorder_sort_compare);
}
+static void video_mixer_flush_input(struct video_mixer *mixer)
+{
+ unsigned int i;
+
+ for (i = 0; i < mixer->input_count; ++i)
+ {
+ if (mixer->inputs[i].sample)
+ IMFSample_Release(mixer->inputs[i].sample);
+ mixer->inputs[i].sample = NULL;
+ mixer->inputs[i].sample_requested = 0;
+ }
+ mixer->output_rendered = 0;
+}
+
static void video_mixer_clear_types(struct video_mixer *mixer)
{
unsigned int i;
@@ -216,10 +231,8 @@ static void video_mixer_clear_types(struct video_mixer *mixer)
if (mixer->inputs[i].media_type)
IMFMediaType_Release(mixer->inputs[i].media_type);
mixer->inputs[i].media_type = NULL;
- if (mixer->inputs[i].sample)
- IMFSample_Release(mixer->inputs[i].sample);
- mixer->inputs[i].sample = NULL;
}
+ video_mixer_flush_input(mixer);
for (i = 0; i < mixer->output.rt_formats_count; ++i)
{
IMFMediaType_Release(mixer->output.rt_formats[i].media_type);
@@ -1129,17 +1142,7 @@ static HRESULT WINAPI video_mixer_transform_ProcessMessage(IMFTransform *iface,
case MFT_MESSAGE_COMMAND_FLUSH:
EnterCriticalSection(&mixer->cs);
-
- for (i = 0; i < mixer->input_count; ++i)
- {
- if (mixer->inputs[i].sample)
- {
- IMFSample_Release(mixer->inputs[i].sample);
- mixer->inputs[i].sample = NULL;
- mixer->inputs[i].sample_requested = 0;
- }
- }
-
+ video_mixer_flush_input(mixer);
LeaveCriticalSection(&mixer->cs);
break;
@@ -1189,10 +1192,12 @@ static HRESULT WINAPI video_mixer_transform_ProcessInput(IMFTransform *iface, DW
{
if (!input->media_type || !mixer->output.media_type)
hr = MF_E_TRANSFORM_TYPE_NOT_SET;
- else if (input->sample)
+ else if (input->sample && !mixer->output_rendered)
hr = MF_E_NOTACCEPTING;
else
{
+ if (input->sample && mixer->output_rendered)
+ video_mixer_flush_input(mixer);
mixer->is_streaming = 1;
input->sample_requested = 0;
input->sample = sample;
@@ -1361,6 +1366,7 @@ static HRESULT video_mixer_get_sample_desired_time(IMFSample *sample, LONGLONG *
IMFDesiredSample *desired;
HRESULT hr;
+ *timestamp = *duration = 0;
if (SUCCEEDED(hr = IMFSample_QueryInterface(sample, &IID_IMFDesiredSample, (void **)&desired)))
{
hr = IMFDesiredSample_GetDesiredSampleTimeAndDuration(desired, timestamp, duration);
@@ -1370,6 +1376,18 @@ static HRESULT video_mixer_get_sample_desired_time(IMFSample *sample, LONGLONG *
return hr;
}
+static BOOL video_mixer_has_input(const struct video_mixer *mixer)
+{
+ unsigned int i;
+
+ for (i = 0; i < mixer->input_count; ++i)
+ {
+ if (!mixer->inputs[i].sample) return FALSE;
+ }
+
+ return TRUE;
+}
+
static HRESULT WINAPI video_mixer_transform_ProcessOutput(IMFTransform *iface, DWORD flags, DWORD count,
MFT_OUTPUT_DATA_BUFFER *buffers, DWORD *status)
{
@@ -1377,6 +1395,7 @@ static HRESULT WINAPI video_mixer_transform_ProcessOutput(IMFTransform *iface, D
LONGLONG timestamp, duration;
IDirect3DSurface9 *surface;
IDirect3DDevice9 *device;
+ BOOL repaint = FALSE;
unsigned int i;
HRESULT hr;
@@ -1396,15 +1415,20 @@ static HRESULT WINAPI video_mixer_transform_ProcessOutput(IMFTransform *iface, D
{
if (mixer->is_streaming)
{
- for (i = 0; i < mixer->input_count; ++i)
+ /* Desired timestamp is ignored, duration is required to be non-zero but is not used either. */
+ if (SUCCEEDED(video_mixer_get_sample_desired_time(buffers->pSample, ×tamp, &duration)))
{
- if (!mixer->inputs[i].sample)
+ if (!(repaint = !!duration))
{
- hr = MF_E_TRANSFORM_NEED_MORE_INPUT;
- break;
+ WARN("Unexpected sample duration.\n");
+ hr = E_INVALIDARG;
}
}
+ /* Not enough input, or no new input. */
+ if (SUCCEEDED(hr) && (!video_mixer_has_input(mixer) || (!repaint && mixer->output_rendered)))
+ hr = MF_E_TRANSFORM_NEED_MORE_INPUT;
+
if (SUCCEEDED(hr))
{
video_mixer_render(mixer, surface);
@@ -1412,22 +1436,17 @@ static HRESULT WINAPI video_mixer_transform_ProcessOutput(IMFTransform *iface, D
timestamp = duration = 0;
if (SUCCEEDED(IMFSample_GetSampleTime(mixer->inputs[0].sample, ×tamp)))
{
- IMFSample_SetSampleTime(buffers->pSample, timestamp);
-
IMFSample_GetSampleDuration(mixer->inputs[0].sample, &duration);
+ IMFSample_SetSampleTime(buffers->pSample, timestamp);
IMFSample_SetSampleDuration(buffers->pSample, duration);
}
+ mixer->output_rendered = 1;
}
- if (SUCCEEDED(hr))
+ if (SUCCEEDED(hr) && !repaint)
{
for (i = 0; i < mixer->input_count; ++i)
- {
- if (mixer->inputs[i].sample)
- IMFSample_Release(mixer->inputs[i].sample);
- mixer->inputs[i].sample = NULL;
video_mixer_request_sample(mixer, i);
- }
}
}
else
--
2.33.0
Nov. 10, 2021
[PATCH v2 1/5] user32: Introduce user_driver_funcs struct.
by Jacek Caban
And use it instead of USER_DRIVER.
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
---
dlls/user32/driver.c | 24 +++++++--------
dlls/user32/painting.c | 9 ++----
dlls/user32/sysparams.c | 1 -
dlls/user32/user_private.h | 56 ++--------------------------------
dlls/user32/win.c | 6 +---
dlls/user32/winpos.c | 9 ++----
include/wine/gdi_driver.h | 61 ++++++++++++++++++++++++++++++++++++++
7 files changed, 78 insertions(+), 88 deletions(-)
Nov. 10, 2021
Re: [PATCH] kernelbase: Implement AppPolicyGetMediaFoundationCodecLoading.
by Nikolay Sivov
On 11/9/21 4:57 AM, Mohamad Al-Jaf wrote:
> Enables native Windows 10 media foundation libraries to run.
>
> Signed-off-by: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com>
> ---
> .../api-ms-win-appmodel-runtime-l1-1-2.spec | 2 +-
> dlls/kernelbase/kernelbase.spec | 2 +-
> dlls/kernelbase/main.c | 14 ++++++++++++++
> include/appmodel.h | 6 ++++++
> 4 files changed, 22 insertions(+), 2 deletions(-)
Apparently kernel32 also has AppPolicy exports, please add a forward
there too.
> diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
> index b90ee1cba2c..e6cf892a4dc 100644
> --- a/dlls/kernelbase/main.c
> +++ b/dlls/kernelbase/main.c
> @@ -88,6 +88,20 @@ INT WINAPI MulDiv( INT a, INT b, INT c )
> return ret;
> }
>
> +/***********************************************************************
> + * AppPolicyGetMediaFoundationCodecLoading (KERNELBASE.@)
> + */
> +
> +LONG WINAPI AppPolicyGetMediaFoundationCodecLoading(HANDLE token, AppPolicyMediaFoundationCodecLoading *policy)
> +{
> + FIXME("%p, %p\n", token, policy);
> +
> + if(policy)
> + *policy = AppPolicyMediaFoundationCodecLoading_All;
> +
> + return ERROR_SUCCESS;
> +}
Thanks, this seems to match what unpackaged binary gets according to my
quick test, so that's good.
> +
> /***********************************************************************
> * AppPolicyGetProcessTerminationMethod (KERNELBASE.@)
> */
> diff --git a/include/appmodel.h b/include/appmodel.h
> index e4288bbfbb0..cf1b9659d14 100644
> --- a/include/appmodel.h
> +++ b/include/appmodel.h
> @@ -22,6 +22,12 @@
> extern "C" {
> #endif
>
> +typedef enum AppPolicyMediaFoundationCodecLoading
> +{
> + AppPolicyMediaFoundationCodecLoading_All = 0,
> + AppPolicyMediaFoundationCodecLoading_InboxOnly = 1,
> +} AppPolicyMediaFoundationCodecLoading;
> +
> typedef enum AppPolicyProcessTerminationMethod
> {
> AppPolicyProcessTerminationMethod_ExitProcess = 0,
Please add function prototype as well.
Nov. 10, 2021
Re: [PATCH 4/5] win32u: Move null user driver implementation from user32.
by Jacek Caban
Hi Rémi,
On 11/10/21 12:41 AM, Rémi Bernon wrote:
> On 11/9/21 13:55, Jacek Caban wrote:
>> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
>> ---
>> dlls/user32/driver.c | 209 +----------------------------
>> dlls/win32u/driver.c | 310 ++++++++++++++++++++++++++++++++++++++++++-
>> 2 files changed, 310 insertions(+), 209 deletions(-)
>>
>>
>
> A little bit related to my previous comment, this patch introduces a
> reset to "null" graphics driver on driver unload.
>
> I think it could also add the same
>
> __wine_set_display_driver( &null_driver, WINE_GDI_DRIVER_VERSION );
>
> call when the "null" driver is explicitly requested and loaded,
> possibly addressing my previous comment too (as the pointer would not
> be lasy_load_driver anymore).
Good point. I think we will need to use __wine_set_user_driver here
until more stuff is moved to win32u. I will send v2.
Thanks,
Jacek
Nov. 10, 2021