Przeglądaj źródła

Fixing an issue with BFX shader include merging: multiple techniques were not being properly merged

Marko Pintera 10 lat temu
rodzic
commit
7cb4d90ac9

+ 1 - 1
BansheeD3D11RenderSystem/Source/BsD3D11RenderAPI.cpp

@@ -562,7 +562,7 @@ namespace BansheeEngine
 		
 		
 		for(auto iter = paramDesc.samplers.begin(); iter != paramDesc.samplers.end(); ++iter)
 		for(auto iter = paramDesc.samplers.begin(); iter != paramDesc.samplers.end(); ++iter)
 		{
 		{
-			SPtr<SamplerStateCore>& samplerState = bindableParams->getSamplerState(iter->second.slot);
+			SPtr<SamplerStateCore> samplerState = bindableParams->getSamplerState(iter->second.slot);
 
 
 			if(samplerState == nullptr)
 			if(samplerState == nullptr)
 				setSamplerState(gptype, iter->second.slot, SamplerStateCore::getDefault());
 				setSamplerState(gptype, iter->second.slot, SamplerStateCore::getDefault());

+ 1 - 1
BansheeSL/Source/BsSLFXCompiler.cpp

@@ -500,8 +500,8 @@ namespace BansheeEngine
 				{
 				{
 					mergeTechnique(mergeInto, option->value.nodePtr, techniqueNode, codeBlockOffset);
 					mergeTechnique(mergeInto, option->value.nodePtr, techniqueNode, codeBlockOffset);
 					anyMerged = true;
 					anyMerged = true;
+					break;
 				}
 				}
-				break;
 			}
 			}
 		}
 		}
 
 

+ 1 - 1
TODO.txt

@@ -41,7 +41,7 @@ Add "dirty object" system to C#. Each ScriptResource and ScriptGameObject should
 TODO - Later - When building level for release make sure to clear all prefab diffs (possibly store them elsewhere in the first place)
 TODO - Later - When building level for release make sure to clear all prefab diffs (possibly store them elsewhere in the first place)
        - And all prefab instances should have updateFromPrefab called on them.
        - And all prefab instances should have updateFromPrefab called on them.
 
 
- Test (likely later once I have more editor functionality working):
+ Test (likely later once I have more editor functionality working):h
   - If level save/load works
   - If level save/load works
   - If drag and drop works, both ways, plus double-click to load level
   - If drag and drop works, both ways, plus double-click to load level
   - Game object handle compare
   - Game object handle compare