kruseborn

Forum Replies Created

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • in reply to: Negative viewport #1320
    kruseborn
    Participant

      It looks like it is working, I get not errors from the Metal framework and the picture is correct:)

      kruseborn
      Participant

        I am using a Mac Pro but the screens are connected to a kvm switch because I am sharing the screens with a windows computer. I have now tested running it without the kvm switch and I have not seen the error anymore, so that is probably it, thanks:)

        in reply to: Uploading large texture data #1229
        kruseborn
        Participant

          We are going to release the product in the end of the year, so like 2,3 month would not be a problem for us. But the in the final product we are dependent on really large textures and would really appreciate if you would look in to it. The max buffer size on iPad was only 256 MB, its strange that Apple has different limitations for textures and buffers.

          best regards
          kruseborn

          in reply to: Uploading large texture data #1219
          kruseborn
          Participant

            It looks like you can allocate larger textures than buffer memory in Metal. I have been able to create a 512MB 3D texture on an iPad in Metal.
            Is this something that can been done in MoltenVK? And if its not, is there something I can write to create a texture with
            let texture = device.makeTexture(descriptor: textureDescriptor) And still somehow get a Vulkan-descriptorset from MoltenVK to point to that texture memory?

            kruseborn
            Participant

              I am encountering this on OS X, I usually solve it by restarting the computer. However, the application still works even though presentSupport does not return a positive value.

              static void findQueueFamilies() {
              	// Check queue families
              	uint32_t queueFamilyCount = 0;
              	vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, &queueFamilyCount, nullptr);
              	assert(queueFamilyCount != 0);
              
              	std::vector<VkQueueFamilyProperties> queueFamilies(queueFamilyCount);
              	vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, &queueFamilyCount, queueFamilies.data());
              
              	bool foundGraphicsQueueFamily = false;
              	bool foundPresentQueueFamily = false;
              
              	for (uint32_t i = 0; i < queueFamilyCount; i++) {
              		VkBool32 presentSupport;
                      
              		vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, i, windowSurface, &presentSupport);
              		if (queueFamilies[i].queueCount > 0 && queueFamilies[i].queueFlags & VK_QUEUE_GRAPHICS_BIT) {
              			vkContext.graphicsQueueFamilyIndex = i;
              			foundGraphicsQueueFamily = true;
              
              			if (presentSupport) {
              				vkContext.presentQueueFamilyIndex = i;
              				foundPresentQueueFamily = true;
              				break;
              			}
              		}
              		if (!foundPresentQueueFamily && presentSupport) {
              			vkContext.presentQueueFamilyIndex = i;
              			foundPresentQueueFamily = true;
              		}
              	}
                  assert(foundGraphicsQueueFamily && foundPresentQueueFamily);
              } 
            Viewing 5 posts - 1 through 5 (of 5 total)