summaryrefslogtreecommitdiffstats
path: root/ppapi/examples/gles2
Commit message (Collapse)AuthorAgeFilesLines
* Implement proper synchronization between HW video decode IPC and CommandBuffer.fischman@chromium.org2011-06-291-17/+1
| | | | | | | | | | | | | | | | | This is done by inserting tokens into the command-buffer stream when synchronization is needed, and adding a last-read/last-written token pair to each IPC message. This allowed me to remove the bogus FinishGL() calls from the gles2 sample pepper plugin. As part of this CL, the return value for VideoDecodeAccelerator::{Decode,Flush,Abort} changed from bool to void. These are all async methods so errors ought to be signaled using callbacks. BUG=none TEST=gles2 works, no crashes; trybots Review URL: http://codereview.chromium.org/7260008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90971 0039d316-1c4b-4281-b951-d872f2087c98
* Fix PPB_VideoDecoder_Impl::NotifyEndOfBitstreamBuffer to use correct ID.fischman@chromium.org2011-06-211-18/+34
| | | | | | | | | | | | | | | Enhanced gles2.cc sample plugin to have multipe decodes outstanding at a time, and assert that we get back from the decode API exactly the bitstream buffers we sent to it. This CL is relative to http://codereview.chromium.org/7200033/ which must land first. BUG=86235 TEST=gles2 sample plugin completes correctly even with concurrent Decode()s. Review URL: http://codereview.chromium.org/7204038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89779 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crashes when loading gles2.cc on browser startup, and during playback.fischman@chromium.org2011-06-211-17/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Startup crash was being caused by deleting the Context3D object out from under a running OmxVideoDecodeAccelerator, which would trigger a SEGV in the GPU process, which would cause a Graphics3DContextLost callback to be fired on the plugin, which is implemented as an assert(false). The delete that kicked all this off was not actually necessary, so removed it. During-playback crash was being caused by a lack of synchronization between the GPU command buffer mechanism and the PPAPI impl IPC mechanism (triggered much more commonly in DEBUG mode, which explains why these weren't seen so much before). While debugging this cleaned up and documented some of the bogusity I found that I didn't want to clean all in one CL: - Emit type of unhandled message in GpuChannel, and document TODO to fix poor code structure that confused me. - Emit EGL error code on CHECK-failures in EGL<->GLES translator. - Simplify GpuVideoService a bit and remove redundant map lookups. - Fix ppapi_tests.gypi: my r89636 was too ambitious and ran into the limits of my understanding of .gyp. This version is less factored but has the benefit of producing actually-working example plugins. BUG=none TEST=manually running gles2.{html,cc} works every time. No crashes. Review URL: http://codereview.chromium.org/7200033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89775 0039d316-1c4b-4281-b951-d872f2087c98
* Uncomment PPAPI examples to prevent bit-rot.fischman@chromium.org2011-06-201-0/+6
| | | | | | | | | | BUG=none TEST=build all newly uncommented targets Review URL: http://codereview.chromium.org/7204017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89636 0039d316-1c4b-4281-b951-d872f2087c98
* Modify PPAPI GLES2 example to be an example of VideoDecode_Dev APIvrk@google.com2011-06-153-75/+12948
| | | | | | | | | BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7150005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89117 0039d316-1c4b-4281-b951-d872f2087c98
* Create a super-simple PPAPI demo plugin exercising GLES2 functionality.fischman@chromium.org2011-04-112-0/+154
Hopefully useful to future plugin authors who need to use GL as a rendering engine. BUG=none TEST=manual Review URL: http://codereview.chromium.org/6825003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81166 0039d316-1c4b-4281-b951-d872f2087c98