Closed Bug 603532 Opened 9 years ago Closed 9 years ago

LayerManagerD3D10.cpp fails to compile with "--with-windows-version=502"

Categories

(Core :: Graphics, defect, blocker)

x86
Windows Server 2003
defect
Not set
blocker

Tracking

()

VERIFIED DUPLICATE of bug 601358

People

(Reporter: sgautherie, Assigned: sgautherie)

References

()

Details

Attachments

(1 obsolete file)

I wanted an Opt Try build with 'ac_add_options --with-windows-version=502'.

http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTry/1286774967.1286777125.24562.gz
WINNT 5.2 tryserver leak test build on 2010/10/10 22:29:27
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/sgautherie.bz@free.fr-6217de6dcf12/tryserver-win32-debug/
+
http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTry/1286840247.1286842967.2077.gz
WINNT 5.2 tryserver leak test build on 2010/10/11 16:37:27
http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/sgautherie.bz@free.fr-33a584b89933/tryserver-win32-debug/
{
LayerManagerD3D10.cpp

e:\builds\moz2_slave\tryserver-win32-debug\build\gfx\layers\d3d10\ImageLayerD3D10.h(137) : warning C4355: 'this' : used in base member initializer list

e:/builds/moz2_slave/tryserver-win32-debug/build/gfx/layers/d3d10/LayerManagerD3D10.cpp(94) : error C2065: 'cairo_device_t' : undeclared identifier

e:/builds/moz2_slave/tryserver-win32-debug/build/gfx/layers/d3d10/LayerManagerD3D10.cpp(94) : error C3867: 'mozilla::layers::LayerManagerD3D10::device': function call missing argument list; use '&mozilla::layers::LayerManagerD3D10::device' to create a pointer to member

e:/builds/moz2_slave/tryserver-win32-debug/build/gfx/layers/d3d10/LayerManagerD3D10.cpp(94) : error C2039: 'GetD2DDevice' : is not a member of 'gfxWindowsPlatform'

        e:\builds\moz2_slave\tryserver-win32-debug\build\obj-firefox\dist\include\gfxWindowsPlatform.h(110) : see declaration of 'gfxWindowsPlatform'

e:/builds/moz2_slave/tryserver-win32-debug/build/gfx/layers/d3d10/LayerManagerD3D10.cpp(95) : error C2276: '!' : illegal operation on bound member function expression

e:/builds/moz2_slave/tryserver-win32-debug/build/gfx/layers/d3d10/LayerManagerD3D10.cpp(99) : error C3867: 'mozilla::layers::LayerManagerD3D10::device': function call missing argument list; use '&mozilla::layers::LayerManagerD3D10::device' to create a pointer to member

e:/builds/moz2_slave/tryserver-win32-debug/build/gfx/layers/d3d10/LayerManagerD3D10.cpp(99) : error C3861: 'cairo_d2d_device_get_device': identifier not found

make[5]: Leaving directory `/e/builds/moz2_slave/tryserver-win32-debug/build/obj-firefox/gfx/layers'
...
make[5]: *** [LayerManagerD3D10.obj] Error 2
}

NB: A "bare" Opt Try build without this option builds just fine.

PS:
I can't currently build on my Windows 2000 (Bug nnn),
so I can't say whether this is Try Server specific or more "Core" related,
but I assume the latter: maybe some missing "#ifdef" or the like.
I solved it temporarily in our build machine by commenting "AC_CHECK_HEADER(d3d10.h, MOZ_ENABLE_D3D10_LAYER=1)" (line 8430) in configure.in.

My guess is that the D3D10 layer is getting compiled when the D3D10 header is in the SDK, even though Direct2D is not available. So an extra check needed there?
(In reply to comment #1)

> I solved it temporarily in our build machine by commenting
> "AC_CHECK_HEADER(d3d10.h, MOZ_ENABLE_D3D10_LAYER=1)" (line 8430) in
> configure.in.

Thanks for the pointer.

> My guess is that the D3D10 layer is getting compiled when the D3D10 header is
> in the SDK, even though Direct2D is not available. So an extra check needed
> there?

Obviously. Indeed.

http://mxr.mozilla.org/mozilla-central/source/gfx/layers/d3d10/LayerManagerD3D10.cpp
90 LayerManagerD3D10::Initialize()
94   cairo_device_t *device = gfxWindowsPlatform::GetPlatform()->GetD2DDevice();
95   if (!device) {
96     return false;

http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxWindowsPlatform.h
238 #ifdef CAIRO_HAS_D2D_SURFACE
239     cairo_device_t *GetD2DDevice() { return mD2DDevice; }
240 #endif
Assignee: nobody → sgautherie.bz
Status: NEW → ASSIGNED
Flags: in-testsuite-
Summary: [Try Server ?] LayerManagerD3D10.cpp fails to compile with "--with-windows-version=502" → LayerManagerD3D10.cpp fails to compile with "--with-windows-version=502"
Attachment #483149 - Attachment description: (Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE/D3D10 → (Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE
OS: Windows Server 2003 → All
Comment on attachment 483149 [details] [diff] [review]
(Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE
[Checked in: See bug 601358 comment 8]

http://hg.mozilla.org/mozilla-central/rev/5b8582013988
Attachment #483149 - Attachment description: (Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE → (Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE [Checked in: Comment 4]
Severity: normal → blocker
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
OS: All → Windows Server 2003
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b8
I backed out all the changesets in your push because they weren't approved.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment on attachment 483149 [details] [diff] [review]
(Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE
[Checked in: See bug 601358 comment 8]

(In reply to comment #5)
> I backed out all the changesets in your push because they weren't approved.

See discussion in bug 595756 :-<
Attachment #483149 - Flags: approval2.0?
blocking2.0: --- → ?
This is a dup of 601358 that already has approval flag (sorry I didn't land it yet).
Status: REOPENED → RESOLVED
blocking2.0: ? → ---
Closed: 9 years ago9 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 601358
V.Duplicate :-<
Status: RESOLVED → VERIFIED
No longer depends on: 546514
Flags: in-testsuite-
Target Milestone: mozilla2.0b8 → ---
Attachment #483149 - Attachment description: (Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE [Checked in: Comment 4] → (Av1) Make MOZ_ENABLE_D3D10_LAYER depend on WIN32_D2D_SURFACE_FEATURE [Checked in: See bug 601358 comment 8]
Attachment #483149 - Flags: approval2.0?
(In reply to comment #5)
> I backed out all the changesets in your push because they weren't approved.

http://hg.mozilla.org/mozilla-central/rev/8c82c5840706
Attachment #483149 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.