|
64c83249
|
2014-05-06T10:49:24
|
|
Remove references to software rendering in Renderer9.
BUG=angle:641
Change-Id: I3724c2504d43eae0528e8c72eb51e96c9d7c7a71
Reviewed-on: https://chromium-review.googlesource.com/198377
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3dc300a5
|
2014-01-28T15:30:35
|
|
Allow creating fixed-size window surfaces.
BUG=320021
Change-Id: I97cdd65ac17ee142700dbf0f363891500e967571
Reviewed-on: https://chromium-review.googlesource.com/184205
Reviewed-by: John Bauman <jbauman@chromium.org>
Tested-by: John Bauman <jbauman@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/190563
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
|
|
a081df82
|
2013-06-21T09:15:39
|
|
Fix missing spaces in the Display extensions string.
TRAC #23397
Signed-off-by: Shannon Woods
Authored-by: Jamie Madill
|
|
7d9f7bea
|
2013-05-30T00:20:51
|
|
Advertise EGL_KHR_create_context so dEQP can successfully create an ES3 context.
We will need to investigate fully supporting this extension in the future.
TRAC #23089
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2407 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6e4f2a6b
|
2013-05-30T00:15:19
|
|
Add adapter LUID to EGL vendor string.
This is so Chrome can create another D3D device on the same adapter that can
share resources with ANGLE's D3D device.
Review URL: https://codereview.appspot.com/9225046
SVN URL: https://code.google.com/p/angleproject/source/detail?r=2210
TRAC #23166
Signed-off-by: Shannon Woods
Signed-off-by: Geoff Lang
Merged-by: Jamie Madill
Author: apatrick@chromium.org
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2367 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a2ecfccc
|
2013-05-30T00:11:59
|
|
Moved utilities.h/cpp and mathutils.h to the shared common code folder.
The HLSL translator needs to compute the sizes of various GL types for computing block layouts.
TRAC #22930
Signed-off-by: Nicolas Capens
Signed-off-by: Geoff Lang
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2342 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
eff3a127
|
2013-05-30T00:10:04
|
|
Control the creation of DX9 or DX11 renderers through eglGetDisplay.
TRAC #23029
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2328 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2104d93a
|
2013-04-13T03:38:46
|
|
Only support ES3 contexts on Shader Model 4+ hardware.
TRAC #22854
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2126 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8bce3f59
|
2013-04-13T03:35:32
|
|
Add SwapChain::recreate for dealing with certain cases of lost devices.
See https://code.google.com/p/angleproject/source/detail?r=1993
TRAC #22826
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2107 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
daea4b45
|
2013-04-13T03:28:54
|
|
eglCreateContext passes the client version to the context. gl::Context stores the client version to validate gl function parameters.
TRAC #22694
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2067 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
486d9e9b
|
2013-02-28T23:15:41
|
|
Remove a lot of unnecessary include files and break include chains.
This should speed up incremental compile times when modifying headers, by reducing the number of dependencies.
TRAC #22518
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1937 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8d2f086a
|
2013-02-28T23:09:19
|
|
Only advertise postSubBuffer extension if we can actually present less than the whole buffer.
This is not available in D3D11, though it is added in D3D11.1.
TRAC #22506
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1892 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
779aa261
|
2013-02-28T23:04:58
|
|
Enclose error(GLint) and error(EGLint) into gl and egl namespaces.
This should generate a compile time error if we try to call the wrong function.
TRAC #22411
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1856 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
eb049e2c
|
2013-02-28T23:04:49
|
|
Move the call to notify device lost to the Renderer.
TRAC #22411
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1855 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
03d39094
|
2012-11-28T19:31:59
|
|
Pass the Renderer to the Context at construction time
TRAC #22000
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1402 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c1e26341
|
2012-11-28T19:31:16
|
|
Create a Direct3D 11 device, if enabled and available.
TRAC #21925
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1399 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
cfa8efdf
|
2012-11-28T19:30:55
|
|
Moved declarations of EGL dependencies to main.h.
TRAC #21925
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1397 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
76d3e6e0
|
2012-10-31T19:55:33
|
|
Rename renderer namespace to rx
Trac #21999
Author: Shannon Woods
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1379 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bdfb3914
|
2012-10-31T19:55:21
|
|
Explicitly retrieve a Renderer9 or Renderer interface from Display.
TRAC #21963
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1377 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
114bd460
|
2012-10-31T18:42:47
|
|
Remove min/max swapinterval from Display. Get from Renderer if needed.
Trac #21810
Signed-off-by: Nicolas Capens
Also have the Surface explicitly hang onto the Renderer
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1353 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3281f97d
|
2012-10-31T18:38:51
|
|
Moves Config generation to Renderer.
TRAC #21819
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1350 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
106e1f7b
|
2012-10-31T18:38:36
|
|
Removes D3D types from the Config class
TRAC #21819
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1347 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e7b2f056
|
2012-10-31T18:38:32
|
|
Temporarily adds format conversion functions to EGL.
TRAC #21819
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1346 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
21290e67
|
2012-10-31T18:38:28
|
|
Removes mConfig from Context, as it was only used for setting unused default values.
TRAC #21819
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1345 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
5f4c136e
|
2012-10-31T18:29:00
|
|
Removes D3DCaps from Context and Display, instead querying Renderer for support status.
TRAC #21611
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1339 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e4733d7e
|
2012-10-31T18:07:01
|
|
Move shader cache into Renderer
Trac #21727
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1333 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f688c0d1
|
2012-10-31T17:52:57
|
|
Make testDeviceLoss able to perform the notifications
Trac #21727
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1332 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ef21ab29
|
2012-10-31T17:52:47
|
|
Move query and sync support to Renderer
Trac #21727
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1331 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
313e3924
|
2012-10-31T17:52:39
|
|
Move Sharehandle support query to renderer
Trac #21727
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1330 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
621ce053
|
2012-10-31T17:52:29
|
|
Add Renderer class and move functionality from Display
Trac #21727
Conflicts:
src/libGLESv2/Texture.cpp
src/libGLESv2/libGLESv2.vcxproj
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1329 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0806cb27
|
2012-08-27T18:14:32
|
|
Disable npot texture support on AMD cards on XP.
We had been seeing some BSODs due to this.
BUG=
Review URL: https://codereview.appspot.com/6485058
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1264 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
3cfd7225
|
2012-07-13T22:36:58
|
|
Cache D3D vertex and pixel shader objects so they can be reused and shared by multiple contexts.
WebGL conformance tests did not regress. I verified they exercise the Blit code.
Review URL: https://codereview.appspot.com/6345105
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1225 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
07ab841a
|
2012-07-12T15:17:09
|
|
Implement Anisotropic Texture filtering support
Bug=297
Authored-by: Conor Dickinson, Cloud Party, Inc.
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1219 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
13be3e43
|
2012-07-04T19:16:24
|
|
Increase the maximum point size to what is reported by Direct3D.
TRAC #21121
Issue=345,305
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1191 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e32d5699
|
2012-05-31T01:14:22
|
|
Pass the usage parameter into TextureStorage instead of passing a boolean
Trac #20875
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1108 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1c49f79d
|
2012-05-31T01:14:02
|
|
Detect depth texture support using INTZ and NULL textures
Trac #20875
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1103 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
cca2b70b
|
2012-02-08T00:59:46
|
|
Create D3D device when eglInitialize is called.
This is because some GPUs / drivers are unable to create the device once the Chromium GPU process sandbox has been locked down and waiting for the first context / surface to be created is too late.
Review URL: https://codereview.appspot.com/5647046
git-svn-id: https://angleproject.googlecode.com/svn/trunk@983 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
6c762d08
|
2012-02-03T23:31:53
|
|
Disable getting share handles when PIX is enabled.
PIX doesn't seem to work with share handles, so disable them when we detect that pix is enabled.
BUG=
TEST=
Review URL: https://codereview.appspot.com/5625048
git-svn-id: https://angleproject.googlecode.com/svn/trunk@982 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c6f7f9d5
|
2012-01-27T15:40:00
|
|
Centralize detection of instancing support.
TRAC #19489
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@976 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bb5223d0
|
2012-01-24T13:38:10
|
|
Fix float texture support test
Trac #19573
Issue=281
Signed-off-by: Shannon Woods
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@957 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
86bdb824
|
2012-01-20T18:24:39
|
|
Adds support for EXT_occlusion_query_boolean
TRAC #19360
Signed-off-by: Daniel Koch
Authored-by: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@951 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2678b34b
|
2012-01-18T16:29:40
|
|
Changes the pointer from textures to their renderbuffer proxies to non-refcounted (2/2)
TRAC #19335
Issue=271
Instead, the texture maintains an internal refcount which causes the pointer to behave
kind of like a "weak" shared pointer-- its reference won't prevent the renderbuffer from
being deleted, but if the renderbuffer's refcount drops to zero, the texture should set
its pointer to the renderbuffer to null so that a new one can be created at the next
getRenderbuffer call.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@948 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f289ee8d
|
2012-01-11T20:03:29
|
|
Allocate D3D queries from a pool for the Display.
This is a workaround for an Intel bug.
The crash looks like this:
0x5f816c53 [d3d9.dll + 0x00036c53] CQuery::~CQuery()
0x5f816bec [d3d9.dll + 0x00036bec] CQuery::`vector deleting
destructor'(unsigned int)
0x5f7e8129 [d3d9.dll + 0x00008129] CBaseObject::~CBaseObject()
0x5f9e19c7 [libglesv2.dll + 0x000319c7] gl::Fence::`vector deleting
destructor'(unsigned int)
0x5f9de78e [libglesv2.dll - context.cpp:975] gl::Context::deleteFence(unsigned
int)
0x5f9e1491 [libglesv2.dll - context.cpp:198] gl::Context::~Context()
0x5f9e182f [libglesv2.dll - context.cpp:3936] glDestroyContext
0x717654ec [libegl.dll -
display.cpp:749] egl::Display::destroyContext(gl::Context *)
0x7176a3da [libegl.dll - libegl.cpp:907] eglDestroyContext
0x64fbaf33 [chrome.dll - gl_context_egl.cc:75] gfx::GLContextEGL::Destroy()
The vendor ID is always 8086 (Intel). Not an XP issue - it's happening on Win
7.
With this change, D3D queries are only released when the display is destroyed or reset or if a very high number of D3D queries have been allocated.
Tested by stepping exercising the NV_fence entry points in a debugger.
Review URL: http://codereview.appspot.com/5534065
git-svn-id: https://angleproject.googlecode.com/svn/trunk@941 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
a5ddde91
|
2012-01-10T23:00:07
|
|
Move Context::sync to Display::sync.
This is a workaround for an Intel bug.
The crash looks like this:
0x5f816c53 [d3d9.dll + 0x00036c53] CQuery::~CQuery()
0x5f816bec [d3d9.dll + 0x00036bec] CQuery::`vector deleting
destructor'(unsigned int)
0x5f7e8129 [d3d9.dll + 0x00008129] CBaseObject::~CBaseObject()
0x5f9e19c7 [libglesv2.dll + 0x000319c7] gl::Fence::`vector deleting
destructor'(unsigned int)
0x5f9de78e [libglesv2.dll - context.cpp:975] gl::Context::deleteFence(unsigned
int)
0x5f9e1491 [libglesv2.dll - context.cpp:198] gl::Context::~Context()
0x5f9e182f [libglesv2.dll - context.cpp:3936] glDestroyContext
0x717654ec [libegl.dll -
display.cpp:749] egl::Display::destroyContext(gl::Context *)
0x7176a3da [libegl.dll - libegl.cpp:907] eglDestroyContext
0x64fbaf33 [chrome.dll - gl_context_egl.cc:75] gfx::GLContextEGL::Destroy()
This is a crash in deleteFence but the same could happen in flush. Fix for the former to follow.
The vendor ID is always 8086 (Intel). Not an XP issue - it's happening on Win
7.
Tested by stepping through a call to glFinish in the debugger and ensuring that
it sleeps but eventually returns.
Review URL: http://codereview.appspot.com/5503094
git-svn-id: https://angleproject.googlecode.com/svn/trunk@940 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e19d8328
|
2011-12-13T17:30:48
|
|
Ensure the device states are reinitialized after a device Reset
Trac #19246
Issue=262
After a device lost the "mSceneStarted" variable was getting out
of sync and thus we were never restarting the scene before drawing.
It's probably best to ensure that any default states we need are
also set after a reset.
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@909 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f4490e22
|
2011-12-06T02:05:22
|
|
Implemented EGL_NV_post_sub_buffer.
The change to the sample is just to demonstrate how I tested it. I won't check in the stuff under samples/.
It's not clear to me what eglPostSubBufferNV should do if EGL_POST_SUB_BUFFER_SUPPORTED_NV is false. At the moment it fails silently as though it was called on the wrong surface type:
"If <surface> is a back-buffered surface, then the requested portion
of the color buffer is copied to the native window associated with
that surface. If <surface> is a single-buffered window, pixmap, or
pbuffer surface, eglSwapBuffers and eglPostSubBufferNV have no
effect."
Review URL: http://codereview.appspot.com/5345050
git-svn-id: https://angleproject.googlecode.com/svn/trunk@902 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
7a2fdc9c
|
2011-11-24T22:34:09
|
|
Avoid rendering the last pixel of lines.
Trac #19035
Issue=257
Author: Yuriy O'Donnell
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@891 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
59580a3d
|
2011-11-12T04:23:44
|
|
Used the MANAGED pool for non-renderable textures on XP.
TRAC #14743
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@874 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
8747f18f
|
2011-11-09T17:50:38
|
|
Advertise robustness extension strings.
Trac #18607
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@850 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
cf23c45f
|
2011-11-09T17:47:26
|
|
Disable automatic device resets when using reset notification.
TRAC #18607
Signed-off-by: Daniel Koch
Authors: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@849 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
4ff960d9
|
2011-11-09T17:47:09
|
|
Implemented context creation with reset notification.
TRAC #18607
Signed-off-by: Daniel Koch
Authors: Shannon Woods, Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@848 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
17f548cb
|
2011-11-09T17:47:02
|
|
Implemented reset status.
TRAC #18607
Signed-off-by: Daniel Koch
Authors: Shannon Woods, Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@847 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
09fcc9fe
|
2011-11-09T17:46:47
|
|
Notify the display of a lost device and mark all contexts lost.
TRAC #18606
Signed-off-by: Daniel Koch
Author: Shannon Woods
git-svn-id: https://angleproject.googlecode.com/svn/trunk@845 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bbeffbb6
|
2011-11-09T17:46:11
|
|
Be more explicit about floating-point format support.
TRAC #16284
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@839 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1043535e
|
2011-11-09T17:44:21
|
|
Call ResetEx on lost or hung Ex devices. Attempt calling Reset/ResetEx at most 3 times.
TRAC #18386
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@816 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
94910c9e
|
2011-11-09T17:44:15
|
|
Perform proper Reset sequence.
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@815 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
1a1fe249
|
2011-09-26T18:25:45
|
|
Sort EGL extension string
Trac #18320
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@768 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|