diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-11-30 06:45:16 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-11-30 06:45:16 +0000 |
| commit | a294546bcc7c883edd113f2c80d7f278ff8219ed (patch) | |
| tree | c876be23d46c758a38ef92efd248400fa5fe9fe2 /RenderScript/src | |
| parent | Added DRAW_FLAG_VERIFY_STATES and DISPATCH_FLAG_VERIFY_STATES flags (diff) | |
| download | DiligentTools-a294546bcc7c883edd113f2c80d7f278ff8219ed.tar.gz DiligentTools-a294546bcc7c883edd113f2c80d7f278ff8219ed.zip | |
Improved type safety of flag enums
Diffstat (limited to 'RenderScript/src')
| -rw-r--r-- | RenderScript/src/BufferParser.cpp | 5 | ||||
| -rw-r--r-- | RenderScript/src/DeviceContextFuncBindings.cpp | 8 | ||||
| -rw-r--r-- | RenderScript/src/EnumMappings.cpp | 1 | ||||
| -rw-r--r-- | RenderScript/src/TextureParser.cpp | 5 |
4 files changed, 12 insertions, 7 deletions
diff --git a/RenderScript/src/BufferParser.cpp b/RenderScript/src/BufferParser.cpp index ebf04d0..5a996a6 100644 --- a/RenderScript/src/BufferParser.cpp +++ b/RenderScript/src/BufferParser.cpp @@ -51,7 +51,7 @@ namespace Diligent DEFINE_FLAGS_BINDER( m_Bindings, SBuffDescWrapper, BindFlags, Diligent::BIND_FLAGS, m_BindFlagEnumMapping ); DEFINE_ENUM_BINDER( m_Bindings, SBuffDescWrapper, Usage, m_UsageEnumMapping ); - DEFINE_FLAGS_BINDER( m_Bindings, SBuffDescWrapper, CPUAccessFlags, CPU_ACCESS_FLAG, m_CpuAccessFlagEnumMapping ); + DEFINE_FLAGS_BINDER( m_Bindings, SBuffDescWrapper, CPUAccessFlags, CPU_ACCESS_FLAGS, m_CpuAccessFlagEnumMapping ); DEFINE_ENUM_ELEMENT_MAPPING( m_BuffModeEnumMapping, BUFFER_MODE_UNDEFINED ); DEFINE_ENUM_ELEMENT_MAPPING( m_BuffModeEnumMapping, BUFFER_MODE_FORMATTED ); @@ -66,6 +66,7 @@ namespace Diligent DEFINE_BINDER( m_Bindings, SBuffDescWrapper, ElementByteStride ); + DEFINE_ENUM_ELEMENT_MAPPING( m_SetVBFlagEnumMapping, SET_VERTEX_BUFFERS_FLAG_NONE ); DEFINE_ENUM_ELEMENT_MAPPING( m_SetVBFlagEnumMapping, SET_VERTEX_BUFFERS_FLAG_RESET ); }; @@ -139,7 +140,7 @@ namespace Diligent } } - Uint32 Flags = 0; + SET_VERTEX_BUFFERS_FLAGS Flags = SET_VERTEX_BUFFERS_FLAG_NONE; Uint32 NumBuffers = 0; IBuffer *pBuffs[MaxBufferSlots] = {}; Uint32 Offsets[MaxBufferSlots] = {}; 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<COMMIT_SHADER_RESOURCES_FLAG> CommitShaderResFlagsLoader(0, "CommitShaderResourcesFlag", m_CommitShaderResFlagsEnumMapping); + FlagsLoader<COMMIT_SHADER_RESOURCES_FLAGS> CommitShaderResFlagsLoader(0, "CommitShaderResourcesFlag", m_CommitShaderResFlagsEnumMapping); CommitShaderResFlagsLoader.SetValue( L, CurrArg, &Flags ); ++CurrArg; } diff --git a/RenderScript/src/EnumMappings.cpp b/RenderScript/src/EnumMappings.cpp index bcefd89..84ce7d9 100644 --- a/RenderScript/src/EnumMappings.cpp +++ b/RenderScript/src/EnumMappings.cpp @@ -30,6 +30,7 @@ namespace Diligent { CpuAccessFlagEnumMapping::CpuAccessFlagEnumMapping() { + DEFINE_ENUM_ELEMENT_MAPPING( (*this), CPU_ACCESS_NONE ); DEFINE_ENUM_ELEMENT_MAPPING( (*this), CPU_ACCESS_READ ); DEFINE_ENUM_ELEMENT_MAPPING( (*this), CPU_ACCESS_WRITE ); } diff --git a/RenderScript/src/TextureParser.cpp b/RenderScript/src/TextureParser.cpp index 2ccd683..6515ebd 100644 --- a/RenderScript/src/TextureParser.cpp +++ b/RenderScript/src/TextureParser.cpp @@ -145,10 +145,11 @@ namespace Diligent DEFINE_FLAGS_BINDER( m_Bindings, STexDescWrapper, BindFlags, Diligent::BIND_FLAGS, m_BindFlagEnumMapping ); DEFINE_ENUM_BINDER( m_Bindings, STexDescWrapper, Usage, m_UsageEnumMapping ); - DEFINE_FLAGS_BINDER( m_Bindings, STexDescWrapper, CPUAccessFlags, CPU_ACCESS_FLAG, m_CpuAccessFlagEnumMapping ); + DEFINE_FLAGS_BINDER( m_Bindings, STexDescWrapper, CPUAccessFlags, CPU_ACCESS_FLAGS, m_CpuAccessFlagEnumMapping ); + DEFINE_ENUM_ELEMENT_MAPPING( m_MiscFlagEnumMapping, MISC_TEXTURE_FLAG_NONE ); DEFINE_ENUM_ELEMENT_MAPPING( m_MiscFlagEnumMapping, MISC_TEXTURE_FLAG_GENERATE_MIPS ); - DEFINE_FLAGS_BINDER( m_Bindings, STexDescWrapper, MiscFlags, Diligent::MISC_TEXTURE_FLAG, m_MiscFlagEnumMapping ); + DEFINE_FLAGS_BINDER( m_Bindings, STexDescWrapper, MiscFlags, Diligent::MISC_TEXTURE_FLAGS, m_MiscFlagEnumMapping ); DEFINE_BINDER_EX( m_Bindings, STexDescWrapper, ClearValue, OptimizedClearValue, 0 ); }; |
