mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 11:38:05 +02:00
swr: add support for EXT_depth_bounds_test
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
This commit is contained in:
parent
aa62fa8fb7
commit
bef4a48d1c
2 changed files with 7 additions and 1 deletions
|
|
@ -332,7 +332,7 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param)
|
|||
case PIPE_CAP_MAX_SHADER_PATCH_VARYINGS:
|
||||
return 0;
|
||||
case PIPE_CAP_DEPTH_BOUNDS_TEST:
|
||||
return 0; // xxx
|
||||
return 1;
|
||||
case PIPE_CAP_TEXTURE_FLOAT_LINEAR:
|
||||
case PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR:
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -1205,6 +1205,7 @@ swr_update_derived(struct pipe_context *pipe,
|
|||
struct pipe_depth_state *depth = &(ctx->depth_stencil->depth);
|
||||
struct pipe_stencil_state *stencil = ctx->depth_stencil->stencil;
|
||||
SWR_DEPTH_STENCIL_STATE depthStencilState = {{0}};
|
||||
SWR_DEPTH_BOUNDS_STATE depthBoundsState = {0};
|
||||
|
||||
/* XXX, incomplete. Need to flesh out stencil & alpha test state
|
||||
struct pipe_stencil_state *front_stencil =
|
||||
|
|
@ -1251,6 +1252,11 @@ swr_update_derived(struct pipe_context *pipe,
|
|||
depthStencilState.depthTestFunc = swr_convert_depth_func(depth->func);
|
||||
depthStencilState.depthWriteEnable = depth->writemask;
|
||||
SwrSetDepthStencilState(ctx->swrContext, &depthStencilState);
|
||||
|
||||
depthBoundsState.depthBoundsTestEnable = depth->bounds_test;
|
||||
depthBoundsState.depthBoundsTestMinValue = depth->bounds_min;
|
||||
depthBoundsState.depthBoundsTestMaxValue = depth->bounds_max;
|
||||
SwrSetDepthBoundsState(ctx->swrContext, &depthBoundsState);
|
||||
}
|
||||
|
||||
/* Blend State */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue