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, mUseCpuStagingBuffers
-
Constructor Summary
ConstructorDescriptionVulkanCaps
(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) getCompressedBackendFormat
(int compressionType) getDefaultColorImageDesc
(int imageType, int colorType, int width, int height, int depthOrArraySize, int mipLevelCount, int sampleCount, int imageFlags) int
Returns the maximum supported sample count for a format.int
getRenderTargetSampleCount
(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.long
getSupportedWriteColorType
(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().short
getWriteSwizzle
(ImageDesc desc, int colorType) boolean
boolean
isFormatRenderable
(int colorType, BackendFormat format, int sampleCount) boolean
isFormatRenderable
(BackendFormat format, int sampleCount) boolean
isFormatTexturable
(BackendFormat format) Can a texture be made with the BackendFormat, and then be bound and sampled in a shader.makeDesc
(PipelineKey_old desc, GpuRenderTarget renderTarget, GraphicsPipelineDesc_Old graphicsPipelineDesc) makeGraphicsPipelineKey
(PipelineKey old, PipelineDesc pipelineDesc, RenderPassDesc renderPassDesc) protected boolean
onFormatCompatible
(int colorType, BackendFormat format) protected BackendFormat
onGetDefaultBackendFormat
(int colorType) protected short
onGetReadSwizzle
(ImageDesc desc, int colorType) protected long
onSupportedReadColorType
(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, useCpuStagingBuffers, 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:Caps
Can 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:
isFormatTexturable
in classCaps
-
getMaxRenderTargetSampleCount
Description copied from class:Caps
Returns 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:
getMaxRenderTargetSampleCount
in classCaps
-
isFormatRenderable
- Specified by:
isFormatRenderable
in classCaps
-
isFormatRenderable
- Specified by:
isFormatRenderable
in classCaps
-
getRenderTargetSampleCount
Description copied from class:Caps
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. If the requested sample count is 1 then 1 will be returned if non-MSAA rendering is supported, otherwise 0.- Specified by:
getRenderTargetSampleCount
in classCaps
- Parameters:
sampleCount
- requested samples
-
getSupportedWriteColorType
Description copied from class:Caps
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().Low 32bits - colorType ((int) value). High 32bits - transferOffsetAlignment (value >>> 32). If the
write
is occurring using transferPixelsTo() then this provides the minimum alignment of the offset into the transfer buffer.- Specified by:
getSupportedWriteColorType
in classCaps
-
onSupportedReadColorType
protected long onSupportedReadColorType(int srcColorType, BackendFormat srcFormat, int dstColorType) - Specified by:
onSupportedReadColorType
in classCaps
-
onFormatCompatible
- Specified by:
onFormatCompatible
in classCaps
-
getDefaultColorImageDesc
@Nullable public ImageDesc getDefaultColorImageDesc(int imageType, int colorType, int width, int height, int depthOrArraySize, int mipLevelCount, int sampleCount, int imageFlags) - Overrides:
getDefaultColorImageDesc
in classCaps
- Parameters:
imageType
-colorType
-width
-height
-depthOrArraySize
-mipLevelCount
-sampleCount
-imageFlags
-- Returns:
- See Also:
-
onGetDefaultBackendFormat
- Specified by:
onGetDefaultBackendFormat
in classCaps
-
getCompressedBackendFormat
- Specified by:
getCompressedBackendFormat
in classCaps
-
makeDesc
@Nonnull public PipelineKey_old makeDesc(PipelineKey_old desc, GpuRenderTarget renderTarget, GraphicsPipelineDesc_Old graphicsPipelineDesc) -
makeGraphicsPipelineKey
@Nonnull public PipelineKey makeGraphicsPipelineKey(PipelineKey old, PipelineDesc pipelineDesc, RenderPassDesc renderPassDesc) - Specified by:
makeGraphicsPipelineKey
in classCaps
-
onGetReadSwizzle
- Specified by:
onGetReadSwizzle
in classCaps
-
getWriteSwizzle
- Specified by:
getWriteSwizzle
in classCaps
-
computeImageKey
- Specified by:
computeImageKey
in classCaps
-