Texture cache resizes can block subsequent updates on Intel gen 7
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: jrmuizel, Unassigned)
References
Details
I've been doing some investigation into bug 1576637 and I've determined that calls to Map() (because of a workaround on Gen7) will block on the MakeResident of a newly allocated texture. This means that when we do resize the texture cache will allocate a new 30MB texture and then we update the gpu cache using Map() we end up waiting for that new texture to be initialized. This can take on the order of 30ms which causes us to totally blow the frame budget.
I have a local test app that confirms this behaviour and I don't see the same symptoms on Gen8 and Gen9 hardware.
Reporter | ||
Comment 1•5 years ago
|
||
The test code is here: https://github.com/jrmuizel/d3d-tests/blob/master/make-resident.cc
Comment 2•5 years ago
|
||
Is it viable to copy through an intermediate upload resource "during" resize?
Updated•5 years ago
|
Comment 3•3 years ago
|
||
We don't resize the texture cache textures anymore.
Description
•