[Mesa-dev] [PATCH 2/4] st/mesa: add EXT_depth_bounds_test
Marek Olšák
maraeo at gmail.com
Thu Aug 13 13:32:38 PDT 2015
From: Marek Olšák <marek.olsak at amd.com>
---
src/mesa/state_tracker/st_atom_depth.c | 15 +++++++++++----
src/mesa/state_tracker/st_extensions.c | 1 +
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/mesa/state_tracker/st_atom_depth.c b/src/mesa/state_tracker/st_atom_depth.c
index c4bca8d..d9cc970 100644
--- a/src/mesa/state_tracker/st_atom_depth.c
+++ b/src/mesa/state_tracker/st_atom_depth.c
@@ -105,10 +105,17 @@ update_depth_stencil_alpha(struct st_context *st)
memset(dsa, 0, sizeof(*dsa));
memset(&sr, 0, sizeof(sr));
- if (ctx->Depth.Test && ctx->DrawBuffer->Visual.depthBits > 0) {
- dsa->depth.enabled = 1;
- dsa->depth.writemask = ctx->Depth.Mask;
- dsa->depth.func = st_compare_func_to_pipe(ctx->Depth.Func);
+ if (ctx->DrawBuffer->Visual.depthBits > 0) {
+ if (ctx->Depth.Test) {
+ dsa->depth.enabled = 1;
+ dsa->depth.writemask = ctx->Depth.Mask;
+ dsa->depth.func = st_compare_func_to_pipe(ctx->Depth.Func);
+ }
+ if (ctx->Depth.BoundsTest) {
+ dsa->depth.bounds_test = 1;
+ dsa->depth.bounds_min = ctx->Depth.BoundsMin;
+ dsa->depth.bounds_max = ctx->Depth.BoundsMax;
+ }
}
if (ctx->Stencil.Enabled && ctx->DrawBuffer->Visual.stencilBits > 0) {
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 7864cf8..17f572f 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -491,6 +491,7 @@ void st_init_extensions(struct pipe_screen *screen,
{ o(ARB_texture_view), PIPE_CAP_SAMPLER_VIEW_TARGET },
{ o(ARB_clip_control), PIPE_CAP_CLIP_HALFZ },
{ o(EXT_polygon_offset_clamp), PIPE_CAP_POLYGON_OFFSET_CLAMP },
+ { o(EXT_depth_bounds_test), PIPE_CAP_DEPTH_BOUNDS_TEST },
};
/* Required: render target and sampler support */
--
2.1.4
More information about the mesa-dev
mailing list