|
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
|
|
e9874058
|
2011-01-26T17:32:26
|
|
Fix issues with preprocessor on very malformed shaders
Trac #15236,#15237,#15238,#15239
Error out instead of continued processing when we already know the preprocessor directives are bungled.
Generally be more careful about the order in which cpp->elsetracker and cpp->ifdepth are checked/operated on.
Validate all accesses of cpp->elsedepth to ensure no out of bounds accesses occur.
Also slipped in a few indentation/spacing fixes.
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@540 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a0ce7e61
|
2011-01-25T14:47:16
|
|
Added version info resources.
TRAC #15181
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@539 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ddf8c5ec
|
2011-01-22T00:33:23
|
|
Applying patch from pkasting to svn:ignore files generated during the
build process.
BUG=none
TEST=none
TBR=apatrick
git-svn-id: https://angleproject.googlecode.com/svn/trunk@538 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
3bd9d90f
|
2011-01-19T03:27:39
|
|
Build fix needed on certain platforms. Explicitly cast away const.
BUG=none
TEST=built within WebKit on Mac OS X in release mode
TBR=daniel
Review URL: http://codereview.appspot.com/4043042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@535 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e26cb5e4
|
2011-01-18T21:27:02
|
|
Increase GLSL version to 1.20 if the shader contains any matrix constructor
calls taking a matrix as argument; these were reserved in GLSL 1.10. This
makes http://sio29.sakura.ne.jp/tmp/webgl/index_eruru.html load correctly
once https://bugs.webkit.org/show_bug.cgi?id=52390 is fixed.
BUG=103
TEST=none
Review URL: http://codereview.appspot.com/4034041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@534 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1fe96c9a
|
2011-01-14T15:08:44
|
|
add glRenderbufferStorageMultisampleANGLE support to glGetProcAddress
Trac #15095
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@533 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3aba7337
|
2011-01-14T15:08:35
|
|
BlitFramebuf: reuse local size variables
Trac #15095
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@532 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f759f7a4
|
2011-01-13T21:42:53
|
|
Review: http://codereview.appspot.com/3969041/
Fixed dangling pointers in Surface.
When the surface is reset, either because of device lost or a window
resize, and any of these fail:
CreateDepthStencilSurface
CreateTexture
Some subsset of mSwapChain and/or mDepthStencil would be left
uninitialized. This seemed to happen frequently on WIndows XP boxes.
Example crash dumps:
Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @
0xffffffff800f0004 )
0x014f1aac [libegl.dll -
surface.cpp:479] egl::Surface::getDepthStencil()
0x1001324c [libglesv2.dll -
context.cpp:301] gl::Context::makeCurrent(egl::Display *,egl::Surface *)
0x10018c7e [libglesv2.dll - main.cpp:85] gl::makeCurrent(gl::Context
*,egl::Display *,egl::Surface *)
0x10017366 [libglesv2.dll - context.cpp:3524] glMakeCurrent
0x014f607c [libegl.dll - libegl.cpp:884] eglMakeCurrent
Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @
0xffffffffe95b5a5d )
0x01131a14 [libegl.dll - surface.cpp:433] egl::Surface::swap()
0x01136310 [libegl.dll - libegl.cpp:1043] eglSwapBuffers
0x0214ac64 [chrome.dll -
gl_context_egl.cc:240] gfx::NativeViewEGLContext::SwapBuffers()
git-svn-id: https://angleproject.googlecode.com/svn/trunk@531 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ddcd7378
|
2011-01-08T05:46:33
|
|
Re-implemented line loop support.
TRAC #14870
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@530 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ee04e455
|
2011-01-08T05:46:27
|
|
Create dynamic buffers in the default pool.
TRAC #14889
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@529 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5ee2ad08
|
2011-01-08T05:46:20
|
|
Optimized non-static usage of static buffers.
Validate buffer pointers.
TRAC #14889
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@528 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
37b141e2
|
2011-01-08T05:46:13
|
|
Create buffers in the managed pool on Windows XP.
TRAC #14888
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@527 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
83921386
|
2011-01-08T05:46:00
|
|
rewrite buffers implementation to support static buffers more efficiently
Bug=89
Trac #13565
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@526 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d2fed1c7
|
2011-01-06T21:51:20
|
|
Fixed compile errors that show up when _UNICODE is not defined.
Review URL: http://codereview.appspot.com/3772045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@525 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
71557745
|
2011-01-06T21:46:29
|
|
Added a compile flag so that writing to the debug log file can be turned off.
Review URL: http://codereview.appspot.com/3733043/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@524 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ad5df071
|
2011-01-06T21:07:46
|
|
Fix for loading L/LA images into a native (8/16-bit) D3D surface.
Review URL: http://codereview.appspot.com/3805044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@523 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
17767ceb
|
2010-12-17T15:57:41
|
|
Implemented copying from A1R5G5B5 to L8 and A8L8.
Fixed the copying range.
TRAC #14885
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@515 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a628c9ff
|
2010-12-17T03:51:57
|
|
Update .gitignore file
git-svn-id: https://angleproject.googlecode.com/svn/trunk@512 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ac369f3d
|
2010-12-15T15:46:00
|
|
Fix structure parsing regression.
TRAC #14717
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@511 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
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
|
|
5efd8b45
|
2010-12-13T14:48:03
|
|
Fix infinite loops in preprocessor when EOF encountered while scanning for newlines.
Trac #14837
Issue=42
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@506 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5751ed38
|
2010-12-12T08:53:40
|
|
Update contributors list
git-svn-id: https://angleproject.googlecode.com/svn/trunk@505 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9a76b814
|
2010-12-12T08:53:34
|
|
Fix memory leak in float literal parsing
Issue=93
Contributed by Benoit Jacob
git-svn-id: https://angleproject.googlecode.com/svn/trunk@504 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7595a122
|
2010-12-12T08:53:27
|
|
Fix infinite loop in eglCreateWindowSurface
Issue=90
Contributed by vladimirv
git-svn-id: https://angleproject.googlecode.com/svn/trunk@503 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7b17facf
|
2010-12-12T08:52:58
|
|
fix comparison between signed and unsigned integer expressions in TParseContext::constructorErrorCheck
Issue=78
Contributed by timeless
git-svn-id: https://angleproject.googlecode.com/svn/trunk@502 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
90d57a3f
|
2010-12-12T08:52:49
|
|
Fix TType::TType constructors to initialize members in correct order
Issue=77
Contributed by timeless
git-svn-id: https://angleproject.googlecode.com/svn/trunk@501 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7ea933f5
|
2010-12-12T08:52:42
|
|
Fix potential sscanf overflows in Shader.cpp
Issue=76
Contributed by ddefrostt
git-svn-id: https://angleproject.googlecode.com/svn/trunk@500 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
db9cac07
|
2010-12-09T20:16:17
|
|
Don't unsubclass the surface's output window if the window has been destroyed.
Review URL: http://codereview.appspot.com/3357041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@499 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d32941b9
|
2010-11-28T02:03:07
|
|
Add missing files to the Visual Studio project.
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@498 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
458da14d
|
2010-11-28T02:03:02
|
|
Increase the number of fragment uniform vectors.
TRAC #14504
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@497 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
265f4507
|
2010-11-28T02:02:58
|
|
Increase the number of vertex uniform vectors.
TRAC #14504
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@496 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
ce9952c5
|
2010-11-28T02:02:47
|
|
Increase the number of supported vertex attributes.
TRAC #14504
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@494 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
beb2a273
|
2010-11-26T16:26:16
|
|
Render directly to a render target texture.
TRAC #14506
This speeds up surface swapping by avoiding an unnecessary StretchRect from a render target surface to a render target texture (anti-aliased surfaces are unsupported so no resolve is needed).
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@493 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
396c643d
|
2010-11-26T16:26:12
|
|
Increase the number of varying vectors to 10 on Shader Model 3.0 devices.
TRAC #14503
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@492 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b59a778c
|
2010-11-24T18:38:33
|
|
Implemented validation for loop and indexing limitations specified by GLSL ES spec 1.0 Appendix A Section 4 and 5.
A couple of things to note:
- This CL only validates the "form" of loop and indexing. It does not detect number-of-iterations or out-of-bound access. This will require more involved analysis/heuristics.
- I haved combined SH_VALIDATE_CONTROL_FLOW and SH_VALIDATE_INDEXING into one flag - SH_VALIDATE_LOOP_INDEXING. Validating both together is much easier.
BUG=48
Review URL: http://codereview.appspot.com/3225041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@491 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9d1c9b4b
|
2010-11-23T22:05:41
|
|
glGenerateMipmap now does not force textures to become render targets.
For textures that are not already render targets, use the CPU to filter them and mark them as dirty.
I tested it by modifying the "mip_map_2d" demo to call glGenerateMipmap instead of generating the mipmaps itself. I also used the debugger to force it to take the render target path and verified that it still worked.
We've been having problems with the display being reset when video memory pressure is heavy with one of our demos. This patch made a noticable improvement on Vista but I don't think it will necessarily help on XP.
Review URL: http://codereview.appspot.com/3262041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@490 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bafcbaa3
|
2010-11-23T19:07:43
|
|
Moved the global-pool-allocator to TCompiler so that all memory allocated by the compiler can be de-allocated. Earlier the global-pool-allocator kept accumulating memory from all compilers (symbol-table in particular). The memory was only de-allocated when gpu-process exited or ShFinalize() was called. This was a problem for Chromium which keeps the GPU process around for the browser session. Now the memory is de-allocated as soon as the compiler is deleted, which happens when a tab is closed.
BUG=58808 (crbug.com)
Review URL: http://codereview.appspot.com/3280041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@489 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a5a8a0ad
|
2010-11-19T14:55:32
|
|
Fix active texture handling.
TRAC #14429
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@488 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
a6e31e58
|
2010-11-18T00:24:27
|
|
Resize surface on receipt of WM_SIZE to avoid corruption during resize. We hook WM_SIZE using window subclassing.
This is a continuation of http://codereview.appspot.com/3038042/
Review URL: http://codereview.appspot.com/3122041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@486 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3a053f26
|
2010-11-17T21:39:54
|
|
Removed actions for generating parser-lexer now that they have been checked in. Also removed hooks to pull cygwin - it was only required for flex and bison that are not required anymore. If a developer needs to modify grammar files, he is expected to install cygwin.
Review URL: http://codereview.appspot.com/3177042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@485 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b3abc78b
|
2010-11-17T21:31:59
|
|
Fixed compile error introduced in r482.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@484 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
52813558
|
2010-11-16T18:36:09
|
|
Replaced TIntermLoop::testFirst with TIntermLoop::loopType to clearly indicate which type of loop it is. In some cases it is not possble to differentiate between a for-loop and while-loop.
BUG=48
Review URL: http://codereview.appspot.com/3123041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@482 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9c857952
|
2010-11-16T18:27:58
|
|
Made GL_RGB textures map to D3DFMT_X8R8G8B8.
I suspect there is a subtle reason why this is the wrong thing to do.
The issue I am trying to address is glBlitFramebufferANGLE generating an error when bliting from a GL_RGB8_OES renderbuffer to a GL_RGB texture bound to the read framebuffer and draw framebuffer respectively. It verifies that both surfaces have the same underlying D3DFMT but GL_RGB8_OES renderbuffers are backed by X8R8G8B8 and GL_RGB textures were previously backed by A8R8G8B8.
Since textures cannot as far as I know be created GL_RGB8_OES, it would be useful to have a way to blit from a GL_RGB8_OES renderbuffer to a GL_RGB texture.
Review URL: http://codereview.appspot.com/2822041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@481 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f99fbb77
|
2010-11-16T01:57:05
|
|
Check that IDirect3DVertexBuffer9 and IDirect3DIndexBuffer9::Lock succeed.
I've been seeing crashes like this on Windows XP:
0x013319aa [libglesv2.dll - memcpy.asm:188] memcpy
0x0130989a [libglesv2.dll - vertexdatamanager.cpp:164] gl::VertexDataManager::preRenderValidate(int,int,gl::TranslatedAttribute *)
0x01304f66 [libglesv2.dll - context.cpp:1996] gl::Context::applyVertexBuffer(unsigned int,int,int,bool *,gl::TranslatedIndexData *)
0x013061a7 [libglesv2.dll - context.cpp:2648] gl::Context::drawArrays(unsigned int,int,int)
0x012f7721 [libglesv2.dll - libglesv2.cpp:1741] glDrawArrays
0x01c54f1e [chrome.dll - gles2_cmd_decoder.cc:3179] gpu::gles2::GLES2DecoderImpl::DoDrawArrays(unsigned int,int,int)
0x01c59122 [chrome.dll - gles2_cmd_decoder_autogen.h:640] gpu::gles2::GLES2DecoderImpl::HandleDrawArrays(unsigned int,gpu::gles2::DrawArrays const &)
Review URL: http://codereview.appspot.com/3043042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@480 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bdfb2e50
|
2010-11-15T16:41:20
|
|
Only initialize through a temporary variable if the same symbol name is used in the initialization expression.
TRAC #13627
The previous patch can generate a lot of unnecessary temporary variables. By first checking whether the same symbol name is reused the clutter is reduced to an absolute minimum (typical shaders won't rely on this odd GLSL semantic behavior so the workaround is hardly ever needed).
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@479 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b6ef8f11
|
2010-11-15T16:41:14
|
|
Define new variables after evaluating the initialization expression.
TRAC #13627
GLSL allows to write things like "float x = x;" where a new variable x is defined and the value of an existing variable x is assigned. HLSL uses C semantics (the new variable is created before the assignment is evaluated), so we need to convert this to "float t = x, x = t;".
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@478 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1f29954d
|
2010-11-12T15:50:23
|
|
Added API to enforce GLSL limitations mandated by WebGL.
BUG=48
Review URL: http://codereview.appspot.com/3005042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@476 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
044a5cf8
|
2010-11-12T15:42:16
|
|
Refactored glslang grammar files to make:
- lexer and parser reentrant
- line number handling automatic
Caveats:
- The preprocessor is still not thread-safe and full of bugs. I have another not-yet-ready patch to replace the preprocessor.
- The grammar files use options that are not supported by the old versions of flex and bison checked into compiler/tools. So I need to check-in the generated lexer-parser along with a shell script to generate them.
Review URL: http://codereview.appspot.com/2992041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@475 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2dfc47e3
|
2010-11-08T13:45:24
|
|
Fix ternary operator unfolding
TRAC #14155
Issue=70
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@474 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
74d760bc
|
2010-11-03T12:27:18
|
|
Preserve the scissor and viewport rectangles on swap and blit
TRAC #14054
The SetRenderTarget calls used in Blit::boxFilter() and Surface::swap() implicitly reset the scissor and viewport rectangles. So we need to ensure that the original rectangles get captured, and restored afterwards (the Context only keeps track of explicitly changed state).
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@472 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
24e39699
|
2010-11-01T21:19:43
|
|
Fixed null dereference when null passed as attribute list to eglCreateContext.
I tested that the samples still work and that they fail as expected, but do not crash, if the attribute list argument is null.
Review URL: http://codereview.appspot.com/2725042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@471 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
91ed1494
|
2010-10-29T03:11:43
|
|
Use C locale for atof to ensure using a dot as decimal mark.
TRAC #14055
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@470 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8860909e
|
2010-10-27T19:42:44
|
|
Fixed infinite loops and buffer overflow in byte_scan when scanning for integers and floating-point numbers.
- The byte_scan and associated functions are not very well written. I tried to clean them as much as possible without re-writing the whole thing.
- Replaced lBuildFloatValue function with atof. lBuildFloatValue was returning incorrect value anyway. The only reason it was working so far because we never used that value.
BUG=59623(crbug.com), 603333(bugzilla.mozilla.org)
Review URL: http://codereview.appspot.com/2655042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@469 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
78477fc0
|
2010-10-27T17:57:14
|
|
eglCreateContext checks client version is 2.
I believe we don't support version 1 since we are missing things like the fixed function pipeline.
This is motivated by consistency with other EGL implementations, which return a v1 context if the EGL_CONTEXT_CLIENT_VERSION attribute is not specified.
Review URL: http://codereview.appspot.com/2760041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@468 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9d7fc1db
|
2010-10-27T15:49:42
|
|
Add missing break statements to Context::getBooleanv
Trac #14114
Reported in Bug=69
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@467 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f5855c5e
|
2010-10-21T16:31:18
|
|
We were not reporting anything in the info-log for empty shader. This CL reports "unexpected EOF".
BUG=66
Review URL: http://codereview.appspot.com/2619041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@466 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d1e10e60
|
2010-10-20T20:58:55
|
|
Refactored ReadFileData() function in the translator sample to fix many issues:
- Memory leaks
- Made compiling using multiple strings default. This was not getting exercised.
- Removed redundant copies of file data
- Handled empty files properly which were getting ignored
BUG=66
Review URL: http://codereview.appspot.com/2579041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@465 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
43668cd0
|
2010-10-20T20:55:53
|
|
Fixed stack overflow in CPPextension function. An arbitrary size buffer was being used for extension name. Changed it to use MAX_SYMBOL_NAME_LEN.
- Also formalized the values for MAX_SYMBOL_NAME_LEN and MAX_STRING_LEN. They were being used as if there was a confusion whether it included the NULL terminator or not.
- Fixed some minor issues with code releated to the usage of MAX_SYMBOL_NAME_LEN and MAX_STRING_LEN.
BUG=59625 (crbug.com)
Review URL: http://codereview.appspot.com/2585042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@464 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fe5141ea
|
2010-10-18T12:18:12
|
|
Support copying R5G6B5 to L8.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@463 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
dd438af8
|
2010-10-18T12:18:06
|
|
Removed an unnecessary call.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@462 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4c5142c6
|
2010-10-15T17:58:27
|
|
Implemented glCopyTex[Sub]Image for non-renderable formats.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@461 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
3f85fbbc
|
2010-10-15T17:58:05
|
|
Validate glCopyTex[Sub]Image source and destination format combinations.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@459 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
edc19189
|
2010-10-15T17:57:55
|
|
Validate framebuffer attachment formats.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@458 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b6b2e677
|
2010-10-15T17:57:47
|
|
Disallow rendering to L/LA textures.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@457 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
11cb68cb
|
2010-10-15T17:57:40
|
|
Create and load L/LA textures.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@456 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ed828e5b
|
2010-10-15T17:57:30
|
|
Detect L8 and A8L8 texture support.
TRAC #13792
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@455 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fafd033e
|
2010-10-14T18:20:24
|
|
Added NSPR support for thread-local storage. Patch submitted by vladimirv. I have slightly modified the patch to still define ANGLE_OS_WIN and ANGLE_OS_POSIX.
BUG=54
Review URL: http://codereview.appspot.com/2497041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@454 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d300f5b0
|
2010-10-14T16:10:20
|
|
Removed redundant null-check. Patch submitted by timeless.
BUG=58
Review URL: http://codereview.appspot.com/2470042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@453 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
18895cb1
|
2010-10-14T16:09:57
|
|
Initialized TPoolAllocator::totalBytes. Patch submitted by timeless.
BUG=60
Review URL: http://codereview.appspot.com/2494041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@452 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
95447df0
|
2010-10-14T16:09:37
|
|
GLSL backend was assuming that a for-loop will always have a condition. But according to GLSL ES 1.0, the condition is optional.
BUG=50
Review URL: http://codereview.appspot.com/2489042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@451 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ac23189b
|
2010-10-14T16:09:09
|
|
Removed redundant dereference. Patch submitted by timeless.
BUG=64
Review URL: http://codereview.appspot.com/2495041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@450 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6c82cafe
|
2010-10-14T16:08:56
|
|
Replaced delete with delete[]. Patch submitted by timeless.
BUG=59
Review URL: http://codereview.appspot.com/2493041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@449 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9ecf3950
|
2010-10-13T19:28:25
|
|
GLSL backend now emits "#version 120" to legally access invariant keyword and gl_PointCoord built-in variable.
BUG=35
Review URL: http://codereview.appspot.com/2341043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@448 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5d752f29
|
2010-10-07T13:37:20
|
|
Add proper detection for maximum texture and renderbuffer size
Trac #13849
Increased the maximum possible texture & renderbuffer size to 16384 (the minimum required for DX11 cards).
Limit the actual maximum texture & renderbuffer size to the maximum
that it reported by the underlying D3D9 device.
Note that creating textures and renderbuffers at the maximum size will quickly exhaust video memory!
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@447 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1c76801e
|
2010-10-07T00:35:24
|
|
- Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES capability during initialization to fail on DirectX8 drivers.
- Fail in GetDeviceCaps loop after one second.
Review URL: http://codereview.appspot.com/2354042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@446 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c1693978
|
2010-10-06T02:34:39
|
|
Made debug log filename compile time configurable.
Define TRACE_OUTPUT_FILE macro to change filename. Default remains "debug.txt" for Visual Studio solution based build. Gyp based build uses "angle-debug.txt".
Review URL: http://codereview.appspot.com/2327043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@445 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b2bdd06c
|
2010-10-05T02:24:30
|
|
Fixed NULL dereference in glClear.
6 crashes on Windows XP
1 crash on Windows 7
This was Canary 7.0.530.0 using ANGLE r429.
0x011f523b [libGLESv2.dll - context.cpp:2412] gl::Context::clear(unsigned int)
0x011e5f41 [libGLESv2.dll - libglesv2.cpp:611] glClear
0x020c400d [chrome.dll - gl_context.cc:33] gfx::GLContext::InitializeCommon()
0x020bb757 [chrome.dll - gl_context_egl.cc:138] gfx::NativeViewEGLContext::Initialize()
0x020b8946 [chrome.dll - gl_context_win.cc:502] gfx::GLContext::CreateViewGLContext(HWND__ *,bool)
0x01c4f6f8 [chrome.dll - gpu_processor_win.cc:35] gpu::GPUProcessor::Initialize(HWND__ *,gfx::Size const &,gpu::GPUProcessor *,unsigned int)
0x01d6e669 [chrome.dll - gpu_command_buffer_stub.cc:88] GpuCommandBufferStub::OnInitialize(int,void * *)
It's crashing upon creation of the GL context, possibly the first context. Device lost would possibly explain the XP crashes. The Windows 7 box might have run out of video memory.
I also checked another couple of NULL dereference crashes.
Review URL: http://codereview.appspot.com/2197046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@444 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4888ceb6
|
2010-10-01T21:13:12
|
|
Made the API of shader translator library consistent.
- We recently started using OpenGL-type enums. This CL makes all old enums consistent with the new scheme.
- Renamed TBuiltInResource to ShBuiltInResources to have a consistent prefix
BUG=46
Review URL: http://codereview.appspot.com/2328041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@443 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2fa73694
|
2010-09-28T17:20:39
|
|
Added version number for shader translator API.
BUG=45
Review URL: http://codereview.appspot.com/2234047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@442 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
10e6e9e3
|
2010-09-27T21:03:45
|
|
Handled case when variable declaration contains initialization.
BUG=26
Review URL: http://codereview.appspot.com/2213049
git-svn-id: https://angleproject.googlecode.com/svn/trunk@441 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ee76f6af
|
2010-09-27T19:28:55
|
|
Implemented functionality to collect and return info for attributes and uniforms.
BUG=26
Review URL: http://codereview.appspot.com/2206046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@440 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
570bfc7c
|
2010-09-24T17:19:25
|
|
Built-in string for vertex shaders can be empty. Nicolas handled this case in r433 but r437 overwrote it.
Review URL: http://codereview.appspot.com/2233046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@439 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e979ead8
|
2010-09-23T18:03:14
|
|
Restore line endings
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@438 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
07620a58
|
2010-09-23T17:53:56
|
|
- Moved the implementation for ShCompile to the compiler class so that internal details about compiler can be encapsulated. Now we do not need to expose built-in symbol table.
- Fixed a few const violations.
- Added CollectAttribsUniforms class.
BUG=26
Review URL: http://codereview.appspot.com/2263041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@437 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
36af61c5
|
2010-09-22T17:14:02
|
|
Reset a lost device before releasing it
TRAC #13622
This prevents the driver from getting stuck in an undefined state and returning errors when trying to create a new device or querying capabilities.
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@436 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
677a1517
|
2010-09-22T17:13:59
|
|
Empty the surface and context sets on terminate
TRAC #13623
This prevents a crash when the application calls eglTerminate multiple times without destroying the contexts or surfaces.
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@435 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d3958d73
|
2010-09-22T17:13:54
|
|
Ensure that a surface is present before writing to it
TRAC #13595
This fixes a bug where glTexSubImage is called on a mipmapped texture before calling glTexImage.
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@434 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ecd7cf35
|
2010-09-22T17:13:50
|
|
Define vertex texture sampling intrinsics only when supported
TRAC #12245
This ensures that the shader will fail to compile when using VTF when it's not supported.
Previously an error was generated only at link time and it was not very descriptive.
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@433 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c5f8dea4
|
2010-09-21T16:40:30
|
|
Allow multisampling without enabling GL_SAMPLE_COVERAGE.
This setting is only used when an application wants to control which samples are written to. If it is disabled, multisampling should just write to all samples.
BUG=38
Review URL: http://codereview.appspot.com/2194043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@431 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0fa74639
|
2010-09-21T16:18:52
|
|
Allow blitting to a render texture in BlitFramebuffer.
Change the type check to allow blitting between render buffers and render textures. Store the format for render textures so that resolving to a render texture Colorbuffer will pass the format check.
BUG=37
Review URL: http://codereview.appspot.com/2205043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@430 736b8ea6-26fd-11df-bfd4-992fa37f6226
|