Difference between revisions of "Vkd3d-todo"

From WineHQ Wiki
Jump to: navigation, search
Line 30: Line 30:
  
 
* Add support for capturing components with stream output.
 
* Add support for capturing components with stream output.
 +
* Add support for unlimited registers (SM5.1).
 
* Finish and fix tessellation shaders.
 
* Finish and fix tessellation shaders.
 
* Import SM4 to GLSL shader translation from wined3d.
 
* Import SM4 to GLSL shader translation from wined3d.

Revision as of 10:23, 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.
  • Implement UAVs in vertex processing shader stages.

libvkd3d-shader

  • Add support for capturing components with stream output.
  • Add support for unlimited registers (SM5.1).
  • Finish and fix tessellation shaders.
  • Import SM4 to GLSL shader translation from wined3d.
  • Start working on DXIL.

TPF validation

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