mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
Effects11 is quite heavy, in that it pulls D3DCompiler_43.dll (x86) and D3DCompiler_47.dll (x64) into our Mumble installations on Windows. Together, these two DLLs are ~6MB in size. Also, the removal of the Effects11 library itself cuts the sizes of the overlay DLLs by more than half: mumble_ol.dll with Effects11: 407 KB mumble_ol.dll without Effects11: 162 KB mumble_ol_x64.dll with Effects11: 497 KB mumble_ol_x64.dll without Effects11: 211 KB Directly using the split shaders is just as easy, and uses less code than using the Effects11 library. At least for our simple shaders. And we gain a lot from it. Done.
70 lines
1.9 KiB
Prolog
70 lines
1.9 KiB
Prolog
include (../compiler.pri)
|
|
|
|
VERSION = 1.3.0
|
|
TARGET_EXT = .dll
|
|
TEMPLATE = lib
|
|
CONFIG -= qt
|
|
CONFIG *= dll shared debug_and_release warn_on
|
|
CONFIG -= embed_manifest_dll
|
|
TARGET = mumble_ol
|
|
RC_FILE = mumble_ol.rc
|
|
SOURCES = lib.cpp d3d9.cpp dxgi.cpp d3d10.cpp d3d11.cpp ods.cpp opengl.cpp HardHook.cpp D11StateBlock.cpp
|
|
HEADERS = lib.h ods.h HardHook.h overlay_blacklist.h D11StateBlock.h ../3rdparty/GL/glext.h
|
|
EFFECTS = overlay.fx
|
|
DX11_PIXEL_SHADERS = overlay11.ps
|
|
DX11_VERTEX_SHADERS = overlay11.vs
|
|
DIST = overlay.h overlay.fx HardHook.h
|
|
|
|
DEFINES -= UNICODE
|
|
|
|
QMAKE_CXXFLAGS_RELEASE -= -MD
|
|
QMAKE_CXXFLAGS_DEBUG -= -MDd
|
|
|
|
QMAKE_CXXFLAGS_RELEASE *= -MT
|
|
QMAKE_CXXFLAGS_DEBUG *= -MTd
|
|
|
|
LIBS *= -ldxguid -luuid -lole32 -luser32 -ladvapi32
|
|
LIBS *= -ld3d9 -ld3d10 -ld3d11 -ld3dcompiler -ld3dx9 -ld3dx10 -ld3dx11 -ldxgi
|
|
|
|
CONFIG(force-x86_64-toolchain) {
|
|
DEFINES += USE_MINHOOK
|
|
INCLUDEPATH *= ../3rdparty/minhook-src/include
|
|
LIBS *= -lminhook
|
|
}
|
|
|
|
CONFIG(release, debug|release) {
|
|
DESTDIR = ../release
|
|
QMAKE_LIBDIR += ../release
|
|
}
|
|
|
|
CONFIG(debug, debug|release) {
|
|
DESTDIR = ../debug
|
|
QMAKE_LIBDIR += ../debug
|
|
DEFINES *= DEBUG
|
|
}
|
|
|
|
# Override fxc binary for the x86 build.
|
|
CONFIG(force-x86-toolchain) {
|
|
FXC = "\"$$(DXSDK_DIR)\Utilities\bin\x86\fxc.exe\""
|
|
} else {
|
|
FXC = fxc.exe
|
|
}
|
|
|
|
fxc.output = ${QMAKE_FILE_BASE}.hex
|
|
fxc.commands = $${FXC} /Tfx_4_0 /O3 /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
|
|
fxc.input = EFFECTS
|
|
fxc.CONFIG *= no_link target_predeps
|
|
QMAKE_EXTRA_COMPILERS *= fxc
|
|
|
|
vs11.output = ${QMAKE_FILE_BASE}.ps.h
|
|
vs11.commands = $${FXC} /Tvs_5_0 /O3 /Vng_vertex_shader /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
|
|
vs11.input = DX11_VERTEX_SHADERS
|
|
vs11.CONFIG *= no_link target_predeps
|
|
QMAKE_EXTRA_COMPILERS *= vs11
|
|
|
|
ps11.output = ${QMAKE_FILE_BASE}.vs.h
|
|
ps11.commands = $${FXC} /Tps_5_0 /O3 /Vng_pixel_shader /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
|
|
ps11.input = DX11_PIXEL_SHADERS
|
|
ps11.CONFIG *= no_link target_predeps
|
|
QMAKE_EXTRA_COMPILERS *= ps11
|