mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-13 23:26:24 +00:00
Add StencilStateFaceDescriptor, in order to match web idl
BUG=dawn:31 Change-Id: I52f95ed134ae5afdf4fc872d5cfc5f36ec1a7a69 Reviewed-on: https://dawn-review.googlesource.com/c/3302 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Yunchao He <yunchao.he@intel.com>
This commit is contained in:
committed by
Commit Bot service account
parent
8d7de591f4
commit
48485e36a8
@@ -211,11 +211,16 @@ void init() {
|
||||
|
||||
pipeline = device.CreateRenderPipeline(&descriptor);
|
||||
|
||||
dawn::StencilStateFaceDescriptor planeStencilDescriptor;
|
||||
planeStencilDescriptor.compare = dawn::CompareFunction::Always;
|
||||
planeStencilDescriptor.stencilFailOp = dawn::StencilOperation::Keep;
|
||||
planeStencilDescriptor.depthFailOp = dawn::StencilOperation::Keep;
|
||||
planeStencilDescriptor.passOp = dawn::StencilOperation::Replace;
|
||||
auto planeStencilState = device.CreateDepthStencilStateBuilder()
|
||||
.SetDepthCompareFunction(dawn::CompareFunction::Less)
|
||||
.SetDepthWriteEnabled(false)
|
||||
.SetStencilFunction(dawn::Face::Both, dawn::CompareFunction::Always, dawn::StencilOperation::Keep, dawn::StencilOperation::Keep, dawn::StencilOperation::Replace)
|
||||
.GetResult();
|
||||
.SetDepthCompareFunction(dawn::CompareFunction::Less)
|
||||
.SetDepthWriteEnabled(false)
|
||||
.SetStencilFunction(dawn::Face::Both, &planeStencilDescriptor)
|
||||
.GetResult();
|
||||
|
||||
utils::ComboRenderPipelineDescriptor pDescriptor(device);
|
||||
pDescriptor.layout = pl;
|
||||
@@ -230,11 +235,17 @@ void init() {
|
||||
|
||||
planePipeline = device.CreateRenderPipeline(&pDescriptor);
|
||||
|
||||
auto reflectionStencilState = device.CreateDepthStencilStateBuilder()
|
||||
.SetDepthCompareFunction(dawn::CompareFunction::Less)
|
||||
.SetDepthWriteEnabled(true)
|
||||
.SetStencilFunction(dawn::Face::Both, dawn::CompareFunction::Equal, dawn::StencilOperation::Keep, dawn::StencilOperation::Keep, dawn::StencilOperation::Replace)
|
||||
.GetResult();
|
||||
dawn::StencilStateFaceDescriptor reflectionStencilDescriptor;
|
||||
reflectionStencilDescriptor.compare = dawn::CompareFunction::Equal;
|
||||
reflectionStencilDescriptor.stencilFailOp = dawn::StencilOperation::Keep;
|
||||
reflectionStencilDescriptor.depthFailOp = dawn::StencilOperation::Keep;
|
||||
reflectionStencilDescriptor.passOp = dawn::StencilOperation::Replace;
|
||||
auto reflectionStencilState =
|
||||
device.CreateDepthStencilStateBuilder()
|
||||
.SetDepthCompareFunction(dawn::CompareFunction::Less)
|
||||
.SetDepthWriteEnabled(true)
|
||||
.SetStencilFunction(dawn::Face::Both, &reflectionStencilDescriptor)
|
||||
.GetResult();
|
||||
|
||||
utils::ComboRenderPipelineDescriptor rfDescriptor(device);
|
||||
rfDescriptor.layout = pl;
|
||||
|
||||
Reference in New Issue
Block a user