|
571fe348
|
2012-04-17T17:40:29
|
|
Don't append '_' to the end of prefix in long name mapping if the original name starts with '_'
Otherwise we will have '__' which is illegal.
Review URL: https://codereview.appspot.com/5978058
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1044 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b9f64aae
|
2012-01-20T00:35:15
|
|
Use a global ref-counted singleton for long name map.
This makes sure the same varying/uniform variables maps to the unique name in vertex/fragment shader.
BUG=
TEST=webgl conformance tests
Review URL: https://codereview.appspot.com/5556065
git-svn-id: https://angleproject.googlecode.com/svn/trunk@950 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9996b8e6
|
2012-01-19T01:43:55
|
|
Rollback r942.
MapLongVariableNames inherits from TIntermTraverser, and TIntermTraverser uses ANGLE's memory allocator, thus the memory is released per compilation. Our design is for MapLongVariableNames to be a singleton across all compilations, thus, this is not working.
BUG=
TEST=
TBR=kbr
Review URL: https://codereview.appspot.com/5556053
git-svn-id: https://angleproject.googlecode.com/svn/trunk@949 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4625d27b
|
2012-01-13T00:29:21
|
|
Long name mapping needs to be consistent between vertex/fragment shaders.
For example: varying variables, uniforms.
This CL makes MapLongVariableNames a ref-counted singleton and therefore, the map is shared by all shaders.
Also, function/variable names changes from Varying to Global because uniforms also need to be consistent, not just varying variables.
ANGLEBUG=279
TEST=webgl conformance tests, especially invalid-passed-params.html and glsl-long-variable-names.html
Review URL: http://codereview.appspot.com/5539046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@942 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
89c9813b
|
2012-01-06T02:17:03
|
|
Fix a bug in long variable name mapping.
Originally we only match varying variables in vertex/fragment shaders. However, we should also match uniform names. For example, if a uniform variable name is used in both vertex and fragment shader, and after mapping the names are different, then the name mapping table is no longer 1:1.
BUG=106638 (crbug)
TEST=http://seanseefried.com/chrome-bug/simple-broken.html shows a magenta square
Review URL: http://codereview.appspot.com/5520051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@939 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
22152117
|
2011-10-26T01:18:28
|
|
Limit copied uniform and vertex attribute names to the implicit size of the
buffers passed in. Increase the size of the buffer the client will allocate
for mapped names to be equal to the maximum token length.
BUG=http://code.google.com/p/angleproject/issues/detail?id=234
TEST=WebGL conformance test to be checked in soon
Review URL: http://codereview.appspot.com/5306063
git-svn-id: https://angleproject.googlecode.com/svn/trunk@804 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
46974d29
|
2011-09-27T21:26:19
|
|
Fix memory corruption in ANGLE shader translator.
The bug is that within each compilation cycle, all the memory allocated through T* types are freed to be reused. So if certain information is meant to outlive the cycle, it should use the std type instead of the T* type:
1) emulated function vector
2) mapped long names map
BUG=none
TEST=webgl conformance test conformance/glsl/glsl-feature-mod-gentype.html does not crash in Win Debug.
Review URL: http://codereview.appspot.com/5137047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@773 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5a0a8dd3
|
2011-08-03T20:57:52
|
|
Remove unnecessary Visit function overloading.
BUG=none
TEST=build ok, run as before
Review URL: http://codereview.appspot.com/4814063
git-svn-id: https://angleproject.googlecode.com/svn/trunk@715 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
216aa5ed
|
2011-06-17T22:31:32
|
|
Map long for-loop control variable names in shaders.
Look at TIntermLoop::traverse() in IntermTraverse.cpp, the control init part is not handled explicitly there (unlike the other two parts). It is expected hat visitLoop will cover the init part. The bug in the MapLongVariableNames is that the visitLoop doesn't do anything. This CL fixes it.
BUG=171
TEST=conformance/glsl-long-variable-names.html passing.
Review URL: http://codereview.appspot.com/4644045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@696 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
24c08c4e
|
2011-05-27T17:40:48
|
|
Fix the bug that long varying varibales are mapped into different names in fragment/vertex shaders.
ANGLEBUG=144
TEST=the same long varying variable name in fragment/vertex shaders map to the same shortened name if using the same translator.
Review URL: http://codereview.appspot.com/4547063
git-svn-id: https://angleproject.googlecode.com/svn/trunk@660 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fd747b86
|
2011-04-23T01:30:07
|
|
Implement shader identifier name mapping.
The name mapping happens when an identifier is longer than 32 characters. The name mapping is behind a flag, so it won't happen by default. Also, functions to query the mapped names are added.
The purpose of this CL is for the drivers that can't handle long names. For example, linux NVIDIA driver can't handle 256 character name, whereas WebGL spec requires that.
This CL also fixes the issue that some of the TIntermSymbols' ids are 0s.
ANGLEBUG=144
TEST=test manually with shaders with long identifier names.
Review URL: http://codereview.appspot.com/4428058
git-svn-id: https://angleproject.googlecode.com/svn/trunk@619 736b8ea6-26fd-11df-bfd4-992fa37f6226
|