Difference between revisions of "Vkd3d-todo"

From WineHQ Wiki
Jump to: navigation, search
Line 19: Line 19:
 
* Try to use VK_EXT_buffer_device_address for GPU addresses (re-implement root descriptors).
 
* Try to use VK_EXT_buffer_device_address for GPU addresses (re-implement root descriptors).
 
* Implement ID3D12Resource::ReadFromSubresource() for Metro Exodus.
 
* Implement ID3D12Resource::ReadFromSubresource() for Metro Exodus.
 +
* Emulate wait-before-signal.
 +
* Emulate NULL SRVs and UAVs.
 +
* Add tests for out-of-bounds access with vertex buffers.
 +
* Improve multi-queue support.
 +
* Fix all Vulkan validation errors.
 +
* Test ClearRTV() with UINT formats.
  
 
== libvkd3d-shader ==
 
== libvkd3d-shader ==

Revision as of 10:20, 23 May 2019

libvkd3d-shader release

  • Finish API for flexible shader parameters.
  • Add API for enabling optional features/extensions, e.g. SPIR-V extensions, GLSL extensions.
  • Avoid artificial limits in the API, e.g. VKD3D_SHADER_MAX_UNORDERED_ACCESS_VIEWS.
  • Should shader translation to GLSL use the same exported function as SPIR-V translator?
  • Should DXIL use the same exported function as TPF (DXBC)?
  • Consider renaming vkd3d_shader_compile_dxbc() to vkd3d_shader_compile_tpf() (Tokenized Program Format).
  • Consider addding tests for OpenGL SPIR-V.
  • Review API for consistency and extensibility.
  • Add support for resource arrays.
  • Add or consider support for Shader Model 5.1 and 6.0+.
  • Add or consider support for UAV in vertex processing shader stages.
  • Finish API for scanning/gathering info from shaders (registers used, bindings used, parameters used, required limits, extensions).

libvkd3d

  • Re-implement descriptor heaps on top of VK_EXT_descriptor_indexing.
  • Try to use VK_EXT_buffer_device_address for GPU addresses (re-implement root descriptors).
  • Implement ID3D12Resource::ReadFromSubresource() for Metro Exodus.
  • Emulate wait-before-signal.
  • Emulate NULL SRVs and UAVs.
  • Add tests for out-of-bounds access with vertex buffers.
  • Improve multi-queue support.
  • Fix all Vulkan validation errors.
  • Test ClearRTV() with UINT formats.

libvkd3d-shader

  • Add support for capturing components with stream output.
  • Finish and fix tessellation shaders.
  • Import SM4 to GLSL shader translation from wined3d.

TPF validation

  • Interpolation mode is the same for all variables in the register.