Define the RS type specification.
diff --git a/slang_rs_spec_table.cpp b/slang_rs_spec_table.cpp
index f08b28d..018578d 100644
--- a/slang_rs_spec_table.cpp
+++ b/slang_rs_spec_table.cpp
@@ -18,46 +18,7 @@
#include <cstring>
#include <cstdio>
-#define PRIMITIVE_DATA_TYPE_ENUMS \
- ENUM_PRIMITIVE_DATA_TYPE(Float16, NULL, 128) \
- ENUM_PRIMITIVE_DATA_TYPE(Float32, "float", 256) \
- ENUM_PRIMITIVE_DATA_TYPE(Float64, "double", 512) \
- ENUM_PRIMITIVE_DATA_TYPE(Signed8, "char", 64) \
- ENUM_PRIMITIVE_DATA_TYPE(Signed16, "short", 128) \
- ENUM_PRIMITIVE_DATA_TYPE(Signed32, "int", 256) \
- ENUM_PRIMITIVE_DATA_TYPE(Signed64, "long", 512) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned8, "uchar", 64) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned16, "ushort", 128) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned32, "uint", 256) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned64, "ulong", 512) \
- ENUM_PRIMITIVE_DATA_TYPE(Boolean, "bool", 8) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned565, "u565", 128) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned5551, "u5551", 128) \
- ENUM_PRIMITIVE_DATA_TYPE(Unsigned4444, "u4444", 128)
-
-#define RS_OBJECT_DATA_TYPE_ENUMS \
- ENUM_RS_OBJECT_DATA_TYPE(RSMatrix2x2, "rs_matrix2x2") \
- ENUM_RS_OBJECT_DATA_TYPE(RSMatrix3x3, "rs_matrix3x3") \
- ENUM_RS_OBJECT_DATA_TYPE(RSMatrix4x4, "rs_matrix4x4") \
- ENUM_RS_OBJECT_DATA_TYPE(RSElement, "rs_element") \
- ENUM_RS_OBJECT_DATA_TYPE(RSType, "rs_type") \
- ENUM_RS_OBJECT_DATA_TYPE(RSAllocation, "rs_allocation") \
- ENUM_RS_OBJECT_DATA_TYPE(RSSampler, "rs_sampler") \
- ENUM_RS_OBJECT_DATA_TYPE(RSScript, "rs_script") \
- ENUM_RS_OBJECT_DATA_TYPE(RSMesh, "rs_mesh") \
- ENUM_RS_OBJECT_DATA_TYPE(RSProgramFragment, "rs_program_fragment") \
- ENUM_RS_OBJECT_DATA_TYPE(RSProgramVertex, "rs_program_vertex") \
- ENUM_RS_OBJECT_DATA_TYPE(RSProgramRaster, "rs_program_raster") \
- ENUM_RS_OBJECT_DATA_TYPE(RSProgramStore, "rs_program_store") \
- ENUM_RS_OBJECT_DATA_TYPE(RSFont, "rs_font")
-
-#define RS_DATA_KIND_ENUMS \
- ENUM_RS_DATA_KIND(User) \
- ENUM_RS_DATA_KIND(PixelL) \
- ENUM_RS_DATA_KIND(PixelA) \
- ENUM_RS_DATA_KIND(PixelLA) \
- ENUM_RS_DATA_KIND(PixelRGB) \
- ENUM_RS_DATA_KIND(PixelRGBA)
+#include "slang_rs_type_spec.h"
enum {
#define ENUM_PRIMITIVE_DATA_TYPE(x, name, bits) x,
@@ -184,7 +145,7 @@
static int GenRSDataTypeEnums(const RSDataTypeSpec *const DataTypes[],
unsigned NumDataTypes) {
for (unsigned i = 0; i < NumDataTypes; i++)
- printf("ENUM_RS_DATA_TYPE(%s, \"%s\", %u)\n",
+ printf("ENUM_RS_DATA_TYPE(%s, \"%s\", %lu)\n",
DataTypes[i]->getTypeName(),
DataTypes[i]->getTypePragmaName(),
DataTypes[i]->getSizeInBit());