Package icyllis.arc3d.vulkan
Class VulkanCaps
java.lang.Object
icyllis.arc3d.engine.Caps
icyllis.arc3d.vulkan.VulkanCaps
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.engine.Caps
Caps.BlendEquationSupport -
Field Summary
Fields inherited from class icyllis.arc3d.engine.Caps
mAnisotropySupport, MAX_COLOR_TARGETS, MAX_VERTEX_ATTRIBUTES, MAX_VERTEX_BINDINGS, mBlendEquationSupport, mClampToBorderSupport, mConservativeRasterSupport, mDepthClipNegativeOneToOne, mDriverBugWorkarounds, mDynamicStateArrayGeometryProcessorTextureSupport, mGpuTracingSupport, mInternalMultisampleCount, mMapBufferFlags, mMaxColorAttachments, mMaxPreferredRenderTargetSize, mMaxPushConstantsSize, mMaxRenderTargetSize, mMaxTextureSize, mMaxVertexAttributes, mMaxVertexBindings, mMinStorageBufferOffsetAlignment, mMinUniformBufferOffsetAlignment, mMustSyncGpuDuringDiscard, mShaderCaps, mTextureBarrierSupport, mTransferPixelsToRowBytesSupport -
Constructor Summary
ConstructorsConstructorDescriptionVulkanCaps(ContextOptions options, org.lwjgl.vulkan.VkPhysicalDevice physDev, int physicalDeviceVersion, org.lwjgl.vulkan.VkPhysicalDeviceFeatures2 deviceFeatures2, org.lwjgl.vulkan.VKCapabilitiesInstance capabilitiesInstance, org.lwjgl.vulkan.VKCapabilitiesDevice capabilitiesDevice) -
Method Summary
Modifier and TypeMethodDescriptioncomputeImageKey(ImageDesc desc, IResourceKey recycle) @Nullable BackendFormatgetCompressedBackendFormat(int compressionType) @Nullable ImageDescgetDefaultColorImageDesc(int imageType, int colorType, int width, int height, int depthOrArraySize, int mipLevelCount, int sampleCount, int imageFlags) intReturns the maximum supported sample count for a format.intgetRenderTargetSampleCount(int sampleCount, BackendFormat format) Find a sample count greater than or equal to the requested count which is supported for a render target of the given format or 0 if no such sample count is supported.longgetSupportedWriteColorType(int dstColorType, ImageDesc dstDesc, int srcColorType) Given a dst pixel config and a src color type what color type must the caller coax the data into in order to use writePixels().shortgetWriteSwizzle(ImageDesc desc, int colorType) booleanbooleanisFormatRenderable(int colorType, BackendFormat format, int sampleCount) booleanisFormatRenderable(BackendFormat format, int sampleCount) booleanisFormatTexturable(BackendFormat format) Can a texture be made with the BackendFormat, and then be bound and sampled in a shader.@NonNull PipelineKeymakeGraphicsPipelineKey(PipelineKey old, PipelineDesc pipelineDesc, RenderPassDesc renderPassDesc) protected booleanonFormatCompatible(int colorType, BackendFormat format) protected @Nullable BackendFormatonGetDefaultBackendFormat(int colorType) protected shortonGetReadSwizzle(ImageDesc desc, int colorType) protected longonSupportedReadColorType(int srcColorType, BackendFormat srcFormat, int dstColorType) Methods inherited from class icyllis.arc3d.engine.Caps
advancedBlendEquationSupport, advancedCoherentBlendEquationSupport, avoidLargeIndexBufferDraws, avoidStencilBuffers, avoidWritePixelsFastPath, blendEquationSupport, clampToBorderSupport, conservativeRasterSupport, crossContextTextureSupport, depthClipNegativeOneToOne, discardStencilValuesAfterRenderPass, drawInstancedSupport, dynamicStateArrayGeometryProcessorTextureSupport, fenceSyncSupport, finishInitialization, getDefaultBackendFormat, getDefaultColorImageDesc, getDefaultDepthStencilImageDesc, getImageDescForSampledCopy, getInternalMultisampleCount, getReadSwizzle, getSupportedReadColorType, gpuTracingSupport, halfFloatVertexAttributeSupport, hasAnisotropySupport, isFormatCompatible, maxColorAttachments, maxPreferredRenderTargetSize, maxPushConstantsSize, maxRenderTargetSize, maxTextureSize, maxVertexAttributes, maxVertexBindings, minStorageBufferOffsetAlignment, minUniformBufferOffsetAlignment, mipmapSupport, msaaResolvesAutomatically, mustClearUploadedBufferData, mustSyncGpuDuringDiscard, nativeDrawIndexedIndirectIsBroken, npotTextureTileSupport, onApplyOptionsOverrides, oversizedStencilSupport, performColorClearsAsDraws, performPartialClearsAsDraws, performStencilClearsAsDraws, preferClientSideDynamicBuffers, preferDiscardableMSAAAttachment, preferFullscreenClears, preferVRAMUseOverFlushes, readPixelsRowBytesSupport, reducedShaderMode, requiresManualFBBarrierAfterTessellatedStencilDraw, reuseScratchBuffers, reuseScratchTextures, sampleLocationsSupport, semaphoreSupport, shaderCaps, shouldCollapseSrcOverToSrcWhenAble, shouldInitializeTextures, supportsTextureBarrier, textureBarrierSupport, transferBufferAlignment, transferFromBufferToTextureSupport, transferFromSurfaceToBufferSupport, transferPixelsToRowBytesSupport, twoSidedStencilRefsAndMasksMustMatch, usePrimitiveRestart, validateAttachmentParams, validateSurfaceParams, wireframeSupport, workarounds, writePixelsRowBytesSupport
-
Constructor Details
-
VulkanCaps
public VulkanCaps(ContextOptions options, org.lwjgl.vulkan.VkPhysicalDevice physDev, int physicalDeviceVersion, org.lwjgl.vulkan.VkPhysicalDeviceFeatures2 deviceFeatures2, org.lwjgl.vulkan.VKCapabilitiesInstance capabilitiesInstance, org.lwjgl.vulkan.VKCapabilitiesDevice capabilitiesDevice)
-
-
Method Details
-
hasUnifiedMemory
public boolean hasUnifiedMemory() -
isFormatTexturable
Description copied from class:CapsCan a texture be made with the BackendFormat, and then be bound and sampled in a shader. It must be a color format, you cannot pass a stencil format here.For OpenGL: Formats that deprecated in core profile are not supported; Compressed formats from extensions are uncertain; Others are always supported.
- Specified by:
isFormatTexturablein classCaps
-
getMaxRenderTargetSampleCount
Description copied from class:CapsReturns the maximum supported sample count for a format. 0 means the format is not renderable 1 means the format is renderable but doesn't support MSAA.- Specified by:
getMaxRenderTargetSampleCountin classCaps
-
isFormatRenderable
- Specified by:
isFormatRenderablein classCaps
-
isFormatRenderable
- Specified by:
isFormatRenderablein classCaps
-
getRenderTargetSampleCount
Description copied from class:CapsFind a sample count greater than or equal to the requested count which is supported for a render target of the given format or 0 if no such sample count is supported. If the requested sample count is 1 then 1 will be returned if non-MSAA rendering is supported, otherwise 0.- Specified by:
getRenderTargetSampleCountin classCaps- Parameters:
sampleCount- requested samples
-
getSupportedWriteColorType
Description copied from class:CapsGiven a dst pixel config and a src color type what color type must the caller coax the data into in order to use writePixels().Low 32bits - colorType ((int) value). High 32bits - transferOffsetAlignment (value >>> 32). If the
writeis occurring using transferPixelsTo() then this provides the minimum alignment of the offset into the transfer buffer.- Specified by:
getSupportedWriteColorTypein classCaps
-
onSupportedReadColorType
protected long onSupportedReadColorType(int srcColorType, BackendFormat srcFormat, int dstColorType) - Specified by:
onSupportedReadColorTypein classCaps
-
onFormatCompatible
- Specified by:
onFormatCompatiblein classCaps
-
getDefaultColorImageDesc
public @Nullable ImageDesc getDefaultColorImageDesc(int imageType, int colorType, int width, int height, int depthOrArraySize, int mipLevelCount, int sampleCount, int imageFlags) - Overrides:
getDefaultColorImageDescin classCaps- Parameters:
imageType-colorType-width-height-depthOrArraySize-mipLevelCount-sampleCount-imageFlags-- Returns:
- See Also:
-
onGetDefaultBackendFormat
- Specified by:
onGetDefaultBackendFormatin classCaps
-
getCompressedBackendFormat
- Specified by:
getCompressedBackendFormatin classCaps
-
makeGraphicsPipelineKey
public @NonNull PipelineKey makeGraphicsPipelineKey(PipelineKey old, PipelineDesc pipelineDesc, RenderPassDesc renderPassDesc) - Specified by:
makeGraphicsPipelineKeyin classCaps
-
onGetReadSwizzle
- Specified by:
onGetReadSwizzlein classCaps
-
getWriteSwizzle
- Specified by:
getWriteSwizzlein classCaps
-
computeImageKey
- Specified by:
computeImageKeyin classCaps
-