|
f4e39bfd
|
2014-08-01T17:22:17
|
|
Fix non-square matrix-to-matrix constructors.
This fixes some broken tests in dEQP:
functional.shaders.conversions.matrix_to_matrix
BUG=angle:712
Change-Id: I0538595f2913a2c1d4f0da901d65d608a6580d19
Reviewed-on: https://chromium-review.googlesource.com/210882
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
cf3af0bd
|
2014-08-01T17:22:16
|
|
Fix non-square scalar-to-matrix constructors.
This fixes some broken tests in dEQP:
functional.shaders.conversions.scalar_to_matrix
BUG=angle:712
Change-Id: Ia01d720307ea6ca70da266b2085a878eaaab2412
Reviewed-on: https://chromium-review.googlesource.com/210881
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Nicolas Capens <capn@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>
|
|
13cfd276
|
2014-07-17T14:16:28
|
|
Move shader variables header to include folder.
This allows the API to query for clear type introspection into the
parsed GL types from the translator. The returned types are not
expanded and have properly nested fields.
This patch uses the types from ShaderVars.h to return GL type
information. The app must include this header to get access to
the types structs.
BUG=angle:466
Change-Id: I28ad0d6f11a964804dd234ef0d00651f665d1ae3
Reviewed-on: https://chromium-review.googlesource.com/208751
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
a3fe2b4e
|
2014-07-18T10:33:13
|
|
Update non-default constructors in shadervars.h.
Most of these constructors are unused. Remove the unused ones,
and change the usage of existing constructors to be consistent.
BUG=angle:466,697
Change-Id: I455dd314036e1dfcb8c4690bab577b81dd0e060c
Reviewed-on: https://chromium-review.googlesource.com/208355
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
4836d22a
|
2014-07-24T06:55:51
|
|
Fix ASSERT when rewriting else-if blocks with no else.
The code assumed an else-if would end in an else. We can also save a
few allocations in the cases where there is no else.
BUG=angle:699
Change-Id: I550857366775b4a34aea97e117ef732297d3f448
Reviewed-on: https://chromium-review.googlesource.com/208681
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
e04a5b7b
|
2014-07-18T10:33:12
|
|
Remove sh::InterfaceBlock member info.
We can compute the interface block member info entirely on the
API side. This will allow us to get rid of some un-necessary
code in the compiler.
BUG=angle:466
Change-Id: I664ffc82de5f2723156e51f4e9ffc07e4de162aa
Reviewed-on: https://chromium-review.googlesource.com/207781
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
28f70c3a
|
2014-07-18T10:33:10
|
|
Remove sh::Uniform::registerIndex and elementIndex.
With the previous cleanups, these fields aren't needed any longer.
We can also clean up some unused methods and simplify existing code.
BUG=angle:466
Change-Id: I96df8d152324bda5e6868b5eccdf52bdc09155e9
Reviewed-on: https://chromium-review.googlesource.com/207256
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
9fe25e9e
|
2014-07-18T10:33:08
|
|
Add a uniform register query to the translator.
This returns the uniform index that we assigned for default uniforms.
All the dependent structure offsets can be determined from the base
register, so we won't have to store uniform information in the shader
variable.
BUG=angle:466
Change-Id: I0dd05251e8dba00c20d09fd865dfb150de56738e
Reviewed-on: https://chromium-review.googlesource.com/207254
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
e40d1e9c
|
2014-07-16T17:40:36
|
|
Fix style violations.
BUG=angle:650
TEST=no behavior change
Change-Id: I3096615a181b1ec2c18ce60566c3d6249975b84e
Reviewed-on: https://chromium-review.googlesource.com/208569
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cd68fe79
|
2014-07-11T10:45:44
|
|
Add a compiler option to rewrite vec/mat constructors
If one of the parameters is a vec/mat, expand it into scalars.
This is to work around Linux NVIDIA/AMD and Mac NVIDIA driver bugs.
BUG=angle:695
TEST=webgl conformance test
Change-Id: I35e1e25167d99f873dcb03bfb57a30e84b1aeed5
Reviewed-on: https://chromium-review.googlesource.com/207479
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
fc43d273
|
2014-07-11T17:02:02
|
|
Remove the sh::InterfaceBlock::dataSize member.
We can replace this by doing the same calculation in the HLSL-side
code.
BUG=angle:466
Change-Id: Iecae4a92e9037e851419ce73e6267094ee8071a2
Reviewed-on: https://chromium-review.googlesource.com/207251
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@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>
|
|
4e1fd412
|
2014-07-10T17:50:10
|
|
Store a map of interface block registers.
The shader translator can return the assigned register for a
block via a new API. This will let us delete the member variable
in interface blocks for the register -- a nice thing for GLSL.
BUG=angle:466
Change-Id: I9bc38e0cd031e32f90787be42c2324fc7c79dbf9
Reviewed-on: https://chromium-review.googlesource.com/206828
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
d5512cd4
|
2014-07-10T17:50:08
|
|
Collect shader outputs and interface block information.
This paves the way for returning ES3-specific info from the shader
translator with the new query methods.
BUG=angle:466
Change-Id: Ib13cdb604854cdf11e9dc00dd94f18eadc946561
Reviewed-on: https://chromium-review.googlesource.com/206770
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
23a8a433
|
2014-07-09T13:27:42
|
|
Store compact and expanded shader variables.
The current shader API ShGetVariableInfo relies on an expanded
list of shader variables. That means that struct, or user-defined
variables, are expanded into separate entries for the app to
easily query struct members. The new API will preserve the struct
layout, so we can store both to support both the old and new
queries.
BUG=angle:466
Change-Id: Id30a1d7d1bb49c7e745510e0d699f94ad3184b9c
Reviewed-on: https://chromium-review.googlesource.com/206569
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
77f74853
|
2014-07-08T15:02:34
|
|
Add a GetVariableInfo helper method.
This method replaces the similar logic in storing uniforms,
varyings, and interface blocks when collecting variable info.
We can also re-use this method for both GLSL and HLSL programs.
BUG=angle:466
Change-Id: Ie6c13abe0f09f38b2f9b36e117caae4833eaccbf
Reviewed-on: https://chromium-review.googlesource.com/206566
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
4667c454
|
2014-07-08T15:02:36
|
|
Refactor style in VariableInfo.cpp.
This patch simplifies the functionality change in a subsequent patch.
BUG=angle:466
Change-Id: Ib1c360438fad74fb15cd6cbf983240229c0eee76
Reviewed-on: https://chromium-review.googlesource.com/206568
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
787fc03f
|
2014-07-07T12:49:45
|
|
Fix HLSL compiler error with else-rewriting in functions.
In functions with return types where we would use if-else rewriting,
we would potentially generate a spurious HLSL error that warned of
branches with no return value in the function.
This was causing a maps regression where overlays would not draw
in Earth mode.
BUG=346463
BUG=391697
Change-Id: I9f4fa959057a3a2dab6cdd98f8381b5871cabf03
Reviewed-on: https://chromium-review.googlesource.com/206824
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
4cfb1e89
|
2014-07-07T12:49:23
|
|
Add a new TIntermRaw node type to translator.
This raw node stores text strings that we directly copy to the
output. This allows for more tricky substitutions that don't fit
in to the HLSL/GLSL shared parsing model.
BUG=346463
BUG=391697
Change-Id: Ibbde6db4fc98ef6d892f219631ca1a258a902a86
Reviewed-on: https://chromium-review.googlesource.com/206823
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
ed3eef1f
|
2014-02-26T09:47:11
|
|
Fix not rewriting else-if blocks.
We would miss expanding the else-if clauses in a chain
of selection statements.
BUG=346463
BUG=391697
Change-Id: Iee644b875cf68d0ed3dc0b73542efc49ecb23242
Reviewed-on: https://chromium-review.googlesource.com/206822
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
47cdb2aa
|
2014-07-03T16:05:38
|
|
Allow ConvertPrecision to return undefined.
The overly-restrictive check would fail on sampler types or other
GL types with no defined precision.
This fixes failures on the Debug GPU FYI bots.
BUG=angle:691
Change-Id: I443b7038a7b7a05675898b9b21e6112b1ac4c5ca
Reviewed-on: https://chromium-review.googlesource.com/206552
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1da63af4
|
2014-07-03T15:00:53
|
|
Fix ConvertPrecision.
This method had never been fully implemented, and was returning
"highp" for every case value.
This should fix problems with the GPU FYI bots.
BUG=angle:691
Change-Id: Ie6ffa80cf2c063e506df06fb25d622227edeffa3
Reviewed-on: https://chromium-review.googlesource.com/206565
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ed27c729
|
2014-07-02T15:31:23
|
|
Consolidate shader variable storage in Compiler.
The Compiler base class now stores all the shader variables and
interface block information, instead of duplicating the information
in the HLSL translator.
BUG=angle:466
Change-Id: Ia69079fde64fbd6b0cbfc66defd5e37d99ee3e6e
Reviewed-on: https://chromium-review.googlesource.com/206020
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
a718c1e0
|
2014-07-02T15:31:22
|
|
Use shader variable types for variable collection.
Retire the old TVariableInfoList structure, and use the new
objects which we will expose more directly through the API.
BUG=angle:466
Change-Id: I999a97369bfb67cf73cd659c4fe885b41429d304
Reviewed-on: https://chromium-review.googlesource.com/205839
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@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>
|
|
aa72d782
|
2014-07-02T15:31:19
|
|
Remove duplicate SH and GL functions.
In several places we were using variable query methods that
were duplicated between the old SH enums and the corresponding
GL enums. We can use the common GL enum versions now.
BUG=angle:466
Change-Id: Ib8797fe6bc75828e05aed37b1f5fbd4b9ba03d22
Reviewed-on: https://chromium-review.googlesource.com/205594
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@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>
|
|
f51639a4
|
2014-06-25T16:04:57
|
|
Use a common include for GL headers.
A common place to define required GL includes gives us a nice
point to centralize GL customizations. In the header currently
are the basic GLES headers with extensions, and a define
carried over from desktop GL.
BUG=angle:466
Change-Id: I6fc61947b4514654ec21355a786904eac04656c0
Reviewed-on: https://chromium-review.googlesource.com/204936
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
d4a3a317
|
2014-06-25T16:04:56
|
|
Rename ShHandle.h to Compiler.h.
Since the above source file matches Compiler.cpp, more closely
follow our standard naming convention.
BUG=angle:466
Change-Id: Ib1422f87f16097f91f2bcdad550ec5bd940ce711
Reviewed-on: https://chromium-review.googlesource.com/204681
Tested-by: Jamie Madill <jmadill@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>
|
|
961d5e98
|
2014-06-20T15:23:34
|
|
Use a const_iterator in structsHeader().
This was breaking the build for some compilers (GCC on android).
Change-Id: Ibfe5603710961497b6c15aa2d9cb568096ca1dd4
Reviewed-on: https://chromium-review.googlesource.com/204897
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9e5317f4
|
2014-06-20T14:56:37
|
|
Add end-of-file newline to StructureHLSL.cpp.
BUG=angle:680
Change-Id: I37aee0d136021a1ce1c3c398d680cdbc4820e6d0
Reviewed-on: https://chromium-review.googlesource.com/204905
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f91ce811
|
2014-06-13T10:04:34
|
|
Split OutputHLSL uniform code into new module.
Refactoring patch only, should have no externally visible changes.
BUG=angle:466
Change-Id: I01088a3b2979b96702d0a3c424d26928eb72b5b2
Reviewed-on: https://chromium-review.googlesource.com/203731
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8daaba15
|
2014-06-13T10:04:33
|
|
Split OutputHLSL structure code into new module.
Refactoring patch only.
BUG=angle:466
Change-Id: I2c57096e1e24574e7de3d35d608645fde3b0c681
Reviewed-on: https://chromium-review.googlesource.com/203730
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
033dae67
|
2014-06-18T12:56:28
|
|
Move OutputHLSL utility methods to other files.
OutputHLSL was become a large, unweildy file. Some were also useful
to other classes, even on the GL back-end, but were inacessible.
Refactoring patch only.
BUG=angle:466
Change-Id: Id216147122ca105c6ccdf0ba0c5f6c5038726965
Reviewed-on: https://chromium-review.googlesource.com/203459
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2bf8b372
|
2014-06-16T17:18:51
|
|
Fix link error when using varyings with "dx_".
Varyings beginning with "dx_" would not get decorated properly, or
at all, which could cause potential internal variables and certainly
caused link errors. Fix this by no longer treating the "dx_" prefix
differently.
Also fix our naming of "dx_Position" to be consistent with our other
internal types.
BUG=angle:678
Change-Id: I03da0494a3d934d82ae7b3f8f12a576ff9bc3869
Reviewed-on: https://chromium-review.googlesource.com/203777
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
adfffe46
|
2014-06-17T02:13:36
|
|
Duplicate reused symbol table entries.
BUG=angle:651
Change-Id: Ifce3c19d41a0a5a5ca5ee90ede528adf397d1da5
Reviewed-on: https://chromium-review.googlesource.com/204290
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
2a59292d
|
2014-06-11T16:22:57
|
|
Implement support for constructing a 2x2 matrix from a vector.
BUG=380353
Change-Id: Ica0b94104e39f87b4a3439df40221b1f682fd678
Reviewed-on: https://chromium-review.googlesource.com/203293
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
f26ecc81
|
2014-06-16T13:36:28
|
|
Fix build warnings about unused private variables on clang
BUG=angle:638,677
Change-Id: Id9e80f0b86d9c24633b2d353a409844c22441d21
Reviewed-on: https://chromium-review.googlesource.com/203429
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
16004fca
|
2014-06-11T11:29:11
|
|
Eliminate conversion operations.
They've been replaced by using constructor nodes, so any code handling conversion operators
can be removed.
BUG=380353
Change-Id: I70413179e7443efccbf997a5dd0f053c23689589
Reviewed-on: https://chromium-review.googlesource.com/203453
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3891fd27
|
2014-06-13T10:04:30
|
|
Add a std140 padding helper class.
Using a helper class keeps our main parser stateless as we define
std140 structs which need padding. The only functional change
should be that we no longer use a global counter for struct padding
hidden variables, but a local padding per-struct.
BUG=angle:466
Change-Id: I8b92d65884b86571c8b2f052b0cba6150a4bbab0
Reviewed-on: https://chromium-review.googlesource.com/202911
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
6ed8d8af
|
2014-06-11T11:25:20
|
|
Produce constructors instead of conversions.
GLSL only supports explicit conversion through constructors. Therefore the conversion
nodes are redundant.
BUG=380353
Change-Id: Id871c34750191dac431bf72aac9afed7b0db7f8e
Reviewed-on: https://chromium-review.googlesource.com/203452
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
1af18dc9
|
2014-06-11T11:07:32
|
|
Create constructors just once.
BUG=380353
Change-Id: I9828a3f193ccfdda2013fa3de0e41e6e28953ea2
Reviewed-on: https://chromium-review.googlesource.com/203451
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
01df23e7
|
2014-06-11T10:56:03
|
|
Add constant casting support.
BUG=380353
Change-Id: I5a350ca09e2b7e7abb9fa079365adb5aad5af607
Reviewed-on: https://chromium-review.googlesource.com/203450
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
f7f7616b
|
2014-06-06T15:48:21
|
|
Fix constructing vectors from matrices.
BUG=380353
Change-Id: I3b0fe55b829602554bb63bbd281ad58d47364502
Reviewed-on: https://chromium-review.googlesource.com/202966
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
906744ac
|
2014-06-06T15:18:07
|
|
Restrict the size of shader arrays.
This prevents overflow issues in the HLSL translator and some drivers. The
limit it hard-coded to 65536 to be larger than the Shader Model 5 register
limit (4096) to account for register allocation optimizations and future
hardware.
BUG=379799
Change-Id: I20f05c9dd230fbfc1c92af52533cd2b50f2ff994
Reviewed-on: https://chromium-review.googlesource.com/202939
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
44fa7594
|
2014-05-30T11:50:07
|
|
Refactor platform related functionality into platform.h and tls.h.
Since libGLESv2 and libEGL will eventually be cross platform, it will be
useful to have platform defines and TLS functions that work everywhere.
BUG=angle:664
Change-Id: Ia357925a0992d82e8b446d88d32a1984d319e6e8
Reviewed-on: https://chromium-review.googlesource.com/202133
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
80ebce59
|
2014-06-06T11:54:12
|
|
Store the std140 layout offsets in a pre-pass.
Instead of recording data and mutating a local table as we parse,
store all of the offsets for the std140 structs when we first
generate the struct. This should have no behavioural change, as
structs should always be defined first in any case.
BUG=angle:466
Change-Id: I1b732d67bd4f5b908211410e5e7796d72d836174
Reviewed-on: https://chromium-review.googlesource.com/202910
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
01f85ac8
|
2014-06-06T11:55:04
|
|
Refactor GLSL scoped structure handling.
With a unique ID, similar to how we handle scoped structures
in the HLSL translator, we can simplify the declared structure
check.
BUG=angle:618
Change-Id: I5fe61c8d353650ac67a7c7ecdf53a70b91a9b717
Reviewed-on: https://chromium-review.googlesource.com/202500
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bfa91f47
|
2014-06-05T15:45:18
|
|
Redesign HLSL scoped structures to a unique ID.
A unique ID gives a more flexible renaming scheme than our
current method of using nested scope identifiers. The reduced
complexity allows for fewer points of breakage and fixes an
outstanding bug with scoped structures (with added test).
BUG=angle:618
Change-Id: I6551248bb9fa2d185ab67248721f898dd50151f0
Reviewed-on: https://chromium-review.googlesource.com/202183
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
74be6a84
|
2014-05-29T14:33:28
|
|
Fix missing bracket in translator source.
Broken in ed14b79dc8e9ec4f4a831bb5213ab67ef01af196.
BUG=angle:628
Change-Id: Ia6b92dd13362bb51f0aa17a14278039d568f5434
Reviewed-on: https://chromium-review.googlesource.com/202182
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
96509e47
|
2014-05-29T14:33:27
|
|
Fix edge case scoped structures name conflict.
Structures with names ending in "_#" such as "_0" could conflict
with the internally rewritten scoped structures. Fix this by using
a prepending rule instead of appending.
Also includes a test, and fixes a WebGL test in Firefox. (Chrome is
not affected because of the variable hashing step.)
BUG=angle:618
Change-Id: I3d441f1de268b6d7e74a0834b43e889b7bfe578c
Reviewed-on: https://chromium-review.googlesource.com/201468
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
|
|
d7e7d735
|
2014-05-27T16:10:46
|
|
Move the GL_APICALL and similar defines to the project level.
BUG=angle:658
Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f
Reviewed-on: https://chromium-review.googlesource.com/201465
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
24d8d675
|
2014-05-27T12:07:51
|
|
Fix register packing for structs in d3d9.
Fixes WebGL test misc/shader-with-array-of-structs-uniform
BUG=angle:656
Change-Id: If79a19db4d40bab9110422f7876de32e7f85e506
Reviewed-on: https://chromium-review.googlesource.com/200620
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@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>
|
|
5f5320a9
|
2014-05-26T13:56:11
|
|
Use 'inout' qualifiers in generated HLSL for 'out' parameters.
With our added padding to some structures, using only 'out' in the
generated HLSL can cause warnings because not all of the structure members
are initialized.
BUG=angle:286
Change-Id: I866960883de487f19883fb2bc086c02703ea6271
Reviewed-on: https://chromium-review.googlesource.com/201364
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2d76e5f6
|
2014-05-16T17:46:41
|
|
Adds resource string generation to ANGLE
This will avoid Chrome source having to be updated each time that ANGLE's
ShBuiltInResources changes.
BUG=374942
Change-Id: If54dba8351de9b261ff269e885f231547c08ff0a
Reviewed-on: https://chromium-review.googlesource.com/200171
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
b66feb31
|
2014-05-14T15:38:55
|
|
Handle interface blocks in getVariableInfo and
getUserDefinedVariableInfo.
BUG=angle:654
Change-Id: I07a230bbf2387e85168c50cb3719c669a7890f8a
Reviewed-on: https://chromium-review.googlesource.com/199687
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
d526f989
|
2014-05-13T14:51:19
|
|
Fix code style violation in compiler/preprocessor
BUG=angle:650
TEST=no behavior change
Change-Id: Ib52f15f6471fc7897b66d11baee11216cf08158a
Reviewed-on: https://chromium-review.googlesource.com/199591
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
c8f7232e
|
2014-05-13T15:21:37
|
|
Attempt an Mac build fix
BUG=
TEST=mac bots build on GPU.FYI
Change-Id: I3dd2b07702e8c0a40d64ab973eb969ba50954640
Reviewed-on: https://chromium-review.googlesource.com/199611
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
9eedea03
|
2014-05-12T16:02:35
|
|
Fix code styles in OutputGLSLBase, SymbolTable, and Types.
I came across these three classes in the last CL, so do some
cleanup as I touched these classes.
BUG=
TEST=webgl conformance, no regressions
Change-Id: I2819bab5965fcb4917f85c2eded571a7f95ab9a2
Reviewed-on: https://chromium-review.googlesource.com/199423
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
487456a3
|
2014-05-13T11:52:45
|
|
Fix missing <algorithm> include.
Change-Id: Id6952fa07223217c9dde6798d3ea701b49e6089e
Reviewed-on: https://chromium-review.googlesource.com/199313
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
904a9164
|
2014-05-09T14:07:45
|
|
Fix nested struct scope support in GL backend.
Basically we should be able to reuse a struct name once the previous
use is out of the scope, or we can reuse it if we are in a inner scope
than where it is defined before.
BUG=368910
BUG=angle:618
TEST=conformance/glsl/bugs/nested-structs-with-same-name.html
Change-Id: Icfac76b844deaca0c8a0501d7426ff3802e657dc
Reviewed-on: https://chromium-review.googlesource.com/199137
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
ed14b79d
|
2014-05-08T11:21:07
|
|
Shaders should fail compile if a boolean's precision is specified
Tested and no regression on WebGL conformance 1.0.3
BUG=angle:628
BUG=368874
TEST=http://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/boolean_precision.html
Change-Id: Ie74616c3ab846eea19f4bd4a041fc0f00d55f151
Reviewed-on: https://chromium-review.googlesource.com/198884
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
37f77d2e
|
2014-04-30T16:10:13
|
|
Fixes to the standalone Linux build.
Several small build errors present on Linux cropped up due to
different warning flags and platform quirks.
BUG=angle:627
Change-Id: If8f651cacf05bb06ecb129be47b12729ccc3f69b
Reviewed-on: https://chromium-review.googlesource.com/197724
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f20f0206
|
2014-04-28T11:02:07
|
|
Verify that the compiler has been initialized before freeing it.
BUG=angle:625
Change-Id: I8bba0dea26eacf02df4568cfb6840aa332bd0df8
Reviewed-on: https://chromium-review.googlesource.com/197655
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
17a0e632
|
2014-04-25T11:29:54
|
|
Fix scoped structure references.
We had neglected to reference scope bracket values when
initially constructing the scoped struct name. Fixes the
new WebGL test.
BUG=angle:618
Change-Id: Ie78a8264c9e16c5a6574cecd662adbd5475d6495
Reviewed-on: https://chromium-review.googlesource.com/197252
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
006ed1ed
|
2014-04-28T15:47:39
|
|
Reduce translator sources compile count to one.
With this change, the common sources shared between translator
and translator_static are compiled in a static library. There
is only one file with exported functions which needs to be
compiled for each target. This should reduce ANGLE and chromium
build times.
BUG=angle:569
Change-Id: I3ce011872323ec988befbd6db731add4fce5787b
Reviewed-on: https://chromium-review.googlesource.com/197271
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
66e5dda7
|
2014-04-28T11:13:25
|
|
Fix a bug in init_varyings_without_static_use workaround.
The TType constrcuted is using es2 signature, which is different from the es3 signature.
BUG=angle:568
TEST=webgl conformance tests with --init_varyings_without_static_use commandline switch
Change-Id: I15347c7a6fe67e9214e4c96b156a50806a90c97c
Reviewed-on: https://chromium-review.googlesource.com/197294
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
7faf1a14
|
2014-04-25T18:03:56
|
|
Fix a mem corruption in ANGLE translator.
Basically outside TCompile::compile(), the global parse context is
invalid, and should never be queried.
BUG=angle:568
TEST=webgl conformance tests, no crash
Change-Id: I5573ce2bf3bf838ab24f59dda00948f60a0b023d
Reviewed-on: https://chromium-review.googlesource.com/197178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
42350abc
|
2014-04-22T15:05:26
|
|
Fix Linux GCC unit test build.
In a Chromium build, we must respect initializer order due to extended
warnings.
BUG=angle:568
Change-Id: I4d86fdd2c5663524c2ffd17e3e3c26da1ff3ccdb
Reviewed-on: https://chromium-review.googlesource.com/196291
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
32e66b7a
|
2014-04-22T13:54:56
|
|
Add newline to fix clang compile
Change-Id: I9e0e32d94f24fb32e9971772fb7cd68cd36ab47d
Reviewed-on: https://chromium-review.googlesource.com/196280
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
10567260
|
2014-04-17T16:40:00
|
|
Fix build with Clang.
Clang's validation is a bit more thorough than GCC's or MSVC's and
picked up a few new errors and warnings. We missed a few default
cases in switches and used an improper type for default arguments.
BUG=angle:568
Change-Id: I34239c6c5c785ad1e62917fc37c3243f4c5b5f1b
Reviewed-on: https://chromium-review.googlesource.com/195472
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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>
|
|
04296f85
|
2014-04-14T14:24:38
|
|
Fix comparing TextureFunction structures.
Test each field for smaller or larger than, and when they're equal test the
next field.
BUG=angle:605
Change-Id: I2c5a90d95c7ff73b83f3067381c14b74a213ef05
Reviewed-on: https://chromium-review.googlesource.com/194602
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
84cfa124
|
2014-04-14T13:48:45
|
|
Fix Lod0 texture functions that take a bias parameter.
Texture functions that are in a divergent path can still take a bias parameter.
Treat the bias parameter as an explicit lod. The logic behind this is that the
implicit lod is considerd to be 0 like with other Lod0 functions, and then the
bias is added to it.
BUG=angle:604
Change-Id: I2dbc309c497d37e960209f08849f9d2bc9e1fbcc
Reviewed-on: https://chromium-review.googlesource.com/194544
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
12bea0a9
|
2014-04-11T13:33:55
|
|
Stop shader local variables from using invalid qualifiers.
Local variables in GLSL can't use any other storage qualifier than
'const', but we weren't checking properly. For example, the can't
have 'in' or 'out' storage. This was causing a dEQP conformance
test failure.
BUG=angle:593
Change-Id: Ibb333950f2d0990a47d1a96caecc455497d5e57e
Reviewed-on: https://chromium-review.googlesource.com/191460
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9f45240c
|
2014-04-11T14:17:34
|
|
Regenerate the compiled lexer.
The lexer was missing some recent changes.
BUG=angle:593
Change-Id: I8fa598e5a4ae35ebc9f9a48789632b6a326bc4d3
Reviewed-on: https://chromium-review.googlesource.com/194136
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
cebb5aa0
|
2014-04-07T14:13:40
|
|
Fix warnings about unreferenced local variables.
BUG=angleproject:602
Change-Id: I2eb04fe6eed60b3877b14628e81c0b1fe3b68647
Reviewed-on: https://chromium-review.googlesource.com/193431
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
9bab6d8f
|
2014-04-10T13:20:13
|
|
Insert missing sampler cases in TType::buildMangledName.
We were missing the cases for 2D Rect samplers and external OES
samplers. This was causing an assert in the WebGL CTS in Debug.
BUG=angle:550
Change-Id: Ieefeef6ff0f9a486bf7667c7efc60dee766f03ef
Reviewed-on: https://chromium-review.googlesource.com/194122
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@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>
|
|
6654bc93
|
2014-03-26T14:01:57
|
|
Fix stack overflow when parsing huge expressions.
The expression limit validation check needs to be in front
of other tree traversal to prevent stack overflows. Also,
call depths of sufficient size (80k+) could overflow the
depth check itself, necessitating an upper bound on initial
tree traversal.
This fixes crashes in the WebGL long-expressions bug test.
BUG=angle:584
Change-Id: Ib48294bf77a5923d230f237fbd63a36a5662e317
Reviewed-on: https://chromium-review.googlesource.com/191931
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
dd0d3426
|
2014-03-26T14:01:56
|
|
Use a heap-memory traversal to free compiler resources.
The stack-memory traversal is prone to stack overflow. See the
WebGL conformance test long-expressions-should-not-crash.
BUG=angle:584
Change-Id: I02d72bc2e4101b7141d609c50303403ea8298e60
Reviewed-on: https://chromium-review.googlesource.com/191930
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
41a49272
|
2014-03-18T16:10:13
|
|
Fixed error message for exceeding maximum struct nesting.
It got broken in r2423.
We were referring to field-name as struct-name.
This patch fixes the regression and also improves the error message
by adding the field-name.
BUG=angle:459
R=kbr@chromium.org
Review URL: https://codereview.appspot.com/12891043
Change-Id: I9ac9a8dafcad1857f7d39e6d494e457d1fc50f70
Reviewed-on: https://chromium-review.googlesource.com/190530
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
bd0ea9c7
|
2014-03-04T13:53:29
|
|
Don't attempt to perform constant folding with an uninitialized constant variable.
BUG=348205
Change-Id: I9be17832b1a35d2995725ab147977992c2732274
Reviewed-on: https://chromium-review.googlesource.com/188711
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189471
|
|
3cdfcce8
|
2014-03-07T13:00:08
|
|
Remove SH_MAP_LONG_VARIABLE_NAMES
We use hashing to map all variables/strcuture field names, etc,
so we no longer need this option.
Checked with Firefox and WebKit, they no longer use this option
either. Time to remove it.
Change-Id: Ie3e79b91a05258b04af419a9c42b2fd1b00e67c4
Reviewed-on: https://chromium-review.googlesource.com/189236
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/189568
|
|
550c600b
|
2014-02-26T15:40:48
|
|
Improvement on loop unrolling with loops indexing sampler arrays
1) Before this workaround is hardwired on mac, now we move it behind a compil
2) Fix the issue where "break" inside the loop isn't handled while unrolled.
BUG=338474
TEST=webgl conformance test sampler-array-using-loop-index.html
Change-Id: I4996a42c2dea39a8a5af772c256f8e3cb383f59a
Reviewed-on: https://chromium-review.googlesource.com/188079
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
Conflicts:
include/GLSLANG/ShaderLang.h
src/compiler/translator/ValidateLimitations.cpp
Change-Id: I546197bd7df1634ebccdd380be14c3250cd56151
Reviewed-on: https://chromium-review.googlesource.com/189061
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
|
|
0027fa9f
|
2014-02-20T14:26:42
|
|
Emulate integer cube texture sampling as an array of six 2D textures.
BUG=angle:525
Change-Id: I3c3ec2cecebf9e745f0c02a132433e3076a6fdea
Reviewed-on: https://chromium-review.googlesource.com/187534
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
477bc781
|
2014-02-26T09:54:17
|
|
Fix crash on multiple calls to ShInitialize().
The previous fix would allow the calling app to trigger
an ASSERT if it did not first call ShFinalize. Chrome
would do this in some cases, causing a test failure.
BUG=344043
Change-Id: I33fa0c4668dac8750ca949febc7f02cc7d3d95e7
Reviewed-on: https://chromium-review.googlesource.com/187849
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1d1c1152
|
2014-02-26T11:00:28
|
|
Prevent overflow in the variable packer by sanity checking each variable.
BUG=346489
Change-Id: I28f5751580729a4d4d77fa6fdee0b4a6628a05de
Reviewed-on: https://chromium-review.googlesource.com/188030
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
b4d192cd
|
2014-02-26T09:54:10
|
|
Re-initialize shader translator properly after one shutdown.
Because of a local static, we could get stuck and never re-initialize
the translator after calling ShFinalize.
BUG=344043
Change-Id: Ib4d18da886eac28f3e1bc959a7eadf5b34d9410f
Reviewed-on: https://chromium-review.googlesource.com/186975
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/187848
|
|
691bd3e9
|
2014-02-19T17:38:45
|
|
texture(sampler2DArrayShadow, ...) should not take a bias parameter.
BUG=angle:564
Change-Id: I3b86e8d52ebae0e1efd0805671bd58580a712b23
Reviewed-on: https://chromium-review.googlesource.com/187082
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f7378e38
|
2014-02-19T17:29:32
|
|
Implement textureProjGrad and textureProjGradOffset.
BUG=angle:564
Change-Id: Ice6a3715b0fda13324b3162940de875c932627c9
Reviewed-on: https://chromium-review.googlesource.com/186992
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bf7db103
|
2014-02-19T17:20:28
|
|
Implement textureGradOffset.
BUG=angle:564
Change-Id: Iad0e452f53469208d55755e14a350b5d2ca83e9d
Reviewed-on: https://chromium-review.googlesource.com/186987
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d11d549f
|
2014-02-19T17:06:10
|
|
Implement textureGrad.
BUG=angle:564
Change-Id: I95dcd95a274f6d560250c197be0d6e64a5b23516
Reviewed-on: https://chromium-review.googlesource.com/187081
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fc01454b
|
2014-02-18T14:47:13
|
|
Implement texelFetch and texelFetchOffset.
BUG=angle:564
Change-Id: I7ad3484061f5d6912d7842bdadc6297de3e82ef8
Reviewed-on: https://chromium-review.googlesource.com/186990
Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|