|
fe4b0c9e
|
2011-09-13T00:53:11
|
|
Fix resetting of non-existing device
TRAC #18139
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@750 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a866244f
|
2011-09-13T00:52:26
|
|
Avoid an unnecessary MFC header dependency.
Bug=180
TRAC #18128
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@749 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8c9c4521
|
2011-09-09T18:22:28
|
|
Adding code to try and reset the device if eglCreateWindowSurface and eglCreateSurface are
called while the device is reported as lost.
Currently only eglCreateContext attempts to reset the device. This is a short term fix until the whole device lost issue can be revisited. One of the issues here is that if any of these egl entry points are called while the device is lost (e.g. while the screen saver is on in XP) ANGLE will spin until the device comes back.
Review URL: http://codereview.appspot.com/4961070
git-svn-id: https://angleproject.googlecode.com/svn/trunk@746 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bde15998
|
2011-08-24T15:05:37
|
|
Issue 199: invalid assertion in Surface.cpp makes debug browser crash on conformance test drawingbuffer-static-canvas-test.html
This patch fixes assertions that were wrongly asserting that only OOM errors could occur when allocating a D3D texture/surface. The drawingbuffer-static-canvas-test.html test tries a 32768x150 size, and that fails because of the too large width without being OOM.
git-svn-id: https://angleproject.googlecode.com/svn/trunk@739 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
50c526d2
|
2011-08-10T05:19:44
|
|
Add support for DXT3 and DXT5
TEST=none
BUG=none
Review URL: http://codereview.appspot.com/4809068
git-svn-id: https://angleproject.googlecode.com/svn/trunk@721 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
84d7cbc3
|
2011-07-14T22:53:19
|
|
Add extension to create software device.
Add an extension so that users can receive a device that renders in software. Currently this is done by loading a swiftshader dll.
BUG=
TEST=
Review URL: http://codereview.appspot.com/4631093
git-svn-id: https://angleproject.googlecode.com/svn/trunk@705 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1a2cd269
|
2011-07-08T17:30:18
|
|
Changed two assertions to explicit tests, and added an error code to
those checked during ReadPixels. These changes are needed to avoid
having ANGLE assert in debug builds when running WebGL test cases
which provoke a GPU reset.
BUG=none
TEST=slow-shader-example and lots-of-polys-example in WebGL test suite
Review URL: http://codereview.appspot.com/4684042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@703 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a2a85dc1
|
2011-07-06T20:24:27
|
|
Fix DelayLoadDLLs deps for dwmapi in release builds
Issue=177
git-svn-id: https://angleproject.googlecode.com/svn/trunk@701 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5bf210b2
|
2011-06-21T14:22:03
|
|
Add x86-64 project settings.
Bug=55
TRAC #15606
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@698 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
58f76fe0
|
2011-06-21T14:21:07
|
|
Fix 64-bit support.
Bug=55
TRAC #15606
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@697 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
03208d5d
|
2011-06-15T01:15:24
|
|
Attempt to ensure pipeline flush on rendertarget change
Some ATI cards appear not to flush the pipeline correctly, causing textures not to pick up newly-drawn contexts, so do an extra no-op draw when necessary.
BUG=169
TEST=chromium on hulu.com
Review URL: http://codereview.appspot.com/4576051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@693 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d1c32963
|
2011-06-10T22:20:29
|
|
Correct usage of GetVersion() windows calls. Review: http://codereview.appspot.com/4579049
git-svn-id: https://angleproject.googlecode.com/svn/trunk@688 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
db5d5f66
|
2011-06-08T23:50:48
|
|
Fix crlf newlines in surface.cpp
TBR=apatrick@chromium.org
git-svn-id: https://angleproject.googlecode.com/svn/trunk@686 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
82e7e9d0
|
2011-06-08T18:43:16
|
|
Recommit r668, which got undone accidentally by r673.
Review URL: http://codereview.appspot.com/4589043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@683 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d6e74da1
|
2011-06-08T12:40:23
|
|
Add missing DWM libraries to Release project.
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@680 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
837dd9ab
|
2011-06-07T00:40:33
|
|
Do not set a WNDPROC on a window created by another thread.
It turns out SetWindowLong succeeds for other threads in the same process but we do not want the WNDPROC to be called from threads other than the thread on which EGL is running on. This was one of the reasons --in-process-gpu was not working with ANGLE in Chrome.
Review URL: http://codereview.appspot.com/4576045
git-svn-id: https://angleproject.googlecode.com/svn/trunk@677 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
79169b5a
|
2011-06-06T19:01:08
|
|
Use DwmAPI, if available, to minimize queueing of presents.
Review URL: http://codereview.appspot.com/4559065
git-svn-id: https://angleproject.googlecode.com/svn/trunk@673 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
250f06c9
|
2011-06-06T16:59:53
|
|
Made it possible to turn off D3D9Ex support with a command-line compiler option.
The "Debug This Pixel..." feature in PIX often fails when using the
D3D9Ex interfaces. In order to get debug pixel to work on a Vista/Win 7
machine, define "ANGLE_ENABLE_D3D9EX=0" in your project file.
Review URL: http://codereview.appspot.com/4526106
git-svn-id: https://angleproject.googlecode.com/svn/trunk@672 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8106e870
|
2011-06-03T22:36:47
|
|
Handle additional lost device error codes that may be returned when using IDirect3DDevice9Ex.
Review URL: http://codereview.appspot.com/4529113
git-svn-id: https://angleproject.googlecode.com/svn/trunk@671 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
585b3d0e
|
2011-06-03T01:48:11
|
|
Disable use of FlipEx for problematic use cases.
It seems that DWM will, when given an HWND that has an associated
FlipEX swap chain, stretch the contents of the HWND to fill the new
window IF you don't issue draw calls to that HWND before the WM_PAINT
returns. This leads to horrendous sizing artifacts.
For Chromium, this is a show stopper.
But, FlipEx is definitely a good thing, for regular single process
applications.
So, is there a clean way to conditionally disable FlipEX for
these problem cases? The heuristic in this patch basically says "if your hwnd
is not in-process, then you're probably not painting in its HWND, so don't sue
FlipEX."
This catches the Chromium use case. There is still the possibility of a regular
single-process EGL application that tries to draw outside WM_PAINT that would
experience sizing artefacts. But, maybe that's OK.
Anyways, I'm not married to this technique. Just throwing something out there
to start the discussion. :)
Review URL: http://codereview.appspot.com/4536102
git-svn-id: https://angleproject.googlecode.com/svn/trunk@668 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4f9ef0d6
|
2011-05-30T23:51:19
|
|
Implemented OES_texture_npot support.
TRAC #16871
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@661 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6c4dba0d
|
2011-05-26T14:15:31
|
|
Fix lost context recovery for Windows XP.
Issue=138
TRAC #16271
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@657 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c556fa57
|
2011-05-26T14:13:29
|
|
Revert pending surface destruction (part of revision 632).
TRAC #16271
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@656 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
062231c0
|
2011-05-26T14:12:17
|
|
Only use D3DSWAPEFFECT_FLIPEX on D3D9Ex devices.
TRAC #16271
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@655 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
93c0fce4
|
2011-05-25T01:55:06
|
|
Use D3DSWAPEFFECT_FLIPEX on Windows 7.
Reduces frame rate jitters on Windows 7 reported in crbug.com/82925
Review URL: http://codereview.appspot.com/4517096
git-svn-id: https://angleproject.googlecode.com/svn/trunk@654 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2b720c92
|
2011-05-13T16:05:22
|
|
Fix the order of the error() parameters in Surface.cpp and advertise EGL_ANGLE_d3d_share_handle_client_buffer extension
Trac #16711
Also rename the extension file to match the extension name
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@651 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4e297707
|
2011-05-12T23:04:07
|
|
Add support for eglCreatePbufferFromClientBuffer, taking as input a D3D share handle corresponding to the enum EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE. No spec as of yet, but it does the obvious thing.
BUG=129
TEST=
Review URL: http://codereview.appspot.com/4325048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@650 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2ff573c6
|
2011-05-11T15:37:17
|
|
Enable vertex texture fetch support.
Issue=95
TRAC #16568
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@644 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3b1703f4
|
2011-05-11T15:36:26
|
|
Detect support for vertex shader texture lookups.
Issue=95
TRAC #16568
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@636 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
192a1810
|
2011-05-05T00:00:30
|
|
Implemented semantics for eglDestroySurface when surface is current on thread.
The spec has this to say.
"
All resources associated with surface which were allocated by EGL are marked for deletion as soon as possible. If surface is current to any thread (see section 3.7.3), resources are not actually released while the surface remains current. Future references to surface remain valid only so long as it is current; it will be destroyed, and all future references to it will become invalid, as soon as any otherwise valid eglMakeCurrent call is made from the thread it is bound to."
Review URL: http://codereview.appspot.com/4449064
git-svn-id: https://angleproject.googlecode.com/svn/trunk@632 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
06d7a755
|
2011-04-30T01:02:52
|
|
Move attrib-list handling into Display
Move the handling of attrib-lists in eglCreatePbufferSurface and eglCreateWindowList into methods in Display, so we can keep libEGL.cpp as a thin layer.
BUG=
TEST=
Review URL: http://codereview.appspot.com/4453051
git-svn-id: https://angleproject.googlecode.com/svn/trunk@628 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a114c273
|
2011-04-22T04:18:50
|
|
Advertise depthbuffer-less surface configs.
TRAC #16493
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@617 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
|
|
721b7f26
|
2011-02-11T00:54:47
|
|
Issue=91 -- implement pbuffers in ANGLE; add D3D share handle support
git-svn-id: https://angleproject.googlecode.com/svn/trunk@558 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
9e83b593
|
2011-02-10T22:04:34
|
|
Check for device lost with CheckDeviceState when using D3D9Ex.
According to the docs, TestCooperativeLevel is a no-op with D3D9Ex.
http://msdn.microsoft.com/en-us/library/bb174348(VS.85).aspx
I believe it is safe to ignore the additional return values from CheckDeviceState. Some appear to be to allow optimization when a window is occluded. The new errors seem to be best treated as device lost as we were before. Although if the device is removed (!) I'm not sure what to do. It might also be useful to communicate D3DERR_DEVICEHUNG to Chromium in the future so it can use it as a hint to back off.
Tested that D3D9 and D3D9Ex take the appropriate paths through Display::isDeviceLost.
Bug: http://code.google.com/p/angleproject/issues/detail?id=113
Review URL: http://codereview.appspot.com/4154042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@557 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
e860f079
|
2010-09-20T19:06:56
|
|
Trying to fix bug crash when eglCreateWindowSurface (or any other code that causes createDevice to be invoked) is called and CreateDevice reports DEVICELOST or NOTAVAILABLE.
This was a Windows XP service pack 3 box.
0x10002545 [libegl.dll - display.cpp:340] egl::Display::createDevice()
0x10002912 [libegl.dll - display.cpp:468] egl::Display::getDevice()
0x01d6a80f [chrome.dll - gpu_info_collector_win.cc:29] gpu_info_collector::CollectGraphicsInfo(GPUInfo *)
0x01d68eca [chrome.dll - gpu_thread.cc:104] GpuThread::OnEstablishChannel(int)
Previously createDevice only checked for out of memory and the ASSERT(SUCCEEDED(result)) has no effect in release builds.
I simulated the failure in a debugger and discovered a second place where a null dereference would occur in this case.
I don't think this crash is technically correct but it prevents crashes.
Review URL: http://codereview.appspot.com/2217043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@428 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
|
|
0db0d6c8
|
2010-08-31T20:00:18
|
|
Replaces swap chain lazily when the swap interval is changed.
It does not appear to be possible to pass a presentation interval to Present() or change it after creating the swap chain, short of calling Reset(). I decided to try fixing it by replacing the swap chain under the same conditions as a window resize.
I tested it with a modified version of the simple vertex shader sample, passing various values to eglSwapInterval.
My reading of the EGL spec might be wrong but I believe the interval state should be associated with the surface bound to the current context, rather than the display.
Review URL: http://codereview.appspot.com/2036044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@408 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
|
|
01868135
|
2010-08-24T19:21:17
|
|
Implements compressed textures.
TRAC #12714
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@397 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1f135d86
|
2010-08-24T19:20:36
|
|
Implements glRenderbufferMultisampleStorage
TRAC #12714
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@390 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b707a3b7
|
2010-08-23T23:12:51
|
|
Added runtime checks for GetClientRect errors.
I noticed that if the window handle is invalid, the resulting rect will be uninitialized. This change makes it fail immediately.
Review URL: http://codereview.appspot.com/2009042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@386 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
94e1934d
|
2010-08-17T22:19:58
|
|
Fixed crash on context lost.
This fixes the crash on lost context for vista and windows 7 if suitable drivers are available. It now uses D3D9Ex when available and this only reports lost contexts for hardware failures and suchlike.
Testing procedure was:
- run simple_vertex_shader without this change.
- ctrl+alt+del to lock machine.
- return to desktop.
- observe that simple_vertex_shader crashes.
- repeat with this change and check that simple_vertex_shader is still animating.
- simulate the code path that an XP machine would take using the debugger and check that old behavior is preserved.
I decided to load D3D9.DLL at runtime for a couple of reasons. First, I didn't want to assume that older implementations of D3D9 would have the Direct3DCreate9Ex entry point. Second, it might be advantageous for some applications to not have a load time dependency on D3D9. I didn't address this for D3DX9 because it's a little harder - there's no clear way to determine which D3DX9_x.DLL library to open. At least D3DX9_x.DLL does not seem to import D3D9.DLL and D3DX is separately redistributable so there is still some advantage to be had.
Review URL: http://codereview.appspot.com/1951044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@384 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6ad6ce8d
|
2010-08-12T00:16:16
|
|
Fixed Display::initialize so it does not crash for devices that do not support PS 2.0.
The crash occurs when createDevice attempts to dereference mD3d9, which is NULL.
Review URL: http://codereview.appspot.com/1956042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@382 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
37fa3c8e
|
2010-07-28T19:21:21
|
|
Removes Windows-style line endings from Display.cpp
TRAC #12714
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@366 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
da6e263c
|
2010-07-28T19:21:18
|
|
Support window resizing
TRAC #12660
Automatically resize the D3D swap chain when the eglSwapBuffers is called and the presentation window has changed size.
Also change D3D device init to be performed once when the Display is created using a hidden 1x1 window.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@365 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0d25b005
|
2010-07-28T19:21:07
|
|
Create shared contexts.
TRAC #12498
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@363 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
b75e523a
|
2010-07-28T19:13:47
|
|
Use TestCooperativeLevel instead of ValidateDevice to check for device loss.
TRAC #12547
ValidateDevice checks for correct rendering state as well, which we don't need.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@354 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
353569a9
|
2010-06-24T13:02:12
|
|
Eliminates redundant calls to GetDeviceCaps
TRAC #12283
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@339 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7d3849bd
|
2010-06-08T16:07:55
|
|
Fix build when a project patch contains spaces
Trac #11553
With improvements so it works in release mode and on Win7 as well.
Original-Author: Jim Hauxwell
git-svn-id: https://angleproject.googlecode.com/svn/trunk@334 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e37888d1
|
2010-05-27T16:45:46
|
|
Add support for various egl Get methods
Trac #12375
This patch stores the current READ/DRAW and display in the context and
allows these eglGets to work.
Original-Author: Jim Hauxwell <james@dattrax.co.uk>
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@321 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5ac5dd25
|
2010-05-27T15:02:27
|
|
Correct the eglMakeCurrent return value on lost context (syntax)
TRAC #11233
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@320 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
81655a72
|
2010-05-20T19:18:17
|
|
Use instancing for non-array vertex attributes.
TRAC #12303
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@314 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c6c6f027
|
2010-05-20T19:18:00
|
|
Report an EGL_CONTEXT_LOST error on D3DERR_DEVICELOST
Trac #11233
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@311 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8b9f4cc8
|
2010-05-20T19:17:35
|
|
Fix FORCE_REF_RAST definition
TRAC #12343
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@307 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
741a588e
|
2010-05-20T19:17:29
|
|
Add defines to enable the reference rasterizer
TRAC #12343
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@306 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
178adff7
|
2010-05-18T18:52:04
|
|
Give sorted configs a unique ID without changing the original set
TRAC #12323
This fixes building on Visual C++ 2010, which has const iterators for STL sets as specified by C++0x.
Signed-off-by: Shannon Woods
Singed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@302 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
15a4d2ef
|
2010-05-18T18:51:34
|
|
Explicitly set optimizations to /O2 in Release build
TRAC #12287
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@297 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5a722c7f
|
2010-05-18T18:51:26
|
|
Disable checked STL iterators in Release build
TRAC #12287
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@296 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e7273f4e
|
2010-05-18T18:51:17
|
|
Inline any suitable function in Release build
TRAC #12287
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@295 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6a94b97d
|
2010-05-13T02:02:34
|
|
eglChooseConfig must return filtered size when configs is NULL.
TRAC #12234
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@275 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2c42c6c3
|
2010-05-12T16:51:11
|
|
eglInitialize must not update major and minor if they are NULL.
TRAC #12235
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@269 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
73248ecc
|
2010-05-12T03:40:40
|
|
Mark configs with a format different from the display mode as conformant
TRAC #12197
EGL_NON_CONFORMANT_CONFIG is not a flag, and these configs do pass conformance on all tested devices.
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@262 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
db1afef6
|
2010-05-11T02:29:31
|
|
Improve performance in Surface::swap
TRAC #12145
- Create the flip RT texture once.
- Use state blocks for swap and restore all previous state.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@256 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
616ffcf4
|
2010-05-07T19:01:49
|
|
Optimized getPresentInterval
TRAC #12180
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@252 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d091b198
|
2010-05-07T19:01:47
|
|
Mark configs with a format different from the display mode as non-conformant
TRAC #12197
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@251 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d1f6fdeb
|
2010-05-07T19:01:43
|
|
Don't enumerate configs for depth/stencil formats not supported by any hardware
TRAC #12197
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@250 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
adf02846
|
2010-05-07T13:03:33
|
|
Clarify config enumeration
TRAC #12170
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@247 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f2f8d3c9
|
2010-05-05T18:49:29
|
|
Don't use a depth buffer on swap
TRAC #12160
This prevents the draw call from failing when the depth buffer isn't as large as the render target.
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@238 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b9ab9a29
|
2010-05-05T18:48:40
|
|
Output final .lib and .dll files to the top-level lib/ folder
Trac #11499
Signed-off-by: Andrew Lewycky
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@236 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b6bd727d
|
2010-05-05T18:48:22
|
|
Implemented eglSwapInterval
TRAC #12137
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@235 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fc23fe28
|
2010-05-05T18:48:17
|
|
Fixed retrieving a render target interface and not releasing it
TRAC #12149
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@234 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c9def0b6
|
2010-05-05T18:48:06
|
|
Reset mSceneStarted on Reset
TRAC #12139
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@233 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ae072afe
|
2010-05-05T18:47:28
|
|
Minimize BeginScene / EndScene calls
TRAC #12139
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@231 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c28e76be
|
2010-05-05T18:47:16
|
|
Fix config depth bits and centralize device type control
TRAC #12120
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@230 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ce3d0f2f
|
2010-05-04T03:35:14
|
|
Implemented eglGetProcAddress
TRAC #12102
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@223 736b8ea6-26fd-11df-bfd4-992fa37f6226
|