Skip to content

Numerous enhancements and fixes

Compare
Choose a tag to compare
@billhollings billhollings released this 15 Dec 22:04
f3416e7
  • Replace use of std::vector with MVKVector to support allocations on stack.
  • Add missing include MVKEnvironment.h to MVKImage.mm for IOSurfaces.
  • vkCmdClearAttachments apply [[render_target_array_index]] more carefully.
  • vkCmdPushDescriptorSet: Fix mapping of binding numbers to descriptor layouts.
  • Forbid depth/stencil formats on anything but 2D images.
  • MVKCommandPool: Destroy transfer images using the device.
  • MVKPipeline: Reject non-multiple-of-4 vertex buffer strides.
  • MVKPipeline: Set auxiliary buffer offsets once, on layout creation.
  • MVKSampler: Support border colors.
  • MVKImage: Round up byte alignment to the nearest power of 2.
  • MVKImage: Don't set MTLTextureUsageRenderTarget for non-blittable formats.
  • MVKImage: Support image views of 2D multisample array images.
  • MVKGraphicsPipeline: Add dummy attachments even when rasterization is off.
  • MVKDeviceMemory: Try creating an MTLBuffer before allocating heap memory.
  • Add support for VK_FORMAT_A2R10G10B10_UNORM_PACK32.
  • Support A8B8G8R8_PACK32 formats.
  • Add new formats and fix existing ones.
  • On macOS, VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 can only be filtered.
  • On macOS, linear textures cannot be blitted to.
  • Depth formats cannot be used for a VkBufferView.
  • Give every image format we support the BLIT_SRC feature.
  • Correct supported features of compressed formats.
  • Correct mapping of packed 16-bit formats.
  • Add some more vertex formats.
  • Don't use char/uchar for clearing/copying 8-bit formats.
  • Explicitly set number of sparse image property/requirement info sets to 0.
  • Retrieve linear image memory alignment requirements from Metal device.
  • For each GPU, log MSL version and updated list of feature sets.
  • Cube demo on iOS support Portrait and Landscape device orientation.
  • Build the dylib with -fsanitize=address when asan is enabled.
  • Fix name of generated dSYM file.
  • Update to latest SPIRV-Cross version:
    • MSL don't emit memory_scope after MSL 2.0.