[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] CORS and resource provider awareness



Oh btw. this copy-on-write you can forget on mobiles anyway where you don't have endless gigabytes of client ram.

On Wed, Oct 31, 2012 at 6:37 PM, Florian Bösch <pyalot@gmail.com> wrote:
On Wed, Oct 31, 2012 at 5:36 PM, John Bauman <jbauman@chromium.org> wrote:
That's definitely one way to do it, but there are many other ways to implement that. For example doing a copy to another buffer on the CPU, or making a copy-on-write copy of the data. Otherwise, any code that uploaded data to the GPU during the course of a frame would be really slow.
It would be possible in theory for the driver to keep a cache of copied data around until the command queue catches up with that data. That approach has limitations where you could use this to just feed the driver data until it crashes with an out of memory segfault. That's why it's usually not done in any big way and major upload operations will be equivalent to finish. For uniforms there are mostly no blocks because those size is pretty strictly limited and the driver does avoid the finish with a copy operation. But for things like hundreds of megabytes of texel and vertex data... not really.