Fixed DrawIndirect buffer size checks and removed null-termination checks (ARB_base_instance changes the reservedMustBeZero field to the baseInstance offset).
This commit is contained in:
parent
517d6cfb3b
commit
d1c1fcb01e
|
@ -44,26 +44,26 @@ import com.sun.mirror.type.PrimitiveType;
|
|||
public interface AMD_multi_draw_indirect {
|
||||
|
||||
void glMultiDrawArraysIndirectAMD(@GLenum int mode,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("4 * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
@Alternate("glMultiDrawArraysIndirectAMD")
|
||||
void glMultiDrawArraysIndirectAMD(@GLenum int mode,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("4 * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 : stride >> 2) * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
void glMultiDrawElementsIndirectAMD(@GLenum int mode,
|
||||
@GLenum int type,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("5 * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
@Alternate("glMultiDrawElementsIndirectAMD")
|
||||
void glMultiDrawElementsIndirectAMD(@GLenum int mode,
|
||||
@GLenum int type,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("5 * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 : stride >> 2) * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
|
|
|
@ -58,17 +58,17 @@ public interface ARB_draw_indirect {
|
|||
int GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
|
||||
|
||||
@Reuse("GL40")
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4") @NullTerminated @Const @GLvoid ByteBuffer indirect);
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4 * 4") @Const @GLvoid ByteBuffer indirect);
|
||||
|
||||
@Reuse("GL40")
|
||||
@Alternate("glDrawArraysIndirect")
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4") @NullTerminated @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
|
||||
@Reuse("GL40")
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5") @NullTerminated @Const @GLvoid ByteBuffer indirect);
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5 * 4") @Const @GLvoid ByteBuffer indirect);
|
||||
|
||||
@Reuse("GL40")
|
||||
@Alternate("glDrawElementsIndirect")
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5") @NullTerminated @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
|
||||
}
|
|
@ -45,21 +45,21 @@ public interface ARB_multi_draw_indirect {
|
|||
|
||||
@Reuse("GL43")
|
||||
void glMultiDrawArraysIndirect(@GLenum int mode,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("4 * 4 * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
@Reuse("GL43")
|
||||
@Alternate("glMultiDrawArraysIndirect")
|
||||
void glMultiDrawArraysIndirect(@GLenum int mode,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("4 * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 : stride >> 2) * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
@Reuse("GL43")
|
||||
void glMultiDrawElementsIndirect(@GLenum int mode,
|
||||
@GLenum int type,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("5 * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
|
@ -67,7 +67,7 @@ public interface ARB_multi_draw_indirect {
|
|||
@Alternate("glMultiDrawElementsIndirect")
|
||||
void glMultiDrawElementsIndirect(@GLenum int mode,
|
||||
@GLenum int type,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("5 * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 : stride >> 2) * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
|
|
|
@ -75,15 +75,15 @@ public interface GL40 {
|
|||
*/
|
||||
int GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
|
||||
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4") @NullTerminated @Const @GLvoid ByteBuffer indirect);
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4 * 4") @Const @GLvoid ByteBuffer indirect);
|
||||
|
||||
@Alternate("glDrawArraysIndirect")
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4") @NullTerminated @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
void glDrawArraysIndirect(@GLenum int mode, @BufferObject(BufferKind.IndirectBO) @Check("4") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5") @NullTerminated @Const @GLvoid ByteBuffer indirect);
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5 * 4") @Const @GLvoid ByteBuffer indirect);
|
||||
|
||||
@Alternate("glDrawElementsIndirect")
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5") @NullTerminated @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
void glDrawElementsIndirect(@GLenum int mode, @GLenum int type, @BufferObject(BufferKind.IndirectBO) @Check("5") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect);
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
// ----------------------[ ARB_gpu_shader5 ]----------------------
|
||||
|
|
|
@ -568,26 +568,26 @@ public interface GL43 {
|
|||
// -----------------------------------------------------------------------
|
||||
|
||||
void glMultiDrawArraysIndirect(@GLenum int mode,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("4 * 4 * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
@Alternate("glMultiDrawArraysIndirect")
|
||||
void glMultiDrawArraysIndirect(@GLenum int mode,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("4 * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 4 : stride >> 2) * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
void glMultiDrawElementsIndirect(@GLenum int mode,
|
||||
@GLenum int type,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("5 * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 * 4 : stride) * primcount") @Const @GLvoid ByteBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
@Alternate("glMultiDrawElementsIndirect")
|
||||
void glMultiDrawElementsIndirect(@GLenum int mode,
|
||||
@GLenum int type,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("5 * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@BufferObject(BufferKind.IndirectBO) @Check("(stride == 0 ? 5 : stride >> 2) * primcount") @Const @GLvoid(PrimitiveType.Kind.INT) IntBuffer indirect,
|
||||
@GLsizei int primcount,
|
||||
@GLsizei int stride);
|
||||
|
||||
|
|
Loading…
Reference in New Issue