|
0b7eef7c
|
2014-06-12T14:10:47
|
|
Removed common_includes.h reordered includes.
Since we are not using precompiled headers anymore, remove common_includes.h
so that fewer files are included in cpp files.
Reordered includes to be in the following order:
1) Local ANGLE project headers, ordered by directory in descending depth
2) GL headers
3) STL headers
This helps enforce the include-what-you-use principal by reducing the
number of STL headers unexpectedly shared between files.
This include order conflicts with some of the Google c++ style guide
which states that STL includes should be first but this helps us catch
more issues.
Change-Id: I8f7785f4ad574e253dd3c7b4fb1e54d3ce3b99fc
Reviewed-on: https://chromium-review.googlesource.com/214850
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7162096e
|
2014-08-20T14:04:59
|
|
More shader refactor cleanup
Removed VertexShader and FragmentShader in favor of using a single Shader object
Used VertexShaderD3D and FragmentShaderD3D directly when appropriate.
BUG=angle:731
Change-Id: Ib1ffdf85ee0bfa7c88bb9ddb1029ccbd63a9dbe1
Reviewed-on: https://chromium-review.googlesource.com/213840
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
ea24759f
|
2014-08-28T10:37:08
|
|
Remove remnants of old PCH code.
Remove the precompiled.cpp file which was producing a build warning,
and rename the header to make it clear we no longer support PCH.
BUG=angle:
Change-Id: I944081ae477b1478ca9c18924fb02bb920d420a7
Reviewed-on: https://chromium-review.googlesource.com/214187
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f05cdee4
|
2014-08-27T15:24:07
|
|
Refactoring Shader objects (Take 2)
This change refactors shaders to no longer be dependent on D3D-only concepts.
BUG=angle:731
Change-Id: I1006112f1d31b7e41bd14bd3225ea157b7d6c6c9
Reviewed-on: https://chromium-review.googlesource.com/214467
Tested-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e54be46a
|
2014-08-27T22:21:45
|
|
Revert "Refactoring Shader objects"
This reverts commit 537dfde52a33d621ab1198c949a81b09a1269b2e.
Change-Id: I5eb8923ac8f78877e6e77a8cd897021e56ee004a
Reviewed-on: https://chromium-review.googlesource.com/214466
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
537dfde5
|
2014-08-20T14:04:59
|
|
Refactoring Shader objects
This change refactors shaders to no longer be dependent on D3D-only concepts.
BUG=angle:731
Change-Id: I4fc1efeba9df4f873b3d7c8ba6f67f00b6532b9c
Reviewed-on: https://chromium-review.googlesource.com/213803
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
|
|
301d161d
|
2014-07-09T10:34:37
|
|
Add caps for vertex and fragment shader limits from tables 6.31 and 6.32.
BUG=angle:658
Change-Id: I98509aa16caf74c3e4e28852e8b59aedd903f03a
Reviewed-on: https://chromium-review.googlesource.com/207372
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
e294bb87
|
2014-07-17T14:16:26
|
|
Add new shader inspection APIs.
Each new entry point corresponds to one of the variable types:
varyings, attributes, uniforms, output variables, and interface
blocks. They return a pointer to the vector with all of the
parsed variables, which then the app can copy to its own memory.
Currently we do not support the staticUse field in the HLSL
translator.
BUG=angle:466
Change-Id: I7dc09e761ab070feef5360ad27740110c44853b3
Reviewed-on: https://chromium-review.googlesource.com/208750
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
bf9cce2e
|
2014-07-18T10:33:09
|
|
Use the block encoder class to store uniform offsets.
This will allow us to use the same code path for assigning register
information in all places. Because of this it fixes some long-broken
dEQP struct uniform tests.
BUG=angle:466
BUG=angle:505
Change-Id: I4161a388503aa09bbe2d21ff47bfb3352ec93881
Reviewed-on: https://chromium-review.googlesource.com/207255
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
d4116ff3
|
2014-07-11T17:02:01
|
|
Remove sh::InterfaceBlock::registerIndex.
This value is HLSL-only and we can use the new query API to hide it
from GLSL programs.
BUG=angle:466
Change-Id: I75dc2fbbf1b29b1f6d561568174a15dea1f5b130
Reviewed-on: https://chromium-review.googlesource.com/207250
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
c0b9ef4b
|
2014-07-02T10:02:37
|
|
Split Caps into Caps, Extensions and TextureFormatCaps.
Context now holds it's own Caps, Extensions and TextureFormat caps so that it
can modify them based on client version or work-arounds.
BUG=angle:658
Change-Id: Id71b6c89b7aa36e1f3dc42b0e4720eaed1851fb9
Reviewed-on: https://chromium-review.googlesource.com/206480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
aae65a4e
|
2014-05-26T12:43:44
|
|
Add caps for texture size limits and other caps in the 6.28 table.
BUG=angle:658
Change-Id: Ia265fe1d3713db7701b41e8430d6d186f352ab4a
Reviewed-on: https://chromium-review.googlesource.com/201363
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
865d1451
|
2014-07-02T15:31:20
|
|
Consolidate varying packing sort order methods.
We were using the same list in the shader varying sorting
as well as in the varying packing validation in the
translator.
BUG=angle:466
Change-Id: Ic11758288e7a522d7c18a293de9e137e487e3978
Reviewed-on: https://chromium-review.googlesource.com/205595
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
183bde55
|
2014-07-02T15:31:19
|
|
Return shader variable information using GLenum values.
Instead of duplicating GL header define values, explictly return
GLenum for variable queries in the shader inspection API. This
reduces the duplicate defines in the shader compiler header.
BUG=angle:466
Change-Id: Iddaaff597b188251fa2e546f352bf77ab3ac43bc
Reviewed-on: https://chromium-review.googlesource.com/205860
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
ce505553
|
2014-06-26T14:56:33
|
|
Revert "Return variable type queries using GLenum values."
Breaks the FYI bots until we get Chromium patched.
BUG=angle:466
This reverts commit 53221f5a0382887155d90f7f286e41190d4f5bfb.
Change-Id: Ib28548df5c10a6f76f46e4cf8f2013dca5cf0ee2
Reviewed-on: https://chromium-review.googlesource.com/205850
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
53221f5a
|
2014-06-25T16:04:59
|
|
Return variable type queries using GLenum values.
Instead of duplicating GL header define values, explictly return
GLenum for variable queries in the shader inspection API. This
reduces the duplicate defines in the shader compiler header.
BUG=angle:466
Change-Id: If631b20ce68747297a946e1371def7709027a613
Reviewed-on: https://chromium-review.googlesource.com/204937
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
f2575989
|
2014-06-25T16:04:54
|
|
Use the sh namespace for shader variables.
Since these types originate from the translator, use an appropriate
namespace. Also rename some of the gl helper functions to be more
specific to their functionality.
BUG=angle:466
Change-Id: Idc29987b2053b3c40748dd46b581f3dbd8a6fd61
Reviewed-on: https://chromium-review.googlesource.com/204680
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
cec3590a
|
2014-04-16T10:52:36
|
|
Use a Caps structure to store extension and texture format support.
Removes support for fallbacks in D3D9 texture formats. The fallback
formats did not work properly anyways.
BUG=angle:658
Change-Id: Idfa5183bf71fd8ebf4608f940f9d93177b9eff08
Reviewed-on: https://chromium-review.googlesource.com/200813
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
68fe74aa
|
2014-05-27T12:56:01
|
|
Add a compiler query for the translator output type.
This is useful for determining if we are compiling to a D3D9 or D3D11
shader outside of the internal translator classes.
BUG=angle:656
Change-Id: Ib1c1d3de569edaa2b65c24c09d05aa4dd229d3e4
Reviewed-on: https://chromium-review.googlesource.com/201564
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
ff0d2ba6
|
2014-05-14T13:49:10
|
|
Split register allocation of varyings from the translator.
The translator gl::Varying struct does not need to know about register
allocation. We can put that entirely in the API library. This makes
exposing Varying variables with the new translator types cleaner.
BUG=angle:466
Change-Id: Ib85ac27de003913a01f76d5f4dc52454530859e6
Reviewed-on: https://chromium-review.googlesource.com/199736
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
834e8b77
|
2014-04-11T13:33:58
|
|
Move ShaderVariables to common shared source.
Also move the block layout encoding utilities to the common folder.
The combined changes allow us to include the shader and block code
into both libGLESv2 and the translator separately. This in turn
fixes the Chromium component build, where we were calling internal
translator functions directly from libGLESv2.
BUG=angle:568
Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747
Reviewed-on: https://chromium-review.googlesource.com/192891
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
46485086
|
2014-04-15T13:12:50
|
|
Implement EXT_shader_texture_lod
BUG=angle:551
Change-Id: I81d7574a15861f1b24ddf6147cf71adbf20e10f3
Reviewed-on: https://chromium-review.googlesource.com/194960
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
655fe36e
|
2014-04-11T13:12:34
|
|
Use shader optimization level 3 selectively.
Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3.
BUG=angle:603
Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2
Reviewed-on: https://chromium-review.googlesource.com/194129
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
5f562735
|
2014-02-14T16:41:24
|
|
Moved all HLSL-related code from ProgramBinary to DynamicHLSL.
DynamicHLSL encapsulates all HLSL generation we need outside the
the shader translator, such as for linking between input and output
stages and point sprite geometry shaders.
BUG=angle:560
Change-Id: Ib5079aa102000a7c37b166bcbe26b09cc82f8932
Reviewed-on: https://chromium-review.googlesource.com/185191
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3c9eeb97
|
2013-11-04T11:09:26
|
|
Disable optimizations for shaders with conditional discard in D3D9, and
only use expanded short-circuiting conditionals for expressions with
potential side-effects.
Conservatively assume aggreate and selection operators have side effects for now.
BUG=
ANGLEBUG=486
R=geofflang@chromium.org, kbr@chromium.org, nicolas@transgaming.com, shannonwoods@chromium.org
Review URL: https://codereview.appspot.com/14441075
Conflicts:
src/common/version.h
src/compiler/translator.vcxproj
src/compiler/translator.vcxproj.filters
src/compiler/translator/OutputHLSL.cpp
src/libGLESv2/ProgramBinary.cpp
src/libGLESv2/Shader.cpp
src/libGLESv2/Shader.h
Change-Id: Iaf9f10b5de7b33c927ef032f3c4fe9d5095f64dd
|
|
28167c62
|
2013-08-30T13:21:10
|
|
Add support for struct varyings, and more robust varying link validation.
TRAC #23749
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
|
|
a6da33a1
|
2013-08-30T13:21:07
|
|
Remove the gl::Varying class, and replace all usages with sh::Varying.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
139b9091
|
2013-08-30T13:21:06
|
|
Simplify the gl::Varying struct to be more like sh::Varying.
The subsequent patches will remove gl::Varying entirely.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
ce79dda1
|
2013-08-30T13:21:06
|
|
Change the varyings list type from a linked list to a vector type.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
47fdd13e
|
2013-08-30T13:21:04
|
|
Pass varyings to the GLES API from the translator using a direct pointer.
Instead of parsing them indirectly from HLSL, the pointer will allow us to more flexibly
support new types, especially compound types such as structures.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
9d2ffb1d
|
2013-08-30T13:21:04
|
|
Refactor sh::Uniform and sh::ShaderVariable into a shader variable base type with different child types.
This change gives us better memory usage (many fields are unnecessary in different types) with better static
typing and clear type abstraction for specific methods that might take Attributes or Varyings, etc.
TRAC #23754
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
bcb6a1e0
|
2013-08-30T13:21:03
|
|
Simplify the varying priority sorting logic, and add more verbose comments.
TRAC #23746
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
|
|
7f6562b2
|
2013-08-28T09:37:27
|
|
Prepend the GLSL code in a comment to the generated HLSL shaders when compiled in debug mode.
TRAC #23775
Author: Geoff Lang
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
536d7265
|
2013-08-26T17:04:20
|
|
Replaced the char pointers with std::strings in the Shader classes.
TRAC #23775
Author: Geoff Lang
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
|
|
2aeb26a4
|
2013-07-08T14:02:55
|
|
Added support for EXT_frag_depth
This change also required that support be added for associating built-in
variables with an extension, similar to how functions could be associated with
extensions previously.
R=alokp@chromium.org
Review URL: https://codereview.appspot.com/9827044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@2248 736b8ea6-26fd-11df-bfd4-992fa37f6226
TRAC #23333
Authored-by: bajones@chromium.org
Signed-off-by: Shannon Woods
Signed-off-by Nicolas Capens
Merged-by: Jamie Madill
|
|
defb674a
|
2013-06-20T11:55:51
|
|
Add a new path for querying active attributes from the shader translator, for use with layout qualifier support.
TRAC #23269
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
|
|
46131a38
|
2013-06-20T11:55:50
|
|
Proper support for fragment output variables for GLSL ES shader version 300.
TRAC #22704
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Authored-by: Jamie Madill
|
|
8c788e8d
|
2013-05-30T00:20:21
|
|
Add support for unsigned integer vector types to the shader translator.
TRAC #23080
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2404 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6b709911
|
2013-05-30T00:20:04
|
|
Add support for the unsigned integer scalar type to the shader translator.
TRAC #23080
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2403 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5703d881
|
2013-05-30T00:19:38
|
|
Add full integer support to the shader language.
TRAC #23080
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2400 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9bd22fa9
|
2013-05-30T00:18:47
|
|
Add support for non-square matrices to the shader translator.
TRAC #23081
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2394 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4f35fdf6
|
2013-05-30T00:18:40
|
|
Refactor Shader::compareVarying to use a table instead of nested switch statements.
TRAC #23081
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2393 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
83ac5e82
|
2013-05-30T00:15:29
|
|
Add the shader version of the compiled shaders to the program binary.
Also increment the binary version.
TRAC #23182
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2368 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3f68bf0e
|
2013-05-30T00:12:43
|
|
Enable the translator to pass parsed interface blocks back to the ANGLE API via the shader translator layer.
TRAC #22930
Signed-off-by: Nicolas Capens
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2346 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a2ecfccc
|
2013-05-30T00:11:59
|
|
Moved utilities.h/cpp and mathutils.h to the shared common code folder.
The HLSL translator needs to compute the sizes of various GL types for computing block layouts.
TRAC #22930
Signed-off-by: Nicolas Capens
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2342 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1500f093
|
2013-05-30T00:11:20
|
|
Add uniform block linking between the API, the program binary, and the compiler.
TRAC #22892
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2338 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0329988b
|
2013-05-30T00:05:26
|
|
Add support for querying gl_DepthRange as an active uniform via GetActiveUniform.
TRAC #22865
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2292 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
74b86cff
|
2013-05-30T00:02:58
|
|
Add new GLSL ES 3.0 built-in constants and split off 1.0 ones.
TRAC #22863
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2274 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1886fd4f
|
2013-04-13T03:41:45
|
|
Implement flat and centroid interpolation in HLSL.
TRAC #22857
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2154 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0bbed38f
|
2013-04-13T03:38:07
|
|
Accept shader version 300 on ES3 contexts.
TRAC #22712
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2121 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
aa8b5cff
|
2013-04-13T03:31:55
|
|
Shader and Compiler track uses of gl_FragCoord and gl_FragData and MRT extension usage.
TRAC #22668
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2084 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e266c830
|
2013-04-13T03:31:48
|
|
BuiltInResources initialized with MRT limits from renderer.
TRAC #22668
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2083 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5f339332
|
2013-04-13T03:29:02
|
|
Updated gl2.h and gl2ext.h.
TRAC #22694
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2068 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
331192d6
|
2013-04-13T03:27:57
|
|
Enabled FRAGMENT_PRECISION_HIGH unconditionally for ANGLE.
Review URL: https://codereview.appspot.com/7460048
Conflicts:
src/libGLESv2/Shader.cpp
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2059 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d64b3dab
|
2013-02-28T23:19:26
|
|
Fixed 64-bit integer truncation issues in shader translator.
This is an incompatible API change, but one which is necessary in
order to improve correctness of the code. The API version in
ShaderLang.h is updated and, unfortunately, the define renamed to
something less ambiguous due to conflicts on some Android buildbots.
Temporary patches in Chromium and WebKit will be landed separately to
support this upgrade.
BUG=403,404,405,406,407,408,409
Review URL: https://codereview.appspot.com/7300058
Conflicts:
include/GLSLANG/ShaderLang.h
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1960 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
486d9e9b
|
2013-02-28T23:15:41
|
|
Remove a lot of unnecessary include files and break include chains.
This should speed up incremental compile times when modifying headers, by reducing the number of dependencies.
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@1937 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5bcf7dfb
|
2013-01-25T21:55:33
|
|
Move the call to packVaryings outside of linkVaryings.
TRAC #22412
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1784 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
76cd88c5
|
2013-01-25T21:54:36
|
|
Avoid calling getContext() for resource limits.
TRAC #22243
Signed-off-by: Jamie Madill
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1776 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4e48204a
|
2013-01-25T21:54:18
|
|
Increase DX11 uniform count to 1024.
TRAC #22243
Signed-off-by: Jamie Madill
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1774 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
254317da
|
2013-01-25T21:54:09
|
|
Retrieve the maximum uniform register count from the renderer.
TRAC #22243
Signed-off-by: Jamie Madill
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1773 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
233fe954
|
2013-01-25T21:51:57
|
|
Added support for vertex texure fetch in DX11 mode.
Trac #22354
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1757 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b73964e3
|
2013-01-25T21:49:14
|
|
Pass the desired HLSL version down to the HLSL generator.
TRAC #22330
Signed-off-by: Geoff Lang
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1738 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7629bb6c
|
2013-01-11T04:12:28
|
|
Disable GL_OES_standard_derivatives when ps_2_x or later is not available.
BUG=392
Review URL: https://codereview.appspot.com/7027051
Author: bsalomon@google.com
(manual merge from master by daniel@transgaming.com)
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1704 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c5c9e3c5
|
2012-12-20T21:12:32
|
|
Retrieve active uniforms.
TRAC #22239
Signed-off-by: Daniel Koch
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1626 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e3e826d4
|
2012-11-28T19:42:35
|
|
Fixed some warnings on GCC
Mozilla has recently made using NULL as integer an error (via
-Werror=conversion-null GCC flag), which caused ANGLE to no longer compile on
mingw in Mozilla tree. The ones that may not be obvious are removal of some <0
checks. They are not needed because they were done on unsigned types.
Author: Jacek Caban
http://codereview.appspot.com/6679049
(With changes to apply to dx11proto branch)
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1464 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7cb796e7
|
2012-10-31T18:46:44
|
|
Eliminated isD3d9ExDevice().
TRAC #21963
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1357 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
29ab9525
|
2012-08-27T16:25:37
|
|
Minor GCC fixes
- Added missing typename keyword
- Use proper filenames includes (this matters when cross compiling on case sensitive OSes)
- Added <string> include where GCC requires it
- Avoid collision between enum variables and template params
Issue=358
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1261 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
807d8c33
|
2012-04-04T15:06:04
|
|
Fixed info log regressions.
TRAC #20443
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1017 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
51b2685b
|
2012-02-21T23:53:23
|
|
Don't use strlen inside of loop
This could hurt performance quite a bit.
BUG=296
TEST=
Review URL: https://codereview.appspot.com/5675086
git-svn-id: https://angleproject.googlecode.com/svn/trunk@993 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0725e7df
|
2012-02-17T18:02:20
|
|
Support reloading the shader compiler
Trac #19900
Issue=291
- Move compiler initialization to a separate function
- all this function to ensure the compiler is loaded when a compile is attempted
(previously if the compiler was released, you'd have to create a new shader object
to get it reloaded).
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@992 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
938009cf
|
2012-02-17T18:02:15
|
|
Add ability to recompile shader source
Trac# 19900
Issue=291
- add an 'uncompile' function to clear all results from any previous compile attempts
- allow compiling to be done multiple times on the same shader
- allow a shader to be compiled with no source specified (to produce an appropriate error).
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@991 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
cde6a610
|
2012-02-17T18:01:10
|
|
Rename the Shader 'varyings' member to 'mVaryings' to follow coding standard
Trac #19900
Issue=291
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@990 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2cdf833c
|
2012-02-17T18:00:50
|
|
Provide better encapsulation for Shader member variables
Trac 19900
Issue=291
Moved a bunch of member variables from 'protected' to 'private'
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@989 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6575602e
|
2012-01-17T21:45:38
|
|
Finished off the GLSL compiler's support for parsing shaders using OES_EGL_image_external.
The GLSL to HLSL translator work is not done yet so the extension is disabled in Shader.cpp.
Review URL: https://codereview.appspot.com/5530081
git-svn-id: https://angleproject.googlecode.com/svn/trunk@946 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a574f78f
|
2011-10-03T21:45:23
|
|
Add an extension for querying translated HLSL shader source.
Review URL: http://codereview.appspot.com/5149046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@780 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5601ea0d
|
2011-06-10T18:23:25
|
|
Implement ES2 backend for Angle translator.
With this CL, we have the option to select a code output backend: GLSL, GLSL ES, or HLSL.
Note that we always emit the highest supported float precision for fragment shader due to anglebug 168. Although this is a temporary solution, it's not against GLSL ES spec, because it's ok for implementation to upgrade precision.
Tested with WebGL conformance test suite, GLES2 conformance test suite (only failed 2/1198), and a few webgl demos, including worlds of webgl, aquarium, etc.
anglebug=81
test=translator emitting correct GLSL ES code when ES2 backend is selected.
Review URL: http://codereview.appspot.com/4550129
git-svn-id: https://angleproject.googlecode.com/svn/trunk@687 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
af29cac9
|
2011-05-11T15:36:31
|
|
Report the VTF texture unit limits.
Issue=95
TRAC #16568
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@637 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0f4cefe9
|
2011-01-26T19:30:57
|
|
Map D3D calls and HLSL shaders back to GLES2 calls and GLSL ES shaders in PIX.
This makes debugging and profiling using PIX a lot more convenient. The top level of events are the GLES calls with their arguments. Those can be expanded to see the D3D calls that were issued for a particular GLES call.
When PIX is attached, the shaders are saved out to temporary files and referenced from the translated HLSL shaders via #line directives. This enabled source level debugging of the original GLSL from PIX for pixel and vertex shaders. The HLSL is also saved to a temporary file so that intrinsic functions like texture2D can be stepped into.
It also avoids creating a text file in the current working directory, which has continued to be an issue.
I made the dependency on d3d9.dll static again so it can be accessed by GetModuleHandle witihin DllMain.
I added an EVENT macro that issues D3DPERF_BeginEvent and D3DPERF_EndEvent around a C++ block. I replaced TRACE with EVENT for all the entry points.
I removed the tracing of shader source since the source is visible in PIX.
The means by which the filename of the temporary shader file is passed into the shader compiler is a little clunky. I did it that way to avoid changing the function signatures and breaking folks using the translator.
I plan to make the compiler respect #pragma optimize so that optimization can be disabled for debugging purposes. For now it just disables shader optimization in debug builds of ANGLE.
Review URL: http://codereview.appspot.com/3945043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@541 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7ea933f5
|
2010-12-12T08:52:42
|
|
Fix potential sscanf overflows in Shader.cpp
Issue=76
Contributed by ddefrostt
git-svn-id: https://angleproject.googlecode.com/svn/trunk@500 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
458da14d
|
2010-11-28T02:03:02
|
|
Increase the number of fragment uniform vectors.
TRAC #14504
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@497 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
396c643d
|
2010-11-26T16:26:12
|
|
Increase the number of varying vectors to 10 on Shader Model 3.0 devices.
TRAC #14503
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@492 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4888ceb6
|
2010-10-01T21:13:12
|
|
Made the API of shader translator library consistent.
- We recently started using OpenGL-type enums. This CL makes all old enums consistent with the new scheme.
- Renamed TBuiltInResource to ShBuiltInResources to have a consistent prefix
BUG=46
Review URL: http://codereview.appspot.com/2328041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@443 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7beea408
|
2010-09-15T21:18:34
|
|
Added API to query for active attribs and uniforms. These functions are modeled after glGetShaderiv, glGetProgramiv, glGetActiveAttrib, and glGetActiveUniform. The main difference between this and OpenGL API is that we do not have programs - just shaders.
BUG=26
Review URL: http://codereview.appspot.com/2183041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@425 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d303ef9a
|
2010-09-09T17:30:15
|
|
ANGLE supports GL_OES_standard_derivatives now.
BUG=25
Review URL: http://codereview.appspot.com/2122048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@416 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
94a86ad8
|
2010-08-25T20:02:11
|
|
Adding support for OES_standard_derivatives extension. This is not the complete implementation. Sending it to get feedback on the API. Is it OK to add extension support into TBuiltInResource? I could create a new struct for extensions but that would lead to API change.
BUG=25
Review URL: http://codereview.appspot.com/1953047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@402 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
da13f3e9
|
2010-07-28T19:20:56
|
|
Adds resource manager class.
TRAC #12493
The resource manager class is now in charge of allocation &
management of objects which may be shared by multiple contexts.
Signed-off-by: Andrew Lewycky
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@360 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
be5a0867
|
2010-07-28T19:20:37
|
|
Implement gl_PointCoord on SM3 hardware
TRAC #11594
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@355 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e4249f02
|
2010-07-26T18:13:52
|
|
Refactored the way symbol tables are initialized and stored. This was done in response to the addition of EShSpec.
Symbol table entries depend on three things - language, spec (not now but may eventually), and built-in resources.
We used to build two global symbol-tables - one for each language. During each compile, one of the symbol table was
copied and resource-specific stuff was added. I have moved the symbol table to TCompiler that gets initilized when
compiler is created and reused for each compile. This makes it much cleaner and extensible in case a spec requires
special entries to be added to the symbol table.
PS: Sorry for the long CL, but all of it needed to be done in one CL. I have verified that everything still compiles
and passes all conformance tests.
Review URL: http://codereview.appspot.com/1864044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@351 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c54bf507
|
2010-07-22T16:49:09
|
|
Further cleanup of ShaderLang.h. Removed redundant/unused macros and enum fields.
Review URL: http://codereview.appspot.com/1842046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@349 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
29cd91af
|
2010-07-16T19:30:45
|
|
Added an option for specifying language specification in preparation for supporting WebGL in addition to GLES2. This CL just replaces unused debugOptions variable with EShSpec variable.
BUG=11
Review URL: http://codereview.appspot.com/1692051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@344 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
91b72320
|
2010-06-02T15:50:56
|
|
Removed the dependency of compiler on common. This is done to make compiler self-sufficient so that it is easier to consume by external developers. I tried to replace all instances of assert by simply redefining assert(x) to ASSERT(x), but was getting a lot of compile errors. I still need to investigate that.
Review URL: http://codereview.appspot.com/1461041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@323 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
90033b9e
|
2010-05-24T15:02:43
|
|
ShInitialize/ShFinalize is designed to be called once per process, or it would crash at random locations. I changed ShFinalize() to properly cleanup and reset global variables so that they can be called multiple times. I think that the compiler setup is much more complicated than it needs to be. It unnecessarily uses global variables. A custom pool allocator is overkill too.
Review URL: http://codereview.appspot.com/1238045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@316 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4af7acca
|
2010-05-14T17:30:53
|
|
Implemented varying packing
TRAC #11736
The OpenGL ES Shading Language 1.00 rev. 17 appendix A section 7 page 111, details how varyings should be packed into generic varying registers. To implement this the HLSL main() function is now generated and appended to the code during link time, where the packing and mapping can happen.
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@282 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
95124346
|
2010-04-29T03:38:58
|
|
Deleting program does not delete shaders that are marked
TRAC #12012
Resolve the crash on context deletion.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@213 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
71cd868d
|
2010-04-29T03:35:25
|
|
Deleting program does not delete shaders that are marked
TRAC #12012
Also fixes failure to delete flagged program upon glUseProgram(0).
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@201 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
09fbfefa
|
2010-04-22T13:35:31
|
|
Implemented glGetActiveUniform
TRAC #11929
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@181 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
85423183
|
2010-04-22T13:35:27
|
|
Implemented glGetActiveAttrib
TRAC #11929
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@180 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b4ff1f8f
|
2010-04-22T13:35:18
|
|
Implemented aliased attributes support
TRAC #11092
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@177 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bbf56f75
|
2010-04-20T18:52:13
|
|
Use directory qualified #include files
Trac #11408
Signed-off-by: Andrew Lewycky
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@165 736b8ea6-26fd-11df-bfd4-992fa37f6226
|