INIT_FASTPATH_GL_FUNC();
if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
- _set_gl_error(GL_INVALID_ENUM);
+ _set_gl_error(GL_INVALID_OPERATION);
goto finish;
}
INIT_FASTPATH_GL_FUNC();
if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
- _set_gl_error(GL_INVALID_ENUM);
+ _set_gl_error(GL_INVALID_OPERATION);
goto finish;
}
INIT_FASTPATH_GL_FUNC();
if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
- _set_gl_error(GL_INVALID_ENUM);
+ _set_gl_error(GL_INVALID_OPERATION);
goto finish;
}
_COREGL_FASTPATH_FUNC_BEGIN();
INIT_FASTPATH_GL_FUNC();
- if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1) {
+ if(target != GL_TEXTURE_BUFFER_EXT){
_set_gl_error(GL_INVALID_ENUM);
goto finish;
}
+ if (offset < 0 || size<=0){
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1) {
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
_orig_fastpath_glTexBufferRangeEXT(target, internalformat, real_obj, offset, size);
INIT_FASTPATH_GL_FUNC();
if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
- _set_gl_error(GL_INVALID_ENUM);
+ _set_gl_error(GL_INVALID_OPERATION);
goto finish;
}
_COREGL_FASTPATH_FUNC_BEGIN();
INIT_FASTPATH_GL_FUNC();
- if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1) {
+ if(target != GL_TEXTURE_BUFFER_EXT)
_set_gl_error(GL_INVALID_ENUM);
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1) {
+ _set_gl_error(GL_INVALID_OPERATION);
goto finish;
}