2
0
Эх сурвалжийг харах

Recompile HLSL shaders if the description XML is newer than shader binaries or source code.

Lasse Öörni 13 жил өмнө
parent
commit
7a68764bae

+ 5 - 1
Engine/Graphics/Direct3D9/D3D9Shader.cpp

@@ -83,7 +83,7 @@ bool Shader::Load(Deserializer& source)
                 String hlslFileName = path + fileName + ".hlsl";
                 String hlslFileName = path + fileName + ".hlsl";
                 sourceModifiedTime_ = fileSystem->GetLastModifiedTime(hlslFileName);
                 sourceModifiedTime_ = fileSystem->GetLastModifiedTime(hlslFileName);
                 
                 
-                // Check also timestamps of any included files
+                // Check also timestamps of any included files and the shader description file
                 if (sourceModifiedTime_)
                 if (sourceModifiedTime_)
                 {
                 {
                     SharedPtr<File> file(new File(context_, hlslFileName));
                     SharedPtr<File> file(new File(context_, hlslFileName));
@@ -98,6 +98,10 @@ bool Shader::Load(Deserializer& source)
                                 sourceModifiedTime_ = includeFileTime;
                                 sourceModifiedTime_ = includeFileTime;
                         }
                         }
                     }
                     }
+                    
+                    unsigned descriptionFileTime = fileSystem->GetLastModifiedTime(fullFileName_);
+                    if (descriptionFileTime > sourceModifiedTime_)
+                        sourceModifiedTime_ = descriptionFileTime;
                 }
                 }
                 else
                 else
                 {
                 {