riperiperi
riperiperi
Tracking handles have a `_volatile` flag which indicates that the resource being tracked is modified every time it is used under a new sequence number. This is used to reduce...
Benefits: - Reduces number of buffer uploads greatly in certain games (4096 byte cost each time) - Avoids splitting render pass on Vulkan (cost depends on GPU driver) - Batches...
The zeroth constant is typically used by official drivers as a kind of "driver support buffer". Command buffers/macros load draw parameters in this buffer for the shader to use with...
A quick fix to prevent reading the wrong value of Count when reregistering ranges for a new target buffer. Buffer flushes from another thread can modify the range list when...
Buffer tracking handles have an optimisation where they can be set as _volatile, which means that we assume the data is always modified. This avoids the cost of setting and...
Makes sure that the modified range list is always from the latest iteration of the buffer, and flushes earlier iterations of a buffer if the data has not been migrated...
Depends on (includes) #3818. This PR adds metal surface creation, and a bunch of other UI changes. There is a basic change to the Vulkan project to allow games to...
This PR adds a new class, the SpecializationStateUpdater, that allows elements of specialization state to be updated individually, and signal the state is checked when it changes between draws, instead...
Reduces work on UpdateShaderState. Now the cost is a few reference moves for arrays (for stages with bindings), rather than copying data. Cached bindings arrays are created when shaders are...
We have a conversion from LDG on the compute shader to a special constant buffer binding that's used to exceed hardware limits on compute, but it was only running if...