浏览代码

Add glGetBufferSubData to sdl (#777)

Co-authored-by: borisrp <[email protected]>
Boris Raymond Périer 3 月之前
父节点
当前提交
b6d7e6af5b
共有 4 个文件被更改,包括 14 次插入0 次删除
  1. 4 0
      libs/mesa/mesa/GL.hx
  2. 1 0
      libs/sdl/GLImports.h
  3. 5 0
      libs/sdl/gl.c
  4. 4 0
      libs/sdl/sdl/GL.hx

+ 4 - 0
libs/mesa/mesa/GL.hx

@@ -325,6 +325,10 @@ class GL {
 	public static function bufferSubData( target : Int, offset : Int, data : hl.Bytes, srcOffset : Int, srcLength : Int ) {
 	public static function bufferSubData( target : Int, offset : Int, data : hl.Bytes, srcOffset : Int, srcLength : Int ) {
 	}
 	}
 
 
+	@:hlNative("?mesa","gl_get_buffer_sub_data")
+	public static function getBufferSubData( target : Int, offset : Int, data : hl.Bytes, srcOffset : Int, srcLength : Int ) {
+	}
+
 	public static function enableVertexAttribArray( attrib : Int ) {
 	public static function enableVertexAttribArray( attrib : Int ) {
 	}
 	}
 
 

+ 1 - 0
libs/sdl/GLImports.h

@@ -41,6 +41,7 @@ GL_IMPORT(glBindBuffer, BINDBUFFER);
 GL_IMPORT(glBindBufferBase, BINDBUFFERBASE);
 GL_IMPORT(glBindBufferBase, BINDBUFFERBASE);
 GL_IMPORT(glBufferData, BUFFERDATA);
 GL_IMPORT(glBufferData, BUFFERDATA);
 GL_IMPORT(glBufferSubData, BUFFERSUBDATA);
 GL_IMPORT(glBufferSubData, BUFFERSUBDATA);
+GL_IMPORT(glGetBufferSubData, GETBUFFERSUBDATA);
 GL_IMPORT(glEnableVertexAttribArray, ENABLEVERTEXATTRIBARRAY);
 GL_IMPORT(glEnableVertexAttribArray, ENABLEVERTEXATTRIBARRAY);
 GL_IMPORT(glDisableVertexAttribArray, DISABLEVERTEXATTRIBARRAY);
 GL_IMPORT(glDisableVertexAttribArray, DISABLEVERTEXATTRIBARRAY);
 GL_IMPORT(glDeleteBuffers, DELETEBUFFERS);
 GL_IMPORT(glDeleteBuffers, DELETEBUFFERS);

+ 5 - 0
libs/sdl/gl.c

@@ -512,6 +512,10 @@ HL_PRIM void HL_NAME(gl_buffer_sub_data)( int target, int offset, vbyte *data, i
 	glBufferSubData(target, offset, srcLength, data + srcOffset);
 	glBufferSubData(target, offset, srcLength, data + srcOffset);
 }
 }
 
 
+HL_PRIM void HL_NAME(gl_get_buffer_sub_data)( int target, int offset, vbyte *data, int srcOffset, int srcLength ) {
+	glGetBufferSubData(target, srcOffset, srcLength, data + offset);
+}
+
 HL_PRIM void HL_NAME(gl_enable_vertex_attrib_array)( int attrib ) {
 HL_PRIM void HL_NAME(gl_enable_vertex_attrib_array)( int attrib ) {
 	glEnableVertexAttribArray(attrib);
 	glEnableVertexAttribArray(attrib);
 }
 }
@@ -794,6 +798,7 @@ DEFINE_PRIM(_VOID,gl_bind_buffer_base,_I32 _I32 _NULL(_I32));
 DEFINE_PRIM(_VOID,gl_buffer_data_size,_I32 _I32 _I32);
 DEFINE_PRIM(_VOID,gl_buffer_data_size,_I32 _I32 _I32);
 DEFINE_PRIM(_VOID,gl_buffer_data,_I32 _I32 _BYTES _I32);
 DEFINE_PRIM(_VOID,gl_buffer_data,_I32 _I32 _BYTES _I32);
 DEFINE_PRIM(_VOID,gl_buffer_sub_data,_I32 _I32 _BYTES _I32 _I32);
 DEFINE_PRIM(_VOID,gl_buffer_sub_data,_I32 _I32 _BYTES _I32 _I32);
+DEFINE_PRIM(_VOID,gl_get_buffer_sub_data,_I32 _I32 _BYTES _I32 _I32);
 DEFINE_PRIM(_VOID,gl_enable_vertex_attrib_array,_I32);
 DEFINE_PRIM(_VOID,gl_enable_vertex_attrib_array,_I32);
 DEFINE_PRIM(_VOID,gl_disable_vertex_attrib_array,_I32);
 DEFINE_PRIM(_VOID,gl_disable_vertex_attrib_array,_I32);
 DEFINE_PRIM(_VOID,gl_vertex_attrib_pointer,_I32 _I32 _I32 _BOOL _I32 _I32);
 DEFINE_PRIM(_VOID,gl_vertex_attrib_pointer,_I32 _I32 _I32 _BOOL _I32 _I32);

+ 4 - 0
libs/sdl/sdl/GL.hx

@@ -355,6 +355,10 @@ class GL {
 	public static function bufferSubData( target : Int, offset : Int, data : hl.Bytes, srcOffset : Int, srcLength : Int ) {
 	public static function bufferSubData( target : Int, offset : Int, data : hl.Bytes, srcOffset : Int, srcLength : Int ) {
 	}
 	}
 
 
+	@:hlNative("?sdl","gl_get_buffer_sub_data")
+	public static function getBufferSubData( target : Int, offset : Int, data : hl.Bytes, srcOffset : Int, srcLength : Int ) {
+	}
+
 	public static function enableVertexAttribArray( attrib : Int ) {
 	public static function enableVertexAttribArray( attrib : Int ) {
 	}
 	}