src/libGLESv2/Program.cpp


Log

Author Commit Date CI Message
shannon.woods@transgaming.com e16e651f 2013-02-28T23:19:02 Place each info log message on a new line. TRAC #22635 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1956 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com 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
shannon.woods@transgaming.com 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
shannon.woods@transgaming.com d2811d68 2013-02-28T23:11:19 Break some of the include chains that cause unneeded dependencies between headers. TRAC #22499 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1904 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4a186ed8 2012-11-28T20:56:15 Moved VertexDeclarationCache to its own header and source file. TRAC #22016 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1490 736b8ea6-26fd-11df-bfd4-992fa37f6226
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
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 ec909fc9 2012-06-05T19:51:49 If a uniform was created before, still set the register type index since it can be different. TRAC #20948 Issue=337 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1139 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 28be96b0 2012-06-05T19:51:46 Removed redundant registerCount > 0 checks. The register indices now indicate presence. TRAC #20948 Issue=337 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1138 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
daniel@transgaming.com 11399d5d 2012-04-28T00:35:14 Make sure the internal DX uniforms get updated after re-linking. TRAC #20659 Issue=321 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1063 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org ddb6e8e3 2012-04-25T00:48:13 Stop using unsafe sprintf method. ISSUE=308 Signed-off-by: Kenneth Russell Author: David Kilzer git-svn-id: https://angleproject.googlecode.com/svn/trunk@1052 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2e793f0f 2012-04-11T19:41:35 Decorate (and undecorate) struct fields too (when not built-in). Trac #20510 Issue=316,317 Authored-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@1027 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
jbauman@chromium.org 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
daniel@transgaming.com 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
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
apatrick@chromium.org a1d8059d 2012-01-25T21:52:10 Increase MSVC warning level to 4. There are some exceptions, a subset of the exceptions used by Chromium. They didn't seem to be useful warnings. In code which we don't change much, like the preprocessor, I just suppressed the warnings in the specific files rather than changing the code. There should be no functional changes in this patch. Review URL: https://codereview.appspot.com/5570066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@964 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org e0f059c5 2012-01-24T23:21:52 Remove calls to new when modifying shader constants. There were some unnecessary temporary copies we can remove, and the rest have a maximum size so we can allocate them on the stack. BUG=276 TEST= Review URL: https://codereview.appspot.com/5540071 git-svn-id: https://angleproject.googlecode.com/svn/trunk@961 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 c333699d 2011-11-14T21:15:45 Fixed vertex sampler index retrieval. TRAC #18865 ANGLEBUG=247 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@880 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 e918ea2d 2011-11-12T03:15:28 Rename UniformTypeSize to UniformInternalSize Trac #18608 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@868 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com edc31508 2011-11-12T03:14:56 Rename UniformComponentCount to UniformExternalComponentCount Trac #18608 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@867 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c9d81a2a 2011-11-12T03:14:30 Fix warning from uniform conversion template. Trac #18606 The data loss is as required by the spec. Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@866 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
jbauman@chromium.org 8b3c1afb 2011-10-12T01:21:41 Improve performance of applyRenderTarget and applyTextures Get rid of unnecessary GetSurfaceLevel/Release calls, move invariants out of the applyTextures loop, and fix the if in getSemanticIndex so we can avoid calling getMaximumCombinedTextureImageUnits. Gets donuts NaCl demo from 14->16 fps. BUG= TEST=webgl conformance tests Review URL: http://codereview.appspot.com/5248057 git-svn-id: https://angleproject.googlecode.com/svn/trunk@787 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com aa5e59b3 2011-10-04T18:43:12 Don't unlink when detaching shaders. TRAC #18385 ANGLEBUG=221 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@781 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 51db7fb1 2011-09-20T16:11:06 Optimize string comparisons by avoiding the creation of temporary substrings. TRAC #16567 Bug=136 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@761 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 8a4dad60 2011-09-13T00:54:40 Remove path info without GetCurrentDirectory Bug=162 TRAC #16902 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@751 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
apatrick@chromium.org b1092bf3 2011-05-11T19:52:39 Fix gl_FragCoord. Landing patch from this Chromium issue: http://code.google.com/p/chromium/issues/detail?id=82166 Review URL: http://codereview.appspot.com/4528055 git-svn-id: https://angleproject.googlecode.com/svn/trunk@647 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com dfd57020 2011-05-11T15:37:25 Fix compilation warnings. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@645 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 9ba680a7 2011-05-11T15:37:11 Comment some (vertex) texture lookup functionality. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@643 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 424bb49d 2011-05-11T15:36:59 Validate shaders so they don't exceed the texture unit counts. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@641 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3f74c7a7 2011-05-11T15:36:51 Correct the sizes of the (combined) texture unit arrays for VTF. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@640 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
daniel@transgaming.com 733ba93b 2011-04-14T15:03:48 Use a hash map for faster resource lookups. TRAC #14871 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@615 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 2a5645f7 2011-03-24T21:36:51 Fix a typo in r592. (I developped on Windows and typed in on Mac and submit). BUG=135 TEST=build fine TBR=kbr@chromium.org Review URL: http://codereview.appspot.com/4285066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@593 736b8ea6-26fd-11df-bfd4-992fa37f6226
zmo@google.com 53d73e04 2011-03-24T21:27:57 glGetProgramiv(GL_ACTIVE_UNIFORM_MAX_LENGTH) should count an extra 3 if uniform is an array because "[0]" is appended. BUG=135 TEST=the attached htm in the bug runs ok Review URL: http://codereview.appspot.com/4287077 git-svn-id: https://angleproject.googlecode.com/svn/trunk@592 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 11dd5dda 2011-02-11T13:28:14 Fix varying packing. TRAC #15550 Issue=111 Fix by Ranger Harke Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@561 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 97750022 2011-02-11T13:23:13 Fix varying relinking. TRAC #15527 Issue=100 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@560 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 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
apatrick@chromium.org da4d0494 2011-01-22T00:16:10 Fixed gl_PointCoord Y coordinate. I forgot to flip (or rather unflip) the Y coord in r536. Tested particle system sample and ran conformance tests. All conformance tests passed. Review URL: http://codereview.appspot.com/4093043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@537 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org b31f532d 2011-01-19T19:02:52 All surfaces follow D3D Y convention, i.e. (0, 0) is "top-left" rather than GL's "bottom-left". This eliminates the need to flip the default FBO to the D3D convention using additional blits when presenting and reduces VRAM usage for redundant window sized surfaces. I took out the gl_Position.y flip from the vertex shader so FBOs are rendered according to D3D conventions. Texture lookups are flipped on Y to compensate. Cube map +Y and -Y faces are swapped. Y is now flipped in various other places, including uploading and reading back texture data from / to system memory, functions that take pixel space coordinates, winding order for culling, the implementation of ddy, the calculation of gl_Position and gl_FragCoord in fragment shaders and the flipping of compressed texture tiles. Review URL: http://codereview.appspot.com/3265041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@536 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a41e6e3a 2010-12-15T15:45:30 Fix support for arrays of sampler uniforms. TRAC #14840 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@510 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com eea70793 2010-12-15T15:44:59 Fix querying active attributes. TRAC #14849 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@509 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 41b2fbdd 2010-12-13T18:27:12 Fix support for arrays of samplers. TRAC #14840 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@507 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 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
daniel@transgaming.com ce864420 2010-11-18T13:16:49 Add an array index to arrays of structures. TRAC #13625 This patch ensures that (member variables of) arrays of structures are listed separately by glGetActiveUniforms(). Their location can also be retrieved individually with glGetUniformLocation() using the array operator. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@487 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 996675c6 2010-11-17T13:06:29 Fixed skipping over internal uniforms in getActiveUniform. TRAC #14390 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@483 736b8ea6-26fd-11df-bfd4-992fa37f6226
kbr@chromium.org 72d58c4c 2010-11-05T22:55:28 Fixed gl_FragCoord emulation for point sprites of size > 1 using VPOS semantic for x and y coordinates rather than previous per-vertex emulation when running on Shader Model 3. Verified fix in Chromium with test case from bug. BUG=http://code.google.com/p/angleproject/issues/detail?id=71 TEST=test case from bug TBR=nicolas (LGTM'd by dgkoch) Review URL: http://codereview.appspot.com/2921041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@473 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 a9cd70ac 2010-09-15T15:48:57 Fix glGetActiveUniform for samplers TRAC #13522 Original patch by Jim Hauxwell, fixed for full test suite conformance. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@421 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6a20d108 2010-08-31T13:54:27 Ensure mInfoLog is nulled out after it is deleted. Issue=27 Original-Author: Vladimir Vukicevic Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@407 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 162267d6 2010-07-28T19:20:48 fix spacing issue due to manual merge git-svn-id: https://angleproject.googlecode.com/svn/trunk@357 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 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
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 e0d7d434 2010-05-18T18:51:52 Fix DepthRange location TRAC #12279 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@300 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 d08ea900 2010-05-14T19:41:36 Reduces STL size calls. TRAC #12281 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@290 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 13eeeede 2010-05-14T17:30:38 Fixed reporting unlinked varyings Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@279 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4071e661 2010-05-12T16:51:16 Consider out-of-range texture units to be incomplete. TRAC #12224 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@271 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0df16871 2010-05-12T16:51:08 Add HLSL error messages to the info log when compileToBinary fails Trac #12245 Otherwise.. it could be empty. Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@268 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 0f18961b 2010-05-07T13:03:36 Prevent atan2 from generating a NaN TRAC #12184 This is necessary because a NaN generated in flattened conditional code fails to get discarded on certain devices. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@248 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 51d0dc2a 2010-04-29T03:39:11 Declare structures before uniform definitions and support varying arrays TRAC #11809 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@217 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f3140157 2010-04-29T03:38:50 Append [0] to active array uniform names TRAC #11796 Singed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@210 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c3a0e946 2010-04-29T03:35:45 Fixes program validation regression. TRAC #11654 The sampler validation at render time was occurring before uniforms were applied and samplers were bound to their texture units. Sampler validation now occurs after shaders and textures have been applied. Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@207 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
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 0b6b834a 2010-04-26T15:33:45 Support matrix attributes TRAC #11095 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@195 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