Commit Graph

2152 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen d1f44ad39b vkd3d: Add dxil-spirv to autoconf
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-29 14:11:57 +01:00
Hans-Kristian Arntzen 3ebe2eb527 vkd3d-shader: Expose debug shader dumping in private header.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-27 19:46:30 +01:00
Hans-Kristian Arntzen 4928f9c094 vkd3d-shader: Add path for debug dumping SPIR-V as well.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-27 19:46:30 +01:00
Hans-Kristian Arntzen 0f971790e6 vkd3d-shader: Attempt to parse ISG1 as well when parsing input signatures.
DXIL blobs use ISG1.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-27 15:20:10 +01:00
Hans-Kristian Arntzen 4a9ab29903 vkd3d-shader: Add helper function to query if a blob is DXIL.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-27 15:20:10 +01:00
Hans-Kristian Arntzen edd4c990ed vkd3d-shader: Move vkd3d_find_shader into private header.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-27 15:20:10 +01:00
Philip Rebohle 82f9f76931 vkd3d-shader: Rework SPIR-V extension enablement.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-27 10:30:34 +01:00
Philip Rebohle 7cccf5756a vkd3d-shader: Rework SPIR-V capability enablement.
We're going to need more capabilities outside the 0-63 range
going forward, so a bitmask doesn't cut it and adding extra
struct members for each capability seems excessive.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-27 10:30:34 +01:00
Hans-Kristian Arntzen b04c2361e2 vkd3d: Add test for bindless samplers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 20:50:33 +01:00
Hans-Kristian Arntzen 687b072b16 vkd3d: Upgrade SRV bindless test to include textures.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 20:50:33 +01:00
Hans-Kristian Arntzen 7c10922aac vkd3d: Add bindless test where root parameter space is exhausted.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 20:50:33 +01:00
Hans-Kristian Arntzen abb2ef8572 vkd3d: Add test for bindless SRV buffers in SM 5.1.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 20:50:33 +01:00
Hans-Kristian Arntzen 1da8ee9f86 vkd3d: Remove obsolete FIXME for immutable samplers with register space.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 20:50:05 +01:00
Hans-Kristian Arntzen fe1d958802 vkd3d: Add static sampler to SM 5.1 register space test.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 20:50:05 +01:00
Hans-Kristian Arntzen fd33aee854 vkd3d: Don't crash if SM 6.0 is not supported in constant buffer test.
Something must have gone wrong in rebase.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 13:00:48 +01:00
Hans-Kristian Arntzen 0c241ff54f vkd3d: Fix regression with UAV counters.
Need to report back actual bindings, not 0/0.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 13:00:10 +01:00
Hans-Kristian Arntzen d638a60776 vkd3d: Add DXIL test for vertex ID.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen c534737a3f vkd3d: Add DXIL test for instance_id.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 2ef0e43dce vkd3d: Add DXIL test for eval attribute.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 827adfc5c5 vkd3d: Add DXIL test for combined ClipCull.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen aae5564f4d vkd3d: Add DXIL test for clip distance.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 965a82c22d vkd3d: Add DXIL test for rasterizer sample count.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen cf3d3bb60b vkd3d: Add DXIL test for shader_sample_position.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen d208bc7417 vkd3d: Add DXIL test for coverage.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen a898760946 vkd3d: Add DXIL test for sample mask.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 8f413b3656 vkd3d: Add DXIL test for render_target_a8.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 7ce68df015 vkd3d: Add DXIL test for face culling.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 39eb4f7270 vkd3d: Add DXIL test for dual source blending.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 7758997e30 vkd3d: Add DXIL test for constant buffers (root const/desc).
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen f003b6a84b vkd3d: Add DXIL test for register spaces.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen a43acfce16 vkd3d: Add DXIL test for bufinfo.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 4b6b7cb831 vkd3d: Add DXIL test for stream output.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 1adf73abcf vkd3d: Add DXIL test for line tessellation.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 1496ea85f2 vkd3d: Add DXIL test for tess fork phase.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 71f432e000 vkd3d: Add DXIL test for tess control point phase.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 562e990c38 vkd3d: Add DXIL test for quad_tessellation.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 38e9422f35 vkd3d: Add DXIL test for ps_layer.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 1ff7940739 vkd3d: Add DXIL test for layered rendering.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Hans-Kristian Arntzen 727215958a vkd3d: Add DXIL test for geometry shader.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-26 10:19:46 +01:00
Philip Rebohle 27595a8147 vkd3d-shader: Drop support for OpenGL targets.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-26 10:18:30 +01:00
Philip Rebohle c4c9fa82b0 vkd3d-shader: Drop support for combined resource samplers.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-26 10:18:30 +01:00
Philip Rebohle c3871951ad vkd3d-shader: Factor out methods to retrieve resource binding info.
Allows us to get more detailed info about any given binding.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-26 10:18:30 +01:00
Philip Rebohle 74e706cbe3 vkd3d-shader: Introduce vkd3d_shader_descriptor_type_from_register_type helper.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-26 10:18:30 +01:00
Philip Rebohle d95762db65 vkd3d-shader: Also log register space for unmapped bindings.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2020-02-26 10:18:30 +01:00
Hans-Kristian Arntzen 0d5ccda21c vkd3d: Add create_pipeline_state_dxil test utility.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-25 13:54:40 +01:00
Hans-Kristian Arntzen 8b7b37bb71 vkd3d: Add helper test function to set up a default pipeline with DXIL.
In a pipeline, it is not possible to mix and match DXIL and DXBC.
D3D12 debug layer will complain, although vkd3d does not care about
this.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-25 13:54:40 +01:00
Hans-Kristian Arntzen a7ac017bdd vkd3d: Add test helper function to determine if DXIL is supported.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-25 13:54:40 +01:00
Hans-Kristian Arntzen 7a341a4fc3 vkd3d: Add test case for root constants in SM 5.1.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-24 12:32:29 +01:00
Hans-Kristian Arntzen 70006b7129 vkd3d: Add test case for SM 5.1 register spaces.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-24 12:32:29 +01:00
Hans-Kristian Arntzen 93e4b6ff9b vkd3d: Deal correctly with SM 5.1 register spaces.
Resource index is found in idx[0] in SM 5.0, but idx[1] when using SM
5.1, and register space is encoded separately. An rb_tree keeps track of
the internal resource index idx[0] and can map that to space/binding as
required when emitting SPIR-V.

For this to work, we must also make UAV counters register space aware.
In earlier implementation, UAV counter mask was assumed to correlate 1:1
with register_index, which breaks on SM 5.1.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
2020-02-24 12:32:29 +01:00