Closed Bug 808785 Opened 12 years ago Closed 11 years ago

Stop shipping d3dx9_43.dll

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla21

People

(Reporter: bjacob, Assigned: jrmuizel)

References

Details

(Whiteboard: [mentor=bjacob][lang=c++] webgl-next)

Attachments

(1 file, 2 obsolete files)

Currently on Windows we ship copies of two DLLs from the DirectX SDK: d3dx9_43.dll and d3dcompiler_43.dll.

Since ANGLE revision 1314 / issue 311: http://code.google.com/p/angleproject/issues/detail?id=311
d3dx9_43.dll is no longer needed. Note that d3dcompiler_43.dll is still needed.

As soon as we upgrade our ANGLE copy to something recent enough (>= 1314) we should take advantage of this and stop shipping d3dx9_43.dll.

Notice that the _43 here is variable, it depends on the DirectX SDK version. _43 is June 2010. It's what we currently use.

The relevant code is in these files:

   configure.in
   gfx/angle/Makefile.in 

There _might_ also be adjustments to make in

   gfx/angle/src/libEGL/Makefile.in 
   gfx/angle/src/libGLESv2/Makefile.in 

Search for d3dx9 in these files.
Note: this depends on bug 801158 to import the required recent ANGLE revision.
jrmuizel volunteered. also, 801158 just landed, so you can get started! thanks
Assignee: nobody → jmuizelaar
Attached patch Try doing this (obsolete) — Splinter Review
Attachment #707238 - Flags: review?(bjacob)
Attached patch try 2 (obsolete) — Splinter Review
The file is already included in removed-files.in
Attachment #707238 - Attachment is obsolete: true
Attachment #707238 - Flags: review?(bjacob)
Attachment #707786 - Flags: review?(bjacob)
Comment on attachment 707786 [details] [diff] [review]
try 2

Review of attachment 707786 [details] [diff] [review]:
-----------------------------------------------------------------

I think that this is the last problem in this path, but suggest renaming d3dx9_43.dll in your system path to something else to try.

::: gfx/angle/src/libGLESv2/Makefile.in
@@ +180,5 @@
>  
>  else
>  
>  EXTRA_DSO_LDOPTS = "$(MOZ_DIRECTX_SDK_PATH)/lib/$(MOZ_DIRECTX_SDK_CPU_SUFFIX)/d3d9.lib" \
>                     "$(MOZ_DIRECTX_SDK_PATH)/lib/$(MOZ_DIRECTX_SDK_CPU_SUFFIX)/d3dx9.lib" \

You need to stop static-linking to d3dx9.lib, otherwise you're still loading the dll and it only works for you as the dll is present in your library path (as you have the DXSDK installed). correct?
Attachment #707786 - Flags: review?(bjacob) → review-
Oh, also:

(In reply to Jeff Muizelaar [:jrmuizel] from comment #5)
> Created attachment 707786 [details] [diff] [review]
> try 2
> 
> The file is already included in removed-files.in

I only see

D3DCompiler_42.dll
d3dx9_42.dll

there, not the _43 names which is what we currently ship.

I think you can add d3dx9_43.dll hardcoded to _43 like that, and remove the AC_SUBST for the d3dx9 version variable.
Attached patch try 3Splinter Review
Attachment #707786 - Attachment is obsolete: true
Attachment #708765 - Flags: review?(bjacob)
Comment on attachment 708765 [details] [diff] [review]
try 3

Review of attachment 708765 [details] [diff] [review]:
-----------------------------------------------------------------

Some nits, please fix:

::: configure.in
@@ -8525,5 @@
>  AC_SUBST(MOZ_ANGLE_RENDERER)
>  AC_SUBST(MOZ_DIRECTX_SDK_PATH)
>  AC_SUBST(MOZ_DIRECTX_SDK_CPU_SUFFIX)
>  AC_SUBST(MOZ_D3DX9_VERSION)
>  AC_SUBST(MOZ_D3DX9_CAB)

remove MOZ_D3DX9_CAB here too.

::: gfx/gl/GLLibraryEGL.cpp
@@ -104,5 @@
> -#ifndef MOZ_D3DX9_DLL
> -#error MOZ_D3DX9_DLL should have been defined by the Makefile
> -#endif
> -        LoadLibraryForEGLOnWindows(NS_LITERAL_STRING(NS_STRINGIFY(MOZ_D3DX9_DLL)));
> -        // intentionally leak the D3DX9_DLL library

Hm, was this in one of the local patches that we have in gfx/angle/*.patch? Check that and update/drop patch accordingly.
Attachment #708765 - Flags: review?(bjacob) → review+
Ignore last part --- misread gfx/gl as gfx/angle
https://hg.mozilla.org/mozilla-central/rev/c00a6b146150
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
You need to log in before you can comment on or make changes to this bug.