mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-22 15:18:09 +02:00
anv: Handle clamping of inverted depth ranges
Tested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5792>
(cherry picked from commit 1d5e1882f6)
This commit is contained in:
parent
68155102fb
commit
726d841df9
2 changed files with 11 additions and 3 deletions
|
|
@ -319,7 +319,7 @@
|
|||
"description": "anv: Handle clamping of inverted depth ranges",
|
||||
"nominated": false,
|
||||
"nomination_type": null,
|
||||
"resolution": 4,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -104,9 +104,17 @@ gen8_cmd_buffer_emit_depth_viewport(struct anv_cmd_buffer *cmd_buffer,
|
|||
for (uint32_t i = 0; i < count; i++) {
|
||||
const VkViewport *vp = &viewports[i];
|
||||
|
||||
/* From the Vulkan spec:
|
||||
*
|
||||
* "It is valid for minDepth to be greater than or equal to
|
||||
* maxDepth."
|
||||
*/
|
||||
float min_depth = MIN2(vp->minDepth, vp->maxDepth);
|
||||
float max_depth = MAX2(vp->minDepth, vp->maxDepth);
|
||||
|
||||
struct GENX(CC_VIEWPORT) cc_viewport = {
|
||||
.MinimumDepth = depth_clamp_enable ? vp->minDepth : 0.0f,
|
||||
.MaximumDepth = depth_clamp_enable ? vp->maxDepth : 1.0f,
|
||||
.MinimumDepth = depth_clamp_enable ? min_depth : 0.0f,
|
||||
.MaximumDepth = depth_clamp_enable ? max_depth : 1.0f,
|
||||
};
|
||||
|
||||
GENX(CC_VIEWPORT_pack)(NULL, cc_state.map + i * 8, &cc_viewport);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue