hugobros3 / chunkstories Goto Github PK
View Code? Open in Web Editor NEWSomewhat fancy blocky game engine written in Kotlin
Home Page: http://chunkstories.xyz
License: Other
Somewhat fancy blocky game engine written in Kotlin
Home Page: http://chunkstories.xyz
License: Other
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
Some Dispatchers
are not implemented yet in OpenglGraphicsBackend
.
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)
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
==========
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
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)
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.
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
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.