From bd9600e167714d66c95c3aba9162dd2d75c63fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Fri, 25 Oct 2019 20:13:21 -0700 Subject: [PATCH] Fixed IDL. --- bindings/cs/bgfx.cs | 5 +++++ bindings/d/types.d | 3 ++- include/bgfx/defines.h | 6 ++---- scripts/bgfx.idl | 36 ++++++++++++++++-------------------- src/bgfx.cpp | 42 ++++++++++++++++++++++-------------------- 5 files changed, 47 insertions(+), 45 deletions(-) diff --git a/bindings/cs/bgfx.cs b/bindings/cs/bgfx.cs index e0bca6f80..1b752f99d 100644 --- a/bindings/cs/bgfx.cs +++ b/bindings/cs/bgfx.cs @@ -248,6 +248,11 @@ public static partial class bgfx /// None = 0x0000000000000000, + /// + /// Front counter-clockwise (default is clockwise). + /// + FrontCcw = 0x0000008000000000, + /// /// Enable blend independent. /// diff --git a/bindings/d/types.d b/bindings/d/types.d index 5fa57fcfe..fe718a50a 100644 --- a/bindings/d/types.d +++ b/bindings/d/types.d @@ -10,7 +10,7 @@ public import core.stdc.stdarg : va_list; extern(C) @nogc nothrow: -enum uint BGFX_API_VERSION = 100; +enum uint BGFX_API_VERSION = 101; alias bgfx_view_id_t = ushort; @@ -100,6 +100,7 @@ enum ulong BGFX_STATE_MSAA = 0x0100000000000000; /// Enable MSAA rasterization. enum ulong BGFX_STATE_LINEAA = 0x0200000000000000; /// Enable line AA rasterization. enum ulong BGFX_STATE_CONSERVATIVE_RASTER = 0x0400000000000000; /// Enable conservative rasterization. enum ulong BGFX_STATE_NONE = 0x0000000000000000; /// No state. +enum ulong BGFX_STATE_FRONT_CCW = 0x0000008000000000; /// Front counter-clockwise (default is clockwise). enum ulong BGFX_STATE_BLEND_INDEPENDENT = 0x0000000400000000; /// Enable blend independent. enum ulong BGFX_STATE_BLEND_ALPHA_TO_COVERAGE = 0x0000000800000000; /// Enable alpha to coverage. /** diff --git a/include/bgfx/defines.h b/include/bgfx/defines.h index cf582e978..8303d8bfc 100644 --- a/include/bgfx/defines.h +++ b/include/bgfx/defines.h @@ -6,7 +6,7 @@ #ifndef BGFX_DEFINES_H_HEADER_GUARD #define BGFX_DEFINES_H_HEADER_GUARD -#define BGFX_API_VERSION UINT32_C(100) +#define BGFX_API_VERSION UINT32_C(101) /** * Color RGB/alpha/depth write. When it's not specified write will be disabled. @@ -90,9 +90,6 @@ #define BGFX_STATE_CULL_SHIFT 36 //!< Culling mode bit shift #define BGFX_STATE_CULL_MASK UINT64_C(0x0000003000000000) //!< Culling mode bit mask -/// Front winding direction. Will default to clockwise unless otherwise specified. -#define BGFX_STATE_FRONT_CCW UINT64_C(0x0000008000000000) //!< Front counter-clockwise (default is clockwise). - /** * Alpha reference value. * @@ -125,6 +122,7 @@ #define BGFX_STATE_LINEAA UINT64_C(0x0200000000000000) //!< Enable line AA rasterization. #define BGFX_STATE_CONSERVATIVE_RASTER UINT64_C(0x0400000000000000) //!< Enable conservative rasterization. #define BGFX_STATE_NONE UINT64_C(0x0000000000000000) //!< No state. +#define BGFX_STATE_FRONT_CCW UINT64_C(0x0000008000000000) //!< Front counter-clockwise (default is clockwise). #define BGFX_STATE_BLEND_INDEPENDENT UINT64_C(0x0000000400000000) //!< Enable blend independent. #define BGFX_STATE_BLEND_ALPHA_TO_COVERAGE UINT64_C(0x0000000800000000) //!< Enable alpha to coverage. /// Default state is write to RGB, alpha, and depth with depth test less enabled, with clockwise diff --git a/scripts/bgfx.idl b/scripts/bgfx.idl index e77767496..c83b7336d 100644 --- a/scripts/bgfx.idl +++ b/scripts/bgfx.idl @@ -1,7 +1,7 @@ -- vim: syntax=lua -- bgfx interface -version(100) +version(101) typedef "bool" typedef "char" @@ -79,22 +79,18 @@ flag.StateBlendEquation { bits = 64, shift = 28, range = 6, base = 0, desc = "Bl --- Cull state. When `BGFX_STATE_CULL_*` is not specified culling will be disabled. flag.StateCull { bits = 64, shift = 36, range = 2, base = 1, desc = "Culling mode" } - .Cw --- Cull clockwise triangles. - .Ccw --- Cull counter-clockwise triangles. - () - ---- Font facing. When BGFX_STATE_FRONT_CCW is not specified, front facing is CW -flag.StateFrontCCW { bits = 64, shift = 39, range = 1, base = 1, desc = "Front facing" } + .Cw --- Cull clockwise triangles. + .Ccw --- Cull counter-clockwise triangles. () --- Alpha reference value. flag.StateAlphaRef { bits = 64, shift = 40, range = 8, desc = "Alpha reference", "helper" } flag.StatePt { bits = 64, shift = 48, range = 3, base = 1, desc = "Primitive type" } - .Tristrip --- Tristrip. - .Lines --- Lines. - .Linestrip --- Line strip. - .Points --- Points. + .Tristrip --- Tristrip. + .Lines --- Lines. + .Linestrip --- Line strip. + .Points --- Points. () --- Point size value. @@ -103,16 +99,16 @@ flag.StatePointSize { bits = 64, shift = 52, range = 4, desc = "Point size", "he --- Enable MSAA write when writing into MSAA frame buffer. --- This flag is ignored when not writing into MSAA frame buffer. flag.State { bits = 64 , range = 64 , desc = "State" } - .Msaa (57) --- Enable MSAA rasterization. - .Lineaa (58) --- Enable line AA rasterization. - .ConservativeRaster (59) --- Enable conservative rasterization. - .None (0) --- No state. - .BlendIndependent(35) --- Enable blend independent. - .BlendAlphaToCoverage (36) --- Enable alpha to coverage. + .Msaa (57) --- Enable MSAA rasterization. + .Lineaa (58) --- Enable line AA rasterization. + .ConservativeRaster (59) --- Enable conservative rasterization. + .None (0) --- No state. + .FrontCcw(40) --- Front counter-clockwise (default is clockwise). + .BlendIndependent(35) --- Enable blend independent. + .BlendAlphaToCoverage (36) --- Enable alpha to coverage. .Default { "WriteRgb", "WriteA", "WriteZ", "DepthTestLess", "CullCw", "Msaa" } - --- Default state is write to RGB, alpha, and depth with depth test less enabled, with clockwise - --- culling and MSAA (when writing into MSAA frame buffer, otherwise this flag is ignored). - + --- Default state is write to RGB, alpha, and depth with depth test less enabled, with clockwise + --- culling and MSAA (when writing into MSAA frame buffer, otherwise this flag is ignored). --- Do not use! flag.StateReserved { bits = 64, shift = 61, range = 3 } diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 7d8734bea..7a8986c50 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -5153,35 +5153,37 @@ BX_STATIC_ASSERT(FLAGS_MASK_TEST(0 ) ); BX_STATIC_ASSERT( (0 - | BGFX_STATE_WRITE_MASK - | BGFX_STATE_DEPTH_TEST_MASK - | BGFX_STATE_BLEND_MASK + | BGFX_STATE_ALPHA_REF_MASK + | BGFX_STATE_BLEND_ALPHA_TO_COVERAGE | BGFX_STATE_BLEND_EQUATION_MASK | BGFX_STATE_BLEND_INDEPENDENT - | BGFX_STATE_BLEND_ALPHA_TO_COVERAGE - | BGFX_STATE_CULL_MASK - | BGFX_STATE_ALPHA_REF_MASK - | BGFX_STATE_PT_MASK - | BGFX_STATE_POINT_SIZE_MASK - | BGFX_STATE_MSAA - | BGFX_STATE_LINEAA + | BGFX_STATE_BLEND_MASK | BGFX_STATE_CONSERVATIVE_RASTER + | BGFX_STATE_CULL_MASK + | BGFX_STATE_DEPTH_TEST_MASK + | BGFX_STATE_FRONT_CCW + | BGFX_STATE_LINEAA + | BGFX_STATE_MSAA + | BGFX_STATE_POINT_SIZE_MASK + | BGFX_STATE_PT_MASK | BGFX_STATE_RESERVED_MASK + | BGFX_STATE_WRITE_MASK ) == (0 - ^ BGFX_STATE_WRITE_MASK - ^ BGFX_STATE_DEPTH_TEST_MASK - ^ BGFX_STATE_BLEND_MASK + ^ BGFX_STATE_ALPHA_REF_MASK + ^ BGFX_STATE_BLEND_ALPHA_TO_COVERAGE ^ BGFX_STATE_BLEND_EQUATION_MASK ^ BGFX_STATE_BLEND_INDEPENDENT - ^ BGFX_STATE_BLEND_ALPHA_TO_COVERAGE - ^ BGFX_STATE_CULL_MASK - ^ BGFX_STATE_ALPHA_REF_MASK - ^ BGFX_STATE_PT_MASK - ^ BGFX_STATE_POINT_SIZE_MASK - ^ BGFX_STATE_MSAA - ^ BGFX_STATE_LINEAA + ^ BGFX_STATE_BLEND_MASK ^ BGFX_STATE_CONSERVATIVE_RASTER + ^ BGFX_STATE_CULL_MASK + ^ BGFX_STATE_DEPTH_TEST_MASK + ^ BGFX_STATE_FRONT_CCW + ^ BGFX_STATE_LINEAA + ^ BGFX_STATE_MSAA + ^ BGFX_STATE_POINT_SIZE_MASK + ^ BGFX_STATE_PT_MASK ^ BGFX_STATE_RESERVED_MASK + ^ BGFX_STATE_WRITE_MASK ) ); BX_STATIC_ASSERT(FLAGS_MASK_TEST(BGFX_CAPS_TEXTURE_COMPARE_LEQUAL, BGFX_CAPS_TEXTURE_COMPARE_ALL) );