On 18 April 2017 at 18:25, Matteo Bruni matteo.mystral@gmail.com wrote:
Why not an array? Stefan already mentioned wined3d_buffer.maps, in a fashion.
Right, an array is probably just better.
- Does it really make sense to track regions on the level of struct
wined3d_resource instead of e.g. strut wined3d_texture? If it does, that would make wined3d_buffer.maps redundant.
A unified structure to track both buffer and texture updates would be nice, if that works out okay in practice.
Sure. The wined3d_box structure is a little larger than needed for buffers though, and in case of buffers it's used largely internally, so I think an argument could be made for keeping the texture interface separate (but consistent) in this case. But regardless of what decision is made there, I think it would be undesirable for buffers to have dirty regions in both struct wined3d_resource and struct wined3d_buffer.
Either way, I just realized that something like this can be potentially used to accelerate (partial) texture updates with CSMT, similarly to e.g. buffers updates in Stefan's patchset. In general it makes texture uploads resemble buffers, which seems like a good thing.
I think that's no surprise to you. Any plan to explore this idea through?
No concrete plan.