From a294546bcc7c883edd113f2c80d7f278ff8219ed Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Thu, 29 Nov 2018 22:45:16 -0800 Subject: Improved type safety of flag enums --- RenderScript/src/DeviceContextFuncBindings.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'RenderScript/src/DeviceContextFuncBindings.cpp') diff --git a/RenderScript/src/DeviceContextFuncBindings.cpp b/RenderScript/src/DeviceContextFuncBindings.cpp index 3a154d2..f32f350 100644 --- a/RenderScript/src/DeviceContextFuncBindings.cpp +++ b/RenderScript/src/DeviceContextFuncBindings.cpp @@ -46,7 +46,9 @@ namespace Diligent m_ShaderResBindingMetatableName( pSRBParser->GetMetatableName() ), m_PSOMetatableName(pPSOParser->GetMetatableName()) { + DEFINE_ENUM_ELEMENT_MAPPING( m_CommitShaderResFlagsEnumMapping, COMMIT_SHADER_RESOURCES_FLAG_NONE ); DEFINE_ENUM_ELEMENT_MAPPING( m_CommitShaderResFlagsEnumMapping, COMMIT_SHADER_RESOURCES_FLAG_TRANSITION_RESOURCES ); + DEFINE_ENUM_ELEMENT_MAPPING( m_CommitShaderResFlagsEnumMapping, COMMIT_SHADER_RESOURCES_FLAG_VERIFY_STATES ); }; int DeviceContextFuncBindings::SetRenderTargets( lua_State *L ) @@ -123,7 +125,7 @@ namespace Diligent ITextureView *pView = nullptr; Float32 fDepth = 1.f; Uint8 Stencil = 0; - Uint32 ClearFlags = 0; + CLEAR_DEPTH_STENCIL_FLAGS ClearFlags = CLEAR_DEPTH_FLAG_NONE; int CurrArg = 1; if( CurrArg <= NumArgs ) @@ -199,12 +201,12 @@ namespace Diligent } } - Uint32 Flags = 0; + COMMIT_SHADER_RESOURCES_FLAGS Flags = COMMIT_SHADER_RESOURCES_FLAG_NONE; if(NumArgs >= CurrArg && (lua_type( L, CurrArg ) == LUA_TSTRING || lua_type( L, CurrArg ) == LUA_TTABLE ) ) { - FlagsLoader CommitShaderResFlagsLoader(0, "CommitShaderResourcesFlag", m_CommitShaderResFlagsEnumMapping); + FlagsLoader CommitShaderResFlagsLoader(0, "CommitShaderResourcesFlag", m_CommitShaderResFlagsEnumMapping); CommitShaderResFlagsLoader.SetValue( L, CurrArg, &Flags ); ++CurrArg; } -- cgit v1.2.3