diff options
Diffstat (limited to 'source/blender/gpu/opengl')
-rw-r--r-- | source/blender/gpu/opengl/gl_query.cc | 5 | ||||
-rw-r--r-- | source/blender/gpu/opengl/gl_query.hh | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/gpu/opengl/gl_query.cc b/source/blender/gpu/opengl/gl_query.cc index 3195ec95ed2..0081efbf1e7 100644 --- a/source/blender/gpu/opengl/gl_query.cc +++ b/source/blender/gpu/opengl/gl_query.cc @@ -37,8 +37,9 @@ void GLQueryPool::begin_query() /* TODO: add assert about expected usage. */ while (query_issued_ >= query_ids_.size()) { int64_t prev_size = query_ids_.size(); - query_ids_.resize(prev_size + QUERY_CHUNCK_LEN); - glGenQueries(QUERY_CHUNCK_LEN, &query_ids_[prev_size]); + int64_t chunk_size = prev_size == 0 ? query_ids_.capacity() : QUERY_CHUNCK_LEN; + query_ids_.resize(prev_size + chunk_size); + glGenQueries(chunk_size, &query_ids_[prev_size]); } glBeginQuery(gl_type_, query_ids_[query_issued_++]); } diff --git a/source/blender/gpu/opengl/gl_query.hh b/source/blender/gpu/opengl/gl_query.hh index 0dc4a6b8d51..e15a2584e07 100644 --- a/source/blender/gpu/opengl/gl_query.hh +++ b/source/blender/gpu/opengl/gl_query.hh @@ -18,7 +18,7 @@ namespace blender::gpu { class GLQueryPool : public QueryPool { private: /** Contains queries object handles. */ - Vector<GLuint> query_ids_; + Vector<GLuint, QUERY_MIN_LEN> query_ids_; /** Type of this query pool. */ GPUQueryType type_; /** Associated GL type. */ |