-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2013-11-25 12:02, schrieb Henri Verbeet:
On 24 November 2013 23:45, Stefan Dösinger stefandoesinger@gmail.com wrote:
Am 2013-11-24 11:30, schrieb Henri Verbeet:
Is there a good reason this can't just be fixed first?
It's certainly possible, but it comes with a greater risk of regressions and I estimate that it will require a week of duplicated
That shouldn't be true, I think.
I'll give it another try and see where it leads me.
I've attached the current state of the surface patches for reference. Patches 2 and 26 are simpler without PBOs, and I'll have to duplicate patches 27-29, 33, 41 and 50 in surface.c and then delete or move the code in separate patches.
I'd appreciate it if you could take a look at the entire patchset and see if there's anything else you don't like conceptually or if there's another major reordering you want.
I think it's also worth pointing out that the way the volume code uses PBOs isn't a whole lot better than what the surface code does.
How would you prefer PBOs to work?
My patchset replaces the xFLAG_PBO flags with a map_binding field and adds resource_get_memory similar to buffer_get_memory. This will also take care of user memory and dib sections.
Eventually we want to use PBOs for sysmem surfaces and volumes so the driver doesn't have to create an extra data copy in UpdateTexture / UpdateSurface. This requires ARB_buffer_storage, and I don't think it makes sense to implement this before buffer, surface and volume location and GL BO handling is merged.