mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-13 23:26:24 +00:00
Update samples to the new RenderPipelineDescriptor
Also does some updates for the new BindGroupLayoutEntry and VertexFormats that were missed previously. Bug: chromium:1177501 Change-Id: Icb336590673158538a1586a1f8d5ace398fb381e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45282 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
8ce8271c34
commit
9895c273d6
@@ -59,57 +59,48 @@ void init() {
|
||||
WGPUShaderModule fsModule = utils::CreateShaderModuleFromWGSL(device, fs).Release();
|
||||
|
||||
{
|
||||
WGPURenderPipelineDescriptor descriptor = {};
|
||||
WGPURenderPipelineDescriptor2 descriptor = {};
|
||||
|
||||
descriptor.vertexStage.module = vsModule;
|
||||
descriptor.vertexStage.entryPoint = "main";
|
||||
// Fragment state
|
||||
WGPUBlendState blend = {};
|
||||
blend.color.operation = WGPUBlendOperation_Add;
|
||||
blend.color.srcFactor = WGPUBlendFactor_One;
|
||||
blend.color.dstFactor = WGPUBlendFactor_One;
|
||||
blend.alpha.operation = WGPUBlendOperation_Add;
|
||||
blend.alpha.srcFactor = WGPUBlendFactor_One;
|
||||
blend.alpha.dstFactor = WGPUBlendFactor_One;
|
||||
|
||||
WGPUProgrammableStageDescriptor fragmentStage = {};
|
||||
fragmentStage.module = fsModule;
|
||||
fragmentStage.entryPoint = "main";
|
||||
descriptor.fragmentStage = &fragmentStage;
|
||||
WGPUColorTargetState colorTarget = {};
|
||||
colorTarget.format = swapChainFormat;
|
||||
colorTarget.blend = &blend;
|
||||
colorTarget.writeMask = WGPUColorWriteMask_All;
|
||||
|
||||
descriptor.sampleCount = 1;
|
||||
WGPUFragmentState fragment = {};
|
||||
fragment.module = fsModule;
|
||||
fragment.entryPoint = "main";
|
||||
fragment.targetCount = 1;
|
||||
fragment.targets = &colorTarget;
|
||||
descriptor.fragment = &fragment;
|
||||
|
||||
WGPUBlendDescriptor blendDescriptor = {};
|
||||
blendDescriptor.operation = WGPUBlendOperation_Add;
|
||||
blendDescriptor.srcFactor = WGPUBlendFactor_One;
|
||||
blendDescriptor.dstFactor = WGPUBlendFactor_One;
|
||||
WGPUColorStateDescriptor colorStateDescriptor = {};
|
||||
colorStateDescriptor.format = swapChainFormat;
|
||||
colorStateDescriptor.alphaBlend = blendDescriptor;
|
||||
colorStateDescriptor.colorBlend = blendDescriptor;
|
||||
colorStateDescriptor.writeMask = WGPUColorWriteMask_All;
|
||||
// Other state
|
||||
descriptor.layout = nullptr;
|
||||
descriptor.depthStencil = nullptr;
|
||||
|
||||
descriptor.colorStateCount = 1;
|
||||
descriptor.colorStates = &colorStateDescriptor;
|
||||
descriptor.vertex.module = vsModule;
|
||||
descriptor.vertex.entryPoint = "main";
|
||||
descriptor.vertex.bufferCount = 0;
|
||||
descriptor.vertex.buffers = nullptr;
|
||||
|
||||
WGPUPipelineLayoutDescriptor pl = {};
|
||||
pl.bindGroupLayoutCount = 0;
|
||||
pl.bindGroupLayouts = nullptr;
|
||||
descriptor.layout = wgpuDeviceCreatePipelineLayout(device, &pl);
|
||||
descriptor.multisample.count = 1;
|
||||
descriptor.multisample.mask = 0xFFFFFFFF;
|
||||
descriptor.multisample.alphaToCoverageEnabled = false;
|
||||
|
||||
WGPUVertexStateDescriptor vertexState = {};
|
||||
vertexState.indexFormat = WGPUIndexFormat_Undefined;
|
||||
vertexState.vertexBufferCount = 0;
|
||||
vertexState.vertexBuffers = nullptr;
|
||||
descriptor.vertexState = &vertexState;
|
||||
descriptor.primitive.frontFace = WGPUFrontFace_CCW;
|
||||
descriptor.primitive.cullMode = WGPUCullMode_None;
|
||||
descriptor.primitive.topology = WGPUPrimitiveTopology_TriangleList;
|
||||
descriptor.primitive.stripIndexFormat = WGPUIndexFormat_Undefined;
|
||||
|
||||
WGPURasterizationStateDescriptor rasterizationState = {};
|
||||
rasterizationState.frontFace = WGPUFrontFace_CCW;
|
||||
rasterizationState.cullMode = WGPUCullMode_None;
|
||||
rasterizationState.depthBias = 0;
|
||||
rasterizationState.depthBiasSlopeScale = 0.0;
|
||||
rasterizationState.depthBiasClamp = 0.0;
|
||||
descriptor.rasterizationState = &rasterizationState;
|
||||
|
||||
descriptor.primitiveTopology = WGPUPrimitiveTopology_TriangleList;
|
||||
descriptor.sampleMask = 0xFFFFFFFF;
|
||||
descriptor.alphaToCoverageEnabled = false;
|
||||
|
||||
descriptor.depthStencilState = nullptr;
|
||||
|
||||
pipeline = wgpuDeviceCreateRenderPipeline(device, &descriptor);
|
||||
pipeline = wgpuDeviceCreateRenderPipeline2(device, &descriptor);
|
||||
}
|
||||
|
||||
wgpuShaderModuleRelease(vsModule);
|
||||
|
||||
Reference in New Issue
Block a user