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)