Skip to content

Commit e496555

Browse files
authored
[Linux] Enable PixTest for Linux (microsoft#5945)
DxilDia is enabled for Linux with only DxcPixLiveVariables_FragmentIterator enabled for PixTest. Enabled PixTest for Linux build. This is for microsoft#5877
1 parent d66d34a commit e496555

File tree

5 files changed

+71
-35
lines changed

5 files changed

+71
-35
lines changed

include/dxc/dxcpix.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
#define __DXC_PIX__
1414

1515
#include "dxc/dxcapi.h"
16+
#ifdef _WIN32
1617
#include "objidl.h"
18+
#endif
1719

1820
struct __declspec(uuid("199d8c13-d312-4197-a2c1-07a532999727")) IDxcPixType
1921
: public IUnknown {

lib/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ add_subdirectory(DXIL) # HLSL Change
2727
add_subdirectory(DxilContainer) # HLSL Change
2828
add_subdirectory(DxilPdbInfo) # HLSL Change
2929
add_subdirectory(DxilPIXPasses) # HLSL Change
30-
if(WIN32) # HLSL Change
31-
add_subdirectory(DxilDia) # HLSL Change
32-
endif(WIN32) # HLSL Change
30+
add_subdirectory(DxilDia) # HLSL Change
3331
add_subdirectory(DxilRootSignature) # HLSL Change
3432
add_subdirectory(DxcBindingTable) # HLSL Change
3533
add_subdirectory(DxrFallback) # HLSL Change

lib/DxilDia/CMakeLists.txt

Lines changed: 60 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,67 @@ if (WIN32)
55
find_package(DiaSDK REQUIRED) # Used for constants and declarations.
66
endif (WIN32)
77

8-
add_llvm_library(LLVMDxilDia
9-
DxcPixCompilationInfo.cpp
10-
DxcPixDxilDebugInfo.cpp
11-
DxcPixDxilStorage.cpp
12-
DxcPixEntrypoints.cpp
13-
DxcPixLiveVariables.cpp
14-
DxcPixLiveVariables_FragmentIterator.cpp
15-
DxcPixTypes.cpp
16-
DxcPixVariables.cpp
17-
DxilDia.cpp
18-
DxilDiaDataSource.cpp
19-
DxilDiaEnumTables.cpp
20-
DxilDiaSession.cpp
21-
DxilDiaSymbolManager.cpp
22-
DxilDiaTable.cpp
23-
DxilDiaTableFrameData.cpp
24-
DxilDiaTableInjectedSources.cpp
25-
DxilDiaTableInputAssemblyFile.cpp
26-
DxilDiaTableLineNumbers.cpp
27-
DxilDiaTableSections.cpp
28-
DxilDiaTableSegmentMap.cpp
29-
DxilDiaTableSourceFiles.cpp
30-
DxilDiaTableSymbols.cpp
8+
if (WIN32)
9+
add_llvm_library(LLVMDxilDia
10+
DxcPixCompilationInfo.cpp
11+
DxcPixDxilDebugInfo.cpp
12+
DxcPixDxilStorage.cpp
13+
DxcPixEntrypoints.cpp
14+
DxcPixLiveVariables.cpp
15+
DxcPixLiveVariables_FragmentIterator.cpp
16+
DxcPixTypes.cpp
17+
DxcPixVariables.cpp
18+
DxilDia.cpp
19+
DxilDiaDataSource.cpp
20+
DxilDiaEnumTables.cpp
21+
DxilDiaSession.cpp
22+
DxilDiaSymbolManager.cpp
23+
DxilDiaTable.cpp
24+
DxilDiaTableFrameData.cpp
25+
DxilDiaTableInjectedSources.cpp
26+
DxilDiaTableInputAssemblyFile.cpp
27+
DxilDiaTableLineNumbers.cpp
28+
DxilDiaTableSections.cpp
29+
DxilDiaTableSegmentMap.cpp
30+
DxilDiaTableSourceFiles.cpp
31+
DxilDiaTableSymbols.cpp
32+
33+
ADDITIONAL_HEADER_DIRS
34+
${LLVM_MAIN_INCLUDE_DIR}/llvm/IR
35+
)
36+
else(WIN32)
37+
# DxcPixLiveVariables_FragmentIterator is not dependent on dia.
38+
# It is used by PixTest.
39+
set(HLSL_IGNORE_SOURCES
40+
DxcPixCompilationInfo.cpp
41+
DxcPixDxilDebugInfo.cpp
42+
DxcPixDxilStorage.cpp
43+
DxcPixEntrypoints.cpp
44+
DxcPixLiveVariables.cpp
45+
DxcPixTypes.cpp
46+
DxcPixVariables.cpp
47+
DxilDia.cpp
48+
DxilDiaDataSource.cpp
49+
DxilDiaEnumTables.cpp
50+
DxilDiaSession.cpp
51+
DxilDiaSymbolManager.cpp
52+
DxilDiaTable.cpp
53+
DxilDiaTableFrameData.cpp
54+
DxilDiaTableInjectedSources.cpp
55+
DxilDiaTableInputAssemblyFile.cpp
56+
DxilDiaTableLineNumbers.cpp
57+
DxilDiaTableSections.cpp
58+
DxilDiaTableSegmentMap.cpp
59+
DxilDiaTableSourceFiles.cpp
60+
DxilDiaTableSymbols.cpp
61+
)
62+
add_llvm_library(LLVMDxilDia
63+
DxcPixLiveVariables_FragmentIterator.cpp
3164

32-
ADDITIONAL_HEADER_DIRS
33-
${LLVM_MAIN_INCLUDE_DIR}/llvm/IR
34-
)
65+
ADDITIONAL_HEADER_DIRS
66+
${LLVM_MAIN_INCLUDE_DIR}/llvm/IR
67+
)
68+
endif(WIN32)
3569

3670
if (WIN32)
3771
target_link_libraries(LLVMDxilDia PRIVATE ${LIBRARIES} ${DIASDK_LIBRARIES})

tools/clang/unittests/HLSL/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ else (WIN32)
5656
set(HLSL_IGNORE_SOURCES
5757
MSFileSysTest.cpp
5858
PixDiaTest.cpp
59-
PixTest.cpp
6059
RewriterTest.cpp
6160
)
6261

@@ -74,6 +73,7 @@ add_clang_unittest(ClangHLSLTests
7473
Objects.cpp
7574
OptimizerTest.cpp
7675
OptionsTest.cpp
76+
PixTest.cpp
7777
PixTestUtils.cpp
7878
SystemValueTest.cpp
7979
TestMain.cpp
@@ -99,6 +99,7 @@ target_link_libraries(ClangHLSLTests PRIVATE
9999
else(WIN32)
100100
target_link_libraries(ClangHLSLTests
101101
dxcompiler
102+
LLVMDxilDia
102103
HLSLTestLib
103104
)
104105
endif(WIN32)

tools/clang/unittests/HLSL/PixTest.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
// //
1010
///////////////////////////////////////////////////////////////////////////////
1111

12-
// This whole file is win32-only
13-
#ifdef _WIN32
14-
1512
#ifndef UNICODE
1613
#define UNICODE
1714
#endif
@@ -31,7 +28,9 @@
3128
#include "dxc/Support/WinIncludes.h"
3229
#include "dxc/dxcapi.h"
3330
#include "dxc/dxcpix.h"
31+
#ifdef _WIN32
3432
#include <atlfile.h>
33+
#endif
3534

3635
#include "dxc/DXIL/DxilModule.h"
3736

@@ -86,7 +85,11 @@ static std::vector<std::string> Tokenize(const std::string &str,
8685
return tokens;
8786
}
8887

88+
#ifdef _WIN32
8989
class PixTest {
90+
#else
91+
class PixTest : public ::testing::Test {
92+
#endif
9093
public:
9194
BEGIN_TEST_CLASS(PixTest)
9295
TEST_CLASS_PROPERTY(L"Parallel", L"true")
@@ -2567,5 +2570,3 @@ void MyMiss(inout MyPayload payload)
25672570
auto compiledLib = Compile(m_dllSupport, source, L"lib_6_6", {});
25682571
RunDxilPIXDXRInvocationsLog(compiledLib);
25692572
}
2570-
2571-
#endif

0 commit comments

Comments
 (0)