Hello:
we are working on visionsdk 3.05, and got a OpenGL error when you call glBufferSubData
[AVMS][963756]GroundTransSignal::set_mvp. auto_height=14.500000 [AVMS][963783]SummWidget::initializeGL. init success [AVMS][963793]AvmGpu::avm_gpu_update_img_addr. image address is null andy debug addr 0x1e87e8 andy debug m_assist_line_pair_cnt 33 size 792 PVR:(Error): glBufferSubData: No memory for object data [0, ] func:assist_line_3d_process_front_left line 2085 GL: after glBufferSubData() glError (0x505) PVR:(Error): glBufferSubData: No memory for object data [0, ] func:assist_line_3d_process_front_right line 2152 GL: after glBufferSubData() glError (0x505) [AVMS][963993]AvmGpu::avm_gpu_vbo_init. inst_id=1, share vbo success [AVMS][963993]AvmGpu::avm_gpu_texture_init. inst_id=1, share tex success
and the code is:
glBindBuffer(GL_ARRAY_BUFFER, m_left_assist_line_vert_buffer); glBufferData(GL_ARRAY_BUFFER, vert_size, p_left_vert_arr, GL_DYNAMIC_DRAW); printf("m_left_assist_line_vert_buffer size %d \n",vert_size); //---------------------------------------------------------------------- glBindBuffer(GL_ARRAY_BUFFER, m_left_assist_line_vert_buffer); eglCheckGlError("glBindBuffer"); if (m_assist_change) { //m_assist_change = 0; glBufferSubData(GL_ARRAY_BUFFER, 0, m_assist_line_pair_cnt*2*3*sizeof(float), m_left_assist_line_vert_arr[m_current_deg+ASSIST_LINE_MAX_DEG]); eglCheckGlError("glBufferSubData"); printf("andy debug addr %p\n",m_left_assist_line_vert_arr[m_current_deg+ASSIST_LINE_MAX_DEG]); printf("andy debug m_assist_line_pair_cnt %d size %d \n",m_assist_line_pair_cnt,m_assist_line_pair_cnt*2*3*sizeof(float)); }
we checked the size of this buffer is 792 not out of memory , why it throw such error
PVR:(Error): glBufferSubData: No memory for object data [0, ]
func:assist_line_3d_process_front_left line 2085 GL: after glBufferSubData() glError (0x505)
PVR:(Error): glBufferSubData: No memory for object data [0, ]
func:assist_line_3d_process_front_right line 2152 GL: after glBufferSubData() glError (0x505)