D3D9 has a special limitation on varying packing, where each variable takes up a full register width, and cannot share space with other packed varyings. A bug was counting registers incorrectly on D3D9. Fix this by introducing a new limitation exposed to the ANGLE front-end via the gl::Limitations structure. Now varying packing will fail correctly in the ANGLE linking front-end with a more descriptive error message, as such: "Could not pack varying blah" "Note: Additional non-conformant packing restrictions are enforced on D3D9." Also change the packing so that input built-in variables are counted towards varying limits (e.g. gl_PointSize), except for gl_Position. On D3D9 we don't pack gl_PointSize, since it is used in a special extra PSIZE register. Also update some tests to be more robust. Bug: chromium:804799 Change-Id: I9027266a8b66a28626f038f259bff42ebf09dcd2 Reviewed-on: https://chromium-review.googlesource.com/889898 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Geoff Lang <geofflang@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... |