src/libGLESv2/renderer/VertexBuffer.cpp


Log

Author Commit Date CI Message
Jamie Madill 5f6937ca 2014-02-12T17:15:22 Align static and streaming vertex data to 16-byte boundaries. Certain vertex formats using fewer than 4 bytes could confuse our buffer code, giving us improperly aligned offsets. Aligning vertex data across the board should fix the problem, and minimal cost. Change-Id: I6884b4ddcfb91ef309a970593aaf7932cb65712e Reviewed-on: https://chromium-review.googlesource.com/185196 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a5e44c92 2014-02-04T16:04:15 Relax alignment restrictions to allow more direct storage. Our restriction to 4-byte alignments caused us to always convert formats like R8 or R16, or R8G8 instead of allowing D3D to handle these formats naturally. From experimentation the proper rule seems to be "4-bytes, unless the vertex format is 1- or 2-byte size." I couldn't find supporting documentation on MSDN, but it seems common sense. Change-Id: I9e38fe86790e34024d1ae912a809a3d3cdc02ccf Reviewed-on: https://chromium-review.googlesource.com/184523 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill a5d67475 2014-02-04T16:04:13 Remove VertexBuffer::requiresConversion. Since we now have Renderer methods to query formats for vertex inputs, we can get rid of the remaining calls to VertexBuffer which we used to query properties of vertex formats. Change-Id: I9e57d1d9bf80296aef271877fdd97a16d29114af Reviewed-on: https://chromium-review.googlesource.com/184522 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang a36ead4a 2013-08-02T11:54:08 Updated VertexBuffer's getSpaceRequired and storeVertexAttributes methods to return bools and fixed some validation of parameters to prevent under and overflows. TRAC #23643 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Geoff Lang
Geoff Lang fe5b2726 2013-07-09T15:58:36 Protect against integer overflows in the VertexBuffer class by validating the reserved space. Issue 444 Signed-off-by: Jamie Madil Signed-off-by: Shannon Woods Author: Geoff Lang
Jamie Madill a857c36b 2013-07-02T11:57:02 Refactor VertexAttribute to split the "current value" for generic attributes into its own class. VAOs in GLES 3 do not store the current values, so these must be handled separately from other Vertex Attribute data. TRAC #23390 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Authored-by: Jamie Madill
Jamie Madill 87939710 2013-07-02T11:57:01 Move VertexAttribute to its own header file. This is in preparation for VAO support. TRAC #23390 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Authored-by: Jamie Madill
shannon.woods%transgaming.com@gtempaccount.com 8de4e6af 2013-04-13T03:37:44 Added conversion rules for GL_INT and GL_UNSIGNED_INT for VertexBuffer11. TRAC #22693 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2118 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com cf8d2f8a 2013-04-13T03:37:34 Merged the current value attributes into the regular vertex attributes so they follow the same conversion rules. TRAC #22693 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2117 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com bdf2d80f 2013-02-28T23:16:20 Add precompiled header support for the libGLESv2 project. TRAC #22518 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1938 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com d2811d68 2013-02-28T23:11:19 Break some of the include chains that cause unneeded dependencies between headers. TRAC #22499 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1904 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4150d362 2012-12-20T21:07:43 Change VertexBufferInterface and VertexDataManager to use new VertexBuffer. TRAC #22226 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1589 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com dcfb1f79 2012-12-20T20:57:03 Add abstract VertexBuffer class. TRAC #22225 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1586 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e4e45066 2012-12-20T20:56:53 Renamed VertexBuffer to VertexBufferInterface. TRAC #22225 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1585 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a41d07f0 2012-12-20T20:55:57 Merged the VertexBuffer and ArrayVertexBuffer classes. TRAC# 22224 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1579 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 29787c31 2012-12-20T20:55:48 Moved VertexBuffer and derivations into VertexBuffer.h/cpp. TRAC# 22224 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1578 736b8ea6-26fd-11df-bfd4-992fa37f6226