@@ -1231,6 +1231,43 @@ pub fn Wrap(comptime bindings: anytype) type {
12311231 uniform_buffer = UNIFORM_BUFFER ,
12321232 };
12331233
1234+ pub const Access = enum (Enum ) {
1235+ //--------------------------------------------------------------------------------------
1236+ // OpenGL 1.5 (Core Profile)
1237+ //--------------------------------------------------------------------------------------
1238+ read_only = READ_ONLY ,
1239+ write_only = WRITE_ONLY ,
1240+ read_write = READ_WRITE ,
1241+ };
1242+
1243+ pub const BufferParameter = enum (Enum ) {
1244+ //--------------------------------------------------------------------------------------
1245+ // OpenGL 1.5 (Core Profile)
1246+ //--------------------------------------------------------------------------------------
1247+ buffer_size = BUFFER_SIZE ,
1248+ buffer_usage = BUFFER_USAGE ,
1249+ buffer_access = BUFFER_ACCESS ,
1250+ buffer_mapped = BUFFER_MAPPED ,
1251+ //--------------------------------------------------------------------------------------
1252+ // OpenGL 3.0 (Core Profile)
1253+ //--------------------------------------------------------------------------------------
1254+ buffer_access_flags = BUFFER_ACCESS_FLAGS ,
1255+ buffer_map_offset = BUFFER_MAP_OFFSET ,
1256+ buffer_map_length = BUFFER_MAP_LENGTH ,
1257+ //--------------------------------------------------------------------------------------
1258+ // OpenGL 4.4 (Core Profile)
1259+ //--------------------------------------------------------------------------------------
1260+ buffer_immutable_storage = BUFFER_IMMUTABLE_STORAGE ,
1261+ buffer_storage_flags = BUFFER_STORAGE_FLAGS ,
1262+ };
1263+
1264+ pub const BufferPointerParameter = enum (Enum ) {
1265+ //--------------------------------------------------------------------------------------
1266+ // OpenGL 1.5 (Core Profile)
1267+ //--------------------------------------------------------------------------------------
1268+ buffer_map_pointer = BUFFER_MAP_POINTER ,
1269+ };
1270+
12341271 pub const IndexedBufferTarget = enum (Enum ) {
12351272 //--------------------------------------------------------------------------------------
12361273 // OpenGL 3.0 (Core Profile)
@@ -2614,6 +2651,9 @@ pub fn Wrap(comptime bindings: anytype) type {
26142651 }
26152652
26162653 // pub var isBuffer: *const fn (buffer: Uint) callconv(.c) Boolean = undefined;
2654+ pub fn isBuffer (buffer : Buffer ) bool {
2655+ return bindings .isBuffer (@intFromEnum (buffer )) == TRUE ;
2656+ }
26172657
26182658 // pub var bufferData: *const fn (
26192659 // target: Enum,
@@ -2656,14 +2696,51 @@ pub fn Wrap(comptime bindings: anytype) type {
26562696 // size: Sizeiptr,
26572697 // data: ?*anyopaque,
26582698 // ) callconv(.c) void = undefined;
2699+ pub fn getBufferSubData (
2700+ target : BufferTarget ,
2701+ offset : usize ,
2702+ data : []u8 ,
2703+ ) void {
2704+ bindings .getBufferSubData (
2705+ @intFromEnum (target ),
2706+ @as (Intptr , @bitCast (offset )),
2707+ @as (Sizeiptr , @bitCast (data .len )),
2708+ data .ptr ,
2709+ );
2710+ }
2711+
26592712 // pub var mapBuffer: *const fn (target: Enum, access: Enum) callconv(.c) ?*anyopaque = undefined;
2713+ pub fn mapBuffer (target : BufferTarget , access : Access ) ? [* ]u8 {
2714+ return @ptrCast (bindings .mapBuffer (@intFromEnum (target ), @intFromEnum (access )));
2715+ }
2716+
26602717 // pub var unmapBuffer: *const fn (target: Enum) callconv(.c) Boolean = undefined;
2718+ pub fn unmapBuffer (target : BufferTarget ) bool {
2719+ return bindings .unmapBuffer (@intFromEnum (target )) == TRUE ;
2720+ }
2721+
26612722 // pub var getBufferParameteriv: *const fn (target: Enum, pname: Enum, params: [*c]Int) callconv(.c) void = undefined;
2723+ pub fn getBufferParameteriv (target : BufferTarget , pname : BufferParameter , params : []i32 ) void {
2724+ bindings .getBufferParameteriv (
2725+ @intFromEnum (target ),
2726+ @intFromEnum (pname ),
2727+ @as ([* c ]Int , @ptrCast (params .ptr )),
2728+ );
2729+ }
2730+
26622731 // pub var getBufferPointerv: *const fn (
26632732 // target: Enum,
26642733 // pname: Enum,
26652734 // params: [*c]?*anyopaque,
26662735 // ) callconv(.c) void = undefined;
2736+ pub fn getBufferPointerv (target : BufferTarget , pname : BufferPointerParameter , params : * ? [* ]u8 ) void {
2737+ bindings .getBufferPointerv (
2738+ @intFromEnum (target ),
2739+ @intFromEnum (pname ),
2740+ @as ([* c ]? * anyopaque , @ptrCast (params )),
2741+ );
2742+ }
2743+
26672744 //------------------------------------------------------------------------------------------
26682745 //
26692746 // OpenGL 2.0 (Core Profile)
0 commit comments