Lines Matching refs:fragment
9 determine whether or how values produced by fragment shading are written to
12 The following fragment operations adhere to <<primsrast-order,rasterization
40 . <<fragops-rep-frag-test, Representative fragment test>>
53 fragment.
56 If a fragment operation results in all bits of the coverage mask being `0`,
57 the fragment is discarded, and no further operations are performed.
58 Fragments can also be programmatically discarded in a fragment shader by
69 When one of the fragment operations in this chapter is described as
70 "`replacing`" a fragment shader output, that output is replaced
71 unconditionally, even if no fragment shader previously wrote to that output.
74 If there is a <<fragops-shader, fragment shader>> and it declares the
82 is set to ename:VK_TRUE and there is a <<fragops-shader, fragment shader>>
84 fragment shading>> and <<fragops-covg, multisample coverage>> operations
89 is set to ename:VK_FALSE and there is a <<fragops-shader, fragment shader>>
91 fragment shading>> and <<fragops-covg, multisample coverage>> operations
97 is set to ename:VK_TRUE and there is a <<fragops-shader, fragment shader>>
100 of fragment operations from above.
104 is set to ename:VK_FALSE and there is a <<fragops-shader, fragment shader>>
107 of fragment operations from above but may: instead be performed after
111 If there is a <<fragops-shader, fragment shader>> and it declares the
112 code:EarlyFragmentTests execution mode, <<fragops-shader,fragment shading>>
120 If there is a <<fragops-shader, fragment shader>> which declares the
126 execution mode, <<fragops-shader,fragment shading>> and <<fragops-covg,
133 * a fragment shader is specified
134 * the fragment shader either specifies code:EarlyAndLateFragmentTestsAMD
136 * the fragment shader specifies the code:StencilRefReplacingEXT execution
139 ** the fragment shader specifies the code:StencilRefUnchangedFrontAMD
141 ** the fragment shader specifies the code:StencilRefLessFrontAMD execution
145 ** the fragment shader specifies the code:StencilRefGreaterFrontAMD
150 ** the fragment shader specifies the code:StencilRefUnchangedBackAMD
152 ** the fragment shader specifies the code:StencilRefLessBackAMD execution
156 ** the fragment shader specifies the code:StencilRefGreaterBackAMD
162 <<fragops-shader, fragment shading>>, using the stencil reference value
172 * a fragment shader is specified
173 * the fragment shader
178 * the fragment shader specifies the code:DepthReplacing execution mode;
181 ** the fragment shader specifies the code:DepthUnchanged execution mode;
182 ** the fragment shader specifies the code:DepthLess execution mode and the
186 ** the fragment shader specifies the code:DepthGreater execution mode and
192 <<fragops-shader, fragment shading>> and perform an additional
196 Once all fragment operations have completed, fragment shader outputs for
206 [eq]#(x~f~,y~f~)# of each sample covered by a fragment against a set of
429 each sample covered by a fragment against a _scissor rectangle_ at the index
430 equal to the fragment's <<interfaces-builtin-variables-viewportindex,
520 [eq]#(x~f~,y~f~)# of each sample covered by a fragment against an _exclusive
521 scissor rectangle_ at the index equal to the fragment's
695 coverage mask>> for a fragment with the _sample mask_ defined by
750 <<shaders-fragment, Fragment shaders>> are invoked for each fragment, or as
753 Most operations in the fragment shader are not performed in
757 For fragment shaders invoked by fragments, the following rules apply:
759 * A fragment shader must: not be executed if a <<fragops, fragment
760 operation>> that executes before fragment shading discards the fragment.
761 * A fragment shader may: not be executed if:
762 ** An implementation determines that another fragment shader, invoked by a
766 ** Any other <<fragops, fragment operation>> discards the fragment, and
768 * Otherwise, at least one fragment shader must: be executed.
770 invocations per fragment are required:, additional invocations must: be
774 multiple invocations per fragment are required:, additional invocations
777 ** Each covered sample must: be included in at least one fragment shader
780 If no fragment shader is included in the pipeline, no fragment shader is
782 outputs during this fragment operation.
787 Multiple fragment shader invocations may be executed for the same fragment
789 When there is more than one fragment shader invocation per fragment, the
796 fragment shader may be invoked separately for each view.
800 Similarly, if the render pass has a fragment density map attachment, more
801 than one fragment shader invocation may be invoked for each covered sample.
805 Implementations may generate these additional fragment shader invocations in
806 order to make transitions between fragment areas with different fragment
817 coverage mask for the current fragment as calculated by fragment operations
818 that executed prior to fragment shading.
820 If <<primsrast-sampleshading, sample shading>> is enabled, fragment shaders
843 fragment shader invocations can: read the framebuffer color, depth, and
844 stencil values at the fragment location via tile images.
849 Even though fragment shader invocation can only read from the corresponding
850 fragment location, the abstraction of a tile image is introduced for the
862 shaderTileImageStencilReadAccess>> enables fragment shader invocations to
881 If <<primsrast-sampleshading, sample shading>> is disabled, a fragment
882 invocation can: read from all sample locations associated with the fragment
883 regardless of the fragment's coverage.
891 pname:minSampleShading is 1.0, a fragment invocation must: only read from
896 If the <<fragops-shader, fragment shader>> declares the
928 * The samples with coverage in a fragment when [eq]#Rc# is not disjoint
931 fragment as calculated by fragment operations that executed prior to
932 fragment shading, including early fragment tests if enabled for the draw
935 A fragment shader can: declare code:NonCoherentColorAttachmentReadEXT,
955 * Programmable blending - each fragment reads from a single sample
960 phase a fragment reads from a single sample at its location.
961 * Programmable resolve - a fragment reads from all samples at its location
967 decals a fragment reads a single sample (SampleID) from depth buffer,
985 built-in will replace the fragment's calculated depth values for each sample
987 <<fragops-depth, Depth testing>> performed after the fragment shader for
988 this fragment will use this new value as [eq]#z~f~#.
997 will replace the fragment's stencil reference value for each sample in the
999 <<fragops-stencil, Stencil testing>> performed after the fragment shader for
1000 this fragment will use this new value as [eq]#s~r~#.
1009 define a section of a fragment shader which imposes additional ordering
1012 How interlocked operations are ordered against other fragment shader
1017 interlocked operations in a fragment shader must: happen before interlocked
1018 operations in fragment shader invocations that execute later in
1020 the same fragment area, and must: happen after interlocked operations in a
1021 fragment shader that executes earlier in <<primsrast-order, rasterization
1022 order>> and cover at least one sample in the same fragment area.
1025 any interlocked operations in a fragment shader must: happen before or after
1026 interlocked operations in fragment shader invocations that execute earlier
1028 sample in the same fragment area.
1032 interlocked operations in a fragment shader must: happen before interlocked
1033 operations in fragment shader invocations that execute later in
1035 the same pixel, and must: happen after interlocked operations in a fragment
1040 interlocked operations in a fragment shader must: happen before or after
1041 interlocked operations in fragment shader invocations that execute earlier
1046 interlocked operations in a fragment shader must: happen before interlocked
1047 operations in fragment shader invocations that execute later in
1049 samples, and must: happen after interlocked operations in a fragment shader
1054 interlocked operations in a fragment shader must: happen before or after
1055 interlocked operations in fragment shader invocations that execute earlier
1064 If a fragment shader is active and its entry point's interface includes a
1078 fragment shader invocation are ignored.
1079 If no fragment shader is active, or if the active fragment shader does not
1082 Next, the fragment alpha value and coverage mask are modified based on the
1174 fragment shader output that has a code:Location and code:Index decoration of
1183 ename:VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT and the fragment
1185 by the coverage factor for the fragment computed during
1190 generated where each bit is determined by the fragment's alpha value, which
1191 is ANDed with the fragment coverage mask.
1324 for each fragment generated by draw commands for that pipeline with the
1336 executed by the generated fragment.
1345 for each fragment generated by draw commands for that pipeline with the
1358 by the generated fragment.
1489 If the render pass has a fragment density map attachment and the fragment
1491 coverage samples to stencil attachment samples within the fragment.
1492 However, if all samples in the fragment are covered, and the stencil
1824 If the render pass has a fragment density map attachment and the fragment
1826 rasterization samples to depth attachment samples within the fragment.
1827 However, if all samples in the fragment are covered, and the depth
1842 this fragment, respectively.
2050 The representative fragment test allows implementations to reduce the amount
2051 of rasterization and fragment processing work performed for each point,
2054 early fragment tests, the implementation may: choose one or more
2057 lists, strips, or fans, the representative fragment test is performed
2059 The set of fragments discarded by the representative fragment test is
2061 In some cases, the representative fragment test may not discard any
2064 …ragmentTestStateCreateInfoNV',desc='Structure specifying representative fragment test',type='struc…
2068 that structure includes parameters controlling the representative fragment
2080 representative fragment test is enabled.
2084 and the representative fragment test is disabled.
2086 If the active fragment shader does not specify the code:EarlyFragmentTests
2087 execution mode, the representative fragment shader test has no effect, even
2095 …SetRepresentativeFragmentTestEnableNV',desc='Specify the representative fragment test enable dynam…
2142 pass all the per-fragment tests.
2147 coverage value of 1 in each fragment that survives all the per-fragment
2159 …ineCoverageToColorStateCreateInfoNV',desc='Structure specifying whether fragment coverage replaces…
2170 * pname:coverageToColorEnable controls whether the fragment coverage value
2171 replaces a fragment color output.
2172 * pname:coverageToColorLocation controls which fragment shader color
2177 that structure controls whether the fragment coverage is substituted for a
2178 fragment color output and, if so, which output is replaced.
2182 component of the color value corresponding to the fragment shader output
2306 Coverage reduction takes the coverage information for a fragment and
2308 pixel covered by the fragment.
2313 Coverage for each pixel is first extracted from the total fragment coverage
2316 pixel in the fragment area, each with a unique
2318 If the fragment only contains a single pixel, coverage for the pixel is
2319 equivalent to the fragment coverage.
2322 If the render pass has a fragment density map attachment and the fragment
2325 If all samples in the fragment are covered, all samples will be covered in
2331 fragment covers multiple pixels, each pixel's coverage consists of the
2337 If the <<primsrast-fragment-shading-rate, fragment shading rate>> is set,
2338 and the fragment covers multiple pixels, each pixel's coverage consists of
2563 As part of coverage reduction, fragment color values can: also be modulated
2617 each fragment output color value is replicated to [eq]#M# values which can: