gxquickly / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

Buffer implementation for the GL back-end #881

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Implement the BufferGL class and buffer binding for vertex attributes in draw 
calls.

Original issue reported on code.google.com by geofflang@chromium.org on 22 Jan 2015 at 6:46

GoogleCodeExporter commented 9 years ago

Original comment by geofflang@chromium.org on 24 Feb 2015 at 4:51

GoogleCodeExporter commented 9 years ago

Original comment by geofflang@chromium.org on 24 Feb 2015 at 5:39

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 4904a79b40a167f66e23f095ce650c497d7a0a5b

Code-Review  0 : Geoff Lang
Code-Review  +2: Jamie Madill
Verified     0 : Jamie Madill
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Ieeed52ac81c23a46bfe9fc4365239c2b177ff6ac
Reviewed-at    : https://chromium-review.googlesource.com/261563

Use the GL_COPY_READ_BUFFER binding for copy sources.

Using the ELEMENT_ARRAY binding can cause issues such as rebinding the
current VAO's index buffer unexpectedly.

BUG=angleproject:881

src/libANGLE/renderer/gl/BufferGL.cpp

Original comment by bugdroid1@chromium.org on 20 Mar 2015 at 5:29

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 84e91d3962d74c1c638d592aadf2571feb6ed15e

Code-Review  0 : Geoff Lang
Code-Review  +2: Jamie Madill
Verified     0 : Jamie Madill
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : If81675ef4931c920edac56249461db7c91cc170c
Reviewed-at    : https://chromium-review.googlesource.com/261708

Add a comment explaining the buffer binding points.

BUG=angleproject:881

src/libANGLE/renderer/gl/BufferGL.cpp

Original comment by bugdroid1@chromium.org on 23 Mar 2015 at 4:35

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 831b19531f2436518711d611f4d007970901ec6c

Code-Review  0 : Geoff Lang
Code-Review  +1: Jamie Madill
Code-Review  +2: Brandon Jones
Verified     0 : Brandon Jones, Jamie Madill
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Ib05149facee9fcc7714cb957ca8647b3498a36b6
Reviewed-at    : https://chromium-review.googlesource.com/269254

Move the IndexRangeCache and Range types to the gl namespace.

BUG=angleproject:881

src/common/mathutil.h
src/common/utilities.cpp
src/common/utilities.h
src/libANGLE/Buffer.h
src/libANGLE/Context.cpp
src/libANGLE/Context.h
src/libANGLE/ImageIndex.cpp
src/libANGLE/ImageIndex.h
src/libANGLE/IndexRangeCache.cpp
src/libANGLE/IndexRangeCache.h
src/libANGLE/renderer/IndexRangeCache.cpp
src/libANGLE/renderer/Renderer.h
src/libANGLE/renderer/d3d/IndexBuffer.h
src/libANGLE/renderer/d3d/IndexDataManager.h
src/libANGLE/renderer/d3d/RendererD3D.cpp
src/libANGLE/renderer/d3d/RendererD3D.h
src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
src/libANGLE/renderer/gl/RendererGL.cpp
src/libANGLE/renderer/gl/RendererGL.h
src/libANGLE/renderer/gl/VertexArrayGL.cpp
src/libANGLE/renderer/gl/VertexArrayGL.h
src/libANGLE/validationES.cpp
src/libANGLE/validationES.h
src/libGLESv2.gypi
src/libGLESv2/entry_points_gles_2_0.cpp
src/libGLESv2/entry_points_gles_2_0_ext.cpp
src/libGLESv2/entry_points_gles_3_0.cpp
src/tests/perf_tests/IndexDataManagerTest.cpp

Original comment by bugdroid1@chromium.org on 6 May 2015 at 7:04

GoogleCodeExporter commented 9 years ago
Project: angle/angle
Branch : master
Author : Geoff Lang <geofflang@chromium.org>
Commit : 520c4ae229160abda422ac82e6e1d16a2c8ff228

Code-Review  0 : Brandon Jones, Geoff Lang
Code-Review  +1: Jamie Madill
Code-Review  +2: Olli Etuaho
Verified     0 : Brandon Jones, Jamie Madill, Olli Etuaho
Verified     +1: Geoff Lang
Commit Queue   : Chumped
Change-Id      : Idec645219056132e0d72a410fbe7b971fa02c9e9
Reviewed-at    : https://chromium-review.googlesource.com/261892

Add a Buffer::getIndexRange function.

Instead of exposing the index range cache, add a more generic method that
allows the buffers to handle their own caching of index ranges.
BufferImpl::getData can be hard to implement for BufferGL because there
isn't a way to tell the buffer to unmap and glGetBufferSubData can be very
expensive, requiring an extra copy of the data.

BUG=angleproject:881

src/libANGLE/Buffer.cpp
src/libANGLE/Buffer.h
src/libANGLE/Context.cpp
src/libANGLE/Framebuffer.cpp
src/libANGLE/TransformFeedback_unittest.cpp
src/libANGLE/renderer/BufferImpl.h
src/libANGLE/renderer/BufferImpl_mock.h
src/libANGLE/renderer/d3d/BufferD3D.cpp
src/libANGLE/renderer/d3d/BufferD3D.h
src/libANGLE/renderer/d3d/d3d11/Buffer11.h
src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp
src/libANGLE/renderer/d3d/d3d9/Buffer9.h
src/libANGLE/renderer/gl/BufferGL.cpp
src/libANGLE/renderer/gl/BufferGL.h
src/libANGLE/renderer/gl/VertexArrayGL.cpp
src/libANGLE/validationES.cpp
src/libANGLE/validationES.h
src/tests/perf_tests/IndexDataManagerTest.cpp

Original comment by bugdroid1@chromium.org on 6 May 2015 at 7:05