-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2015-10-21 um 12:13 schrieb Henri Verbeet:
I completely missed CopySubresourceRegion. This seems like a much better method to map UpdateSurface to than UpdateSubresource.
Complexities of managing that aside, that would always imply at least one copy of the data for d3d10+ updates.
Ya, the design of d3d10's update_sub_resource kinda implies a copy. You can of course try to call GL right away with the application-provided pointer, but then the driver is likely to make a copy internally unless it is really clever too. It seems better to me to do the copy ourselves, write into a client storage buffer object and then blame the driver if it still insists on making an internal copy.
Well yes, but the destination resource being busy generally implies the GPU being somewhat busy too. And in that case it isn't necessarily bad to spend some time on the CPU to copy the data.
Probably. Could also be because the worker thread is busy because the driver needs more CPU time than the game logic.
Either way, these things are fairly hypothetical at this point.