Commit Graph

895 Commits

Author SHA1 Message Date
Józef Kucia 49c3eb69d9 tests: Add helper functions for creating descriptor heaps. 2017-10-24 12:10:48 +02:00
Józef Kucia e3dfbab2fa tests: Do not re-create buffer in test_tgsm(). 2017-10-24 12:10:48 +02:00
Józef Kucia f2b37c732a libs/vkd3d: Use if-else in d3d12_command_list_get_fb_extent(). 2017-10-24 12:10:48 +02:00
Józef Kucia c70a023aeb libs/vkd3d: Remove FIXME comment from vk_barrier_parameters_from_d3d12_resource_state(). 2017-10-24 12:10:48 +02:00
Józef Kucia 56391f471c tests: Add test for copying from depth texture to color texture. 2017-10-20 18:27:17 +02:00
Józef Kucia b211df683e libs/vkd3d: Implement copying between depth/stencil and color textures.
This could be implemented more efficiently, but ideally we would get
a Vulkan extension for copying between depth/stencil and color textures.
2017-10-20 18:27:17 +02:00
Józef Kucia a4bd0c1c90 libs/vkd3d: Allocate GPU virtual addresses in d3d12_committed_resource_init(). 2017-10-20 18:27:17 +02:00
Józef Kucia b0979b27f6 tests: Fix shader code in test_depth_load(). 2017-10-20 18:27:17 +02:00
Józef Kucia a63b81858c libs/vkd3d: Limit buffer usage flags based on heap type. 2017-10-20 18:27:17 +02:00
Józef Kucia 310335f748 libs/vkd3d-shader: Branch directly to merge block when switch default block is absent. 2017-10-20 18:27:17 +02:00
Józef Kucia 137b5d694b libs/vkd3d-shader: Move inside_block field to vkd3d_control_flow_info. 2017-10-18 19:02:46 +02:00
Józef Kucia c112f2ed46 libs/vkd3d-shader: Get rid of VKD3D_BLOCK_ELSE. 2017-10-18 19:02:46 +02:00
Józef Kucia 9f831b938a libs/vkd3d-shader: Avoid emitting empty else branches.
We have to patch SpvOpBranchConditional instruction when emitting the
else block because we do not know if an else block is present in
advance.
2017-10-18 19:02:46 +02:00
Józef Kucia 646385e871 libs/vkd3d-shader: Get rid of VKD3D_BLOCK_MAIN. 2017-10-18 19:02:46 +02:00
Józef Kucia 8a047a8eb7 libs/vkd3d-shader: Rename control flow union member for if instructions. 2017-10-18 19:02:46 +02:00
Józef Kucia 8f3e071868 tests: Add additional test for rcp instruction. 2017-10-18 12:27:41 +02:00
Józef Kucia 0369f39a47 libs/vkd3d-shader: Generate correct SPIR-V for rcp with multiple components. 2017-10-18 12:21:24 +02:00
Józef Kucia 7fa3f2ed1a libs/vkd3d: Add FIXME comment for GPU VA allocator. 2017-10-18 11:54:56 +02:00
Józef Kucia c5e400fa30 libs/vkd3d-shader: Document hacks introduced for Nvidia driver.
See 70f5b24f92.
2017-10-12 17:47:53 +02:00
Józef Kucia 62b6530af3 libs/vkd3d-shader: Check return values of imm_atomic_consume in test_decrement_uav_counter(). 2017-10-12 13:10:26 +02:00
Józef Kucia a7bd28ffac tests: Use better variable names in test_uav_counters(). 2017-10-12 13:10:26 +02:00
Józef Kucia eecd16f1cd tests: Fix test_uav_counters().
Results were read from the wrong buffer.
2017-10-12 13:10:26 +02:00
Józef Kucia 2171ba6d32 libs/vkd3d-shader: Decrement OpAtomicIDecrement result. 2017-10-12 13:10:26 +02:00
Józef Kucia 94a33020d3 libs/vkd3d-shader: Use switch statement in shader_parse_root_parameters(). 2017-10-10 16:57:36 +02:00
Józef Kucia 4522a80de8 libs/vkd3d-shader: Use switch statement in shader_write_root_parameters(). 2017-10-10 16:57:36 +02:00
Józef Kucia 18b285328e libs/vkd3d-shader: Add version argument to vkd3d_shader_serialize_root_signature(). 2017-10-10 16:57:36 +02:00
Józef Kucia f4cfebcd7e libs/vkd3d: Remove hack for creating root signatures from description. 2017-10-10 16:02:09 +02:00
Józef Kucia 7129e23aef demos: Remove hack for creating root signatures. 2017-10-10 16:02:09 +02:00
Józef Kucia cb417ef46b tests: Remove hack for creating root signatures. 2017-10-10 16:02:09 +02:00
Józef Kucia 5b5cffcf84 libs/vkd3d: Implement creating root signature from bytecode. 2017-10-10 16:02:09 +02:00
Józef Kucia 6b9c3b8971 tests: Add test for root signature serialization. 2017-10-10 16:02:09 +02:00
Józef Kucia 4629cbdf8a libs/vkd3d: Implement D3D12SerializeRootSignature(). 2017-10-10 16:02:09 +02:00
Józef Kucia 6b43a5fe38 libs/vkd3d-shader: Implement root signature serialization. 2017-10-10 16:02:09 +02:00
Henri Verbeet 53654baab9 libs/vkd3d: Support D3D12_FEATURE_FORMAT_SUPPORT in d3d12_device_CheckFeatureSupport(). 2017-10-10 13:09:32 +02:00
Józef Kucia 4504aa65ef tests: Add test for constant buffer relative addressing. 2017-10-06 17:06:31 +02:00
Józef Kucia 586e1cc532 libs/vkd3d-shader: Implement relative addressing for constant buffers. 2017-10-06 17:06:31 +02:00
Józef Kucia 853068c84d libs/vkd3d: Get rid of host writes memory dependency for intial state transitions. 2017-10-06 17:06:31 +02:00
Józef Kucia 97bfba1167 libs/vkd3d: Avoid read access bits in source access masks.
A memory dependency is used to make memory writes available
and visible.
2017-10-06 17:06:31 +02:00
Józef Kucia 05f52dc079 tests: Add test for switch without default case. 2017-10-05 15:58:51 +02:00
Józef Kucia 5479ac7011 libs/vkd3d-shader: Always emit default block for OpSwitch.
The default block is required in SPIR-V.
2017-10-05 15:58:51 +02:00
Józef Kucia 9feb7a3956 libs/vkd3d-shader: Recognize nop instruction. 2017-10-05 15:58:51 +02:00
Józef Kucia 50df52427f tests: Add test for clearing buffer unordered access views. 2017-10-04 13:55:33 +02:00
Józef Kucia 67aed755ab libs/vkd3d: Implement d3d12_command_list_ClearUnorderedAccessViewUint() for R32_UINT buffer views.
Ideally, we would store additional informations only in CPU descriptors.
2017-10-04 13:55:33 +02:00
Józef Kucia fecc94cebc libs/vkd3d: Add helpers for dereferencing descriptor handles. 2017-10-04 13:55:33 +02:00
Józef Kucia b002cc4cae libs/vkd3d: Use BC1 formats with alpha. 2017-09-26 11:48:03 +02:00
Józef Kucia 128ff2fa32 tests: Add test for typed UAV writes. 2017-09-26 10:37:41 +02:00
Józef Kucia 3015a4c12b tests: Add test for loading texels from depth textures. 2017-09-26 10:37:41 +02:00
Józef Kucia e7aa2a7bcf libs/vkd3d-shader: Emit NonReadable decoration for image variables.
Fixes image writes for UNORM formats on Anv. Anv uses special surface
state for write-only storage image descriptors.

The SPIR-V spec doesn't state that the NonReadable decoration is
required for images used with StorageImageWriteWithoutFormat. On the
other hand, glslang requires the 'writeonly' keyword for images without
format, and it emits the NonReadable decoration.
2017-09-26 10:37:41 +02:00
Józef Kucia 2323c36fbd tests: Add test for descriptors visibility. 2017-09-22 16:42:07 +02:00
Józef Kucia 5a020d6673 libs/vkd3d-shader: Implement shader visibility for descriptors. 2017-09-22 16:42:07 +02:00