Age | Commit message (Collapse) | Author |
|
Useful mostly for debug so we acknowledge there was a discard command
(except we cannot transition).
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Replays relevant commands in submission order.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Report resource cookies so that it's easier to track down aliasing
issues.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Report any placed aliases which could cause issues.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Make push descriptors a required feature. It's widely supported now that
amdvlk enabled it.
The min spec of push descriptors is 32 descriptors which means we never
have to fall back. The D3D12 spec supports 32 root descriptors.
When we have that many root descriptors, we never risk running out of
push constant space, so there won't be a need for fallback UBO.
Tweak the hoisting logic a little bit to make sure we never overflow the 32 push
desc min-spec.
Replace inline UBO (not compatible with push descriptors) with push UBO
for fallback data. This path should basically never be hit anyways.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
To be used for inline UBO replacement.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
The old path is completely untested at this point, and I found a bug
with root descriptors since we don't do the proper deref to obtain
proper VA anymore, so that would have crashed GPUs hard ...
Removes a lot of old jank code.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Spuriously started failing on NV.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Reuse the renderdoc implementation directly (MIT license).
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
MIT compatible license. RenderDoc ships this already.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
We're aiming to relicense and this is ancient code we cannot track down.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Fix some build issues as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
We're using storage buffers for various internal operations.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
|
|
This is likely hitting the limitation that even memfd
(or whatever wine uses) cannot be imported at the moment.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Only serves to invalidate existing caches and increases memory pressure
unnecessarily.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Need to track source here, not dest.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
write_full_subresource may allow us to transition from UNDEFINED so that
we can skip the initial layout transition, but not in the scenario where
the resource has multiple subresources.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Instead of storing SPIR-V in the cache, we can store identifiers
instead. Saves 95% storage of the vkd3d-proton cache.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
To be used by EXT_shader_module_identifier implementation.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
If we defer SPIR-V compilation we risk holding the lock for quite a long
time.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
AgilitySDK 606 now suddenly allows this, but docs still say it's banned,
so ... *shrug*
F1 22 relies on this to work.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
|
|
Simply checks if we have a surface format that supports the given color space.
|
|
|
|
This extention has no features or properties structures.
|
|
Trivial alias, support both variants for now.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
With upcoming refactor, we might have to compile code on the fly.
To avoid any race conditions on fallback compile storing code[i] <-> StorePipeline reading code[i],
explicitly mark that code[] should be ignored.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
When we have the ability to load PSO from identifiers only, we need to
retain DXBC blobs for later.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
- Try to load SPIR-V from cache
- Fallback compile to SPIR-V if necessary
- Parse PSO metadata obtained from either compilation or cache lookup
Also moves SPIR-V compilation to end of PSO init.
Prepares for refactor where we completely decouple PSO creation info
setup and SPIR-V compilation.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Simplifies the code somewhat. Only iterate over the shader_stages LUT
once.
Adds concept of duped DXBC blobs as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
FWIW, this is mostly dead code now, missed during initial implementation.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Not super useful to create a local pipeline cache if we're not going to
compile early, but it's super rare, and cleans up the code either way.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Splitting up the refactor into two commits like this made the patches
easier to read and makes the rebase easier as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Makes further refactoring more sane.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
For deferred compilation, we need to dupe the structs.
XFB is kinda rare, so it's okay to eat allocations here.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Prepares for a situation where we can move this code into
vkd3d_create_shader_stage itself.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|