ANGLE's internal hash maps would run MurmurHash on c++ structs to come up with hash values. Since the hash ran on 4 byte words only, it would have no understanding that sometimes our structs would only have meaninful data in the first N bytes, and would include the garbage at the end in the hash calculation. This fixes the problem by forcing our structs to be aligned at compile-time. It also adds custom copy operators for a few classes to ensure that all bits are copied when the struct is initialized, including the padding. Bug: angleproject:1569 Bug: chromium:721648 Change-Id: I4d11f6e12d9a067b36e1416c7ed15586eff99aab Reviewed-on: https://chromium-review.googlesource.com/783990 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| d3d11 | Loading commit data... | |
| d3d9 | Loading commit data... | |
| BufferD3D.cpp | Loading commit data... | |
| BufferD3D.h | Loading commit data... | |
| CompilerD3D.cpp | Loading commit data... | |
| CompilerD3D.h | Loading commit data... | |
| DeviceD3D.cpp | Loading commit data... | |
| DeviceD3D.h | Loading commit data... | |
| DisplayD3D.cpp | Loading commit data... | |
| DisplayD3D.h | Loading commit data... | |
| DynamicHLSL.cpp | Loading commit data... | |
| DynamicHLSL.h | Loading commit data... | |
| EGLImageD3D.cpp | Loading commit data... | |
| EGLImageD3D.h | Loading commit data... | |
| FramebufferD3D.cpp | Loading commit data... | |
| FramebufferD3D.h | Loading commit data... | |
| HLSLCompiler.cpp | Loading commit data... | |
| HLSLCompiler.h | Loading commit data... | |
| ImageD3D.cpp | Loading commit data... | |
| ImageD3D.h | Loading commit data... | |
| IndexBuffer.cpp | Loading commit data... | |
| IndexBuffer.h | Loading commit data... | |
| IndexDataManager.cpp | Loading commit data... | |
| IndexDataManager.h | Loading commit data... | |
| NativeWindowD3D.cpp | Loading commit data... | |
| NativeWindowD3D.h | Loading commit data... | |
| ProgramD3D.cpp | Loading commit data... | |
| ProgramD3D.h | Loading commit data... | |
| RenderTargetD3D.cpp | Loading commit data... | |
| RenderTargetD3D.h | Loading commit data... | |
| RenderbufferD3D.cpp | Loading commit data... | |
| RenderbufferD3D.h | Loading commit data... | |
| RendererD3D.cpp | Loading commit data... | |
| RendererD3D.h | Loading commit data... | |
| SamplerD3D.h | Loading commit data... | |
| ShaderD3D.cpp | Loading commit data... | |
| ShaderD3D.h | Loading commit data... | |
| ShaderExecutableD3D.cpp | Loading commit data... | |
| ShaderExecutableD3D.h | Loading commit data... | |
| SurfaceD3D.cpp | Loading commit data... | |
| SurfaceD3D.h | Loading commit data... | |
| SwapChainD3D.cpp | Loading commit data... | |
| SwapChainD3D.h | Loading commit data... | |
| TextureD3D.cpp | Loading commit data... | |
| TextureD3D.h | Loading commit data... | |
| TextureStorage.h | Loading commit data... | |
| VertexBuffer.cpp | Loading commit data... | |
| VertexBuffer.h | Loading commit data... | |
| VertexDataManager.cpp | Loading commit data... | |
| VertexDataManager.h | Loading commit data... | |
| formatutilsD3D.h | Loading commit data... |