Class VkPipelineCoverageModulationStateCreateInfoNV
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
If coverageModulationTableEnable is FALSE, then for each color sample the associated bits of the pixel coverage are counted and divided by the number of associated bits to produce a modulation factor R in the range (0,1] (a value of zero would have been killed due to a color coverage of 0). Specifically:
N= value ofrasterizationSamplesM= value ofVkAttachmentDescription::samplesfor any color attachmentsR = popcount(associated coverage bits) / (N / M)
If coverageModulationTableEnable is TRUE, the value R is computed using a programmable lookup table. The lookup table has N / M elements, and the element of the table is selected by:
R = pCoverageModulationTable[popcount(associated coverage bits)-1]
Note that the table does not have an entry for popcount(associated coverage bits) = 0, because such samples would have been killed.
The values of pCoverageModulationTable may be rounded to an implementation-dependent precision, which is at least as fine as 1 / N, and clamped to [0,1].
For each color attachment with a floating-point or normalized color format, each fragment output color value is replicated to M values which can each be modulated (multiplied) by that color sample’s associated value of R. Which components are modulated is controlled by coverageModulationMode.
If this structure is not included in the pNext chain, it is as if coverageModulationMode is COVERAGE_MODULATION_MODE_NONE_NV.
If the coverage reduction mode is COVERAGE_REDUCTION_MODE_TRUNCATE_NV, each color sample is associated with only a single coverage sample. In this case, it is as if coverageModulationMode is COVERAGE_MODULATION_MODE_NONE_NV.
Valid Usage
- If
coverageModulationTableEnableisTRUE,coverageModulationTableCountmust be equal to the number of rasterization samples divided by the number of color samples in the subpass
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NVflagsmust be 0coverageModulationModemust be a validVkCoverageModulationModeNVvalue
Layout
struct VkPipelineCoverageModulationStateCreateInfoNV {
VkStructureType sType();
void const * pNext();
VkPipelineCoverageModulationStateCreateFlagsNV flags();
VkCoverageModulationModeNV coverageModulationMode();
VkBool32 coverageModulationTableEnable();
uint32_t coverageModulationTableCount();
float const * pCoverageModulationTable();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofVkPipelineCoverageModulationStateCreateInfoNVstructs.Nested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionCreates aVkPipelineCoverageModulationStateCreateInfoNVinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.Deprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intaVkCoverageModulationModeNVvalue controlling which color components are modulated.coverageModulationMode(int value) Sets the specified value to thecoverageModulationMode()field.intthe number of elements inpCoverageModulationTable.coverageModulationTableCount(int value) Sets the specified value to thecoverageModulationTableCount()field.booleancontrols whether the modulation factor is looked up from a table inpCoverageModulationTable.coverageModulationTableEnable(boolean value) Sets the specified value to thecoverageModulationTableEnable()field.create()Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated withBufferUtils.create(int capacity) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance for the specified memory address.create(long address, int capacity) Create aVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance at the specified memory.static @Nullable VkPipelineCoverageModulationStateCreateInfoNVcreateSafe(long address) static @Nullable VkPipelineCoverageModulationStateCreateInfoNV.BuffercreateSafe(long address, int capacity) intflags()reserved for future use.flags(int value) Sets the specified value to theflags()field.malloc()Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated on the specifiedMemoryStack.Deprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static intncoverageModulationMode(long struct) Unsafe version ofcoverageModulationMode().static voidncoverageModulationMode(long struct, int value) Unsafe version ofcoverageModulationMode.static intncoverageModulationTableCount(long struct) Unsafe version ofcoverageModulationTableCount().static voidncoverageModulationTableCount(long struct, int value) Sets the specified value to thecoverageModulationTableCountfield of the specifiedstruct.static intncoverageModulationTableEnable(long struct) Unsafe version ofcoverageModulationTableEnable().static voidncoverageModulationTableEnable(long struct, int value) Unsafe version ofcoverageModulationTableEnable.static intnflags(long struct) Unsafe version offlags().static voidnflags(long struct, int value) Unsafe version offlags.static @Nullable FloatBuffernpCoverageModulationTable(long struct) Unsafe version ofpCoverageModulationTable.static voidnpCoverageModulationTable(long struct, @Nullable FloatBuffer value) Unsafe version ofpCoverageModulationTable.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.@Nullable FloatBuffera table of modulation factors containing a value for each number of covered samples.pCoverageModulationTable(@Nullable FloatBuffer value) Sets the address of the specifiedFloatBufferto thepCoverageModulationTable()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, int flags, int coverageModulationMode, boolean coverageModulationTableEnable, int coverageModulationTableCount, @Nullable FloatBuffer pCoverageModulationTable) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NVvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
FLAGS
public static final int FLAGSThe struct member offsets. -
COVERAGEMODULATIONMODE
public static final int COVERAGEMODULATIONMODEThe struct member offsets. -
COVERAGEMODULATIONTABLEENABLE
public static final int COVERAGEMODULATIONTABLEENABLEThe struct member offsets. -
COVERAGEMODULATIONTABLECOUNT
public static final int COVERAGEMODULATIONTABLECOUNTThe struct member offsets. -
PCOVERAGEMODULATIONTABLE
public static final int PCOVERAGEMODULATIONTABLEThe struct member offsets.
-
-
Constructor Details
-
VkPipelineCoverageModulationStateCreateInfoNV
Creates aVkPipelineCoverageModulationStateCreateInfoNVinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkPipelineCoverageModulationStateCreateInfoNV>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
flags
public int flags()reserved for future use. -
coverageModulationMode
public int coverageModulationMode()aVkCoverageModulationModeNVvalue controlling which color components are modulated. -
coverageModulationTableEnable
public boolean coverageModulationTableEnable()controls whether the modulation factor is looked up from a table inpCoverageModulationTable. -
coverageModulationTableCount
public int coverageModulationTableCount()the number of elements inpCoverageModulationTable. -
pCoverageModulationTable
a table of modulation factors containing a value for each number of covered samples. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NVvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
flags
Sets the specified value to theflags()field. -
coverageModulationMode
Sets the specified value to thecoverageModulationMode()field. -
coverageModulationTableEnable
Sets the specified value to thecoverageModulationTableEnable()field. -
coverageModulationTableCount
Sets the specified value to thecoverageModulationTableCount()field. -
pCoverageModulationTable
public VkPipelineCoverageModulationStateCreateInfoNV pCoverageModulationTable(@Nullable FloatBuffer value) Sets the address of the specifiedFloatBufferto thepCoverageModulationTable()field. -
set
public VkPipelineCoverageModulationStateCreateInfoNV set(int sType, long pNext, int flags, int coverageModulationMode, boolean coverageModulationTableEnable, int coverageModulationTableCount, @Nullable FloatBuffer pCoverageModulationTable) Initializes this struct with the specified values. -
set
public VkPipelineCoverageModulationStateCreateInfoNV set(VkPipelineCoverageModulationStateCreateInfoNV src) Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated withBufferUtils. -
create
Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer create(long address, int capacity) Create aVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable VkPipelineCoverageModulationStateCreateInfoNV.Buffer createSafe(long address, int capacity) -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkPipelineCoverageModulationStateCreateInfoNV mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkPipelineCoverageModulationStateCreateInfoNV callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer mallocStack(int capacity) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer callocStack(int capacity) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
public static VkPipelineCoverageModulationStateCreateInfoNV malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkPipelineCoverageModulationStateCreateInfoNV calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNVinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkPipelineCoverageModulationStateCreateInfoNV.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkPipelineCoverageModulationStateCreateInfoNV.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nflags
public static int nflags(long struct) Unsafe version offlags(). -
ncoverageModulationMode
public static int ncoverageModulationMode(long struct) Unsafe version ofcoverageModulationMode(). -
ncoverageModulationTableEnable
public static int ncoverageModulationTableEnable(long struct) Unsafe version ofcoverageModulationTableEnable(). -
ncoverageModulationTableCount
public static int ncoverageModulationTableCount(long struct) Unsafe version ofcoverageModulationTableCount(). -
npCoverageModulationTable
Unsafe version ofpCoverageModulationTable. -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nflags
public static void nflags(long struct, int value) Unsafe version offlags. -
ncoverageModulationMode
public static void ncoverageModulationMode(long struct, int value) Unsafe version ofcoverageModulationMode. -
ncoverageModulationTableEnable
public static void ncoverageModulationTableEnable(long struct, int value) Unsafe version ofcoverageModulationTableEnable. -
ncoverageModulationTableCount
public static void ncoverageModulationTableCount(long struct, int value) Sets the specified value to thecoverageModulationTableCountfield of the specifiedstruct. -
npCoverageModulationTable
Unsafe version ofpCoverageModulationTable.
-