src/libGLESv2/Program.h


Log

Author Commit Date CI Message
daniel@transgaming.com 70062c98 2012-11-28T19:32:30 Passes the Renderer to various objects at construction time. TRAC #22000 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1406 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 60dafe8f 2012-09-05T22:26:10 Implement D3DConstantTable. Remove ProgramBinary dependencies on D3DX. Review URL: https://codereview.appspot.com/6485061 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1271 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 989c1c85 2012-07-24T18:40:38 Make ProgramBinary a refcount object and use Binding pointers to maintain it's lifetime on context and program. Trac #21270 Bug=351 Signed-off-by: Nicolas Capens This fixes the underlying bug since it allows the context to keep the program binary alive, after a relink has occurred. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1242 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 716056c7 2012-07-24T18:38:59 Restore the explicit isLinked() method for Programs and fix link(). Trac #21270 Bug=351 Signed-off-by: Nicolas Capens If link fails we still need to keep the failed binary around for information such as number of active attributes, varyings, etc. Thus we can no longer use the presence of a binary to tell us if we've successfully linked a program object. git-svn-id: https://angleproject.googlecode.com/svn/trunk@1241 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4c962bf1 2012-07-24T18:37:02 Make Program link() and setProgramBinary() return the status of the operation Trac #21270 Bug=351 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1239 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 39c9d952 2012-07-24T18:32:29 Remove Program serial tracking. It is no longer useful (or used). Trac #21270 Bug=351 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1234 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 90080e3b 2012-07-09T22:15:33 Support for serializing a linked program to binary. The format has a text section followed by a binary section. The binary section contains an image of the device caps and the two shader executables. The text section has everything else newline deliminated. Ran WebGL conformance tests with temporary change to glLinkProgram that round trips all linked programs through glGetProgramBinary and glProgramBinary. No regressions. Review URL: https://codereview.appspot.com/6295092 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1199 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 253b8d20 2012-06-22T19:27:21 Refactor program info log out of ProgramBinary and in to Program. Tested by setting breakpoint in esLoadProgram with the broken program. Review URL: https://codereview.appspot.com/6305114 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1164 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 3ce8dbcd 2012-06-08T17:52:30 Add placeholder entry points for GL_OES_get_program_binary. Review URL: https://codereview.appspot.com/6279054 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1146 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org ea09f9b4 2012-06-08T00:45:32 Move ProgramBinary into new file. Review URL: https://codereview.appspot.com/6299058 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1144 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org e2a59bba 2012-06-07T21:09:53 Refactor Program into Program and ProgramBinary. Program manages the state and lifetime of the program object. ProgramBinary holds the linked program and the code to do the linking. There should be no functional change. WebGL conformance tests did not regress. Review URL: https://codereview.appspot.com/6267047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1143 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9a30b095 2012-06-06T20:21:55 Program::link() and callees do not access mPixelHLSL, mVertexHLSL, mFragmentShader, mVertexShader, mAttributeBinding. mPixelHLSL and mVertexHLSL are deleted because they are only used during linking. Review URL: https://codereview.appspot.com/6306047 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1141 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f5c8a2e2 2012-06-05T19:51:43 Refactored setting the register information. Avoided calling GetConstantByName. TRAC #20948 Issue=337 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1137 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ea7c345f 2012-06-05T19:51:40 Store multiple register indices per uniform. TRAC #20948 Issue=337 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1136 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org e057c5dd 2012-01-26T19:18:24 Fixed more warnings. Clang warns about missing case in enum glslang_lex.cpp so I disabled that one as well. MSVC, as Chromium is built at least, warns about things in its own STL headers in SymbolTable.cpp so disabled the warning for that file. esTransform.c had a struct that the compiler could not determine was initialized so I explicitly initialized it. Review URL: https://codereview.appspot.com/5577048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@965 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d9a54f98 2011-12-22T18:32:53 Fixed gl_FragCoord.y calculation TRAC #19349 ANGLEBUG=272 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@925 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 9a84912a 2011-11-12T03:18:00 Add support for glGetnUniform*vEXT Trac #18608 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@870 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 96a4a6ce 2011-10-26T02:33:46 Avoid repeated getDevice() calls when applying uniforms. TRAC #18399 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@806 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 72e8f447 2011-10-20T00:22:01 Avoid unnecessarily copying uniforms Transpose and expand matrices and float vectors when copied on setUniform (and getUniform) to avoid allocating an array and doing that on applyUniform. Then use straight D3D calls, not D3DX, to possibly avoid another copy. Gets NaCl donuts test from 19->25 fps. BUG= TEST=webgl conformance tests Review URL: http://codereview.appspot.com/5229056 git-svn-id: https://angleproject.googlecode.com/svn/trunk@800 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org b6e7222c 2011-10-18T23:01:46 Avoid iterating over unused samplers. Keep track of the maximum used sampler to avoid expensive iterations in applyTextures and validateSamplers. BUG= TEST=webgl conformance tests Review URL: http://codereview.appspot.com/5246061 git-svn-id: https://angleproject.googlecode.com/svn/trunk@795 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org a28233e5 2011-10-12T16:51:33 Iterate directly over uniforms when applying them Directly iterate over uniforms, not over uniform locations, so we don't waste time looking at locations in the middle of arrays. Gets about 1 fps on a NaCl benchmark. BUG= TEST=webgl conformance tests Review URL: http://codereview.appspot.com/5210042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@792 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c72c6416 2011-09-20T16:09:17 Decorate arrays uniforms with "ar_" to identify arrays of size 1. TRAC #16567 Bug=136 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@760 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 024f1a91 2011-09-20T16:06:25 Optimize uniform handling by storing both decorated and undecorated names. Use a consistent naming scheme to clarify decorated/undecorated name usage. TRAC #16567 Bug=136 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@759 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 87891f74 2011-06-01T15:28:35 Remove path from D3DCompiler warning messages Issue=162 Trac #16209 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@662 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f494c9ca 2011-05-11T15:37:05 Validate the sampler uniform against the number of (combined) texture image units. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@642 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d4a35179 2011-05-11T15:36:45 Apply vertex textures and sampler states to the D3D9 device. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@639 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e64dd6d 2011-05-11T15:36:37 Rename SamplerType to TextureType (refactoring). Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@638 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 8ea5afef 2011-03-23T20:44:36 Switched to D3D10 shader compiler. I figured out how to call in to D3DCompiler_xx.dll and still get the ID3DXConstantTable metadata used by ANGLE. There are more optimization levels available with this compiler and the lowest level (0) allows MetaTunnel and MandelBox to compile their shaders quickly. MetaTunnel still does not render correctly unfortunately. I benchmarked eight of the ShaderToy demos and did not notice any performance regression on an nVidia Quadro FX 380. Intel might be adversely affected. I built ANGLE against D3DCompiler_43.dll, while Chrome still ships with 42. I'm not sure if that will make a difference but I'll rev Chrome soon. I also checked WebGL Aquarium and ran the WebGL conformance tests. This will also let me roll r590 into Chromium. It turns out the ForceSymbolReferences setting I added to the libGLESv2 target caused the linker to sometimes crash when making changes and the changes between r577 and r590 consistently lead to a crash. libGLESv2 now has a hard dependency on D3DCompiler_xx.dll via the call in Program.cpp and this seems to not make the linker crash. Review URL: http://codereview.appspot.com/4275063 git-svn-id: https://angleproject.googlecode.com/svn/trunk@591 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 38e76e53 2011-03-21T16:39:10 Keep track of applied textures and dirty state to minimize D3D calls. TRAC #15703 Issue=86 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@588 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3175496d 2010-11-28T02:02:52 Implement gl_DepthRange using a single uniform vector. TRAC #14504 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@495 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 73a5db67 2010-10-15T17:58:13 Initialize renderbuffer variables. Make serials constant. Removed X1R5G5B5 support. TRAC #13792 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@460 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 4f921eb4 2010-07-28T19:20:44 Renamed dx_Window to dx_Viewport TRAC #11594 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@356 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a3bbfd43 2010-06-07T02:06:09 Fixes double-decoration when getUniformLocation is called from defineUniform. TRAC #12437 This fixes the WebGL Teapot Per Pixel sample rendering Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@329 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 91fd1de6 2010-05-18T18:51:40 Caches the location of generic uniforms TRAC #12215 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@298 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2d84df0c 2010-05-14T17:31:13 Cache D3D constant handles with their associated uniforms. TRAC #12237 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@285 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 5a0b0a8b 2010-05-12T03:45:07 Minimizes texture state changes TRAC #12203 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@267 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4fa08339 2010-05-11T02:29:27 Prevent redundant uniform updates TRAC #12154 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@255 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com feba9ba5 2010-04-29T03:32:45 Undecorate uniform names when computing max length TRAC #12050 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@200 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 86a7a138 2010-04-29T03:32:32 Implements ValidateProgram TRAC #11654 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@196 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 916ffaa9 2010-04-23T18:34:52 Implements support for retrieving uniforms by subscripted name. TRAC #11796 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@189 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1b3a8155 2010-04-22T13:35:37 Fix getActiveUniform array size and refactor uniform size TRAC #11929 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@182 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com e6842296 2010-04-20T18:52:50 Fix more relative #include paths (mostly header files) Trac #11408 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@171 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 72d0b52e 2010-04-13T19:53:44 Decorate all GLSL user-defined names with an underscore to avoid name clashes TRAC #11314 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@143 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com bb3d9d03 2010-04-13T03:26:06 Implements glGetUniform TRAC #11647 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@123 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 9a95e2bb 2010-04-13T03:26:03 Implements Uniform*i{v} TRAC #11649 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@122 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f4a0c8e8 2010-04-13T03:26:01 Implements support for boolean uniforms TRAC #11734 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@121 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e3358a6 2010-04-05T20:32:42 Compiler - implement proper varying linking TRAC #11716 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@97 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6c78521e 2010-03-30T03:36:17 Implement glGetAttachedShaders and glGetShaderPrecisionFormat. TRAC #11599 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@85 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0361b92f 2010-03-28T19:36:15 Compiler - active uniforms and attributes TRAC #11590 Preparation refactoring that removes UniformType since there are already GL enums for uniform types. Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@78 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com cba5057c 2010-03-28T19:36:09 Compiler - implement shader and program queries TRAC #11599 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@76 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7c46b9e6 2010-03-17T13:12:58 mv libGLESv2 -> src/libGLESv2 Trac #11406 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@40 736b8ea6-26fd-11df-bfd4-992fa37f6226