People
Repo info
Activity
  • Aug 04 21:19
    bors[bot] closed #198
  • Aug 04 21:19
    bors[bot] commented #198
  • Aug 04 21:19

    bors[bot] on master

    gfx-hal update with swapchain r… Merge #198 198: gfx-hal update… (compare)

  • Aug 04 21:08

    bors[bot] on staging.tmp

    (compare)

  • Aug 04 21:08

    bors[bot] on staging

    gfx-hal update with swapchain r… Merge #198 198: gfx-hal update… (compare)

  • Aug 04 21:08

    bors[bot] on staging.tmp

    gfx-hal update with swapchain r… [ci skip][skip ci][skip netlify… (compare)

  • Aug 04 21:08

    bors[bot] on staging.tmp

    [ci skip][skip ci][skip netlify] (compare)

  • Aug 03 13:46
    alexey-lysiuk closed #197
  • Aug 03 13:46
    alexey-lysiuk commented #197
  • Aug 03 02:27
    kvark review_requested #198
  • Aug 03 02:27
    kvark opened #198
  • Jul 29 19:21
    alexey-lysiuk opened #197
  • Jul 29 15:32
    kvark commented #125
  • Jul 29 15:15
    kvark edited #125
  • Jul 27 10:18
    alexey-lysiuk commented #125
  • Jul 22 17:43

    kvark on 0.7

    (compare)

  • Jul 19 20:05
    bors[bot] closed #196
  • Jul 19 20:05

    bors[bot] on master

    gfx-hal updated, non-normalized… Merge #196 196: gfx-hal update… (compare)

  • Jul 19 20:05
    bors[bot] commented #196
  • Jul 19 19:48

    bors[bot] on staging.tmp

    (compare)

Shawn Thompson
@Thomspoon
Is that specific layer message coming from gfx, or is it intrinsic to the Vulkan Loader?
Shawn Thompson
@Thomspoon
Ah, they're specified in descriptorsets.txt
Dzmitry Malyshau
@kvark
Check gfxGetPhysicalDeviceFeatures
Shawn Thompson
@Thomspoon
@kvark I've created #188 which depends on gfx-rs/gfx#2814, the only issue I had was !0 didn't seem to work for max_memory_allocation_count so I just set it to what my physical device queried, and a couple other limits I set arbitrarily based on what my machine returned.

It turned 52 validation errors into 6! Now what I'm dealing with is:

[ERROR] "Invalid DescriptorSet Object 0x23. The Vulkan spec states: pDescriptorSets must be a valid pointer to an array of descriptorSetCount valid VkDescriptorSet handles (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdBindDescriptorSets-pDescriptorSets-parameter)"
[ERROR] "Invalid DescriptorSet Object 0x23. The Vulkan spec states: pDescriptorSets must be a valid pointer to an array of descriptorSetCount valid VkDescriptorSet handles (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdBindDescriptorSets-pDescriptorSets-parameter)"
[ERROR] "Attempt to bind descriptor set 0x23 that doesn\'t exist!"
[ERROR] "Attempt to bind descriptor set 0x23 that doesn\'t exist!"
thread '<unnamed>' panicked at 'assertion failed: !self.0.is_null()', libportability-gfx/src/handle.rs:91:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[ERROR] "Invalid Framebuffer Object 0x11. The Vulkan spec states: If framebuffer is not VK_NULL_HANDLE, framebuffer must be a valid VkFramebuffer handle (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyFramebuffer-framebuffer-parameter)"
[ERROR] "Invalid Framebuffer Object 0x11. The Vulkan spec states: If framebuffer is not VK_NULL_HANDLE, framebuffer must be a valid VkFramebuffer handle (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyFramebuffer-framebuffer-parameter)"
[1]    18306 segmentation fault  VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation cargo run

Which is roughly what I had with MoltenVK

I'm not sure what to do about the first error, I know it's operator error, but I'm not sure where.
Dzmitry Malyshau
@kvark
great, thank you!
these errors look legitimately on your side :)
Shawn Thompson
@Thomspoon
Can vkUpdateDescriptorSets fail? It doesn't return vk::Result, and validation layers aren't spitting anything out.
Dzmitry Malyshau
@kvark
if you are not following the "valid use" of this function, validation layers may be incomplete to tell you that
Shawn Thompson
@Thomspoon
Ah, user error. My descriptor pool was getting deleted which invalidates the descriptor sets associated with it.
Dzmitry Malyshau
@kvark
:+1:
Shawn Thompson
@Thomspoon
What can cause VK_ERROR_SURFACE_LOST_KHR on queue_present?
Dzmitry Malyshau
@kvark
change of surface dimensions
window system integration that we have for Metal is pretty picky...
Shawn Thompson
@Thomspoon
Interesting, so we should just recreate the surface and swapchain?
Dzmitry Malyshau
@kvark
IIRC just the swapchain
Dzmitry Malyshau
@kvark
My sdl patch got finally merged upstream, yet they are still keeping libmoltenvk search path for compatibility reasons:/
Josh Groves
@grovesNL
A step in the right direction at least :)
Dzmitry Malyshau
@kvark
Just updated to macOS 10.15 and XCode 11, was finally able to capture vkQuake running with argument buffers!
Dzmitry Malyshau
@kvark
it even lists indirect resources in a dedicated section... holy greatness
Dzmitry Malyshau
@kvark
going to try out https://github.com/coelckers/gzdoom, which apparently has a Vulkan backend
Dzmitry Malyshau
@kvark
Ok, gzdoom kinda works, we are just missing the timestamp queries
Dzmitry Malyshau
@kvark
we need to force MVK to implement KhronosGroup/MoltenVK#653
otherwise it's hard to update the apps. I don't want our gfx-portability to hackily check if NSView is actually just a layer, yikes
Dzmitry Malyshau
@kvark
my gzdoom PR is merged :tada: coelckers/gzdoom#884
Josh Groves
@grovesNL
sweet! I also asked about portability support as godot adds vulkan support (https://twitter.com/grovesNL/status/1146031845106212864)
Dzmitry Malyshau
@kvark

with MoltenVK we get everything we need so far

what an ignorant response

@grovesNL would you mind replying specifically with the extensions VK_EXTX_portability_subset and VK_EXT_metal_surface?
Dzmitry Malyshau
@kvark
Screen Shot 2019-07-03 at 11.35.47.png
holy crap, what is this for ^^^
Josh Groves
@grovesNL
yeah I can mention the extensions, although maybe I should just join their irc and ask about it. twitter probably isn't the best channel
Dzmitry Malyshau
@kvark
my hopes for them are pretty low... best we can do is to grab an early build and make some benchmarks, maybe submit a PR changing the extensions they use
Dzmitry Malyshau
@kvark
argh, I bought Forsaken on gog and Turok2 on steam, neither seem to support Vulkan on macOS
Dzmitry Malyshau
@kvark
I updated #125 with the missing parts for Forsaken... there is quite a few extensions, surprisingly
one of the things blocking this is our Vulkan bindings - they need to be updated. It would be great to auto-generate them with some of the infrastructure @MaikKlein set up for Ash
Dzmitry Malyshau
@kvark
Dzmitry Malyshau
@kvark
heh, VkPI group got shocked to hear that we support vkEvents :P
Josh Groves
@grovesNL
nice :)
Dzmitry Malyshau
@kvark
head's up! I want to do a portability release this weekend (just before SIGGRAPH)
Dota2 doesn't work, since it now asks for MoltenVK-specific entry points :/
but I don't think it matters much. It will run at some point, and there isn't a line of people who want to mess with it today anyway
Josh Groves
@grovesNL
alright. That's unfortunate, which entry points?
Dzmitry Malyshau
@kvark
Missing entrypoints for instance extension 'VK_KHR_get_physical_device_properties2', disabling.
dyld: lazy symbol binding failed: Symbol not found: _vkGetPhysicalDeviceMetalFeaturesMVK
Referenced from: /Users/dmalyshau/Code/dota2/bin/osx64/librendersystemvulkan.dylib
Expected in: /Users/dmalyshau/Code/portability/target/debug/libMoltenVK.dylib
looks like some poorly written code, since the entry point is not a part of the extension they mention
Still a bit frustrating though, imagine if all drivers did this instead of bothering with extensions
Dzmitry Malyshau
@kvark
this will not go unnoticed :)
I'm providing the list of biggest things we did since GDC, and I mentioned the current Dota situation
Dzmitry Malyshau
@kvark
oh boy, LunarG examples are being modified on macOS to serve MVK limitations - KhronosGroup/MoltenVK#687