Index: trunk/src/gfx/debug_draw.cc
===================================================================
--- trunk/src/gfx/debug_draw.cc	(revision 487)
+++ trunk/src/gfx/debug_draw.cc	(revision 491)
@@ -25,7 +25,8 @@
 #version 120
 varying vec3 v_color;
+out vec4 o_frag_color;
 void main(void)
 {
-	gl_FragColor = vec4( v_color, 1.0 );
+	o_frag_color = vec4( v_color, 1.0 );
 }
 )";
@@ -44,7 +45,8 @@
 		if ( m_va.is_valid() ) m_context->release( m_va );
 		m_buffer_size = nv::max( m_data.size(), 4096U, m_buffer_size );
-		m_va = m_context->create_vertex_array();
 		m_vb = m_context->get_device()->create_buffer( VERTEX_BUFFER, nv::STREAM_DRAW, m_buffer_size * sizeof( debug_vtx ), m_data.data() );
-		m_context->add_vertex_buffers< debug_vtx >( m_va, m_vb, true );
+		vertex_array_desc va_desc;
+		va_desc.add_vertex_buffers< debug_vtx >( m_vb, true );
+		m_va = m_context->create_vertex_array( va_desc );
 	}
 	else
Index: trunk/src/gfx/mesh_creator.cc
===================================================================
--- trunk/src/gfx/mesh_creator.cc	(revision 487)
+++ trunk/src/gfx/mesh_creator.cc	(revision 491)
@@ -388,5 +388,5 @@
 	{
 	case USHORT: swap_culling_impl< uint16 >( m_idx_channel ); break;
-	case UINT: swap_culling_impl< uint16 >( m_idx_channel ); break;
+	case UINT: swap_culling_impl< uint32 >( m_idx_channel ); break;
 	default: NV_ASSERT( false, "Swap culling supports only unsigned and unsigned short indices!" ); break;
 	}
