profile
viewpoint
Jasper Bekkers Jasper-Bekkers http://jasperbekkers.nl CEO at Traverse Research. Rendering engineer at Embark Studios. Previously at DICE (Frostbite), OTOY and EA/SEED DMs open: https://twitter.com/JasperBekkers

EmbarkStudios/rust-gpu 2568

🐉 Making Rust a first-class language and ecosystem for GPU code 🚧

imgui-rs/imgui-rs 1190

Rust bindings for Dear ImGui

gfx-rs/rspirv 332

Rust implementation of SPIR-V module processing functionalities

Jasper-Bekkers/krryn-ui 2

UI framework harvested from krryn project and updated slightly

Jasper-Bekkers/settings 1

Backups / storage of settings files

issue commentKhronosGroup/MoltenVK

Vulkan features supported by M1

So, is it safe to assume that raytracing pipelines and some other advanced features (like buffer pointers) that are present in Metal will not be available in MoltenVK for foreseeable future?

Afraid not. The problem is that Metal doesn't support writing raw GPU VAs to a buffer, then loading them in a shader, so we can't support VK_KHR_buffer_device_address; and because the ray tracing extensions need BDAs, we can't yet support ray tracing, either.

ib00

comment created time in 12 hours

issue commentKhronosGroup/MoltenVK

Vulkan features supported by M1

Thank you for this.

So, is it safe to assume that raytracing pipelines and some other advanced features (like buffer pointers) that are present in Metal will not be available in MoltenVK for foreseeable future?

ib00

comment created time in 14 hours

fork matklad/sixtyfps

SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript.

https://sixtyfps.io

fork in 17 hours

fork kornelski/fallible_collections

impl fallible collections in rust, quite as describe in RFC 2116

fork in 20 hours

created repositoryMeirBon/brush-ffi

FFI interface for the Rust library glyph-brush

created time in 20 hours

startedAsahiLinux/gpu

started time in a day

issue commentKhronosGroup/MoltenVK

Vulkan features supported by M1

That's because nobody has submitted anything to the Vulkan HW DB for it yet. It needs to be run on a Mac with an M1 chip; AFAIK, at least one enterprising dev is working on reverse engineering the M1 GPU so a Linux driver can be produced for it, but that's still in the early stages.

Here is a list of all known Vulkan features that MoltenVK supports on the M1:

  • 1.0 Core
    • robustBufferAccess (not really)
    • fullDrawIndexUint32
    • imageCubeArray
    • independentBlend
    • tessellationShader
    • sampleRateShading
    • dualSrcBlend
    • multiDrawIndirect
    • drawIndirectFirstInstance
    • depthClamp
    • depthBiasClamp
    • fillModeNonSolid (n.b. points mode is unsupported)
    • largePoints
    • alphaToOne
    • multiViewport
    • samplerAnisotropy
    • textureCompressionETC2
    • textureCompressionASTC_LDR
    • textureCompressionBC (yes, all of them)
    • occlusionQueryPrecise
    • fragmentStoresAndAtomics
    • shaderImageGatherExtended (n.b. ConstOffsets doesn't work)
    • shaderStorageImageExtendedFormats
    • shaderStorageImageReadWithoutFormat
    • shaderStorageImageWriteWithoutFormat
    • shaderUniformBufferArrayDynamicIndexing
    • shaderSampledImageArrayDynamicIndexing
    • shaderStorageBufferArrayDynamicIndexing
    • shaderClipDistance
    • shaderInt16
    • shaderResourceMinLod
    • inheritedQueries
  • VK_KHR_16bit_storage (1.1 Core)
    • storageBuffer16BitAccess
    • uniformAndStorageBuffer16BitAccess
    • storagePushConstant16
    • storageInputOutput16
  • VK_KHR_8bit_storage (1.2 Core)
    • storageBuffer8BitAccess
    • uniformAndStorageBuffer8BitAccess
    • storagePushConstant8
  • VK_KHR_float16_int8 (1.2 Core)
    • shaderFloat16
    • shaderInt8
  • VK_KHR_multiview (1.1 Core)
    • multiview
  • VK_KHR_portability_subset
    • constantAlphaColorBlendFactor
    • events
    • imageViewFormatReinterpretation
    • imageViewFormatSwizzle
    • multisampleArrayImage
    • mutableComparisonSamplers
    • separateStencilMaskRef
    • shaderSampleRateInterpolation (n.b. The functions actually worked at one point, but they seem to be broken now.)
    • vertexAttributeAcccessBeyondStride
  • VK_KHR_sampler_ycbcr_conversion (1.1 Core)
    • samplerYcbcrConversion
  • VK_KHR_shader_draw_parameters (1.1 Core)
    • shaderDrawParaameters
  • VK_KHR_shader_subgroup_extended_types (1.2 Core)
    • shaderSubgroupExtendedTypes
  • VK_KHR_timeline_semaphore (1.2 Core)
    • timelineSemaphore
  • VK_KHR_uniform_buffer_standard_layout (1.2 Core)
    • uniformBufferStandardLayout
  • VK_KHR_variable_pointers (1.1 Core)
    • variablePointersStorageBuffer
    • variablePointers
  • VK_EXT_fragment_shader_interlock
    • fragmentShaderSampleInterlock
    • fragmentShaderPixelInterlock
  • VK_EXT_host_query_reset (1.2 Core)
    • hostQueryReset
  • VK_EXT_image_robustness
    • robustImageAccess
  • VK_EXT_inline_uniform_block
    • inlineUniformBlock
  • VK_EXT_private_data
    • privateData
  • VK_EXT_robustness2
    • robustImageAccess2
  • VK_EXT_scalar_block_layout (1.2 Core)
    • scalarBlockLayout
  • VK_EXT_subgroup_size_control
    • subgroupSizeControl (n.b. the subgroup size cannot actually be set; this just confirms support for variable subgroup sizes)
    • computeFullSubgroups
  • VK_EXT_texel_buffer_alignment
    • texelBufferAlignment
  • VK_EXT_texture_compression_astc_hdr
    • textureCompressionASTC_HDR
  • VK_EXT_vertex_attribute_divisor
    • vertexAttributeInstanceRateDivisor
    • vertexAttributeInstanceRateZeroDivisor (n.b. indirect draws with non-zero base instances don't work correctly with this; I'm considering turning this off for that reason)
  • VK_EXT_shader_integer_functions2_INTEL
    • shaderIntegerFunctions2

We also advertise VK_EXT_descriptor_indexing, but until argument buffer support is merged, we'll be out of spec, since the 500k minimum required by that extension needs argument buffers on Metal. But once that's merged, we should be able to support that fully.

ib00

comment created time in a day

startedsdleffler/sludge

started time in a day

issue openedKhronosGroup/MoltenVK

Vulkan features supported by M1

What Vulkan features are supported by M1?

vulkan.gpuinfo.org doesn't list M1.

created time in a day

issue openedKhronosGroup/MoltenVK

New Extensions Request

Can you add support for the VK_KHR_shader_non_semantic_info extension? This will also require support for the SPV_KHR_non_semantic_info extension as well. The shader based debug printf validation tests requires these extensions, and technically without them the behavior of debug printf is undefined.

created time in a day

created repositorymmp/rgb2spectrum

Cache for prebuilt rgb2spectrum tables (to speedup pbrt-v4 CI runs)

created time in a day

startedrgl-epfl/brdf-loader

started time in a day

startedmsiglreith/grr-gltf

started time in a day

push eventKhronosGroup/MoltenVK

Bill Hollings

commit sha 28c514d03ba44bf80c4e0179e2912ab0617c3491

Add strings for all current VkResult values.

view details

Bill Hollings

commit sha 4a65c293c69b4761340a423e92f5e4bf4f804d2f

Make logging functions globally accessible to ease their use in debugging activities. Include MVKLogging.h in MVKEnvironment.h, and remove references elsewhere.

view details

Bill Hollings

commit sha e1b3585413152ff3f217a7412c2f7c95ae68cdf9

Add MVK_APPLE_SILICON macro definition. Use MVK_APPLE_SILICON instead of MVK_IOS_OR_TVOS || MVK_MACOS_APPLE_SILICON or MVK_MACOS_APPLE_SILICON || MVK_IOS_OR_TVOS.

view details

Bill Hollings

commit sha b87b91f1441c8d09000d6ba5a643c6aab302774f

Remove unused member variables. Remove MVKGPUCaptureScope::_queue. Remove MVKQueue::_nextMTLCmdBuffID.

view details

Bill Hollings

commit sha 3ec61667a64f46e1599484f30a3b4bb332ea7671

Update MVKSmallVector constructors, and remove unnecessary or obsolete code. MVKSmallVector allow constructor to size with default values. Remove obsolete MVKVector, which was long ago replaced with MVKSmallVector. Remove unnecessary concrete implementations of template functions that are used only within a single compilation unit.

view details

Bill Hollings

commit sha c757f3012ce42e4d7bd0db67377b46a4b70ad1cc

Merge pull request #1213 from billhollings/minor-updates Minor non-behavior-changing updates and clean-up

view details

push time in 2 days

PR merged KhronosGroup/MoltenVK

Minor non-behavior-changing updates and clean-up

This PR contains a few code-clean-up updates that should not affect behavior.

  • MVKSmallVector allow constructor to size with default values.
  • Remove obsolete MVKVector, which was long ago replaced with MVKSmallVector.
  • Remove unnecessary concrete implementations of template functions that are used only within a single compilation unit.
  • Add strings for all current VkResult values.
  • Make logging functions globally accessible to ease their use in debugging activities.
  • Add and use MVK_APPLE_SILICON macro definition.
  • Remove a few unused member variables.
+47 -1637

1 comment

37 changed files

billhollings

pr closed time in 2 days

startedtommyettinger/Scroll-o-Sprites

started time in 2 days

PR opened EmbarkStudios/rust-gpu

Reviewers
Add gpu_only proc macro

This PR adds a #[gpu_only] macro to spirv-std-macros, which essentially expands to the following. Which we were doing a lot in the code already, and will only add more in the future.

fn foo() {
     #[cfg(target_arch = "spriv")] {
        // SPIR-V fn body.
     }
     
     #[cfg(not(target_arch = "spriv"))] {
         unimplemented!()
     }
}
+39 -17

0 comment

6 changed files

pr created time in 2 days

create barnchEmbarkStudios/rust-gpu

branch : gpu-macro

created branch time in 2 days

startedT-head-Semi/aosp-riscv

started time in 2 days

MemberEvent

startedkangvcar/InfoSpider

started time in 2 days

MemberEvent

Pull request review commentKhronosGroup/MoltenVK

GitHub Actions: Update Xcode to 12.3

 on:  env:   # See: https://github.com/actions/virtual-environments/tree/main/images/macos-  XCODE_DEV_PATH: /Applications/Xcode_12.2.app/Contents/Developer+  XCODE_DEV_PATH: /Applications/Xcode_12.3.app/Contents/Developer 

Great. Thanks for the education, and for your work on setting Actions up!

past-due

comment created time in 2 days

Pull request review commentKhronosGroup/MoltenVK

GitHub Actions: Update Xcode to 12.3

 on:  env:   # See: https://github.com/actions/virtual-environments/tree/main/images/macos-  XCODE_DEV_PATH: /Applications/Xcode_12.2.app/Contents/Developer+  XCODE_DEV_PATH: /Applications/Xcode_12.3.app/Contents/Developer 

For future reference, you'll want to make sure that the GitHub Actions virtual environment image has been updated to include a new version of Xcode.

@billhollings: At the moment, the macos-latest image maps to macos-10.15, and that image's list of available Xcode versions (and paths) can be found here: https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md#xcode

At some point macos-latest will map to macos-11.0 (the macos-11.0 image is currently in preview, and has more limited capacity available).

past-due

comment created time in 2 days

pull request commentKhronosGroup/MoltenVK

Minor non-behavior-changing updates and clean-up

@cdavis5e Specifically wanted another pair of eyes on use of MVK_APPLE_SILICON.

billhollings

comment created time in 2 days

startedmersinvald/aquamarine

started time in 2 days

startedrust-lang/mdBook

started time in 2 days

PR opened KhronosGroup/MoltenVK

Minor non-behavior-changing updates and clean-up

This PR contains a few code-clean-up updates that should not affect behavior.

  • MVKSmallVector allow constructor to size with default values.
  • Remove obsolete MVKVector, which was long ago replaced with MVKSmallVector.
  • Remove unnecessary concrete implementations of template functions that are used only within a single compilation unit.
  • Add strings for all current VkResult values.
  • Make logging functions globally accessible to ease their use in debugging activities.
  • Add and use MVK_APPLE_SILICON macro definition.
  • Remove a few unused member variables.
+47 -1637

0 comment

37 changed files

pr created time in 2 days

more