Commit Graph

444 Commits

Author SHA1 Message Date
Józef Kucia f7f7c6d889 libs/vkd3d-shader: Implement ld_raw. 2017-08-24 15:13:38 +02:00
Józef Kucia a94751398b libs/vkd3d-shader: Add support for atomic instructions on TGSM. 2017-08-24 15:13:38 +02:00
Józef Kucia 61dd701284 libs/vkd3d-shader: Translate imm_atomic_exch instructions. 2017-08-24 15:13:38 +02:00
Józef Kucia eba87fa55b libs/vkd3d-shader: Implement ld_structured for TGSM. 2017-08-24 15:13:38 +02:00
Józef Kucia cf5fb3fbc2 libs/vkd3d-shader: Fix swizzle for raw/structured instructions. 2017-08-24 15:13:38 +02:00
Józef Kucia 4bfd0456e5 libs/vkd3d-shader: Refactor raw/structured buffer addressing.
In prep for TGSM support.
2017-08-24 15:13:38 +02:00
Józef Kucia 4d0b4f4f71 libs/vkd3d-shader: Add vkd3d_spirv_build_op_composite_extract1() function. 2017-08-24 11:11:16 +02:00
Józef Kucia cef35c7c76 libs/vkd3d-shader: Translate dcl_tgsm_structured instructions. 2017-08-24 11:11:16 +02:00
Józef Kucia 9ed0feed12 libs/vkd3d-shader: Translate dcl_tgsm_raw instructions. 2017-08-24 11:11:16 +02:00
Józef Kucia 19c1b81a71 libs/vkd3d-shader: Translate sync instructions. 2017-08-24 11:11:16 +02:00
Sven Hesse 3a966cf38e libs/vkd3d: Mark D3D12_QUERY_HEAP_TYPE_SO_STATISTICS with a FIXME() 2017-08-23 17:31:12 +02:00
Sven Hesse 79cbc900bc libs/vkd3d: Create Vulkan Query Pools for D3D12 Query Heaps. 2017-08-23 16:18:15 +02:00
Józef Kucia 6c5d8da24d libs/vkd3d-shader: Store structure stride in symbol table. 2017-08-22 14:53:33 +02:00
Józef Kucia eb5e7a4412 libs/vkd3d-shader: Implement ld_structured for SRVs. 2017-08-22 12:39:56 +02:00
Józef Kucia d5697448eb libs/vkd3d-shader: Translate dcl_resource_structured instructions. 2017-08-22 12:39:56 +02:00
Józef Kucia 77e47eddb9 libs/vkd3d-shader: Translate dcl_resource_raw instructions. 2017-08-22 12:39:56 +02:00
Józef Kucia d443e0eb00 libs/vkd3d: Add support for buffer SRVs. 2017-08-22 12:39:56 +02:00
Józef Kucia 6ffe54b9ec libs/vkd3d-shader: Translate round_z instructions. 2017-08-22 12:39:56 +02:00
Józef Kucia 694c20b1da libs/vkd3d: Implement structured UAVs. 2017-08-21 16:30:33 +02:00
Józef Kucia 0f7c86e2bd libs/vkd3d-shader: Translate store_structured instructions. 2017-08-21 16:30:33 +02:00
Józef Kucia fbc5861728 libs/vkd3d: Track resource usage for UAV clears. 2017-08-21 12:41:07 +02:00
Józef Kucia 03e189386a libs/vkd3d-shader: Translate atomic_iadd instructions. 2017-08-21 12:41:07 +02:00
Józef Kucia d287591889 libs/vkd3d-shader: Set image format for UAV typed reads and atomic instructions. 2017-08-21 12:41:07 +02:00
Józef Kucia a90c7c5f12 libs/vkd3d-shader: Add basic shader scan functionality. 2017-08-21 12:41:07 +02:00
Józef Kucia 49a877df86 libs/vkd3d: Allow creating UAVs with no desc for textures. 2017-08-21 12:41:07 +02:00
Józef Kucia 92bb7969a5 libs/vkd3d: Create push descriptor set only if needed. 2017-08-18 17:08:56 +02:00
Józef Kucia b3d2b36afb libs/vkd3d: Prohibit compressed formats for buffer views. 2017-08-18 17:08:56 +02:00
Józef Kucia 08284f0f85 libs/vkd3d: Fix draw calls with no framebuffer attachments. 2017-08-18 17:08:56 +02:00
Józef Kucia 41b7c46c3e libs/vkd3d-shader: Translate dcl_uav_structured instructions. 2017-08-18 14:52:40 +02:00
Józef Kucia cc0cce7d8e libs/vkd3d: Add DXGI_FORMAT_R32_SINT format. 2017-08-18 14:52:40 +02:00
Józef Kucia 1f22a9bb6b libs/vkd3d: Fix draws with no render targets. 2017-08-18 14:52:40 +02:00
Józef Kucia 8f631c8b0c libs/vkd3d-shader: Make bytecode parser responsible for setting scalar register write masks. 2017-08-18 14:52:40 +02:00
Józef Kucia ca9cc355b4 libs/vkd3d-shader: Recognize oDepth register. 2017-08-18 14:52:40 +02:00
Józef Kucia dc7f65122d libs/vkd3d-shader: Silence push constant size mismatch FIXMEs().
This generally doesn't mean anything. It may only be an issue
for out of bounds accesses.
2017-08-17 12:13:50 +02:00
Józef Kucia ef2f490b20 libs/vkd3d-shader: Do not try to find matching signature element for system-value inputs.
Silences false-positive FIXME() messages.
2017-08-17 12:13:50 +02:00
Józef Kucia 242ef52d8b libs/vkd3d-shader: Translate sample_c instructions.
Nvidia expects that the D_ref is packed together with texture
coordinates. The D_ref parameter is ignored.

This isn't a problem for glslang because in GLSL D_ref is generally
passed together with texture coordinates.
2017-08-16 17:38:33 +02:00
Józef Kucia 2527f820cd libs/vkd3d-shader: Cleanup vkd3d_dxbc_compiler_prepare[_sampled]_image() functions. 2017-08-16 17:38:33 +02:00
Józef Kucia c9426e939e libs/vkd3d: Reduce width of format tables. 2017-08-16 17:38:33 +02:00
Józef Kucia 39ff9e4829 libs/vkd3d: Add more depth/stencil formats. 2017-08-16 17:38:33 +02:00
Józef Kucia 1d5b8b7d32 libs/vkd3d: Implement depth/stencil resource views. 2017-08-16 17:38:33 +02:00
Józef Kucia 67697f2b8f libs/vkd3d: Factor out vkd3d_enable_extensions() function. 2017-08-16 17:38:33 +02:00
Józef Kucia 043d4d0acf libs/vkd3d: Factor out vkd3d_check_extensions() function. 2017-08-16 17:38:33 +02:00
Józef Kucia 1857fdc1bc libs/vkd3d-shader: Translate ld instructions. 2017-08-16 13:11:52 +02:00
Józef Kucia f5515c46df libs/vkd3d: Create default sampler for each root signature.
We need a sampler for SpvOpImageFetch aka texelFetch().
2017-08-16 13:11:52 +02:00
Józef Kucia e3d6bac31b libs/vkd3d-shader: Introduce vkd3d_shader_interface structure. 2017-08-16 13:11:52 +02:00
Józef Kucia e6f6d01489 libs/vkd3d-shader: Implement resinfo for SRVs. 2017-08-16 13:11:52 +02:00
Józef Kucia dc081f6f9e libs/vkd3d: Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT only for typeless formats. 2017-08-15 13:10:05 +02:00
Henri Verbeet 26edc3c545 libs/vkd3d: Add typeless formats. 2017-08-15 13:10:05 +02:00
Józef Kucia f82a90ff78 libs/vkd3d-shader: Fix write mask for vPrim register. 2017-08-15 11:25:10 +02:00
Józef Kucia 32e69fa945 libs/vkd3d: Use KHR_push_descriptor for root descriptors.
Thanks to KHR_push_descriptor, we do not have to allocate descriptor
sets for subsequent root descriptor parameters updates.
2017-08-11 13:58:04 +02:00