Code Monkey home page Code Monkey logo

chunkstories's People

Contributors

alexanderkjall avatar dector avatar gbui avatar hugobros3 avatar landru27 avatar mchorse avatar medavox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chunkstories's Issues

Default Movement Controls

I'm not sure if it's something to do with my setup, but upon loading into a world for the first time the only usable movement controls were S and D.

Upon going into the controls and setting forward and left to W and A respectively, I could move normally.

Not sure if you're aware of this, but the controls for jump and run display null in the controls menu but still work with space and shift

Will try to look through source to see if I can find anything, though probably not

Game isn't running with Vulkan backend

Can you help me with this error on start?

Exception in thread "Main thread" java.lang.NullPointerException
	at org.lwjgl.system.Checks.check(Checks.java:100)
	at org.lwjgl.vulkan.VK11.nvkGetImageMemoryRequirements2(VK11.java:1633)
	at org.lwjgl.vulkan.VK11.vkGetImageMemoryRequirements2(VK11.java:1676)
	at xyz.chunkstories.graphics.vulkan.textures.VulkanTexture.<init>(VulkanTexture.kt:90)
Full Log
2019-11-06 00:32:33,512 INFO [sound] OpenALC10: true
2019-11-06 00:32:33,516 INFO [sound] OpenALC11: true
2019-11-06 00:32:33,517 INFO [sound] caps.ALC_EXT_EFX = true
2019-11-06 00:32:33,524 DEBUG [sound] 0: Built-in Audio Analog Stereo
2019-11-06 00:32:33,524 INFO [sound] Default device: OpenAL Soft
2019-11-06 00:32:33,567 INFO [sound] OpenAL context successfully created, version = 1.1 ALSOFT 1.19.1
2019-11-06 00:32:33,568 INFO [sound] OpenAL Extensions avaible : AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_block_alignment AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFTX_events AL_SOFTX_filter_gain_ex AL_SOFT_gain_clamp_ex AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize
MONITOR eDP1 scale = [1.0625:1.0625] [310:170]
Extracting libspirvcrossj natives manually...
Done, written to ./cache/-1175756951/libspirvcrossj.so
2019-11-06 00:32:35,517 INFO [client.gfx_vk] Successfully created Vulkan instance
2019-11-06 00:32:35,522 INFO [client.gfx_vk] Successfully registered debug callback
2019-11-06 00:32:35,523 DEBUG [client.gfx_vk] Enumerating physical devices...
2019-11-06 00:32:35,550 DEBUG [client.vulkan] Available Vulkan extensions: [VK_KHR_16bit_storage, VK_KHR_8bit_storage, VK_KHR_bind_memory2, VK_KHR_create_renderpass2, VK_KHR_dedicated_allocation, VK_KHR_descriptor_update_template, VK_KHR_device_group, VK_KHR_driver_properties, VK_KHR_external_memory, VK_KHR_external_memory_fd, VK_KHR_external_semaphore, VK_KHR_external_semaphore_fd, VK_KHR_get_memory_requirements2, VK_KHR_image_format_list, VK_KHR_incremental_present, VK_KHR_maintenance1, VK_KHR_maintenance2, VK_KHR_maintenance3, VK_KHR_push_descriptor, VK_KHR_relaxed_block_layout, VK_KHR_sampler_mirror_clamp_to_edge, VK_KHR_sampler_ycbcr_conversion, VK_KHR_shader_draw_parameters, VK_KHR_storage_buffer_storage_class, VK_KHR_swapchain, VK_KHR_variable_pointers, VK_KHR_multiview, VK_EXT_display_control, VK_EXT_external_memory_dma_buf, VK_EXT_shader_viewport_index_layer, VK_EXT_shader_stencil_export, VK_EXT_vertex_attribute_divisor, VK_EXT_post_depth_coverage, VK_EXT_sampler_filter_minmax, VK_EXT_calibrated_timestamps, VK_GOOGLE_decorate_string, VK_GOOGLE_hlsl_functionality1]
2019-11-06 00:32:35,579 DEBUG [client.gfx_vk] Selecting physical device...
2019-11-06 00:32:35,579 DEBUG [client.gfx_vk] Picking physical device PhysicalDevice(deviceName='Intel(R) HD Graphics 620 (Kaby Lake GT2)', deviceType=INTEGRATED_GPU, queueFamilies=[QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true)])
2019-11-06 00:32:35,584 DEBUG [client.vulkan] Creating logical device
2019-11-06 00:32:36,863 DEBUG [client.vulkan] Queues we would like to have: [QueueRequest(family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true), target=(xyz.chunkstories.graphics.vulkan.devices.LogicalDevice.Queue) -> kotlin.Unit), QueueRequest(family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true), target=(xyz.chunkstories.graphics.vulkan.devices.LogicalDevice.Queue) -> kotlin.Unit), QueueRequest(family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true), target=(xyz.chunkstories.graphics.vulkan.devices.LogicalDevice.Queue) -> kotlin.Unit)]
2019-11-06 00:32:36,869 DEBUG [client.vulkan] Queues of the same family merged together: {QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true)=[QueueRequest(family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true), target=(xyz.chunkstories.graphics.vulkan.devices.LogicalDevice.Queue) -> kotlin.Unit), QueueRequest(family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true), target=(xyz.chunkstories.graphics.vulkan.devices.LogicalDevice.Queue) -> kotlin.Unit), QueueRequest(family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true), target=(xyz.chunkstories.graphics.vulkan.devices.LogicalDevice.Queue) -> kotlin.Unit)]}
2019-11-06 00:32:36,871 INFO [client.vulkan] Max queueCount() of the queue family QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true) is under the requested amount of queues for that type (3), queue aliasing will occur
2019-11-06 00:32:36,980 DEBUG [client.gfx_vk] Successfully created logical device LogicalDevice(handle=139711680221232, graphicsQueue=Queue(handle=VkQueue pointer [0x7F1129121F88], family=QueueFamily(index=0, maxInstances=1, canGraphics=true, canCompute=true, canTransfer=true, canPresent=true)))
2019-11-06 00:32:36,991 INFO [client.vulkan] Creating render pass
2019-11-06 00:32:37,031 DEBUG [client.vulkan] Creating swapchain using IMMEDIATE ...
2019-11-06 00:32:37,041 DEBUG [client.vulkan] Asking for a swapchain with 2 images
2019-11-06 00:32:37,042 DEBUG [client.vulkan] Using presentation mode IMMEDIATE
2019-11-06 00:32:37,047 DEBUG [client.vulkan] swapchain successfully created, handle=139711673604864
2019-11-06 00:32:37,048 DEBUG [client.vulkan] grabbed 2 swap chain images : [139711681190592, 139711681192048]
Exception in thread "Main thread" java.lang.NullPointerException
	at org.lwjgl.system.Checks.check(Checks.java:100)
	at org.lwjgl.vulkan.VK11.nvkGetImageMemoryRequirements2(VK11.java:1633)
	at org.lwjgl.vulkan.VK11.vkGetImageMemoryRequirements2(VK11.java:1676)
	at xyz.chunkstories.graphics.vulkan.textures.VulkanTexture.<init>(VulkanTexture.kt:90)
	at xyz.chunkstories.graphics.vulkan.textures.VulkanTexture2D.<init>(VulkanTexture2D.kt:15)
	at xyz.chunkstories.graphics.vulkan.graph.VulkanRenderBuffer.<init>(VulkanRenderBuffer.kt:47)
	at xyz.chunkstories.graphics.vulkan.graph.VulkanRenderTask.<init>(VulkanRenderTask.kt:15)
	at xyz.chunkstories.graphics.vulkan.graph.VulkanRenderGraph.<init>(VulkanRenderGraph.kt:33)
	at xyz.chunkstories.graphics.vulkan.VulkanGraphicsBackend.<init>(VulkanGraphicsBackend.kt:141)
	at xyz.chunkstories.graphics.GraphicsBackendsEnum$3.invoke(GraphicsBackendsEnum.kt:21)
	at xyz.chunkstories.graphics.GraphicsBackendsEnum$3.invoke(GraphicsBackendsEnum.kt:13)
	at xyz.chunkstories.graphics.GraphicsEngineImplementation.<init>(GraphicsEngineImplementation.kt:52)
	at xyz.chunkstories.client.ClientImplementation.<init>(ClientImplementation.kt:82)
	at xyz.chunkstories.client.LauncherKt.main(Launcher.kt:32)
2019-11-06 00:32:37,178 INFO [sound] OpenAL properly shut down.

Process finished with exit code 1
$ vulkaninfo
==========
VULKANINFO
==========

Vulkan Instance Version: 1.1.121



Instance Extensions:
====================
Instance Extensions	count = 17
	VK_EXT_acquire_xlib_display         : extension revision  1
	VK_EXT_debug_report                 : extension revision  8
	VK_EXT_debug_utils                  : extension revision  1
	VK_EXT_direct_mode_display          : extension revision  1
	VK_EXT_display_surface_counter      : extension revision  1
	VK_KHR_device_group_creation        : extension revision  1
	VK_KHR_display                      : extension revision 23
	VK_KHR_external_fence_capabilities  : extension revision  1
	VK_KHR_external_memory_capabilities : extension revision  1
	VK_KHR_external_semaphore_capabilities: extension revision  1
	VK_KHR_get_display_properties2      : extension revision  1
	VK_KHR_get_physical_device_properties2: extension revision  1
	VK_KHR_get_surface_capabilities2    : extension revision  1
	VK_KHR_surface                      : extension revision 25
	VK_KHR_wayland_surface              : extension revision  6
	VK_KHR_xcb_surface                  : extension revision  6
	VK_KHR_xlib_surface                 : extension revision  6
Layers: count = 3
=======
VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.121, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 1
		GPU id       : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
		Layer-Device Extensions	count = 0

VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.0.3, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 1
		GPU id       : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
		Layer-Device Extensions	count = 0

VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.0.3, layer version 1
	Layer Extensions	count = 0
	Devices 	count = 1
		GPU id       : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
		Layer-Device Extensions	count = 0

Presentable Surfaces:
=====================
GPU id       : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
Surface type : VK_KHR_xlib_surface
Formats:		count = 2
	SurfaceFormats[0]
		format = B8G8R8A8_SRGB
		colorSpace = SRGB_NONLINEAR_KHR
	SurfaceFormats[1]
		format = B8G8R8A8_UNORM
		colorSpace = SRGB_NONLINEAR_KHR
Present Modes:		count = 3
	IMMEDIATE_KHR
	MAILBOX_KHR
	FIFO_KHR
VkSurfaceCapabilitiesKHR:
	minImageCount       = 2
	maxImageCount       = 0
	currentExtent:
		width       = 256
		height      = 256
	minImageExtent:
		width       = 256
		height      = 256
	maxImageExtent:
		width       = 256
		height      = 256
	maxImageArrayLayers = 1
	supportedTransform:
		VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	currentTransform:
		VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	supportedCompositeAlpha:
		VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
		VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
	supportedUsageFlags:
		VK_IMAGE_USAGE_TRANSFER_SRC_BIT
		VK_IMAGE_USAGE_TRANSFER_DST_BIT
		VK_IMAGE_USAGE_SAMPLED_BIT
		VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
VkSurfaceCapabilities2EXT:
	supportedSurfaceCounters:
		None

GPU id       : 0 (Intel(R) HD Graphics 620 (Kaby Lake GT2))
Surface type : VK_KHR_xcb_surface
Formats:		count = 2
	SurfaceFormats[0]
		format = B8G8R8A8_SRGB
		colorSpace = SRGB_NONLINEAR_KHR
	SurfaceFormats[1]
		format = B8G8R8A8_UNORM
		colorSpace = SRGB_NONLINEAR_KHR
Present Modes:		count = 3
	IMMEDIATE_KHR
	MAILBOX_KHR
	FIFO_KHR
VkSurfaceCapabilitiesKHR:
	minImageCount       = 2
	maxImageCount       = 0
	currentExtent:
		width       = 256
		height      = 256
	minImageExtent:
		width       = 256
		height      = 256
	maxImageExtent:
		width       = 256
		height      = 256
	maxImageArrayLayers = 1
	supportedTransform:
		VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	currentTransform:
		VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
	supportedCompositeAlpha:
		VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR
		VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
	supportedUsageFlags:
		VK_IMAGE_USAGE_TRANSFER_SRC_BIT
		VK_IMAGE_USAGE_TRANSFER_DST_BIT
		VK_IMAGE_USAGE_SAMPLED_BIT
		VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
VkSurfaceCapabilities2EXT:
	supportedSurfaceCounters:
		None


Groups :
========
	Device Group Properties (Group 0) :
		physicalDeviceCount = 1

			Intel(R) HD Graphics 620 (Kaby Lake GT2) (ID: 0)

		subsetAllocation = 0

	Device Group Present Capabilities (Group 0) :

		Intel(R) HD Graphics 620 (Kaby Lake GT2) (ID: 0)
		Can present images from the following devices:
			Intel(R) HD Graphics 620 (Kaby Lake GT2) (ID: 0)

		Present modes:
			VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR



Device Properties and Extensions :
==================================
GPU0
VkPhysicalDeviceProperties:
===========================
	apiVersion     = 0x40005a  (1.0.90)
	driverVersion  = 75509766 (0x4803006)
	vendorID       = 0x8086
	deviceID       = 0x5916
	deviceType     = INTEGRATED_GPU
	deviceName     = Intel(R) HD Graphics 620 (Kaby Lake GT2)
	VkPhysicalDeviceLimits:
	-----------------------
		maxImageDimension1D                     = 16384
		maxImageDimension2D                     = 16384
		maxImageDimension3D                     = 2048
		maxImageDimensionCube                   = 16384
		maxImageArrayLayers                     = 2048
		maxTexelBufferElements                  = 0x8000000
		maxUniformBufferRange                   = 0x8000000
		maxStorageBufferRange                   = 0x40000000
		maxPushConstantsSize                    = 128
		maxMemoryAllocationCount                = 4294967295
		maxSamplerAllocationCount               = 65536
		bufferImageGranularity                  = 0x40
		sparseAddressSpaceSize                  = 0x0
		maxBoundDescriptorSets                  = 8
		maxPerStageDescriptorSamplers           = 128
		maxPerStageDescriptorUniformBuffers     = 64
		maxPerStageDescriptorStorageBuffers     = 64
		maxPerStageDescriptorSampledImages      = 128
		maxPerStageDescriptorStorageImages      = 64
		maxPerStageDescriptorInputAttachments   = 64
		maxPerStageResources                    = 250
		maxDescriptorSetSamplers                = 768
		maxDescriptorSetUniformBuffers          = 384
		maxDescriptorSetUniformBuffersDynamic   = 8
		maxDescriptorSetStorageBuffers          = 384
		maxDescriptorSetStorageBuffersDynamic   = 8
		maxDescriptorSetSampledImages           = 768
		maxDescriptorSetStorageImages           = 384
		maxDescriptorSetInputAttachments        = 256
		maxVertexInputAttributes                = 28
		maxVertexInputBindings                  = 28
		maxVertexInputAttributeOffset           = 0x7ff
		maxVertexInputBindingStride             = 0x800
		maxVertexOutputComponents               = 128
		maxTessellationGenerationLevel          = 64
		maxTessellationPatchSize                        = 32
		maxTessellationControlPerVertexInputComponents  = 128
		maxTessellationControlPerVertexOutputComponents = 128
		maxTessellationControlPerPatchOutputComponents  = 128
		maxTessellationControlTotalOutputComponents     = 2048
		maxTessellationEvaluationInputComponents        = 128
		maxTessellationEvaluationOutputComponents       = 128
		maxGeometryShaderInvocations            = 32
		maxGeometryInputComponents              = 64
		maxGeometryOutputComponents             = 128
		maxGeometryOutputVertices               = 256
		maxGeometryTotalOutputComponents        = 1024
		maxFragmentInputComponents              = 112
		maxFragmentOutputAttachments            = 8
		maxFragmentDualSrcAttachments           = 1
		maxFragmentCombinedOutputResources      = 8
		maxComputeSharedMemorySize              = 32768
		maxComputeWorkGroupCount[0]             = 65535
		maxComputeWorkGroupCount[1]             = 65535
		maxComputeWorkGroupCount[2]             = 65535
		maxComputeWorkGroupInvocations          = 896
		maxComputeWorkGroupSize[0]              = 896
		maxComputeWorkGroupSize[1]              = 896
		maxComputeWorkGroupSize[2]              = 896
		subPixelPrecisionBits                   = 8
		subTexelPrecisionBits                   = 4
		mipmapPrecisionBits                     = 4
		maxDrawIndexedIndexValue                = 4294967295
		maxDrawIndirectCount                    = 4294967295
		maxSamplerLodBias                       = 16.000000
		maxSamplerAnisotropy                    = 16.000000
		maxViewports                            = 16
		maxViewportDimensions[0]                = 16384
		maxViewportDimensions[1]                = 16384
		viewportBoundsRange[0]                  = -32768.000000
		viewportBoundsRange[1]                  =  32767.000000
		viewportSubPixelBits                    = 13
		minMemoryMapAlignment                   = 4096
		minTexelBufferOffsetAlignment           = 0x1
		minUniformBufferOffsetAlignment         = 0x20
		minStorageBufferOffsetAlignment         = 0x4
		minTexelOffset                          =  -8
		maxTexelOffset                          =   7
		minTexelGatherOffset                    = -32
		maxTexelGatherOffset                    =  31
		minInterpolationOffset                  = -0.500000
		maxInterpolationOffset                  =  0.437500
		subPixelInterpolationOffsetBits         = 4
		maxFramebufferWidth                     = 16384
		maxFramebufferHeight                    = 16384
		maxFramebufferLayers                    = 2048
		framebufferColorSampleCounts            = 31
		framebufferDepthSampleCounts            = 31
		framebufferStencilSampleCounts          = 31
		framebufferNoAttachmentsSampleCounts    = 31
		maxColorAttachments                     = 8
		sampledImageColorSampleCounts           = 31
		sampledImageDepthSampleCounts           = 31
		sampledImageStencilSampleCounts         = 31
		sampledImageIntegerSampleCounts         = 1
		storageImageSampleCounts                = 1
		maxSampleMaskWords                      = 1
		timestampComputeAndGraphics             = 0
		timestampPeriod                         = 83.333336
		maxClipDistances                        = 8
		maxCullDistances                        = 8
		maxCombinedClipAndCullDistances         = 8
		discreteQueuePriorities                 = 2
		pointSizeRange[0]                       = 0.125000
		pointSizeRange[1]                       = 255.875000
		lineWidthRange[0]                       = 0.000000
		lineWidthRange[1]                       = 7.992188
		pointSizeGranularity                    = 0.125000
		lineWidthGranularity                    = 0.007812
		strictLines                             = 0
		standardSampleLocations                 = 1
		optimalBufferCopyOffsetAlignment        = 0x80
		optimalBufferCopyRowPitchAlignment      = 0x80
		nonCoherentAtomSize                     = 0x40
	VkPhysicalDeviceSparseProperties:
	---------------------------------
		residencyStandard2DBlockShape            = 0
		residencyStandard2DMultisampleBlockShape = 0
		residencyStandard3DBlockShape            = 0
		residencyAlignedMipSize                  = 0
		residencyNonResidentStrict               = 0

VkPhysicalDevicePointClippingProperties:
========================================
	pointClippingBehavior               = 0

VkPhysicalDevicePushDescriptorProperties:
=========================================
	maxPushDescriptors               = 32

VkPhysicalDeviceMultiviewProperties:
====================================
	maxMultiviewViewCount     = 16
	maxMultiviewInstanceIndex = 268435455

VkPhysicalDeviceMaintenance3Properties:
=======================================
	maxPerSetDescriptors    = 1024
	maxMemoryAllocationSize = 2147483648

VkPhysicalDeviceIDProperties:
=========================================
	deviceUUID      = 6588f41d-5ce8-5159-bafd-03c69b748ef9
	driverUUID      = f9656097-8ec3-d521-9949-ea4fcffe244a
	deviceLUIDValid = false

VkPhysicalDeviceDriverProperties:
=================================
	driverID   = 6
	driverName = Intel open-source Mesa driver
	driverInfo = Mesa 18.3.6
	conformanceVersion:
		major    = 1
		minor    = 1
		subminor = 2
		patch    = 0

Device Extensions	count = 37
	VK_EXT_calibrated_timestamps        : extension revision  1
	VK_EXT_display_control              : extension revision  1
	VK_EXT_external_memory_dma_buf      : extension revision  1
	VK_EXT_post_depth_coverage          : extension revision  1
	VK_EXT_sampler_filter_minmax        : extension revision  1
	VK_EXT_shader_stencil_export        : extension revision  1
	VK_EXT_shader_viewport_index_layer  : extension revision  1
	VK_EXT_vertex_attribute_divisor     : extension revision  3
	VK_GOOGLE_decorate_string           : extension revision  1
	VK_GOOGLE_hlsl_functionality1       : extension revision  1
	VK_KHR_16bit_storage                : extension revision  1
	VK_KHR_8bit_storage                 : extension revision  1
	VK_KHR_bind_memory2                 : extension revision  1
	VK_KHR_create_renderpass2           : extension revision  1
	VK_KHR_dedicated_allocation         : extension revision  1
	VK_KHR_descriptor_update_template   : extension revision  1
	VK_KHR_device_group                 : extension revision  1
	VK_KHR_driver_properties            : extension revision  1
	VK_KHR_external_memory              : extension revision  1
	VK_KHR_external_memory_fd           : extension revision  1
	VK_KHR_external_semaphore           : extension revision  1
	VK_KHR_external_semaphore_fd        : extension revision  1
	VK_KHR_get_memory_requirements2     : extension revision  1
	VK_KHR_image_format_list            : extension revision  1
	VK_KHR_incremental_present          : extension revision  1
	VK_KHR_maintenance1                 : extension revision  1
	VK_KHR_maintenance2                 : extension revision  1
	VK_KHR_maintenance3                 : extension revision  1
	VK_KHR_multiview                    : extension revision  1
	VK_KHR_push_descriptor              : extension revision  1
	VK_KHR_relaxed_block_layout         : extension revision  1
	VK_KHR_sampler_mirror_clamp_to_edge : extension revision  1
	VK_KHR_sampler_ycbcr_conversion     : extension revision  1
	VK_KHR_shader_draw_parameters       : extension revision  1
	VK_KHR_storage_buffer_storage_class : extension revision  1
	VK_KHR_swapchain                    : extension revision 68
	VK_KHR_variable_pointers            : extension revision  1

VkQueueFamilyProperties[0]:
===========================
	queueFlags         = GRAPHICS | COMPUTE | TRANSFER
	queueCount         = 1
	timestampValidBits = 36
	minImageTransferGranularity = (1, 1, 1)
	present support    = true

VkPhysicalDeviceMemoryProperties:
=================================
	memoryHeapCount       = 2
	memoryHeaps[0] :
		size          = 23805280256 (0x58ae7c000) (22.17 GiB)
		flags:
			VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
	memoryHeaps[1] :
		size          = 1073741824 (0x40000000) (1024.00 MiB)
		flags:
			VK_MEMORY_HEAP_DEVICE_LOCAL_BIT
	memoryTypeCount       = 2
	memoryTypes[0] :
		heapIndex     = 0
		propertyFlags = 0xf:
			VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
			VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
			VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
			VK_MEMORY_PROPERTY_HOST_CACHED_BIT
		usable for:
			OPTIMAL: color images, D16_UNORM, X8_D24_UNORM_PACK32, D32_SFLOAT, S8_UINT, D24_UNORM_S8_UINT, D32_SFLOAT_S8_UINT
			LINEAR: color images
	memoryTypes[1] :
		heapIndex     = 1
		propertyFlags = 0xf:
			VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
			VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
			VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
			VK_MEMORY_PROPERTY_HOST_CACHED_BIT
		usable for:
			OPTIMAL: color images, D16_UNORM, X8_D24_UNORM_PACK32, D32_SFLOAT, S8_UINT, D24_UNORM_S8_UINT, D32_SFLOAT_S8_UINT
			LINEAR: color images

VkPhysicalDeviceFeatures:
=========================
	robustBufferAccess                      = 1
	fullDrawIndexUint32                     = 1
	imageCubeArray                          = 1
	independentBlend                        = 1
	geometryShader                          = 1
	tessellationShader                      = 1
	sampleRateShading                       = 1
	dualSrcBlend                            = 1
	logicOp                                 = 1
	multiDrawIndirect                       = 1
	drawIndirectFirstInstance               = 1
	depthClamp                              = 1
	depthBiasClamp                          = 1
	fillModeNonSolid                        = 1
	depthBounds                             = 0
	wideLines                               = 1
	largePoints                             = 1
	alphaToOne                              = 1
	multiViewport                           = 1
	samplerAnisotropy                       = 1
	textureCompressionETC2                  = 1
	textureCompressionASTC_LDR              = 1
	textureCompressionBC                    = 1
	occlusionQueryPrecise                   = 1
	pipelineStatisticsQuery                 = 1
	vertexPipelineStoresAndAtomics          = 1
	fragmentStoresAndAtomics                = 1
	shaderTessellationAndGeometryPointSize  = 1
	shaderImageGatherExtended               = 1
	shaderStorageImageExtendedFormats       = 1
	shaderStorageImageMultisample           = 0
	shaderStorageImageReadWithoutFormat     = 0
	shaderStorageImageWriteWithoutFormat    = 1
	shaderUniformBufferArrayDynamicIndexing = 1
	shaderSampledImageArrayDynamicIndexing  = 1
	shaderStorageBufferArrayDynamicIndexing = 1
	shaderStorageImageArrayDynamicIndexing  = 1
	shaderClipDistance                      = 1
	shaderCullDistance                      = 1
	shaderFloat64                           = 1
	shaderInt64                             = 1
	shaderInt16                             = 1
	shaderResourceResidency                 = 0
	shaderResourceMinLod                    = 0
	sparseBinding                           = 0
	sparseResidencyBuffer                   = 0
	sparseResidencyImage2D                  = 0
	sparseResidencyImage3D                  = 0
	sparseResidency2Samples                 = 0
	sparseResidency4Samples                 = 0
	sparseResidency8Samples                 = 0
	sparseResidency16Samples                = 0
	sparseResidencyAliased                  = 0
	variableMultisampleRate                 = 1
	inheritedQueries                        = 1

VkPhysicalDevice8BitStorageFeatures:
=====================================
	storageBuffer8BitAccess           = 1
	uniformAndStorageBuffer8BitAccess = 1
	storagePushConstant8              = 1

VkPhysicalDevice16BitStorageFeatures:
=====================================
	storageBuffer16BitAccess           = 1
	uniformAndStorageBuffer16BitAccess = 1
	storagePushConstant16              = 1
	storageInputOutput16               = 0

VkPhysicalDeviceSamplerYcbcrConversionFeatures:
===============================================
	samplerYcbcrConversion = 1

VkPhysicalDeviceVariablePointerFeatures:
========================================
	variablePointersStorageBuffer = 1
	variablePointers              = 1

VkPhysicalDeviceMultiviewFeatures:
==================================
	multiview                   = 1
	multiviewGeometryShader     = 1
	multiviewTessellationShader = 1

Format Properties:
==================

FORMAT_R4G4B4A4_UNORM_PACK16,
FORMAT_B4G4R4A4_UNORM_PACK16:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

FORMAT_R5G6B5_UNORM_PACK16,
FORMAT_B5G6R5_UNORM_PACK16,
FORMAT_A1R5G5B5_UNORM_PACK16,
FORMAT_R8G8B8A8_SRGB,
FORMAT_B8G8R8A8_SRGB,
FORMAT_A8B8G8R8_SRGB_PACK32:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

FORMAT_R8_UNORM,
FORMAT_R8_SNORM,
FORMAT_R8G8_UNORM,
FORMAT_R8G8_SNORM,
FORMAT_R8G8B8A8_UNORM,
FORMAT_R8G8B8A8_SNORM,
FORMAT_A8B8G8R8_UNORM_PACK32,
FORMAT_A8B8G8R8_SNORM_PACK32,
FORMAT_A2B10G10R10_UNORM_PACK32,
FORMAT_R16_UNORM,
FORMAT_R16_SNORM,
FORMAT_R16_SFLOAT,
FORMAT_R16G16_UNORM,
FORMAT_R16G16_SNORM,
FORMAT_R16G16_SFLOAT,
FORMAT_R16G16B16A16_UNORM,
FORMAT_R16G16B16A16_SNORM,
FORMAT_R16G16B16A16_SFLOAT,
FORMAT_R32_SFLOAT,
FORMAT_R32G32_SFLOAT,
FORMAT_R32G32B32A32_SFLOAT,
FORMAT_B10G11R11_UFLOAT_PACK32:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R8_USCALED,
FORMAT_R8_SSCALED,
FORMAT_R8G8_USCALED,
FORMAT_R8G8_SSCALED,
FORMAT_R8G8B8_USCALED,
FORMAT_R8G8B8_SSCALED,
FORMAT_R8G8B8A8_USCALED,
FORMAT_R8G8B8A8_SSCALED,
FORMAT_A8B8G8R8_USCALED_PACK32,
FORMAT_A8B8G8R8_SSCALED_PACK32,
FORMAT_A2R10G10B10_SNORM_PACK32,
FORMAT_A2R10G10B10_USCALED_PACK32,
FORMAT_A2R10G10B10_SSCALED_PACK32,
FORMAT_A2R10G10B10_UINT_PACK32,
FORMAT_A2R10G10B10_SINT_PACK32,
FORMAT_A2B10G10R10_SNORM_PACK32,
FORMAT_A2B10G10R10_USCALED_PACK32,
FORMAT_A2B10G10R10_SSCALED_PACK32,
FORMAT_A2B10G10R10_SINT_PACK32,
FORMAT_R16_USCALED,
FORMAT_R16_SSCALED,
FORMAT_R16G16_USCALED,
FORMAT_R16G16_SSCALED,
FORMAT_R16G16B16_USCALED,
FORMAT_R16G16B16_SSCALED,
FORMAT_R16G16B16A16_USCALED,
FORMAT_R16G16B16A16_SSCALED,
FORMAT_R64_UINT,
FORMAT_R64_SINT,
FORMAT_R64_SFLOAT,
FORMAT_R64G64_UINT,
FORMAT_R64G64_SINT,
FORMAT_R64G64_SFLOAT,
FORMAT_R64G64B64_UINT,
FORMAT_R64G64B64_SINT,
FORMAT_R64G64B64_SFLOAT,
FORMAT_R64G64B64A64_UINT,
FORMAT_R64G64B64A64_SINT,
FORMAT_R64G64B64A64_SFLOAT:
	linearTiling   FormatFeatureFlags:
		None

	optimalTiling  FormatFeatureFlags:
		None

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R8_UINT,
FORMAT_R8_SINT,
FORMAT_R8G8_UINT,
FORMAT_R8G8_SINT,
FORMAT_R8G8B8A8_UINT,
FORMAT_R8G8B8A8_SINT,
FORMAT_A8B8G8R8_UINT_PACK32,
FORMAT_A8B8G8R8_SINT_PACK32,
FORMAT_A2B10G10R10_UINT_PACK32,
FORMAT_R16_UINT,
FORMAT_R16_SINT,
FORMAT_R16G16_UINT,
FORMAT_R16G16_SINT,
FORMAT_R16G16B16A16_UINT,
FORMAT_R16G16B16A16_SINT,
FORMAT_R32G32_UINT,
FORMAT_R32G32_SINT,
FORMAT_R32G32B32A32_UINT,
FORMAT_R32G32B32A32_SINT:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R8_SRGB,
FORMAT_R8G8B8_SRGB,
FORMAT_E5B9G9R9_UFLOAT_PACK32:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT

FORMAT_R8G8B8_UNORM,
FORMAT_R16G16B16_UNORM,
FORMAT_R32G32B32_SFLOAT:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R8G8B8_SNORM,
FORMAT_R16G16B16_SNORM:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R8G8B8_UINT,
FORMAT_R8G8B8_SINT,
FORMAT_R16G16B16_UINT,
FORMAT_R16G16B16_SINT,
FORMAT_R32G32B32_UINT,
FORMAT_R32G32B32_SINT:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_B8G8R8A8_UNORM,
FORMAT_A2R10G10B10_UNORM_PACK32:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R16G16B16_SFLOAT:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_R32_UINT,
FORMAT_R32_SINT:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
		VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
		VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
		VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
		VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT

FORMAT_D16_UNORM,
FORMAT_X8_D24_UNORM_PACK32,
FORMAT_D32_SFLOAT,
FORMAT_D24_UNORM_S8_UINT,
FORMAT_D32_SFLOAT_S8_UINT:
	linearTiling   FormatFeatureFlags:
		None

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		None

FORMAT_S8_UINT:
	linearTiling   FormatFeatureFlags:
		None

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		None

FORMAT_BC1_RGB_UNORM_BLOCK,
FORMAT_BC1_RGB_SRGB_BLOCK,
FORMAT_BC1_RGBA_UNORM_BLOCK,
FORMAT_BC1_RGBA_SRGB_BLOCK,
FORMAT_BC2_UNORM_BLOCK,
FORMAT_BC2_SRGB_BLOCK,
FORMAT_BC3_UNORM_BLOCK,
FORMAT_BC3_SRGB_BLOCK,
FORMAT_BC4_UNORM_BLOCK,
FORMAT_BC4_SNORM_BLOCK,
FORMAT_BC5_UNORM_BLOCK,
FORMAT_BC5_SNORM_BLOCK,
FORMAT_BC6H_UFLOAT_BLOCK,
FORMAT_BC6H_SFLOAT_BLOCK,
FORMAT_BC7_UNORM_BLOCK,
FORMAT_BC7_SRGB_BLOCK,
FORMAT_ETC2_R8G8B8_UNORM_BLOCK,
FORMAT_ETC2_R8G8B8_SRGB_BLOCK,
FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK,
FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK,
FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK,
FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,
FORMAT_EAC_R11_UNORM_BLOCK,
FORMAT_EAC_R11_SNORM_BLOCK,
FORMAT_EAC_R11G11_UNORM_BLOCK,
FORMAT_EAC_R11G11_SNORM_BLOCK:
	linearTiling   FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		None

FORMAT_ASTC_4x4_UNORM_BLOCK,
FORMAT_ASTC_4x4_SRGB_BLOCK,
FORMAT_ASTC_5x4_UNORM_BLOCK,
FORMAT_ASTC_5x4_SRGB_BLOCK,
FORMAT_ASTC_5x5_UNORM_BLOCK,
FORMAT_ASTC_5x5_SRGB_BLOCK,
FORMAT_ASTC_6x5_UNORM_BLOCK,
FORMAT_ASTC_6x5_SRGB_BLOCK,
FORMAT_ASTC_6x6_UNORM_BLOCK,
FORMAT_ASTC_6x6_SRGB_BLOCK,
FORMAT_ASTC_8x5_UNORM_BLOCK,
FORMAT_ASTC_8x5_SRGB_BLOCK,
FORMAT_ASTC_8x6_UNORM_BLOCK,
FORMAT_ASTC_8x6_SRGB_BLOCK,
FORMAT_ASTC_8x8_UNORM_BLOCK,
FORMAT_ASTC_8x8_SRGB_BLOCK,
FORMAT_ASTC_10x5_UNORM_BLOCK,
FORMAT_ASTC_10x5_SRGB_BLOCK,
FORMAT_ASTC_10x6_UNORM_BLOCK,
FORMAT_ASTC_10x6_SRGB_BLOCK,
FORMAT_ASTC_10x8_UNORM_BLOCK,
FORMAT_ASTC_10x8_SRGB_BLOCK,
FORMAT_ASTC_10x10_UNORM_BLOCK,
FORMAT_ASTC_10x10_SRGB_BLOCK,
FORMAT_ASTC_12x10_UNORM_BLOCK,
FORMAT_ASTC_12x10_SRGB_BLOCK,
FORMAT_ASTC_12x12_UNORM_BLOCK,
FORMAT_ASTC_12x12_SRGB_BLOCK:
	linearTiling   FormatFeatureFlags:
		None

	optimalTiling  FormatFeatureFlags:
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
		VK_FORMAT_FEATURE_BLIT_SRC_BIT
		VK_FORMAT_FEATURE_BLIT_DST_BIT
		VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
		VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
		VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR

	bufferFeatures FormatFeatureFlags:
		None

Unsupported formats:
FORMAT_UNDEFINED
FORMAT_R4G4_UNORM_PACK8
FORMAT_R5G5B5A1_UNORM_PACK16
FORMAT_B5G5R5A1_UNORM_PACK16
FORMAT_R8G8_SRGB
FORMAT_B8G8R8_UNORM
FORMAT_B8G8R8_SNORM
FORMAT_B8G8R8_USCALED
FORMAT_B8G8R8_SSCALED
FORMAT_B8G8R8_UINT
FORMAT_B8G8R8_SINT
FORMAT_B8G8R8_SRGB
FORMAT_B8G8R8A8_SNORM
FORMAT_B8G8R8A8_USCALED
FORMAT_B8G8R8A8_SSCALED
FORMAT_B8G8R8A8_UINT
FORMAT_B8G8R8A8_SINT
FORMAT_D16_UNORM_S8_UINT

game shows no ui, process keeps running

I wanted to have a look at the binary on the website but after I hit the play button, no ui shows up but the process keeps running.

I get the following exception:
`

ERROR:Exception in thread "Main OpenGL Rendering thread" java.lang.NullPointerException
ERROR:  at org.lwjgl.system.Checks.check(Checks.java:94)
ERROR:  at org.lwjgl.glfw.GLFW.nglfwSetKeyCallback(GLFW.java:2819)
ERROR:  at org.lwjgl.glfw.GLFW.glfwSetKeyCallback(GLFW.java:2848)
ERROR:  at io.xol.chunkstories.input.lwjgl3.Lwjgl3ClientInputsManager.<init>(Lwjgl3ClientInputsManager.java:101)
ERROR:  at io.xol.engine.base.GameWindowOpenGL_LWJGL3.stage_2_init(GameWindowOpenGL_LWJGL3.java:348)
ERROR:  at io.xol.chunkstories.client.Client.<init>(Client.java:183)
ERROR:  at io.xol.chunkstories.client.Client.main(Client.java:127)

NullPointerException issuing a chat command in singleplayer

alpha 1.0.1
Ubuntu 16.04.1

summary : NullPointerException issuing a chat command

detail : When running in singleplayer mode, issuing a "/tp" command yields a NullPointerException ...

at io.xol.chunkstories.server.LocalServerContext.getPlayerByName(LocalServerContext.java:127)
at io.xol.chunkstories.server.commands.player.TpCommand.handleCommand(TpCommand.java:65)
at io.xol.chunkstories.plugin.DefaultPluginManager.dispatchCommand(DefaultPluginManager.java:261)
at io.xol.chunkstories.gui.layer.ingame.ChatManager.processTextInput(ChatManager.java:232)
... etc ...

It is 'world' in getPlayerByName() that is null.

After tracing it out, my analysis is that when LocalServerContext() is constructed as part of a chain of object instantiation that begins with changeWorld() on line 93 in LevelSelection.java, LocalServerContext() calls client.getWorld() too early. That is, the chain of instantiation that begins with "new WorldClientLocal()" that is the first parameter passed to changeWorld() is still executing; so, changeWorld() has not been called yet, and Client uses changeWorld() to populate 'world' returned by getWorld() that LocalServerContext() calls.

In theory, this bug could be triggered by other chat commands, and/or by other conditions. It should be trigged by anything that calls getPlayerByName(). In practice, it looks like the only other chat command that calls getPlayerByName() is /give, whose syntax in singleplayer mode disallows the player-name argument. When, as a test, I change it so the "/give item qty player" syntax works in singleplayer, without the suggested fix, it does indeed through the same NullPointerException at the same place.

I have a suggested fix for this, which I will issue as a PR right after I submit this issue. My suggested fix supplies 'world' to LocalServerContext() directly, since it is already known, and because it prevents LocalServerContext() from needing to obtain it from the Client.

Hang upon creating new singleplayer world

Exception in thread "Main thread" java.lang.Exception: Unimplemented system on this backend: interface xyz.chunkstories.api.graphics.systems.dispatching.DefferedLightsRenderer
	at xyz.chunkstories.graphics.opengl.OpenglGraphicsBackend.getOrCreateDispatchingSystem(OpenglGraphicsBackend.kt:176)
	at xyz.chunkstories.graphics.opengl.graph.OpenglPass.<init>(OpenglPass.kt:63)
	at xyz.chunkstories.graphics.opengl.graph.OpenglRenderTask.<init>(OpenglRenderTask.kt:20)
	at xyz.chunkstories.graphics.opengl.graph.OpenglRenderGraph.<init>(OpenglRenderGraph.kt:25)
	at xyz.chunkstories.graphics.opengl.OpenglGraphicsBackend.drawFrame(OpenglGraphicsBackend.kt:145)
	at xyz.chunkstories.graphics.GraphicsEngineImplementation.renderGame(GraphicsEngineImplementation.kt:57)
	at xyz.chunkstories.client.ClientImplementation.mainLoop(ClientImplementation.kt:134)
	at xyz.chunkstories.client.ClientImplementation.<init>(ClientImplementation.kt:116)
	at xyz.chunkstories.client.ClientImplementation$Companion.main(ClientImplementation.kt:189)
	at xyz.chunkstories.client.ClientImplementation.main(ClientImplementation.kt)

Built on my machine from the following commits:

repo commit
chunkstories c0ff1ac
core 2c2a4bb14fdbc6336fc0d7fd9cba3a9709ee58bf
api 20c4620fed5fae3f5c72236a938ca13ccb07b76d

my JRE version:

java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

my JDK version: javac 1.8.0_102

My OS:

Linux Mint 18.3 Sylvia
(Based on Ubuntu 16.04 LTS Xenial Xerus)

Game was run using this command:

java -Djava.awt.headless=true -Xmx2G -jar client/build/libs/chunkstories.jar --backend=OPENGL --core=../chunkstories-core/res/

, because java complained that Unrecognized option: -XstartOnFirstThread

region generation sometimes begins far away from the player

alpha 1.0.1
Ubuntu 16.04.1

summary : region generation sometimes begins far away from the player

detail : Currently, a newly generated region always starts at chunk 0, 0 and proceeds to chunk 7, 7. When approaching from the 7, 7 corner (or the '7' sides), the region chunks fill in from far away to nearby, breaking the continuity of the landscape while the chunks march toward the player, filling in the large square holes along the way.

I have a suggested update that takes into account the position of the region being generated, relative to the player. Depending on this relation, the chunk generation will count either up or down, for X and Z, independently. With the update in place, landscape generation is much smoother.

(This is not perfect, but it is an improvement. A next step might be to nest X inside of Z or Z inside of X, also depending on the relative position of the player, for even better continuity. But this update is a start.)

My update also changes summaryDistance in LocalClientLoadingAgent from a hard-coded "32" to a value sensitive to the viewing distance set by the user. "32" is far too high for my hardware, but would be appropriate for someone who has set a long viewing distance -- and, presumably, has better hardware to support generating regions further away.

My tests show that client.rendering.viewDistance / 24 provides a reasonable balance.

I will open a PR (here and for a corresponding change in chunkstories-api) right after I submit this issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.