summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Fix frame_rate_tests for Vista.jbates@chromium.org2011-11-111-4/+3
| | | | | | | | | | | | chrome on Vista uses accelerated canvas even without accelerated compositing. So to force software, we need --disable-accelerated-2d-canvas. Additionally, to avoid potential flakiness, moved the check from context creation success to actual swap buffers - that way if someone creates a context without drawing, it will not trigger. BUG=103956 Review URL: http://codereview.chromium.org/8491056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109727 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb through EGL_NV_post_sub_buffer and GLX_MESA_copy_sub_buffer.backer@chromium.org2011-11-1112-0/+137
| | | | | | | | | | These two extensions allow a partial swap: just pushing part of the backbuffer to the front buffer. This will allow the WK compositor to push a partial update to the screen instead of a full frame update (https://bugs.webkit.org/show_bug.cgi?id=70533). We should be able to do something similar for TOUCHUI ImageTransportSurfaces (hence the hooks into GLSurface and the glPostSubBufferCHROMIUM command). Review URL: http://codereview.chromium.org/8512005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109625 0039d316-1c4b-4281-b951-d872f2087c98
* Allow deleted resources to be usedgman@chromium.org2011-11-1112-66/+327
| | | | | | | | | | | | | | | | | | | This is to make the command buffer more OpenGL ES 2.0 spec compliant. Not that to work around bugs in drivers we will likely have to change all or some resources to not actually get deleted until the last reference is freed. That can wait for another CL TEST=unit tests and ran both ES and WebGL conformance tests BUG=102412 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/8515023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109612 0039d316-1c4b-4281-b951-d872f2087c98
* Move flush call after resource deletion into SharedIdHandlerjamesr@chromium.org2011-11-101-6/+3
| | | | | | | | | | | | | | The SharedIdHandler is the only id allocator that makes client ids available to other contexts in the share group, so it's the only one that needs a Flush() call on resource deletion. Additionally it only needs a command buffer level flush to ensure execution order and not a glFlush(). BUG=none Review URL: http://codereview.chromium.org/8508043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109472 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor id_handler set in GLES2Implementationjamesr@chromium.org2011-11-105-59/+99
| | | | | | | | | | | I plan to add some logic that will apply to all id handlers, so having these in an array instead of 5 separate objects. BUG=none Review URL: http://codereview.chromium.org/8508034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109450 0039d316-1c4b-4281-b951-d872f2087c98
* add "did it run on GPU" check to frame_rate_tests.cc using AutomationProxy ↵jbates@chromium.org2011-11-101-0/+4
| | | | | | | | | | tracing feature BUG=95714 Review URL: http://codereview.chromium.org/7982007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109368 0039d316-1c4b-4281-b951-d872f2087c98
* Removed old code related to unimplemented ↵apatrick@chromium.org2011-11-091-34/+0
| | | | | | | | | GL_CHROMIUM_copy_texture_to_parent_texture and GL_CHROMIUM_latch. Not sure how I missed these first time around... Review URL: http://codereview.chromium.org/8481014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109164 0039d316-1c4b-4281-b951-d872f2087c98
* Sync with the NSPR headers on OpenBSD and use OS_* definesrobert.nagy@gmail.com2011-11-071-3/+3
| | | | | | | | | | | | | since we have to include build_config.h anyways BUG= TEST= Review URL: http://codereview.chromium.org/8342001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108940 0039d316-1c4b-4281-b951-d872f2087c98
* Check for extension before using ANGLE_translated_shader_sourcejbauman@chromium.org2011-11-053-3/+9
| | | | | | | | | | | | We should probably make as small a number of assumptions about what ANGLE supports as possible. BUG=100980 TEST= Review URL: http://codereview.chromium.org/8419001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108777 0039d316-1c4b-4281-b951-d872f2087c98
* Stop validating GLSL shaders in glShaderSorucegman@chromium.org2011-11-055-222/+0
| | | | | | | | | | | | | | | | | | This was making it impossible to pass the OpenGL ES 2.0 conformace tests as they don't actually follow the spec 100%. The shader translator already makes sure bad stuff doesn't happen so this isn't needed. TEST=ran opengl es 2.0 conformance tests BUG=none R=jbauman@chromium.org Review URL: http://codereview.chromium.org/8480010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108771 0039d316-1c4b-4281-b951-d872f2087c98
* Added ReleaseCurrent to GLES2CmdDecoder.apatrick@chromium.org2011-11-043-14/+12
| | | | | | | | | I need it for http://codereview.chromium.org/8060045/ Also enabled the SwapBuffers callback on all platforms for he same reason. Review URL: http://codereview.chromium.org/8430042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108604 0039d316-1c4b-4281-b951-d872f2087c98
* GLES2CmdDecoder uses LOG instead of DLOG to output GL commands.apatrick@chromium.org2011-11-031-1/+1
| | | | | | Review URL: http://codereview.chromium.org/8438050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108500 0039d316-1c4b-4281-b951-d872f2087c98
* Defer clearing textures and renderbuffersgman@chromium.org2011-11-0216-575/+2066
| | | | | | | | | | | | | | Textures and Renderbuffers are now cleared at the last possible moment. This allows them to be cleared only when absolutely necessary. TEST=unit tests BUG=99554 Review URL: http://codereview.chromium.org/8341128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108226 0039d316-1c4b-4281-b951-d872f2087c98
* Added booleans that indicate which GL extensions are available.apatrick@chromium.org2011-11-011-2/+2
| | | | | | | This is because some implementations of eglGetProcAddress do not return null for entry points that are not available. This gives a convenient and efficient way of determining whether a particular entry point can be called. Review URL: http://codereview.chromium.org/8416054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108153 0039d316-1c4b-4281-b951-d872f2087c98
* Make DeleteFramebuffer rebind fbo backbuffergman@chromium.org2011-11-014-10/+50
| | | | | | | | | | | | | | | Note: This is a kind of temporary fix. The fill fix is tracked in issue 102412 TEST=unit tests BUG=none R=alokp@chromium.org Review URL: http://codereview.chromium.org/8387045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108070 0039d316-1c4b-4281-b951-d872f2087c98
* Expose the sandbox related code through the content API. I did a bit of ↵jam@chromium.org2011-10-295-5/+30
| | | | | | | | | | | | | cleanup while I was doing this. -got rid of SandboxInitWrapper, since I didn't see a need to expose given that we can just expose sandbox::SandboxInterfaceInfo -got rid of the duplicated code to initialize the broker -since I made MainFunctionParams only have the sandbox struct on Windows, I also made the mac specific auto release pool behind an ifdef as well. It seemed odd to make something so mac specific compile on all platforms to save some #ifdefs. BUG=98716 Review URL: http://codereview.chromium.org/8414020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107863 0039d316-1c4b-4281-b951-d872f2087c98
* Strip comments from shader before checking for invalid charactersgman@chromium.org2011-10-275-1/+223
| | | | | | | | | | BUG=101870 TEST=unit tests Review URL: http://codereview.chromium.org/8404029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107631 0039d316-1c4b-4281-b951-d872f2087c98
* Split GL binding init into core and extension partjoth@chromium.org2011-10-274-43/+700
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change splits the GL binding initialization into to phases: core functions and extension functions. This is motivated by two peculiarities of the EGL window binding layer: 1. Pointers to core GL entry points may not be queried through eglGetProcAddress(). 2. The return value of eglGetProcAddress() is not specified to be NULL for unsupported functions. In light of these limitations, the current strategy of blindly querying all GL entry points from eglGetProcAddress() and falling back to dlsym() results in bogus function pointers on some EGL implementations. This patch fixes the problem as follows: 1. Add GetGLCoreProcAddress() that only queries dlsym() and use it to initialize pointers to all entry points. On EGL based platforms pointers to extension functions will most likely be NULL at this point. 2. When a context is first made current, look up the set of supported extensions and use GetGLProcAddress() to populate the remaining extension function pointers. The reworked GL bindings generator uses the standard Khronos headers to recognize the extension functions and produce appropriate initialization code. Note that the patch also updates gl2ext.h to match the upstream Khronos version and corrects some minor errors in the downstream changes. BUG=5427391 TEST= Review URL: http://codereview.chromium.org/8381001 Patch from Sami Kyostila <skyostil@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107602 0039d316-1c4b-4281-b951-d872f2087c98
* Make GLES2Implementation use a larger chunk size for mapping functions.gman@chromium.org2011-10-275-2/+49
| | | | | | | | | | | | | This will make it allocate less shared memory blocks resulting in less file descriptors. BUG=none TEST=unit tests Review URL: http://codereview.chromium.org/8340003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107544 0039d316-1c4b-4281-b951-d872f2087c98
* GpuScheduler can unschedule a command buffer until the GPU has made progress ↵apatrick@chromium.org2011-10-252-1/+91
| | | | | | | | | | | | up to a fence. Other command buffers on the channel can still be processed but if any more calls are issued on the unscheduled command buffer, the entire channel is unscheduled. This prevents reordering of GL commands wrt flushes. It'll be used by this: http://codereview.chromium.org/8060045/ Review URL: http://codereview.chromium.org/8387008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107154 0039d316-1c4b-4281-b951-d872f2087c98
* Rename setVisibility to setVisibilityCHROMIUM and expose as ↵nduca@chromium.org2011-10-251-0/+1
| | | | | | | | GL_CHROIMIUM_set_visibility extension. Review URL: http://codereview.chromium.org/8373006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107034 0039d316-1c4b-4281-b951-d872f2087c98
* Add GLES2Implemention::FreeUnusedSharedMemorygman@chromium.org2011-10-249-5/+102
| | | | | | | | | | | | | | This is to help get the compositor free memory when appropritate BUG=none TEST=unit tests R=vangelis@chromium.org Review URL: http://codereview.chromium.org/8369010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106987 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust workaround for mipmap-related OpenGL implementation bug on Mac OS X.kbr@chromium.org2011-10-212-3/+6
| | | | | | | | BUG=101105 TEST=GPU unit tests; manually ran WebGL conformance test textures/texture-mips.html on NVIDIA and AMD GPUs on Mac OS Review URL: http://codereview.chromium.org/8363016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106747 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 106634 - Adjust workaround for mipmap-related OpenGL implementation ↵kbr@chromium.org2011-10-211-5/+2
| | | | | | | | | | | | | bug on Mac OS X. BUG=101105 TEST=manually ran WebGL conformance test textures/texture-mips.html on NVIDIA and AMD GPUs on Mac OS Review URL: http://codereview.chromium.org/8365018 TBR=kbr@chromium.org Review URL: http://codereview.chromium.org/8362019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106638 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust workaround for mipmap-related OpenGL implementation bug on Mac OS X.kbr@chromium.org2011-10-201-2/+5
| | | | | | | | BUG=101105 TEST=manually ran WebGL conformance test textures/texture-mips.html on NVIDIA and AMD GPUs on Mac OS Review URL: http://codereview.chromium.org/8365018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106634 0039d316-1c4b-4281-b951-d872f2087c98
* Roll skia to r2506.bsalomon@google.com2011-10-201-0/+23
| | | | | | Review URL: http://codereview.chromium.org/8360002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106524 0039d316-1c4b-4281-b951-d872f2087c98
* Make command buffer validate glRenderbufferStorage width and heightgman@chromium.org2011-10-199-26/+127
| | | | | | | | | | TEST=unit tests BUG=86815 Review URL: http://codereview.chromium.org/8342023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106388 0039d316-1c4b-4281-b951-d872f2087c98
* Make OpenGL string entry points validate the stringgman@chromium.org2011-10-182-18/+96
| | | | | | | | | | | | BUG=69808 TEST=unit tests R=apatrick@chromium.org Review URL: http://codereview.chromium.org/8345003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106111 0039d316-1c4b-4281-b951-d872f2087c98
* Last straw for translated_shader_source extension.zmo@google.com2011-10-171-0/+2
| | | | | | | | | | While hooking up with webkit side of this extension, I realized something is missing. So this CL is the fix. BUG=95531 TEST=tested with the webkit side CL Review URL: http://codereview.chromium.org/8294002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105969 0039d316-1c4b-4281-b951-d872f2087c98
* Check for NULL from GetBucketgman@chromium.org2011-10-172-1/+61
| | | | | | | | | | | | There were a few places in the code that needed to check for NULL TEST=unit tests BUG=58468 Review URL: http://codereview.chromium.org/8320007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105920 0039d316-1c4b-4281-b951-d872f2087c98
* Make GPU_DCHECK* keep reference to passed variables pph34r@gmail.com2011-10-141-37/+37
| | | | | | | | | | | | | to avoid unused variable warnings in release build. BUG=87490 TEST=None Review URL: http://codereview.chromium.org/8271002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105432 0039d316-1c4b-4281-b951-d872f2087c98
* Support dynamic switching between integrated and discrete GPUs on Mac OS X.kbr@chromium.org2011-10-132-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Chrome to allocate most OpenGL contexts with the kCGLPFAAllowOfflineRenderers flag, and specify NSSupportsAutomaticGraphicsSwitching in the Info.plist for the main executable and helper apps. This keeps Chrome on the integrated GPU except when using WebGL, accelerated 2D Canvas, Pepper 3D, and Core Animation-based plugins (except Flash). Chrome shares resources between OpenGL contexts in order to display WebGL and other content in the compositor, and resource sharing doesn't work between contexts allocated on different GPUs. Therefore, when the first context for a given renderer requests the discrete GPU, the channel is dropped and all contexts are reallocated on the discrete GPU. Similarly, when the last context requesting the discrete GPU for a given renderer is shut down, all contexts are dropped and reallocated on the integrated GPU. Currently dynamic GPU switching is only supported on the latest Mac OS X 10.7 update and MacBook Pros with dual AMD / Intel GPUs, though this will improve in future OS updates. Tested with WebGL, CSS 3D, Flash and Unity3D content and observed desired GPU switching behavior. Also added a layout test to WebKit under https://bugs.webkit.org/show_bug.cgi?id=69776 which when run in Chrome catches an assertion failure related to the destruction of contexts. The intent is to add it as a UI layout test on the GPU bots. BUG=88788 TEST=none Review URL: http://codereview.chromium.org/8233027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105399 0039d316-1c4b-4281-b951-d872f2087c98
* Change the enum GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE to the assigned value.zmo@google.com2011-10-133-3/+3
| | | | | | | | | | The ANGLE side change is in r785, thus, roll ANGLE from r784 to r785. BUG=none TEST=tree green Review URL: http://codereview.chromium.org/8252012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105329 0039d316-1c4b-4281-b951-d872f2087c98
* Make command buffer limit cubemaps to 512x512 on Intel on OSXgman@chromium.org2011-10-134-3/+74
| | | | | | | | | | | | | This is to work around bug where cubemaps larger than 512x512 have errors on all Intel macs up to and including OSX 10.7.2 TEST=none BUG=99424 Review URL: http://codereview.chromium.org/8227030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105234 0039d316-1c4b-4281-b951-d872f2087c98
* GPU service understands size of GL_UNSIGNED_INT pixel data type.apatrick@chromium.org2011-10-122-0/+4
| | | | | | | | | It is needed for the GL_GOOGLE_depth_texture extension. BUG=99860 Review URL: http://codereview.chromium.org/8241020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105164 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that a ContextGroup is not destroyed if it was not correctly initialized.apatrick@chromium.org2011-10-101-2/+6
| | | | | | | | | The counting of contexts in the group was out of sync, causing an assertion in release builds. BUG=97775 Review URL: http://codereview.chromium.org/8205021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104791 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that ContextGroup is destroyed when an appropriate GL context is current.apatrick@chromium.org2011-10-055-35/+66
| | | | | | | | | | | Before it relied on the destructor being invoked and this was not always true. I think the subsequent invalid GL commands might have caused memory corruption that lead to the bug referenced below. Now the ContextGroup is destroyed explicitly when the context is known to be correct. BUG=97775 Review URL: http://codereview.chromium.org/8135014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104157 0039d316-1c4b-4281-b951-d872f2087c98
* Implement 'ANGLE_translated_shader_source' extension in command-buffer.zmo@google.com2011-10-0518-5/+192
| | | | | | | | | | | | This works with ANGLE r780. So if it's on top of ANGLE, query the translated HLSL using ANGLE's GetTranslatedShaderSource extension; otherwise, return the cached translated shader source from ANGLE shader translator. BUG=95531 TEST=unittest Review URL: http://codereview.chromium.org/8120020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104036 0039d316-1c4b-4281-b951-d872f2087c98
* From comment:apatrick@chromium.org2011-10-031-0/+9
| | | | | | | | | | | | | | | | | | // TODO(apatrick): Attempt to diagnose crbug.com/97775. If SwapBuffers is // never called on an offscreen context, no data will ever be uploaded to the // saved offscreen color texture (it is deferred until to when SwapBuffers // is called). My idea is that some nvidia drivers might have a bug where // deleting a texture that has never has not been populated might cause a // crash. In the context of bug 97775, the uptime is very short. It is possible that SwapBuffers is never being called on the view context, which on mac is actually an offscreen context. This is a bit a shot in the dark but I haven't reproduced it. BUG=97775 Review URL: http://codereview.chromium.org/8089006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103746 0039d316-1c4b-4281-b951-d872f2087c98
* Add an additional feature to GLES2DecoderImpl that is used to force the ↵twiz@chromium.org2011-10-031-9/+63
| | | | | | | | | | | | | | | context to obey WebGL feature semantics. The 'force_webgl_glsl_validation' flag is used to override the FeatureInfo parameters of the context group. This change enables all extensions for WebGL contexts, in preparation for allowing resource sharing with the compositor. BUG=96605 TEST=https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html Review URL: http://codereview.chromium.org/7782038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103724 0039d316-1c4b-4281-b951-d872f2087c98
* External stream texture support.sievers@chromium.org2011-09-2832-78/+774
| | | | | | | | | | | | | | | | | | | | | | This adds a GL_CHROMIUM_stream_texture extension with an abstract interface that can be used to allow a consumer to render from a stream of textures being produced externally. It adds the following functionality: * GLuint glCreateStreamTextureCHROMIUM(GLuint texture) This API takes a texture id and creates a StreamTexture object associated with the texture in the GPU process that can be implemented in a platform-specific way. The returned handle is supposed to identify the stream endpoint. Connecting this to a producer is outside the scope of this change. * GLvoid glDestroyStreamTextureCHROMIUM(GLuint texture) Deletes the StreamTexture object associated with the texture and marks the texture as not special anymore. * BindTexture() will invoke method StreamTexture::Update() if the target is GL_TEXTURE_EXTERNAL_OES and the texture is marked as 'stream texture'. TEST=added unit tests Review URL: http://codereview.chromium.org/7754033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103191 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 102978 - Change X11 error handler override to allow easy X11 error ↵dominich@chromium.org2011-09-2711-61/+27
| | | | | | | | | | | | | | | checking. BUG=None TEST=None Review URL: http://codereview.chromium.org/7889040 TBR=dominich@chromium.org Review URL: http://codereview.chromium.org/8052015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102985 0039d316-1c4b-4281-b951-d872f2087c98
* Change X11 error handler override to allow easy X11 error checking.dominich@chromium.org2011-09-2711-27/+61
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7889040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102978 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue with unused mips.gman@chromium.org2011-09-272-9/+36
| | | | | | | | | | | | | | | | | | | | The bug was 1) Create a texture with N mips (4x4, 2x2, 1x1) 2) Then update the texture to use less than N mips (2x2, 1x1) etc. The code would incorrectly look at the unused mips in determining whether or not the texture was renderable. TEST=unit test BUG=97207 R=zmo@chromium.org Review URL: http://codereview.chromium.org/8041048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102967 0039d316-1c4b-4281-b951-d872f2087c98
* Roll skia to 2303bsalomon@google.com2011-09-221-0/+3
| | | | | | Review URL: http://codereview.chromium.org/7977031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102366 0039d316-1c4b-4281-b951-d872f2087c98
* Code cleanup: rename DisallowedExtensions to DisallowedFeature.zmo@google.com2011-09-2213-31/+31
| | | | | | | | BUG=none TEST=bots green Review URL: http://codereview.chromium.org/7979031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102213 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes issues where WGC3D based on OSMesa GL implementation isn't allowing ↵bsalomon@google.com2011-09-211-5/+3
| | | | | | | | | | OES extensions that are supported. TEST=none BUG=none Review URL: http://codereview.chromium.org/7980034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102135 0039d316-1c4b-4281-b951-d872f2087c98
* Turn on glsl built-in function emulation in ANGLE shader translator.zmo@google.com2011-09-206-23/+89
| | | | | | | | | | | | At the moment we need to turn it on for ATI/Mac and also Windows/D3D. Also, added the switch to turn of driver bug workaround, although this CL doesn't hook it up with all workarounds yet. BUG=96293 TEST=failing webgl glsl feature tests passing, with the switch, these tests fail. Review URL: http://codereview.chromium.org/7923002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101880 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 101545 - Moved code not relating to GPU scheduling out of ↵apatrick@chromium.org2011-09-2021-1353/+149
| | | | | | | | | | | | | | | | | | GpuScheduler and into GpuCommandBufferStub. Reason for revert: Compile failure on Arm. This was mostly a refactor because the code was awkward. I also deleted the original gles2_demo since we have the gles2 book demos now. THings still to do are a common way of setting up the few objects involved in initializing a command buffer that is now more-or-less duplicated in the gles2 conformance tests, the gles2 demos, the command buffer stub and the in-process webgl context. I also want to completely remove the reference to the decoder from the scheduler. I tested WebGL on both windows and mac and saw no regressions. I checked the conformance tests, the gpu tests and am running by the try bots now. The gles2 demos still work. Review URL: http://codereview.chromium.org/7782041 Review URL: http://codereview.chromium.org/7951008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101873 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 101545 - Moved code not relating to GPU scheduling out of ↵rsimha@chromium.org2011-09-1621-149/+1353
| | | | | | | | | | | | | | | | | | | | GpuScheduler and into GpuCommandBufferStub. Reason for revert: Compile failure on Arm. This was mostly a refactor because the code was awkward. I also deleted the original gles2_demo since we have the gles2 book demos now. THings still to do are a common way of setting up the few objects involved in initializing a command buffer that is now more-or-less duplicated in the gles2 conformance tests, the gles2 demos, the command buffer stub and the in-process webgl context. I also want to completely remove the reference to the decoder from the scheduler. I tested WebGL on both windows and mac and saw no regressions. I checked the conformance tests, the gpu tests and am running by the try bots now. The gles2 demos still work. Review URL: http://codereview.chromium.org/7782041 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7920015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101547 0039d316-1c4b-4281-b951-d872f2087c98