|
d2c52e3b
|
2015-10-14T17:07:05
|
|
Fix debug annotations and shaders.
The Program refactor inadvertantly broken Debug annotations. Fix this
by correctly passing the path to the temporary shader source in the
first "C" string argument to ShCompile, instead of as the first part
of the source string.
BUG=angleproject:1177
TEST=manual testing with MSVS
Change-Id: Ie77bb11b51645a474b542ddd2ae0f391e019e341
Reviewed-on: https://chromium-review.googlesource.com/306210
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
6d85f039
|
2015-10-07T15:50:23
|
|
Fix WinRT compilation issue in ShaderD3D.cpp
Change-Id: If7bd4e9cdba3d893f2ee28a70b894af3fb37ae30
Reviewed-on: https://chromium-review.googlesource.com/304488
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
006cbc5b
|
2015-09-23T16:47:54
|
|
Remove rx::ShaderSh and move the shared code to the GL.
The GL layer can interact with the translator directly, to query all
the active shader variables and call ShCompile.
BUG=angleproject:1159
Change-Id: I334a9bef28f93cf85dd8cac0fb8542ac567cc3ec
Reviewed-on: https://chromium-review.googlesource.com/299877
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
91445bce
|
2015-09-23T16:47:53
|
|
Make a shader Shader::Data state structure.
This design follows the similar designs for Program, Framebuffer, etc.
Because of the current design, share a mutable pointer with the Impl
so the patch becomes a bit smaller and easier to review. In a follow-
up patch we can move the shared code into the GL layer.
BUG=angleproject:1159
Change-Id: Ib243e74779f23be51cdca80f1b5c6e5f3e36059d
Reviewed-on: https://chromium-review.googlesource.com/299876
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
046e53e3
|
2015-09-23T16:47:52
|
|
Add an interm ShaderSh class.
This class logic will eventually move to the GL layer. Keep it
in the Renderer layer for now for refactoring purposes.
BUG=angleproject:1159
Change-Id: I91843099367f9a0293cc43ab98626bf79eb75ebf
Reviewed-on: https://chromium-review.googlesource.com/299875
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
83f349ea
|
2015-09-23T09:50:36
|
|
Remove CompilerImpl and merge code to gl::Compiler.
This class uses no Impl-specific code. We can also do a similar
code relocation for the gl::Shader class, but in several steps
because it is a bit more complex.
BUG=angleproject:1159
Change-Id: I4d3ce3253df0a2bdee1d98e46cfd4b999d86be6e
Reviewed-on: https://chromium-review.googlesource.com/299874
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ca03b35c
|
2015-09-02T12:38:13
|
|
Re-land "Compute packed varyings in ProgramD3D only."
Instead of storing varying information in the shader, use a temporary
set when linking a D3D program. This also means we won't have to
modify information in the Shader object when linking a D3D program.
This completes the refactoring for PackedVaryings.
Re-land with fix for missing init of PackedVarying::vertexOnly.
BUG=angleproject:1123
Change-Id: If110809c3817d88b0370ac575d739d7385b067d9
Reviewed-on: https://chromium-review.googlesource.com/296731
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c437046f
|
2015-09-01T17:27:40
|
|
Revert "Compute packed varyings in ProgramD3D only."
Likely the cause of Windows bot failures.
BUG=angleproject:1123
This reverts commit 532061bbfb160586a06f0e47b6bbb5350e735203.
Change-Id: Ia4f0161b97bfbf2adb4cafaa5fa5484f04fad245
Reviewed-on: https://chromium-review.googlesource.com/296710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
532061bb
|
2015-08-31T15:16:45
|
|
Compute packed varyings in ProgramD3D only.
Instead of storing varying information in the shader, use a temporary
set when linking a D3D program. This also means we won't have to
modify information in the Shader object when linking a D3D program.
This completes the refactoring for PackedVaryings.
BUG=angleproject:1123
Change-Id: I241610e87f7d14f3e18b0d8bd84f1a3509c05dfd
Reviewed-on: https://chromium-review.googlesource.com/295193
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
4cff2477
|
2015-08-21T16:53:18
|
|
Make PackedVarying a D3D-only type.
The register assignment stuff only applies to the D3D back-end.
Cleans up the GL back-ends use of PackedVarying, and will lead
to future cleanups relating to packing varyings.
BUG=angleproject:1123
Change-Id: Iaaa5fc03577e5b61ea6ae76ee1e15ad608037f34
Reviewed-on: https://chromium-review.googlesource.com/295190
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
80a6fc03
|
2015-08-21T16:53:16
|
|
Make output variables part of Program's shared data.
Also initialize this structure within Program instead of DynamicHLSL.
This should have benefits for other back-ends. Also these variables
weren't being serialized and de-serialized with the program binary,
which could mess up WebGL apps that use MRT.
BUG=angleproject:1123
Change-Id: Ic0dd4840f26441a1bee8527dfa178b24daf82f8a
Reviewed-on: https://chromium-review.googlesource.com/294571
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a5ef8d89
|
2015-08-19T14:52:21
|
|
Enabled loop indexing validation for fragment shaders compiled using renderers configured for FL9_3 and below.
BUG=angleproject:1130
Change-Id: I2b5d7091c394565354b14fbf9297276dce8d92a5
Reviewed-on: https://chromium-review.googlesource.com/294733
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
55def583
|
2015-05-04T11:24:57
|
|
translator: Fix variable collection for gl_DepthRange.
*re-land with Linux fixes, and fix for locations*
This built-in uniform wasn't being collected in VariableInfo.cpp.
Also remove the existing workaround for D3D gl_DepthRange
collection.
BUG=angleproject:991
BUG=478570
Change-Id: Iba84651bfc58f82fd4ce039421874f561f83c348
Reviewed-on: https://chromium-review.googlesource.com/268840
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
26e1a466
|
2015-05-01T19:19:19
|
|
Revert "translator: Fix variable collection for gl_DepthRange."
Build errors on Linux:
error: comparison of integers of different signs: 'const int' and 'const unsigned int'
BUG=angleproject:991
BUG=478570
This reverts commit f1ae954b660cb058c40665b623f4d689b65180d4.
Change-Id: I217aba1b32dc0e70d6153337a1f0ccef0483a0e1
Reviewed-on: https://chromium-review.googlesource.com/268792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f1ae954b
|
2015-05-01T13:33:57
|
|
translator: Fix variable collection for gl_DepthRange.
This built-in uniform wasn't being collected in VariableInfo.cpp.
Also remove the existing workaround for D3D gl_DepthRange
collection.
BUG=angleproject:991
BUG=478570
Change-Id: Ie254132e37c307323ba9e6e1705d138eea67b520
Reviewed-on: https://chromium-review.googlesource.com/268524
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
f4bf3811
|
2015-04-01T16:15:32
|
|
Use GetAs/GetImplAs whenever possible.
This patch cleans up the rest of our custom casting helper
functions.
Change-Id: I41975c736765fca855c4498acca31116df3e8317
Reviewed-on: https://chromium-review.googlesource.com/263477
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
2c7c625a
|
2015-03-12T14:15:38
|
|
Refactor D3D Debug Annotations code.
This encapsultates the different implementations and allows us to
compile debug.cpp in the common libraries without link errors.
BUG=angleproject:513
Change-Id: I16dc4c666fb4266ee5146d64d77eb9925c7584a8
Reviewed-on: https://chromium-review.googlesource.com/256450
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b8af723d
|
2015-03-16T22:33:25
|
|
Fix and enable warning C4245 (signed/unsigned mismatch)
Change-Id: If48043835fcc98341a0626e3ece7d0e3f7958059
Reviewed-on: https://chromium-review.googlesource.com/260630
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cooper Partin <coopp@microsoft.com>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
44efa0b8
|
2015-03-04T17:11:05
|
|
Conditionally enable IEEE strictness for isnan()
ANGLE's ESSL3 built-in function isnan() implementation just uses HLSL
intrinsic function isnan(). For HLSL intrinsic function isnan() to work
properly, IEEE strictness needs to be enabled for D3D compiler.
This change detects use of isnan() in shaders and passes compiler flag
D3DCOMPILE_IEEE_STRICTNESS whenever isnan is used in shaders. This
change also moves existing workarounds in D3DWorkaroundType to
D3DCompilerWorkarounds.
BUG=angle:927
TEST= dEQP tests
dEQP-GLES3.functional.shaders.builtin_functions.common.isnan.*
Change-Id: I1ce5b1a7a825fdd720a37dc9aeb71320e55162d9
Reviewed-on: https://chromium-review.googlesource.com/255834
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
811b6352
|
2015-02-09T10:17:09
|
|
Add a script to generate a new Renderer.
Also refactor our current Impl headers slightly to facilitate
parsing by the generation script.
BUG=angle:905
Change-Id: Ib86cff71d18e7f911cf526b27b8a82757bacd738
Reviewed-on: https://chromium-review.googlesource.com/245497
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
37997145
|
2015-01-28T10:06:34
|
|
Defer dependent HLSL global var inits.
Some global initializers depend on other globals, for instance a
varying or attribute value. Since we use a static proxy variable for
these varyings, we need to initialize the global static after we
initialize the proxy in the shader preamble. This fixes a long-
standing compiler bug.
We should also add a WebGL test for this.
BUG=angle:878
Change-Id: I71db103a6b8c24fb862e0d8b32293da9bc2e8103
Reviewed-on: https://chromium-review.googlesource.com/243581
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3ae6465f
|
2015-01-26T15:51:39
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I3df0fffb19f5ecbe439fbc2a8d6d239a5dc6b638
Reviewed-on: https://chromium-review.googlesource.com/243334
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
74cafab1
|
2015-01-23T23:17:32
|
|
Revert "Fix lots of variable shadowing in ANGLE"
Caused WebGL CTS failures on the texture-npot test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/texture-npot.html
This reverts commit c67e6e9fade44ef8938724e82db11db725e9c8e5.
Change-Id: I089e99859231e0d657084ac3647257c650a9da92
Reviewed-on: https://chromium-review.googlesource.com/243041
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c67e6e9f
|
2015-01-21T16:01:07
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I15168ae32605b26aee08274464ffe68adb5a7e87
Reviewed-on: https://chromium-review.googlesource.com/242351
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
492a7e43
|
2014-11-05T13:27:06
|
|
Encapulate the ESSL compiler into a GL object that is per-context.
* Allows for multiple contexts have to have different client versions, caps
and extensions without causing shader compilation failures.
BUG=angle:823
Change-Id: I523679e90be031b0b7fa385d46d6839b1cf3029f
Reviewed-on: https://chromium-review.googlesource.com/227710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
437d2662
|
2014-12-05T14:23:35
|
|
Move some D3D-specific stuff into ProgramD3D.
BUG=angle:773
Change-Id: I48b42e7a3e82a43d3dde16a8d1016d28280eae39
Reviewed-on: https://chromium-review.googlesource.com/232968
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ea7a2121
|
2014-11-17T16:15:57
|
|
Add GLSL/ESSL validator/translator support for GL_EXT_shader_framebuffer_fetch.
BUG=angle:834
Change-Id: I2d4e25909a8e1266b9bb7f1d4421324143157c8a
Reviewed-on: https://chromium-review.googlesource.com/231032
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Erik Dahlström <ed@opera.com>
|
|
2207213b
|
2014-11-20T15:15:01
|
|
Move as many files as possible from common to libANGLE.
BUG=angle:733
Change-Id: If01c91cd52ac5c2102276a9fdc4b68ebc13e47f9
Reviewed-on: https://chromium-review.googlesource.com/231850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4349ab85
|
2014-11-25T15:53:34
|
|
Revert "Move as many files as possible from common to libANGLE."
Chromium directly includes our common/version.h and couldn't build after this change.
This reverts commit f0a2c7727f9863c38a435a16a69d513c481fbbdd.
Change-Id: Iafc41b1a3973f609518fe3588fdb64cecc285332
Reviewed-on: https://chromium-review.googlesource.com/231840
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f0a2c772
|
2014-11-20T15:15:01
|
|
Move as many files as possible from common to libANGLE.
BUG=angle:733
Change-Id: I40cee6e2e305ac493acbc8649f858785c0569aed
Reviewed-on: https://chromium-review.googlesource.com/231051
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2b5420c0
|
2014-11-19T14:20:15
|
|
Merge libGLESv2 and libEGL classes into libANGLE.
BUG=angle:733
Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|