Skip to content

Commit 3227b67

Browse files
author
Modén Anders
committed
Updated base library
1 parent 5fa748f commit 3227b67

File tree

17 files changed

+1261
-32
lines changed

17 files changed

+1261
-32
lines changed

Assets/Plugins/x64/gzBase64.dll

66.5 KB
Binary file not shown.
37.5 KB
Binary file not shown.
-2 KB
Binary file not shown.
512 Bytes
Binary file not shown.
-21 KB
Binary file not shown.
0 Bytes
Binary file not shown.

Assets/Saab/GizmoSDK/GizmoBase/BasicTypes.cs

Lines changed: 263 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,8 +1397,269 @@ public enum Enums
13971397

13981398
GZ_OPENAL_CAPTURE_DEVICE_SPECIFIER = 0x310,
13991399
GZ_OPENAL_CAPTURE_DEFAULT_DEVICE_SPECIFIER = 0x311,
1400-
GZ_OPENAL_CAPTURE_SAMPLES = 0x312
1401-
1400+
GZ_OPENAL_CAPTURE_SAMPLES = 0x312,
1401+
1402+
// Gizmo3D imp of OpenGL 4.3
1403+
1404+
GZ_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9,
1405+
GZ_VERTEX_ATTRIB_ARRAY_LONG = 0x874E,
1406+
GZ_COMPRESSED_RGB8_ETC1 = 0x8D64,
1407+
GZ_COMPRESSED_RGB8_ETC2 = 0x9274,
1408+
GZ_COMPRESSED_SRGB8_ETC2 = 0x9275,
1409+
GZ_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276,
1410+
GZ_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277,
1411+
GZ_COMPRESSED_RGBA8_ETC2_EAC = 0x9278,
1412+
GZ_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279,
1413+
GZ_COMPRESSED_R11_EAC = 0x9270,
1414+
GZ_COMPRESSED_SIGNED_R11_EAC = 0x9271,
1415+
GZ_COMPRESSED_RG11_EAC = 0x9272,
1416+
GZ_COMPRESSED_SIGNED_RG11_EAC = 0x9273,
1417+
GZ_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69,
1418+
GZ_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A,
1419+
GZ_MAX_ELEMENT_INDEX = 0x8D6B,
1420+
GZ_COMPUTE_SHADER = 0x91B9,
1421+
GZ_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB,
1422+
GZ_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC,
1423+
GZ_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD,
1424+
GZ_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262,
1425+
GZ_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263,
1426+
GZ_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264,
1427+
GZ_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265,
1428+
GZ_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266,
1429+
GZ_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB,
1430+
GZ_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE,
1431+
GZ_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF,
1432+
GZ_COMPUTE_WORK_GROUP_SIZE = 0x8267,
1433+
GZ_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC,
1434+
GZ_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED,
1435+
GZ_DISPATCH_INDIRECT_BUFFER = 0x90EE,
1436+
GZ_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF,
1437+
GZ_COMPUTE_SHADER_BIT = 0x00000020,
1438+
GZ_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242,
1439+
GZ_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243,
1440+
GZ_DEBUG_CALLBACK_FUNCTION = 0x8244,
1441+
GZ_DEBUG_CALLBACK_USER_PARAM = 0x8245,
1442+
GZ_DEBUG_SOURCE_API = 0x8246,
1443+
GZ_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247,
1444+
GZ_DEBUG_SOURCE_SHADER_COMPILER = 0x8248,
1445+
GZ_DEBUG_SOURCE_THIRD_PARTY = 0x8249,
1446+
GZ_DEBUG_SOURCE_APPLICATION = 0x824A,
1447+
GZ_DEBUG_SOURCE_OTHER = 0x824B,
1448+
GZ_DEBUG_TYPE_ERROR = 0x824C,
1449+
GZ_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D,
1450+
GZ_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E,
1451+
GZ_DEBUG_TYPE_PORTABILITY = 0x824F,
1452+
GZ_DEBUG_TYPE_PERFORMANCE = 0x8250,
1453+
GZ_DEBUG_TYPE_OTHER = 0x8251,
1454+
GZ_MAX_DEBUG_MESSAGE_LENGTH = 0x9143,
1455+
GZ_MAX_DEBUG_LOGGED_MESSAGES = 0x9144,
1456+
GZ_DEBUG_LOGGED_MESSAGES = 0x9145,
1457+
GZ_DEBUG_SEVERITY_HIGH = 0x9146,
1458+
GZ_DEBUG_SEVERITY_MEDIUM = 0x9147,
1459+
GZ_DEBUG_SEVERITY_LOW = 0x9148,
1460+
GZ_DEBUG_TYPE_MARKER = 0x8268,
1461+
GZ_DEBUG_TYPE_PUSH_GROUP = 0x8269,
1462+
GZ_DEBUG_TYPE_POP_GROUP = 0x826A,
1463+
GZ_DEBUG_SEVERITY_NOTIFICATION = 0x826B,
1464+
GZ_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C,
1465+
GZ_DEBUG_GROUP_STACK_DEPTH = 0x826D,
1466+
GZ_BUFFER = 0x82E0,
1467+
GZ_SHADER = 0x82E1,
1468+
GZ_PROGRAM = 0x82E2,
1469+
GZ_QUERY = 0x82E3,
1470+
GZ_PROGRAM_PIPELINE = 0x82E4,
1471+
GZ_SAMPLER = 0x82E6,
1472+
GZ_MAX_LABEL_LENGTH = 0x82E8,
1473+
GZ_DEBUG_OUTPUT = 0x92E0,
1474+
GZ_CONTEXT_FLAG_DEBUG_BIT = 0x00000002,
1475+
GZ_MAX_UNIFORM_LOCATIONS = 0x826E,
1476+
GZ_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310,
1477+
GZ_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311,
1478+
GZ_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312,
1479+
GZ_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313,
1480+
GZ_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314,
1481+
GZ_MAX_FRAMEBUFFER_WIDTH = 0x9315,
1482+
GZ_MAX_FRAMEBUFFER_HEIGHT = 0x9316,
1483+
GZ_MAX_FRAMEBUFFER_LAYERS = 0x9317,
1484+
GZ_MAX_FRAMEBUFFER_SAMPLES = 0x9318,
1485+
GZ_INTERNALFORMAT_SUPPORTED = 0x826F,
1486+
GZ_INTERNALFORMAT_PREFERRED = 0x8270,
1487+
GZ_INTERNALFORMAT_RED_SIZE = 0x8271,
1488+
GZ_INTERNALFORMAT_GREEN_SIZE = 0x8272,
1489+
GZ_INTERNALFORMAT_BLUE_SIZE = 0x8273,
1490+
GZ_INTERNALFORMAT_ALPHA_SIZE = 0x8274,
1491+
GZ_INTERNALFORMAT_DEPTH_SIZE = 0x8275,
1492+
GZ_INTERNALFORMAT_STENCIL_SIZE = 0x8276,
1493+
GZ_INTERNALFORMAT_SHARED_SIZE = 0x8277,
1494+
GZ_INTERNALFORMAT_RED_TYPE = 0x8278,
1495+
GZ_INTERNALFORMAT_GREEN_TYPE = 0x8279,
1496+
GZ_INTERNALFORMAT_BLUE_TYPE = 0x827A,
1497+
GZ_INTERNALFORMAT_ALPHA_TYPE = 0x827B,
1498+
GZ_INTERNALFORMAT_DEPTH_TYPE = 0x827C,
1499+
GZ_INTERNALFORMAT_STENCIL_TYPE = 0x827D,
1500+
GZ_MAX_WIDTH = 0x827E,
1501+
GZ_MAX_HEIGHT = 0x827F,
1502+
GZ_MAX_DEPTH = 0x8280,
1503+
GZ_MAX_LAYERS = 0x8281,
1504+
GZ_MAX_COMBINED_DIMENSIONS = 0x8282,
1505+
GZ_COLOR_COMPONENTS = 0x8283,
1506+
GZ_DEPTH_COMPONENTS = 0x8284,
1507+
GZ_STENCIL_COMPONENTS = 0x8285,
1508+
GZ_COLOR_RENDERABLE = 0x8286,
1509+
GZ_DEPTH_RENDERABLE = 0x8287,
1510+
GZ_STENCIL_RENDERABLE = 0x8288,
1511+
GZ_FRAMEBUFFER_RENDERABLE = 0x8289,
1512+
GZ_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A,
1513+
GZ_FRAMEBUFFER_BLEND = 0x828B,
1514+
GZ_READ_PIXELS = 0x828C,
1515+
GZ_READ_PIXELS_FORMAT = 0x828D,
1516+
GZ_READ_PIXELS_TYPE = 0x828E,
1517+
GZ_TEXTURE_IMAGE_FORMAT = 0x828F,
1518+
GZ_TEXTURE_IMAGE_TYPE = 0x8290,
1519+
GZ_GET_TEXTURE_IMAGE_FORMAT = 0x8291,
1520+
GZ_GET_TEXTURE_IMAGE_TYPE = 0x8292,
1521+
GZ_MIPMAP = 0x8293,
1522+
GZ_MANUAL_GENERATE_MIPMAP = 0x8294,
1523+
GZ_AUTO_GENERATE_MIPMAP = 0x8295,
1524+
GZ_COLOR_ENCODING = 0x8296,
1525+
GZ_SRGB_READ = 0x8297,
1526+
GZ_SRGB_WRITE = 0x8298,
1527+
GZ_FILTER = 0x829A,
1528+
GZ_VERTEX_TEXTURE = 0x829B,
1529+
GZ_TESS_CONTROL_TEXTURE = 0x829C,
1530+
GZ_TESS_EVALUATION_TEXTURE = 0x829D,
1531+
GZ_GEOMETRY_TEXTURE = 0x829E,
1532+
GZ_FRAGMENT_TEXTURE = 0x829F,
1533+
GZ_COMPUTE_TEXTURE = 0x82A0,
1534+
GZ_TEXTURE_SHADOW = 0x82A1,
1535+
GZ_TEXTURE_GATHER = 0x82A2,
1536+
GZ_TEXTURE_GATHER_SHADOW = 0x82A3,
1537+
GZ_SHADER_IMAGE_LOAD = 0x82A4,
1538+
GZ_SHADER_IMAGE_STORE = 0x82A5,
1539+
GZ_SHADER_IMAGE_ATOMIC = 0x82A6,
1540+
GZ_IMAGE_TEXEL_SIZE = 0x82A7,
1541+
GZ_IMAGE_COMPATIBILITY_CLASS = 0x82A8,
1542+
GZ_IMAGE_PIXEL_FORMAT = 0x82A9,
1543+
GZ_IMAGE_PIXEL_TYPE = 0x82AA,
1544+
GZ_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC,
1545+
GZ_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD,
1546+
GZ_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE,
1547+
GZ_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF,
1548+
GZ_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1,
1549+
GZ_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2,
1550+
GZ_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3,
1551+
GZ_CLEAR_BUFFER = 0x82B4,
1552+
GZ_TEXTURE_VIEW = 0x82B5,
1553+
GZ_VIEW_COMPATIBILITY_CLASS = 0x82B6,
1554+
GZ_FULL_SUPPORT = 0x82B7,
1555+
GZ_CAVEAT_SUPPORT = 0x82B8,
1556+
GZ_IMAGE_CLASS_4_X_32 = 0x82B9,
1557+
GZ_IMAGE_CLASS_2_X_32 = 0x82BA,
1558+
GZ_IMAGE_CLASS_1_X_32 = 0x82BB,
1559+
GZ_IMAGE_CLASS_4_X_16 = 0x82BC,
1560+
GZ_IMAGE_CLASS_2_X_16 = 0x82BD,
1561+
GZ_IMAGE_CLASS_1_X_16 = 0x82BE,
1562+
GZ_IMAGE_CLASS_4_X_8 = 0x82BF,
1563+
GZ_IMAGE_CLASS_2_X_8 = 0x82C0,
1564+
GZ_IMAGE_CLASS_1_X_8 = 0x82C1,
1565+
GZ_IMAGE_CLASS_11_11_10 = 0x82C2,
1566+
GZ_IMAGE_CLASS_10_10_10_2 = 0x82C3,
1567+
GZ_VIEW_CLASS_128_BITS = 0x82C4,
1568+
GZ_VIEW_CLASS_96_BITS = 0x82C5,
1569+
GZ_VIEW_CLASS_64_BITS = 0x82C6,
1570+
GZ_VIEW_CLASS_48_BITS = 0x82C7,
1571+
GZ_VIEW_CLASS_32_BITS = 0x82C8,
1572+
GZ_VIEW_CLASS_24_BITS = 0x82C9,
1573+
GZ_VIEW_CLASS_16_BITS = 0x82CA,
1574+
GZ_VIEW_CLASS_8_BITS = 0x82CB,
1575+
GZ_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC,
1576+
GZ_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD,
1577+
GZ_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE,
1578+
GZ_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF,
1579+
GZ_VIEW_CLASS_RGTC1_RED = 0x82D0,
1580+
GZ_VIEW_CLASS_RGTC2_RG = 0x82D1,
1581+
GZ_VIEW_CLASS_BPTC_UNORM = 0x82D2,
1582+
GZ_VIEW_CLASS_BPTC_FLOAT = 0x82D3,
1583+
GZ_UNIFORM = 0x92E1,
1584+
GZ_UNIFORM_BLOCK = 0x92E2,
1585+
GZ_PROGRAM_INPUT = 0x92E3,
1586+
GZ_PROGRAM_OUTPUT = 0x92E4,
1587+
GZ_BUFFER_VARIABLE = 0x92E5,
1588+
GZ_SHADER_STORAGE_BLOCK = 0x92E6,
1589+
GZ_VERTEX_SUBROUTINE = 0x92E8,
1590+
GZ_TESS_CONTROL_SUBROUTINE = 0x92E9,
1591+
GZ_TESS_EVALUATION_SUBROUTINE = 0x92EA,
1592+
GZ_GEOMETRY_SUBROUTINE = 0x92EB,
1593+
GZ_FRAGMENT_SUBROUTINE = 0x92EC,
1594+
GZ_COMPUTE_SUBROUTINE = 0x92ED,
1595+
GZ_VERTEX_SUBROUTINE_UNIFORM = 0x92EE,
1596+
GZ_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF,
1597+
GZ_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0,
1598+
GZ_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1,
1599+
GZ_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2,
1600+
GZ_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3,
1601+
GZ_TRANSFORM_FEEDBACK_VARYING = 0x92F4,
1602+
GZ_ACTIVE_RESOURCES = 0x92F5,
1603+
GZ_MAX_NAME_LENGTH = 0x92F6,
1604+
GZ_MAX_NUM_ACTIVE_VARIABLES = 0x92F7,
1605+
GZ_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8,
1606+
GZ_NAME_LENGTH = 0x92F9,
1607+
GZ_TYPE = 0x92FA,
1608+
GZ_ARRAY_SIZE = 0x92FB,
1609+
GZ_OFFSET = 0x92FC,
1610+
GZ_BLOCK_INDEX = 0x92FD,
1611+
GZ_ARRAY_STRIDE = 0x92FE,
1612+
GZ_MATRIX_STRIDE = 0x92FF,
1613+
GZ_IS_ROW_MAJOR = 0x9300,
1614+
GZ_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301,
1615+
GZ_BUFFER_BINDING = 0x9302,
1616+
GZ_BUFFER_DATA_SIZE = 0x9303,
1617+
GZ_NUM_ACTIVE_VARIABLES = 0x9304,
1618+
GZ_ACTIVE_VARIABLES = 0x9305,
1619+
GZ_REFERENCED_BY_VERTEX_SHADER = 0x9306,
1620+
GZ_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307,
1621+
GZ_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308,
1622+
GZ_REFERENCED_BY_GEOMETRY_SHADER = 0x9309,
1623+
GZ_REFERENCED_BY_FRAGMENT_SHADER = 0x930A,
1624+
GZ_REFERENCED_BY_COMPUTE_SHADER = 0x930B,
1625+
GZ_TOP_LEVEL_ARRAY_SIZE = 0x930C,
1626+
GZ_TOP_LEVEL_ARRAY_STRIDE = 0x930D,
1627+
GZ_LOCATION = 0x930E,
1628+
GZ_LOCATION_INDEX = 0x930F,
1629+
GZ_IS_PER_PATCH = 0x92E7,
1630+
GZ_SHADER_STORAGE_BUFFER = 0x90D2,
1631+
GZ_SHADER_STORAGE_BUFFER_BINDING = 0x90D3,
1632+
GZ_SHADER_STORAGE_BUFFER_START = 0x90D4,
1633+
GZ_SHADER_STORAGE_BUFFER_SIZE = 0x90D5,
1634+
GZ_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6,
1635+
GZ_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7,
1636+
GZ_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8,
1637+
GZ_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9,
1638+
GZ_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA,
1639+
GZ_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB,
1640+
GZ_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC,
1641+
GZ_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD,
1642+
GZ_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE,
1643+
GZ_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF,
1644+
GZ_SHADER_STORAGE_BARRIER_BIT = 0x00002000,
1645+
GZ_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39,
1646+
GZ_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA,
1647+
GZ_TEXTURE_BUFFER_OFFSET = 0x919D,
1648+
GZ_TEXTURE_BUFFER_SIZE = 0x919E,
1649+
GZ_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F,
1650+
GZ_TEXTURE_VIEW_MIN_LEVEL = 0x82DB,
1651+
GZ_TEXTURE_VIEW_NUM_LEVELS = 0x82DC,
1652+
GZ_TEXTURE_VIEW_MIN_LAYER = 0x82DD,
1653+
GZ_TEXTURE_VIEW_NUM_LAYERS = 0x82DE,
1654+
GZ_TEXTURE_IMMUTABLE_LEVELS = 0x82DF,
1655+
GZ_VERTEX_ATTRIB_BINDING = 0x82D4,
1656+
GZ_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5,
1657+
GZ_VERTEX_BINDING_DIVISOR = 0x82D6,
1658+
GZ_VERTEX_BINDING_OFFSET = 0x82D7,
1659+
GZ_VERTEX_BINDING_STRIDE = 0x82D8,
1660+
GZ_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9,
1661+
GZ_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA,
1662+
GZ_VERTEX_BINDING_BUFFER = 0x8F4F,
14021663
}
14031664

14041665
}

Assets/Saab/GizmoSDK/GizmoBase/Image.cs

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ public enum ImageFormat
9898

9999
// Special depth image format
100100
DEPTH_COMPONENT = Enums.GZ_DEPTH_COMPONENT,
101+
102+
// Predefined ETC2/EAC Compressed variants
103+
COMPRESSED_RGB8_ETC2 = Enums.GZ_COMPRESSED_RGB8_ETC2,
104+
COMPRESSED_RGB8_A1_ETC2 = Enums.GZ_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
105+
COMPRESSED_RGBA8_ETC2 = Enums.GZ_COMPRESSED_RGBA8_ETC2_EAC,
106+
COMPRESSED_R11_EAC = Enums.GZ_COMPRESSED_R11_EAC,
107+
COMPRESSED_RG11_EAC = Enums.GZ_COMPRESSED_RG11_EAC,
101108
};
102109

103110
public enum ComponentType
@@ -117,8 +124,27 @@ public enum ComponentType
117124
BITMAP = Enums.GZ_BITMAP,
118125
};
119126

127+
128+
129+
120130
public class Image : Object , INameInterface
121131
{
132+
133+
[Flags]
134+
public enum AdapterFlags : UInt64
135+
{
136+
DEFAULT = 0,
137+
138+
FLIP_FLIPPED_IMAGES = 1 << (0 + (int)SerializeAdapter.AdapterFlags.FLAG_MAX_SIZE),
139+
NO_CACHED_IMAGE = 1 << (1 + (int)SerializeAdapter.AdapterFlags.FLAG_MAX_SIZE),
140+
NO_ALTERNATE_IMAGE_EXT = 1 << (2 + (int)SerializeAdapter.AdapterFlags.FLAG_MAX_SIZE),
141+
IGNORE_IMAGE_MIPMAPS = 1 << (3 + (int)SerializeAdapter.AdapterFlags.FLAG_MAX_SIZE),
142+
NO_DXT1_ALPHA = 1 << (4 + (int)SerializeAdapter.AdapterFlags.FLAG_MAX_SIZE),
143+
NO_MISSING_REF_IMAGE_WARN = 1 << (5 + (int)SerializeAdapter.AdapterFlags.FLAG_MAX_SIZE),
144+
145+
FLAG_MAX_SIZE = 6,
146+
}
147+
122148
protected Image(IntPtr nativeReference) : base(nativeReference) { }
123149

124150
public Image(string name) : base(Image_create(name)) { }
@@ -173,23 +199,23 @@ public UInt32 GetDepth()
173199
return Image_getDepth(GetNativeReference());
174200
}
175201

176-
public bool GetImageArray(out byte[] image_data)
202+
public bool GetImageArray(ref byte[] image_data)
177203
{
178204
UInt32 size = 0;
179205

180206
IntPtr native_image_data = IntPtr.Zero;
181207

182208
if (Image_getImageArray(GetNativeReference(), ref size, ref native_image_data))
183209
{
184-
image_data = new byte[size];
185-
210+
// Check alloc memory return
211+
if (image_data == null || image_data.Length != size)
212+
image_data = new byte[size];
213+
186214
Marshal.Copy(native_image_data, image_data, (int)0, (int)size);
187215

188216
return true;
189217
}
190218

191-
image_data = null;
192-
193219
return false;
194220
}
195221

0 commit comments

Comments
 (0)