Skip to content

Commit 25c2e08

Browse files
fftzengZuul
authored and
Zuul
committed
hash structure clean up
Change-Id: Ifc69fd8e14c399eac467b52398d88bfa53640daf
1 parent 247cfb9 commit 25c2e08

File tree

4 files changed

+24
-82
lines changed

4 files changed

+24
-82
lines changed

IGC/common/LLVMUtils.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ IGCPassManager::~IGCPassManager()
135135

136136
void DumpLLVMIR(IGC::CodeGenContext* pContext, const char* dumpName)
137137
{
138-
SetCurrentDebugHash(pContext->hash.asmHash.value);
138+
SetCurrentDebugHash(pContext->hash.asmHash);
139139
if (IGC_IS_FLAG_ENABLED(DumpLLVMIR))
140140
{
141141
pContext->getMetaDataUtils()->save(*pContext->getLLVMContext());

IGC/common/Types.hpp

Lines changed: 9 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -31,62 +31,29 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3131
#include "common/debug/Debug.hpp"
3232

3333
// Forward declarations
34-
class AsmHash;
35-
class NosHash;
3634
class ShaderHash;
3735
namespace USC
3836
{
3937
struct ShaderD3D;
4038
}
4139

4240

43-
class AsmHash
44-
{
45-
public:
46-
AsmHash()
47-
: value(0)
48-
{}
49-
QWORD value;
50-
};
51-
52-
class NosHash
53-
{
54-
public:
55-
NosHash()
56-
: value(0)
57-
{}
58-
QWORD value;
59-
};
60-
61-
class PsoHash
62-
{
63-
public:
64-
PsoHash()
65-
: value(0)
66-
{}
67-
68-
PsoHash(QWORD hash)
69-
: value(hash)
70-
{}
71-
72-
QWORD value;
73-
};
7441

7542
class ShaderHash
7643
{
7744
public:
7845
ShaderHash()
79-
: asmHash()
80-
, nosHash()
81-
, psoHash()
46+
: asmHash(0)
47+
, nosHash(0)
48+
, psoHash(0)
8249
{}
83-
QWORD getAsmHash() const { return asmHash.value; }
84-
QWORD getNosHash() const { return nosHash.value; }
85-
QWORD getPsoHash() const { return psoHash.value; }
50+
QWORD getAsmHash() const { return asmHash; }
51+
QWORD getNosHash() const { return nosHash; }
52+
QWORD getPsoHash() const { return psoHash; }
8653

87-
AsmHash asmHash;
88-
NosHash nosHash;
89-
PsoHash psoHash;
54+
QWORD asmHash;
55+
QWORD nosHash;
56+
QWORD psoHash;
9057
};
9158

9259
enum class SIMDMode : unsigned char

IGC/common/debug/Dump.cpp

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -228,45 +228,45 @@ std::string DumpName::AbsolutePath(OutputFolderName folder) const
228228
{
229229

230230
if (m_type.hasValue() && IGC_IS_FLAG_ENABLED(EnableShaderNumbering)) {
231-
bool increment = shaderHashMap.insert({ m_hash->asmHash.value, shaderNum }).second;
231+
bool increment = shaderHashMap.insert({ m_hash->asmHash, shaderNum }).second;
232232
//Need to serialize access to the shaderNum counter in case different threads need to dump the same shader at once.
233233
hashMapLock.lock();
234234
if (increment) shaderNum++;
235235
hashMapLock.unlock();
236236
ss << "_"
237-
<< shaderHashMap[m_hash->asmHash.value]
237+
<< shaderHashMap[m_hash->asmHash]
238238
<< "_";
239239
}
240240

241241
ss << (underscore ? "_" : "")
242242
<< "asm"
243243
<< std::hex
244244
<< std::setfill('0')
245-
<< std::setw(sizeof(m_hash->asmHash.value) * CHAR_BIT / 4)
246-
<< m_hash->asmHash.value
245+
<< std::setw(sizeof(m_hash->asmHash) * CHAR_BIT / 4)
246+
<< m_hash->asmHash
247247
<< std::dec
248248
<< std::setfill(' ');
249249

250-
if (m_hash->nosHash.value != 0)
250+
if (m_hash->nosHash != 0)
251251
{
252252
ss << "_"
253253
<< "nos"
254254
<< std::hex
255255
<< std::setfill('0')
256-
<< std::setw(sizeof(m_hash->nosHash.value) * CHAR_BIT / 4)
257-
<< m_hash->nosHash.value
256+
<< std::setw(sizeof(m_hash->nosHash) * CHAR_BIT / 4)
257+
<< m_hash->nosHash
258258
<< std::dec
259259
<< std::setfill(' ');
260260
}
261261

262-
if (m_hash->psoHash.value != 0)
262+
if (m_hash->psoHash != 0)
263263
{
264264
ss << "_"
265265
<< "pso"
266266
<< std::hex
267267
<< std::setfill('0')
268-
<< std::setw(sizeof(m_hash->psoHash.value) * CHAR_BIT / 4)
269-
<< m_hash->psoHash.value
268+
<< std::setw(sizeof(m_hash->psoHash) * CHAR_BIT / 4)
269+
<< m_hash->psoHash
270270
<< std::dec
271271
<< std::setfill(' ');
272272
}
@@ -614,41 +614,19 @@ void PrintDebugMsg(
614614
#endif
615615
}
616616

617-
618-
AsmHash AsmHashOCL(const UINT* pShaderCode, size_t size)
619-
{
620-
AsmHash hash;
621-
hash.value = iSTD::Hash(reinterpret_cast<const DWORD*>(pShaderCode), int_cast<DWORD>(size));
622-
return hash;
623-
}
624-
625617
ShaderHash ShaderHashOCL(const UINT* pShaderCode, size_t size)
626618
{
627619
ShaderHash hash;
628-
hash.asmHash = AsmHashOCL(pShaderCode, size);
629-
hash.nosHash = NosHash();
620+
hash.asmHash = iSTD::Hash(reinterpret_cast<const DWORD*>(pShaderCode), int_cast<DWORD>(size));
621+
hash.nosHash = 0;
630622
return hash;
631623
}
632624

633-
AsmHash AsmHashOGL(QWORD hash)
634-
{
635-
AsmHash asmHash;
636-
asmHash.value = hash;
637-
return asmHash;
638-
}
639-
640-
NosHash NosHashOGL(QWORD hash)
641-
{
642-
NosHash nosHash;
643-
nosHash.value = hash;
644-
return nosHash;
645-
}
646-
647625
ShaderHash ShaderHashOGL(QWORD glslHash, QWORD nosHash)
648626
{
649627
ShaderHash shaderHash;
650-
shaderHash.asmHash = AsmHashOGL(glslHash);
651-
shaderHash.nosHash = NosHashOGL(nosHash);
628+
shaderHash.asmHash = glslHash;
629+
shaderHash.nosHash = nosHash;
652630
return shaderHash;
653631
}
654632

IGC/common/debug/Dump.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,8 @@ inline FILE* OpenDumpFile(
174174
return fp;
175175
}
176176

177-
AsmHash AsmHashOCL(const UINT* pShaderCode, size_t size);
178177
ShaderHash ShaderHashOCL(const UINT* pShaderCode, size_t size);
179178

180-
AsmHash AsmHashOGL(QWORD hash);
181-
NosHash NosHashOGL(QWORD hash);
182179
ShaderHash ShaderHashOGL(QWORD glslHash, QWORD nosHash);
183180

184181
} // namespace Debug

0 commit comments

Comments
 (0)