Age | Commit message (Collapse) | Author |
|
Some resources might only expose HOST | COHERENT and not
CACHED | COHERENT.
If we cannot find a suitable type, just try again immediate with just
COHERENT.
Never try to fallback allocations on the outside. If we fail to allocate
system memory, there is nothing we can do.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
If we request DEVICE | HOST_VISIBLE and the driver does not expose the
type at all, we'll hit fallback logic that assumes we actually failed to
allocate rather than failed to identify a candidate memory type.
Attempt fallbacks in the try functions as well if we did not identify a
suitable memory type at all.
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>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Make use of private references to hold on to the root signature object.
This is important in situations where we end up compiling pipelines
late.
With private references like this, there is no longer a need to
distinguish a "private_root_signature", so just rename.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Notably, this applies the fix for OpEmitMeshTasksEXT where it is a
terminator. This might break on drivers that ended up shipping with
wrong semantics. This should only be a problem for day-1 beta drivers,
and it's better to get this fixed ASAP rather than risk shipping broken
shaders.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|
|
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
|