History

Buffer usage flags

Brad Davis committed 8 years ago

Commit ea485d01 parent 935a4b348 files · +281 −332Browse files

Showing the changes to libraries/render-utils/src/GeometryCache.cpp (1 of 48 files). Show all

Unified · Split

libraries/render-utils/src/GeometryCache.cpp+31−30
@@ -547,8 +547,8 @@ void extrudePolygon(GeometryCache::ShapeData& shapeData, gpu::BufferPointer& ver · 546 unmodified lines
547547 // and smooth shading
548548 void GeometryCache::buildShapes() {
549549 using namespace geometry;
550− auto vertexBuffer = std::make_shared<gpu::Buffer>();
551− auto indexBuffer = std::make_shared<gpu::Buffer>();
550+ auto vertexBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
551+ auto indexBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::IndexBuffer);
552552 // Cube
553553 setupFlatShape(_shapes[Cube], geometry::cube(), _shapeVertices, _shapeIndices);
554554 //Quad renders as flat Cube
@@ -878,7 +878,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, const glm::vec2& minCorner, co · 323 unmodified lines
878878 gridBuffer = gridBufferIter.value();
879879 } else {
880880 GridSchema gridSchema;
881− gridBuffer = std::make_shared<gpu::Buffer>(sizeof(GridSchema), (const gpu::Byte*)&gridSchema);
881+ gridBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::UniformBuffer, sizeof(GridSchema), (const gpu::Byte*)&gridSchema);
882882 }
883883
884884 if (!hadGridBuffer || _lastRegisteredGridBuffer[id] != key) {
@@ -919,9 +919,10 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec2>& points, con · 34 unmodified lines
919919 details.vertices = points.size();
920920 details.vertexSize = FLOATS_PER_VERTEX;
921921
922− auto verticesBuffer = std::make_shared<gpu::Buffer>();
923− auto normalBuffer = std::make_shared<gpu::Buffer>();
924− auto colorBuffer = std::make_shared<gpu::Buffer>();
922+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
923+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
924+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
925+
925926 auto streamFormat = std::make_shared<gpu::Stream::Format>();
926927 auto stream = std::make_shared<gpu::BufferStream>();
927928
@@ -989,9 +990,9 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec3>& points, con · 61 unmodified lines
989990 details.vertices = points.size();
990991 details.vertexSize = FLOATS_PER_VERTEX;
991992
992− auto verticesBuffer = std::make_shared<gpu::Buffer>();
993− auto normalBuffer = std::make_shared<gpu::Buffer>();
994− auto colorBuffer = std::make_shared<gpu::Buffer>();
993+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
994+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
995+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
995996 auto streamFormat = std::make_shared<gpu::Stream::Format>();
996997 auto stream = std::make_shared<gpu::BufferStream>();
997998
@@ -1064,9 +1065,9 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec3>& points, con · 66 unmodified lines
10641065 details.vertices = points.size();
10651066 details.vertexSize = FLOATS_PER_VERTEX;
10661067
1067− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1068− auto normalBuffer = std::make_shared<gpu::Buffer>();
1069− auto colorBuffer = std::make_shared<gpu::Buffer>();
1068+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1069+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1070+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
10701071 auto streamFormat = std::make_shared<gpu::Stream::Format>();
10711072 auto stream = std::make_shared<gpu::BufferStream>();
10721073
@@ -1152,8 +1153,8 @@ void GeometryCache::renderBevelCornersRect(gpu::Batch& batch, int x, int y, int · 79 unmodified lines
11521153 details.vertices = NUM_VERTICES;
11531154 details.vertexSize = FLOATS_PER_VERTEX;
11541155
1155− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1156− auto colorBuffer = std::make_shared<gpu::Buffer>();
1156+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1157+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
11571158 auto streamFormat = std::make_shared<gpu::Stream::Format>();
11581159 auto stream = std::make_shared<gpu::BufferStream>();
11591160
@@ -1245,9 +1246,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec2& minCorner, co · 85 unmodified lines
12451246 details.vertices = VERTICES;
12461247 details.vertexSize = FLOATS_PER_VERTEX;
12471248
1248− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1249− auto normalBuffer = std::make_shared<gpu::Buffer>();
1250− auto colorBuffer = std::make_shared<gpu::Buffer>();
1249+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1250+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1251+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
12511252 auto streamFormat = std::make_shared<gpu::Stream::Format>();
12521253 auto stream = std::make_shared<gpu::BufferStream>();
12531254
@@ -1405,9 +1406,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec2& minCorner, co · 151 unmodified lines
14051406 details.vertices = VERTICES;
14061407 details.vertexSize = FLOATS_PER_VERTEX;
14071408
1408− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1409− auto normalBuffer = std::make_shared<gpu::Buffer>();
1410− auto colorBuffer = std::make_shared<gpu::Buffer>();
1409+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1410+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1411+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
14111412 auto streamFormat = std::make_shared<gpu::Stream::Format>();
14121413 auto stream = std::make_shared<gpu::BufferStream>();
14131414
@@ -1559,9 +1560,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec3& minCorner, co · 145 unmodified lines
15591560 details.vertices = VERTICES;
15601561 details.vertexSize = FLOATS_PER_VERTEX;
15611562
1562− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1563− auto normalBuffer = std::make_shared<gpu::Buffer>();
1564− auto colorBuffer = std::make_shared<gpu::Buffer>();
1563+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1564+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1565+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
15651566 auto streamFormat = std::make_shared<gpu::Stream::Format>();
15661567 auto stream = std::make_shared<gpu::BufferStream>();
15671568
@@ -1649,9 +1650,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec3& topLeft, cons · 81 unmodified lines
16491650 details.vertices = VERTICES;
16501651 details.vertexSize = FLOATS_PER_VERTEX; // NOTE: this isn't used for BatchItemDetails maybe we can get rid of it
16511652
1652− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1653− auto normalBuffer = std::make_shared<gpu::Buffer>();
1654− auto colorBuffer = std::make_shared<gpu::Buffer>();
1653+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1654+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1655+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
16551656 auto streamFormat = std::make_shared<gpu::Stream::Format>();
16561657 auto stream = std::make_shared<gpu::BufferStream>();
16571658
@@ -1806,9 +1807,9 @@ void GeometryCache::renderDashedLine(gpu::Batch& batch, const glm::vec3& start, · 148 unmodified lines
18061807 details.vertices = (segmentCountFloor + 1) * 2;
18071808 details.vertexSize = FLOATS_PER_VERTEX;
18081809
1809− auto verticesBuffer = std::make_shared<gpu::Buffer>();
1810− auto normalBuffer = std::make_shared<gpu::Buffer>();
1811− auto colorBuffer = std::make_shared<gpu::Buffer>();
1810+ auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1811+ auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1812+ auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
18121813 auto streamFormat = std::make_shared<gpu::Stream::Format>();
18131814 auto stream = std::make_shared<gpu::BufferStream>();
18141815
@@ -2508,7 +2509,7 @@ graphics::MeshPointer GeometryCache::meshFromShape(Shape geometryShape, glm::vec · 693 unmodified lines
25082509
25092510 const auto startIndex = 0, baseVertex = 0;
25102511 graphics::Mesh::Part part(startIndex, (graphics::Index)indexBufferView.getNumElements(), baseVertex, graphics::Mesh::TRIANGLES);
2511− auto partBuffer = new gpu::Buffer(sizeof(graphics::Mesh::Part), (gpu::Byte*)&part);
2512+ auto partBuffer = new gpu::Buffer(gpu::Buffer::IndirectBuffer, sizeof(graphics::Mesh::Part), (gpu::Byte*)&part);
25122513 mesh->setPartBuffer(gpu::BufferView(partBuffer, gpu::Element::PART_DRAWCALL));
25132514
25142515 mesh->modelName = GeometryCache::stringFromShape(geometryShape).toStdString();