|
72b9e18c
|
2011-04-13T14:58:33
|
|
Optimized prepareVertexData and protect against NULL pointers.
TRAC #14871
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@614 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
09c2c1ac
|
2011-04-13T14:57:16
|
|
Move the vertex declaration cache to a helper class.
TRAC #14871
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@613 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
baa7451e
|
2011-04-13T14:56:47
|
|
Eliminate lookupAttributeMapping.
TRAC #14871
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@612 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2cec2f3a
|
2011-04-06T18:59:51
|
|
Profiling shows that creating and destroying vertex declarations is extremely expensive, so we can keep a 16-element cache around to speed that up.
BUG=
TEST=JSGameBench
Review URL: http://codereview.appspot.com/4358051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@609 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ae345807
|
2011-03-30T22:04:25
|
|
Add support for eglBindTexImage and eglReleaseTexImage
With this patch we can bind pbuffers as textures. Once we add support for using
a sharing handle to create a pbuffer we can use this to allow us to use it as a
texture as well.
BUG=129
TEST=modified Simple_Texture2D works
Review URL: http://codereview.appspot.com/4291066/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@604 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b627699f
|
2011-03-29T00:58:18
|
|
Use D3DX to copy between renderable texture surfaces.
TRAC #16118
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@598 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
549bdefe
|
2011-03-29T00:57:01
|
|
Retrieve the D3D texture format per image.
TRAC #16118
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@597 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d976b584
|
2011-03-29T00:56:20
|
|
Consistently use the virtual keyword on virtual overloaded methods.
TRAC #16118
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@596 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
db7cd0b2
|
2011-03-29T00:55:31
|
|
Fix Visual C++ linking in stand-alone project
TRAC #16118
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@595 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
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
|
|
a06aa870
|
2011-03-21T17:22:21
|
|
Track dirty texture parameters and images separately.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@590 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a9eb5dac
|
2011-03-21T16:39:16
|
|
Track texture serials instead of id's.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@589 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
51887316
|
2011-03-21T16:39:03
|
|
Fix checking for floating-point render target texture support.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@587 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f4e36037
|
2011-03-21T16:38:59
|
|
Copy texture data of incomplete textures to the image arrays.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@586 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
94a4f03f
|
2011-03-21T16:38:55
|
|
Retrieve current texture properties from the image array to avoid D3D call.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@585 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6120820e
|
2011-03-21T16:38:50
|
|
Retrieve texture width, height and type from the top-level image.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@584 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b5a3a6b6
|
2011-03-21T16:38:46
|
|
Texture image refactoring.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@583 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c50edcb2
|
2011-03-21T16:38:40
|
|
Remove redundant dirtyImageData() check.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@582 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0bd22bc9
|
2011-03-21T16:38:26
|
|
Check image type in texture completeness test.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@581 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8a0a2db7
|
2011-03-21T16:38:20
|
|
InternalFormat and format are the same.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@580 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
aed1832d
|
2011-03-21T16:38:13
|
|
Fix dirty texture state management.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@579 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
68076a07
|
2011-03-21T16:38:09
|
|
Eliminate the weak base texture pointer.
TRAC #15703
Issue=86
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@578 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
831fe2af
|
2011-03-17T18:44:29
|
|
Fixed framebuffer-object-attachment WebGL conformance test.
We updated it with WebGL conformance test r14153 to exercise zero-size FBO attachments, which failed with ANGLE. The new conformance test passes with OpenGL and Mesa.
See this Chromium bug:
http://code.google.com/p/chromium/issues/detail?id=75666
D3D fails if you try to create a zero size depth buffer but OpenGL ES2 allows it. D3D / drivers seem to sometimes crash rather than fail normally, though this might just be because some users have enabled the D3D debug runtime and break on error and we're getting the reports.
It was also returning unexpected results when calling GetRenderbufferParameter for parameters that do not apply to a particular buffer. For example, RED_SIZE for a zero sized depth buffer should be 0.
Tested by running WebGL conformance test with retail D3D runtime (passes) and debug D3D runtime (passes and does not assert in D3D or ANGLE).
Review URL: http://codereview.appspot.com/4284053
git-svn-id: https://angleproject.googlecode.com/svn/trunk@577 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8fd34bd6
|
2011-02-18T02:52:14
|
|
Move geometry files.
TRAC #15649
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@564 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
1615be20
|
2011-02-09T16:30:06
|
|
Fix anti-aliased clears.
TRAC #15445
Issue=82
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@556 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d2fd4f2a
|
2011-02-01T18:49:11
|
|
Fix FBO/Texture/renderbuffer class hierarchy issues
TRAC #14744
Issue=51/52
Delegated format queries to RenderbufferStorage.
Eliminated TextureColorbufferProxy by merging it into Colorbuffer.
Abstracted texture colorbuffer queries.
Moved some conversion functions to the right namespace.
Fixed line-endings in Texture.cpp
Signed-off-by: Daniel Koch
Author: Nicolas Capens <nicolas@transgaming.com>
git-svn-id: https://angleproject.googlecode.com/svn/trunk@553 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9f300b0f
|
2011-01-31T20:36:48
|
|
Fixed commitRect so it correctly flips the source rectangle and dest point on Y.
Review URL: http://codereview.appspot.com/4047050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@551 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
9398a6b2
|
2010-09-20T19:07:49
|
|
I hope this will fix a generateMipmaps crash when needRenderTarget fails.
This fixes this crash in 7.0.524.0 on a user's Windows XP service pack 3 box.
0x014946f3 [libGLESv2.dll - texture.cpp:1382] gl::Texture2D::generateMipmaps()
0x0149786f [libGLESv2.dll - libglesv2.cpp:2114] glGenerateMipmap
0x01c53199 [chrome.dll - gles2_cmd_decoder.cc:2437] gpu::gles2::GLES2DecoderImpl::DoGenerateMipmap(unsigned int)
0x01c52216 [chrome.dll - gles2_cmd_decoder.cc:2214] gpu::gles2::GLES2DecoderImpl::DoCommand(unsigned int,unsigned int,void const *)
0x01c4fa78 [chrome.dll - cmd_parser.cc:56] gpu::CommandParser::ProcessCommand()
0x01c4f8ba [chrome.dll - gpu_processor.cc:100] gpu::GPUProcessor::ProcessCommands()
0x01ecdcce [chrome.dll - callback.h:119] CallbackImpl<BrowsingDataRemover,void ( BrowsingDataRemover::*)(void),Tuple0>::RunWithParams(Tuple0 const &)
0x01c4f2d9 [chrome.dll - callback.h:79] CallbackRunner<Tuple0>::Run()
0x01c4edce [chrome.dll - command_buffer_service.cc:80] gpu::CommandBufferService::Flush(int)
0x01d6b9b1 [chrome.dll - gpu_command_buffer_stub.cc:129] GpuCommandBufferStub::OnFlush(int,gpu::CommandBuffer::State *)
This might be glGenerateMipmaps after a device lost.
Review URL: http://codereview.appspot.com/2227044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@429 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4d5962cd
|
2010-09-20T19:02:30
|
|
Texture2D::getRenderTarget does not assume that needsRenderTarget succeeded.
Specifically, it checks that mTexture is not null.
This is to fix this crash that has been happening out in the wild:
0x01444822 [libGLESv2.dll - texture.cpp:1417] gl::Texture2D::getRenderTarget(unsigned int)
0x01445615 [libGLESv2.dll - texture.cpp:2048] gl::Texture::TextureColorbufferProxy::getRenderTarget()
0x01453bb0 [libGLESv2.dll - context.cpp:1579] gl::Context::applyRenderTarget(bool)
0x01455395 [libGLESv2.dll - context.cpp:2413] gl::Context::clear(unsigned int)
0x014460c4 [libGLESv2.dll - libglesv2.cpp:611] glClear
0x01c53b75 [chrome.dll - gles2_cmd_decoder.cc:3021] gpu::gles2::GLES2DecoderImpl::ClearUnclearedRenderbuffers(unsigned int,gpu::gles2::FramebufferManager::FramebufferInfo *)
0x01c53cee [chrome.dll - gles2_cmd_decoder.cc:3078] gpu::gles2::GLES2DecoderImpl::DoFramebufferTexture2D(unsigned int,unsigned int,unsigned int,unsigned int,int)
0x01c57c7d [chrome.dll - gles2_cmd_decoder_autogen.h:756] gpu::gles2::GLES2DecoderImpl::HandleFramebufferTexture2D(unsigned int,gpu::gles2::FramebufferTexture2D const &)
0x01c52197 [chrome.dll - gles2_cmd_decoder.cc:2214] gpu::gles2::GLES2DecoderImpl::DoCommand(unsigned int,unsigned int,void const *)
0x01c4fa78 [chrome.dll - cmd_parser.cc:56] gpu::CommandParser::ProcessCommand()
0x01c4f8ba [chrome.dll - gpu_processor.cc:100] gpu::GPUProcessor::ProcessCommands()
It was a Windows XP service pack 3 box with Chrome 7.0.524.0. ANGLE was at r418 in this build. I suspect it attempted to glClear after a device lost, which caused needsRenderTarget to fail.
This will hopefully patch it up so it doesn't crash. We'll need to check we aren't assuming mTexture is not null elsewhere.
Review URL: http://codereview.appspot.com/2233045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@427 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d10f869d
|
2010-09-16T19:56:52
|
|
Fixed masked glClear
TRAC #13577
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@426 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7beea408
|
2010-09-15T21:18:34
|
|
Added API to query for active attribs and uniforms. These functions are modeled after glGetShaderiv, glGetProgramiv, glGetActiveAttrib, and glGetActiveUniform. The main difference between this and OpenGL API is that we do not have programs - just shaders.
BUG=26
Review URL: http://codereview.appspot.com/2183041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@425 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8d012dfc
|
2010-09-15T18:26:44
|
|
Added assertion to RefCountObject destructor that mRefCount is zero.
Review URL: http://codereview.appspot.com/2180041
git-svn-id: https://angleproject.googlecode.com/svn/trunk@424 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4e3bad4e
|
2010-09-15T17:31:48
|
|
Changed raw pointers to RefCountObject to BindingPointers.
I suspect there is a bug whereby an owning reference to a RefCountObject is temporarily assigned to a BindingPointer, causing it to be destroyed and making the owning raw pointer go dangling.
Making this change for mColorbufferProxy seemed to fix a crash in Chrome with canvas 2D.
This was previously landed in r417 and r418.
Review URL: http://codereview.appspot.com/2108047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@423 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ff8bdfb0
|
2010-09-15T17:27:49
|
|
Backing out r417 and r418.
I will recommit these as two separate patches: one for ID invalidation and one for reference counting issue.
I will not recommit the FBO changes and since the GLES2 spec will soon make it undefined whether FBOs are in a shared namespace.
Review URL: http://codereview.appspot.com/2154045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@422 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
cf66ebb8
|
2010-09-14T22:15:43
|
|
Renaming Context::mDepthStencilDirty flag to mDepthStencilInitialized to avoid breaking consistency
http://codereview.appspot.com/2187041/
(Having trouble checking it in with gcl so going straight to subversion)
git-svn-id: https://angleproject.googlecode.com/svn/trunk@420 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
85dc42bf
|
2010-09-14T03:10:08
|
|
Reset DepthStencilSurface after Context::markAllStateDirty() has been called.
Landing on Vangelis' behalf.
Original review: http://codereview.appspot.com/2184041/
git-svn-id: https://angleproject.googlecode.com/svn/trunk@419 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9e287141
|
2010-09-11T03:46:57
|
|
Missing file.
TBR=vangelis@chromium.org
Review URL: http://codereview.appspot.com/2147046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@418 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5525502d
|
2010-09-11T02:12:47
|
|
Replaced raw pointers to RefCountObject to BindingPointer.
This fixes the ANGLE crashes in Chrome when using canvas 2D.
The issue was this:
Renderbuffer *mColorbufferProxy = new RenderBuffer(...); // Reference count is zero.
BindingPointer<RenderBuffer> tempRef;
tempRef.set(mColorbufferProxy); // Reference count is one.
tempRef.set(NULL); // Reference count is zero and object is destroyed, leaving mColorbufferProxy dangling.
I also initially suspected the problem was that FBOs are not treated as shared and the implementation of shared FBOs is still in the patch. I believe GLES2 supports shared FBOs.
My reading of the GLES2 spec is that when a shared object is deleted, it loses its id but retains its state if left bound elsewhere. I added that to RefCountObject.
Review URL: http://codereview.appspot.com/2120045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@417 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d303ef9a
|
2010-09-09T17:30:15
|
|
ANGLE supports GL_OES_standard_derivatives now.
BUG=25
Review URL: http://codereview.appspot.com/2122048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@416 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4b6b4f79
|
2010-09-01T18:13:40
|
|
Removes unused IsFloatingPoint function from utilities.cpp
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@411 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fe208885
|
2010-09-01T15:47:57
|
|
Replaces Windows line endings with Unix where needed
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@410 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1297d92b
|
2010-09-01T15:47:47
|
|
Implements support for renderable floating point textures.
TRAC #12909
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@409 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
d36c6a0a
|
2010-08-31T12:15:09
|
|
Implemented recovering from a lost device by context recreation.
TRAC #13222
Singed-off-by: Daniel Koch
Author: Nicolas Capens <nicolas@transgaming.com>
git-svn-id: https://angleproject.googlecode.com/svn/trunk@406 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d3bd0ad3
|
2010-08-30T18:55:36
|
|
Implemented GL_NV_fence extension.
I believe I have implemented all features according to the spec.
The application is to allow the Chrome command buffer scheduler to be smarter about deciding which command buffer to process. For example, if a WebGL app issued a call to ReadPixels, the scheduler will issue a fence and defer executing the ReadPixels until the status goes true. It can continue to work on other command buffers in the meantime.
I tested by modifying the vertex shader demo. After issuing the SwapBuffers i made issue a fence and loop until the status went true and verified it looped several times. I also tested that by calling FinishFence before going into the loop that is did not loop at all.
Review URL: http://codereview.appspot.com/1965043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@405 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0a337e93
|
2010-08-28T17:38:27
|
|
Implement support for floating point textures.
Trac #12909
Implements GL_OES_texture_float, GL_OES_texture_half_float,
GL_OES_texture_float_linear, and GL_OES_texture_half_float_linear
when supported by the hardware.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods <shannon.woods@transgaming.com>
git-svn-id: https://angleproject.googlecode.com/svn/trunk@404 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
94a86ad8
|
2010-08-25T20:02:11
|
|
Adding support for OES_standard_derivatives extension. This is not the complete implementation. Sending it to get feedback on the API. Is it OK to add extension support into TBuiltInResource? I could create a new struct for extensions but that would lead to API change.
BUG=25
Review URL: http://codereview.appspot.com/1953047
git-svn-id: https://angleproject.googlecode.com/svn/trunk@402 736b8ea6-26fd-11df-bfd4-992fa37f6226
|