Commits on Oct 16, 2018
  1. Fix extension sorting

    baldurk committed Oct 16, 2018
  2. Implement VK_EXT_transform_feedback, and use it for mesh output

    baldurk committed Sep 12, 2018
    * For pipelines using tessellation or containing a geometry shader we use
      transform feedback to fetch the output of the vertex pipeline after these
  3. Allow VK_GOOGLE SPIR-V semantic extensions, and VK_EXT_pci_bus_info

    baldurk committed Oct 15, 2018
    * Both require no work to support
Commits on Oct 15, 2018
  1. Handle inserting from rdcarray into itself

    baldurk committed Oct 15, 2018
    * This self-insertion has the same kind of problem as overlapping ranges in
      memcpy, the act of inserting items can affect the input range by shifting
      things around. For inserting a single object we just copy it, for inserting a
      range we duplicate the whole array and then do the insert from the old range
      (and destruct it).
    * Clearly this is not the most efficient implementation, a better solution would
      be to append onto the existing array (potentially not even reallocating then)
      and doing a rotate/shift in place.
Commits on Oct 12, 2018
  1. Add EPIPE error message

    baldurk committed Oct 12, 2018
  2. Fix path conversion to windows paths when preparing symbols

    baldurk committed Oct 12, 2018
Commits on Oct 11, 2018
  1. Add typename for template parameter

    baldurk committed Oct 11, 2018
  2. Add support for VK_KHR_create_renderpass2

    baldurk committed Oct 11, 2018
  3. Allow a few EXT & IHV vulkan extensions

    baldurk committed Oct 11, 2018
    * VK_EXT_astc_decode_mode
    * VK_EXT_swapchain_colorspace - this will cause slight artifacts as we won't
      interpret pixels in the right color space, but it's minor.
    * VK_EXT_validation_cache - we don't serialise this but we do allow it during
      capture and pass-through straight. We don't wrap the VkValidationCacheEXT
      object at all which makes support simpler.
    * VK_EXT_external_memory_dma_buf - this is just a new memory type for external
      memory, we don't need to do anything special to handle it.
    * VK_AMD_mixed_attachment_samples & VK_AMD_shader_core_properties - these are
      no-op once enabled
    * Many shader-only extensions:
      - VK_AMD_gpu_shader_int16
      - VK_AMD_shader_fragment_mask
      - VK_AMD_image_load_store_lod
      - VK_AMD_texture_gather_bias_lod
      - VK_NV_compute_shader_derivatives
      - VK_NV_fragment_shader_barycentric
      - VK_NV_geometry_shader_passthrough
      - VK_NV_sample_mask_override_coverage
      - VK_NV_shader_image_footprint
      - VK_NV_shader_subgroup_partitioned
      - VK_NV_viewport_array2
  4. Allow VK_KHR_incremental_present

    baldurk committed Oct 11, 2018
    * Untested, but present regions shouldn't affect our operation.
  5. Readback indirect draw arguments and patch in later. Closes #1066

    baldurk committed Oct 10, 2018
    * This reads the argument once during load exactly when the draw itself
      executes. We read just before the draw in case the draw itself would modify
      the params (which is likely invalid, but something we should avoid).
  6. Add default case to switch statement

    baldurk committed Oct 11, 2018
  7. Use correct context to flush with

    baldurk committed Oct 11, 2018
  8. Add context flush to MSAA -> Array copy. Refs #1119

    baldurk committed Oct 11, 2018
    * The previous flush was in Array -> MSAA which is not used during capture.