Remove indirection for vertexStage
This is to match the work in progress webgpu.h header. Also contains a fix for the wire where it wouldn't GetExtraRequiredSize for structures that are by-value members of other structures. BUG=dawn:22 Change-Id: I3c706bf9cd7a550d40fd667877f032c860d0a032 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/9382 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
d55bd7ad94
commit
c6c7a42e6e
|
@ -1051,7 +1051,7 @@
|
||||||
"extensible": true,
|
"extensible": true,
|
||||||
"members": [
|
"members": [
|
||||||
{"name": "layout", "type": "pipeline layout"},
|
{"name": "layout", "type": "pipeline layout"},
|
||||||
{"name": "vertex stage", "type": "pipeline stage descriptor", "annotation": "const*"},
|
{"name": "vertex stage", "type": "pipeline stage descriptor"},
|
||||||
{"name": "fragment stage", "type": "pipeline stage descriptor", "annotation": "const*", "optional": true},
|
{"name": "fragment stage", "type": "pipeline stage descriptor", "annotation": "const*", "optional": true},
|
||||||
{"name": "vertex input", "type": "vertex input descriptor", "annotation": "const*", "optional": true},
|
{"name": "vertex input", "type": "vertex input descriptor", "annotation": "const*", "optional": true},
|
||||||
{"name": "primitive topology", "type": "primitive topology"},
|
{"name": "primitive topology", "type": "primitive topology"},
|
||||||
|
|
|
@ -117,7 +117,7 @@ void init() {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
descriptor.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cColorStates[0]->format = GetPreferredSwapChainTextureFormat();
|
descriptor.cColorStates[0]->format = GetPreferredSwapChainTextureFormat();
|
||||||
|
|
||||||
|
|
|
@ -61,11 +61,9 @@ void init() {
|
||||||
DawnRenderPipelineDescriptor descriptor;
|
DawnRenderPipelineDescriptor descriptor;
|
||||||
descriptor.nextInChain = nullptr;
|
descriptor.nextInChain = nullptr;
|
||||||
|
|
||||||
DawnPipelineStageDescriptor vertexStage;
|
descriptor.vertexStage.nextInChain = nullptr;
|
||||||
vertexStage.nextInChain = nullptr;
|
descriptor.vertexStage.module = vsModule;
|
||||||
vertexStage.module = vsModule;
|
descriptor.vertexStage.entryPoint = "main";
|
||||||
vertexStage.entryPoint = "main";
|
|
||||||
descriptor.vertexStage = &vertexStage;
|
|
||||||
|
|
||||||
DawnPipelineStageDescriptor fragmentStage;
|
DawnPipelineStageDescriptor fragmentStage;
|
||||||
fragmentStage.nextInChain = nullptr;
|
fragmentStage.nextInChain = nullptr;
|
||||||
|
|
|
@ -122,7 +122,7 @@ void initRender() {
|
||||||
depthStencilView = CreateDefaultDepthStencilView(device);
|
depthStencilView = CreateDefaultDepthStencilView(device);
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
|
|
||||||
descriptor.cVertexInput.bufferCount = 2;
|
descriptor.cVertexInput.bufferCount = 2;
|
||||||
|
|
|
@ -127,7 +127,7 @@ void init() {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
descriptor.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
descriptor.cVertexInput.cBuffers[0].stride = 4 * sizeof(float);
|
descriptor.cVertexInput.cBuffers[0].stride = 4 * sizeof(float);
|
||||||
|
|
|
@ -205,7 +205,7 @@ void init() {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = pl;
|
descriptor.layout = pl;
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.vertexInput = &vertexInput;
|
descriptor.vertexInput = &vertexInput;
|
||||||
descriptor.depthStencilState = &descriptor.cDepthStencilState;
|
descriptor.depthStencilState = &descriptor.cDepthStencilState;
|
||||||
|
@ -218,7 +218,7 @@ void init() {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pDescriptor(device);
|
||||||
pDescriptor.layout = pl;
|
pDescriptor.layout = pl;
|
||||||
pDescriptor.cVertexStage.module = vsModule;
|
pDescriptor.vertexStage.module = vsModule;
|
||||||
pDescriptor.cFragmentStage.module = fsModule;
|
pDescriptor.cFragmentStage.module = fsModule;
|
||||||
pDescriptor.vertexInput = &vertexInput;
|
pDescriptor.vertexInput = &vertexInput;
|
||||||
pDescriptor.depthStencilState = &pDescriptor.cDepthStencilState;
|
pDescriptor.depthStencilState = &pDescriptor.cDepthStencilState;
|
||||||
|
@ -232,7 +232,7 @@ void init() {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor rfDescriptor(device);
|
utils::ComboRenderPipelineDescriptor rfDescriptor(device);
|
||||||
rfDescriptor.layout = pl;
|
rfDescriptor.layout = pl;
|
||||||
rfDescriptor.cVertexStage.module = vsModule;
|
rfDescriptor.vertexStage.module = vsModule;
|
||||||
rfDescriptor.cFragmentStage.module = fsReflectionModule;
|
rfDescriptor.cFragmentStage.module = fsReflectionModule;
|
||||||
rfDescriptor.vertexInput = &vertexInput;
|
rfDescriptor.vertexInput = &vertexInput;
|
||||||
rfDescriptor.depthStencilState = &rfDescriptor.cDepthStencilState;
|
rfDescriptor.depthStencilState = &rfDescriptor.cDepthStencilState;
|
||||||
|
|
|
@ -123,24 +123,28 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
//* Gather how much space will be needed for pointer members.
|
//* Gather how much space will be needed for pointer members.
|
||||||
{% for member in members if member.annotation != "value" and member.length != "strlen" and not member.skip_serialize %}
|
{% for member in members if member.length != "strlen" and not member.skip_serialize %}
|
||||||
{% if member.type.category != "object" and member.optional %}
|
{% if member.type.category != "object" and member.optional %}
|
||||||
if (record.{{as_varName(member.name)}} != nullptr)
|
if (record.{{as_varName(member.name)}} != nullptr)
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{
|
{
|
||||||
|
{% if member.annotation != "value" %}
|
||||||
size_t memberLength = {{member_length(member, "record.")}};
|
size_t memberLength = {{member_length(member, "record.")}};
|
||||||
result += memberLength * {{member_transfer_sizeof(member)}};
|
result += memberLength * {{member_transfer_sizeof(member)}};
|
||||||
|
|
||||||
//* Structures might contain more pointers so we need to add their extra size as well.
|
//* Structures might contain more pointers so we need to add their extra size as well.
|
||||||
{% if member.type.category == "structure" %}
|
{% if member.type.category == "structure" %}
|
||||||
for (size_t i = 0; i < memberLength; ++i) {
|
for (size_t i = 0; i < memberLength; ++i) {
|
||||||
{% if member.annotation == "const*const*" %}
|
{% if member.annotation == "const*const*" %}
|
||||||
result += {{as_cType(member.type.name)}}GetExtraRequiredSize(*record.{{as_varName(member.name)}}[i]);
|
result += {{as_cType(member.type.name)}}GetExtraRequiredSize(*record.{{as_varName(member.name)}}[i]);
|
||||||
{% else %}
|
{% else %}
|
||||||
|
{{assert(member.annotation == "const*")}}
|
||||||
result += {{as_cType(member.type.name)}}GetExtraRequiredSize(record.{{as_varName(member.name)}}[i]);
|
result += {{as_cType(member.type.name)}}GetExtraRequiredSize(record.{{as_varName(member.name)}}[i]);
|
||||||
{% endif %}
|
{% endif %}
|
||||||
}
|
}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% elif member.type.category == "structure" %}
|
||||||
|
result += {{as_cType(member.type.name)}}GetExtraRequiredSize(record.{{as_varName(member.name)}});
|
||||||
|
{% endif %}
|
||||||
}
|
}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
@ -192,8 +196,8 @@
|
||||||
{
|
{
|
||||||
size_t memberLength = {{member_length(member, "record.")}};
|
size_t memberLength = {{member_length(member, "record.")}};
|
||||||
auto memberBuffer = reinterpret_cast<{{member_transfer_type(member)}}*>(*buffer);
|
auto memberBuffer = reinterpret_cast<{{member_transfer_type(member)}}*>(*buffer);
|
||||||
|
|
||||||
*buffer += memberLength * {{member_transfer_sizeof(member)}};
|
*buffer += memberLength * {{member_transfer_sizeof(member)}};
|
||||||
|
|
||||||
for (size_t i = 0; i < memberLength; ++i) {
|
for (size_t i = 0; i < memberLength; ++i) {
|
||||||
{{serialize_member(member, "record." + memberName + "[i]", "memberBuffer[i]" )}}
|
{{serialize_member(member, "record." + memberName + "[i]", "memberBuffer[i]" )}}
|
||||||
}
|
}
|
||||||
|
|
|
@ -283,7 +283,7 @@ namespace dawn_native {
|
||||||
}
|
}
|
||||||
|
|
||||||
DAWN_TRY(ValidatePrimitiveTopology(descriptor->primitiveTopology));
|
DAWN_TRY(ValidatePrimitiveTopology(descriptor->primitiveTopology));
|
||||||
DAWN_TRY(ValidatePipelineStageDescriptor(device, descriptor->vertexStage,
|
DAWN_TRY(ValidatePipelineStageDescriptor(device, &descriptor->vertexStage,
|
||||||
descriptor->layout, SingleShaderStage::Vertex));
|
descriptor->layout, SingleShaderStage::Vertex));
|
||||||
DAWN_TRY(ValidatePipelineStageDescriptor(device, descriptor->fragmentStage,
|
DAWN_TRY(ValidatePipelineStageDescriptor(device, descriptor->fragmentStage,
|
||||||
descriptor->layout, SingleShaderStage::Fragment));
|
descriptor->layout, SingleShaderStage::Fragment));
|
||||||
|
@ -292,7 +292,7 @@ namespace dawn_native {
|
||||||
DAWN_TRY(ValidateRasterizationStateDescriptor(descriptor->rasterizationState));
|
DAWN_TRY(ValidateRasterizationStateDescriptor(descriptor->rasterizationState));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((descriptor->vertexStage->module->GetUsedVertexAttributes() & ~attributesSetMask)
|
if ((descriptor->vertexStage.module->GetUsedVertexAttributes() & ~attributesSetMask)
|
||||||
.any()) {
|
.any()) {
|
||||||
return DAWN_VALIDATION_ERROR(
|
return DAWN_VALIDATION_ERROR(
|
||||||
"Pipeline vertex stage uses inputs not in the input state");
|
"Pipeline vertex stage uses inputs not in the input state");
|
||||||
|
@ -361,8 +361,8 @@ namespace dawn_native {
|
||||||
mPrimitiveTopology(descriptor->primitiveTopology),
|
mPrimitiveTopology(descriptor->primitiveTopology),
|
||||||
mSampleMask(descriptor->sampleMask),
|
mSampleMask(descriptor->sampleMask),
|
||||||
mAlphaToCoverageEnabled(descriptor->alphaToCoverageEnabled),
|
mAlphaToCoverageEnabled(descriptor->alphaToCoverageEnabled),
|
||||||
mVertexModule(descriptor->vertexStage->module),
|
mVertexModule(descriptor->vertexStage.module),
|
||||||
mVertexEntryPoint(descriptor->vertexStage->entryPoint),
|
mVertexEntryPoint(descriptor->vertexStage.entryPoint),
|
||||||
mFragmentModule(descriptor->fragmentStage->module),
|
mFragmentModule(descriptor->fragmentStage->module),
|
||||||
mFragmentEntryPoint(descriptor->fragmentStage->entryPoint),
|
mFragmentEntryPoint(descriptor->fragmentStage->entryPoint),
|
||||||
mIsBlueprint(blueprint) {
|
mIsBlueprint(blueprint) {
|
||||||
|
|
|
@ -312,8 +312,8 @@ namespace dawn_native { namespace d3d12 {
|
||||||
D3D12_SHADER_BYTECODE* shader = nullptr;
|
D3D12_SHADER_BYTECODE* shader = nullptr;
|
||||||
switch (stage) {
|
switch (stage) {
|
||||||
case SingleShaderStage::Vertex:
|
case SingleShaderStage::Vertex:
|
||||||
module = ToBackend(descriptor->vertexStage->module);
|
module = ToBackend(descriptor->vertexStage.module);
|
||||||
entryPoint = descriptor->vertexStage->entryPoint;
|
entryPoint = descriptor->vertexStage.entryPoint;
|
||||||
shader = &descriptorD3D12.VS;
|
shader = &descriptorD3D12.VS;
|
||||||
compileTarget = "vs_5_1";
|
compileTarget = "vs_5_1";
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -314,8 +314,8 @@ namespace dawn_native { namespace metal {
|
||||||
|
|
||||||
MTLRenderPipelineDescriptor* descriptorMTL = [MTLRenderPipelineDescriptor new];
|
MTLRenderPipelineDescriptor* descriptorMTL = [MTLRenderPipelineDescriptor new];
|
||||||
|
|
||||||
const ShaderModule* vertexModule = ToBackend(descriptor->vertexStage->module);
|
const ShaderModule* vertexModule = ToBackend(descriptor->vertexStage.module);
|
||||||
const char* vertexEntryPoint = descriptor->vertexStage->entryPoint;
|
const char* vertexEntryPoint = descriptor->vertexStage.entryPoint;
|
||||||
ShaderModule::MetalFunctionData vertexData = vertexModule->GetFunction(
|
ShaderModule::MetalFunctionData vertexData = vertexModule->GetFunction(
|
||||||
vertexEntryPoint, SingleShaderStage::Vertex, ToBackend(GetLayout()));
|
vertexEntryPoint, SingleShaderStage::Vertex, ToBackend(GetLayout()));
|
||||||
descriptorMTL.vertexFunction = vertexData.function;
|
descriptorMTL.vertexFunction = vertexData.function;
|
||||||
|
|
|
@ -198,7 +198,7 @@ namespace dawn_native { namespace opengl {
|
||||||
mVertexArrayObject(0),
|
mVertexArrayObject(0),
|
||||||
mGlPrimitiveTopology(GLPrimitiveTopology(GetPrimitiveTopology())) {
|
mGlPrimitiveTopology(GLPrimitiveTopology(GetPrimitiveTopology())) {
|
||||||
PerStage<const ShaderModule*> modules(nullptr);
|
PerStage<const ShaderModule*> modules(nullptr);
|
||||||
modules[SingleShaderStage::Vertex] = ToBackend(descriptor->vertexStage->module);
|
modules[SingleShaderStage::Vertex] = ToBackend(descriptor->vertexStage.module);
|
||||||
modules[SingleShaderStage::Fragment] = ToBackend(descriptor->fragmentStage->module);
|
modules[SingleShaderStage::Fragment] = ToBackend(descriptor->fragmentStage->module);
|
||||||
|
|
||||||
PipelineGL::Initialize(device->gl, ToBackend(GetLayout()), modules);
|
PipelineGL::Initialize(device->gl, ToBackend(GetLayout()), modules);
|
||||||
|
|
|
@ -320,8 +320,8 @@ namespace dawn_native { namespace vulkan {
|
||||||
shaderStages[0].flags = 0;
|
shaderStages[0].flags = 0;
|
||||||
shaderStages[0].stage = VK_SHADER_STAGE_VERTEX_BIT;
|
shaderStages[0].stage = VK_SHADER_STAGE_VERTEX_BIT;
|
||||||
shaderStages[0].pSpecializationInfo = nullptr;
|
shaderStages[0].pSpecializationInfo = nullptr;
|
||||||
shaderStages[0].module = ToBackend(descriptor->vertexStage->module)->GetHandle();
|
shaderStages[0].module = ToBackend(descriptor->vertexStage.module)->GetHandle();
|
||||||
shaderStages[0].pName = descriptor->vertexStage->entryPoint;
|
shaderStages[0].pName = descriptor->vertexStage.entryPoint;
|
||||||
|
|
||||||
shaderStages[1].sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
shaderStages[1].sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
|
||||||
shaderStages[1].pNext = nullptr;
|
shaderStages[1].pNext = nullptr;
|
||||||
|
|
|
@ -124,7 +124,7 @@ TEST_P(BindGroupTests, ReusedUBO) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor textureDescriptor(device);
|
utils::ComboRenderPipelineDescriptor textureDescriptor(device);
|
||||||
textureDescriptor.layout = pipelineLayout;
|
textureDescriptor.layout = pipelineLayout;
|
||||||
textureDescriptor.cVertexStage.module = vsModule;
|
textureDescriptor.vertexStage.module = vsModule;
|
||||||
textureDescriptor.cFragmentStage.module = fsModule;
|
textureDescriptor.cFragmentStage.module = fsModule;
|
||||||
textureDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
textureDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -205,7 +205,7 @@ TEST_P(BindGroupTests, UBOSamplerAndTexture) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
||||||
pipelineDescriptor.layout = pipelineLayout;
|
pipelineDescriptor.layout = pipelineLayout;
|
||||||
pipelineDescriptor.cVertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
pipelineDescriptor.cFragmentStage.module = fsModule;
|
pipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
pipelineDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
pipelineDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -329,7 +329,7 @@ TEST_P(BindGroupTests, MultipleBindLayouts) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor textureDescriptor(device);
|
utils::ComboRenderPipelineDescriptor textureDescriptor(device);
|
||||||
textureDescriptor.layout = pipelineLayout;
|
textureDescriptor.layout = pipelineLayout;
|
||||||
textureDescriptor.cVertexStage.module = vsModule;
|
textureDescriptor.vertexStage.module = vsModule;
|
||||||
textureDescriptor.cFragmentStage.module = fsModule;
|
textureDescriptor.cFragmentStage.module = fsModule;
|
||||||
textureDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
textureDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -422,7 +422,7 @@ TEST_P(BindGroupTests, DrawTwiceInSamePipelineWithFourBindGroupSets)
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
||||||
pipelineDescriptor.layout = pipelineLayout;
|
pipelineDescriptor.layout = pipelineLayout;
|
||||||
pipelineDescriptor.cVertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
pipelineDescriptor.cFragmentStage.module = fsModule;
|
pipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
pipelineDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
pipelineDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ class ClipSpaceTest : public DawnTest {
|
||||||
void main() {
|
void main() {
|
||||||
gl_Position = vec4(pos[gl_VertexIndex], 1.0);
|
gl_Position = vec4(pos[gl_VertexIndex], 1.0);
|
||||||
})";
|
})";
|
||||||
pipelineDescriptor.cVertexStage.module =
|
pipelineDescriptor.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
||||||
|
|
||||||
const char* fs =
|
const char* fs =
|
||||||
|
|
|
@ -71,7 +71,7 @@ class ColorStateTest : public DawnTest {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
||||||
baseDescriptor.layout = pipelineLayout;
|
baseDescriptor.layout = pipelineLayout;
|
||||||
baseDescriptor.cVertexStage.module = vsModule;
|
baseDescriptor.vertexStage.module = vsModule;
|
||||||
baseDescriptor.cFragmentStage.module = fsModule;
|
baseDescriptor.cFragmentStage.module = fsModule;
|
||||||
baseDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
baseDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ class ColorStateTest : public DawnTest {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
||||||
testDescriptor.layout = pipelineLayout;
|
testDescriptor.layout = pipelineLayout;
|
||||||
testDescriptor.cVertexStage.module = vsModule;
|
testDescriptor.vertexStage.module = vsModule;
|
||||||
testDescriptor.cFragmentStage.module = fsModule;
|
testDescriptor.cFragmentStage.module = fsModule;
|
||||||
testDescriptor.cColorStates[0] = &colorStateDescriptor;
|
testDescriptor.cColorStates[0] = &colorStateDescriptor;
|
||||||
testDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
testDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
@ -797,7 +797,7 @@ TEST_P(ColorStateTest, IndependentColorState) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
||||||
baseDescriptor.layout = pipelineLayout;
|
baseDescriptor.layout = pipelineLayout;
|
||||||
baseDescriptor.cVertexStage.module = vsModule;
|
baseDescriptor.vertexStage.module = vsModule;
|
||||||
baseDescriptor.cFragmentStage.module = fsModule;
|
baseDescriptor.cFragmentStage.module = fsModule;
|
||||||
baseDescriptor.colorStateCount = 4;
|
baseDescriptor.colorStateCount = 4;
|
||||||
|
|
||||||
|
@ -805,7 +805,7 @@ TEST_P(ColorStateTest, IndependentColorState) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
||||||
testDescriptor.layout = pipelineLayout;
|
testDescriptor.layout = pipelineLayout;
|
||||||
testDescriptor.cVertexStage.module = vsModule;
|
testDescriptor.vertexStage.module = vsModule;
|
||||||
testDescriptor.cFragmentStage.module = fsModule;
|
testDescriptor.cFragmentStage.module = fsModule;
|
||||||
testDescriptor.colorStateCount = 4;
|
testDescriptor.colorStateCount = 4;
|
||||||
|
|
||||||
|
@ -899,7 +899,7 @@ TEST_P(ColorStateTest, DefaultBlendColor) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
||||||
baseDescriptor.layout = pipelineLayout;
|
baseDescriptor.layout = pipelineLayout;
|
||||||
baseDescriptor.cVertexStage.module = vsModule;
|
baseDescriptor.vertexStage.module = vsModule;
|
||||||
baseDescriptor.cFragmentStage.module = fsModule;
|
baseDescriptor.cFragmentStage.module = fsModule;
|
||||||
baseDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
baseDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -907,7 +907,7 @@ TEST_P(ColorStateTest, DefaultBlendColor) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
||||||
testDescriptor.layout = pipelineLayout;
|
testDescriptor.layout = pipelineLayout;
|
||||||
testDescriptor.cVertexStage.module = vsModule;
|
testDescriptor.vertexStage.module = vsModule;
|
||||||
testDescriptor.cFragmentStage.module = fsModule;
|
testDescriptor.cFragmentStage.module = fsModule;
|
||||||
testDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
testDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -1023,7 +1023,7 @@ TEST_P(ColorStateTest, ColorWriteMaskDoesNotAffectRenderPassLoadOpClear) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
utils::ComboRenderPipelineDescriptor baseDescriptor(device);
|
||||||
baseDescriptor.layout = pipelineLayout;
|
baseDescriptor.layout = pipelineLayout;
|
||||||
baseDescriptor.cVertexStage.module = vsModule;
|
baseDescriptor.vertexStage.module = vsModule;
|
||||||
baseDescriptor.cFragmentStage.module = fsModule;
|
baseDescriptor.cFragmentStage.module = fsModule;
|
||||||
baseDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
baseDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
||||||
|
@ -1031,7 +1031,7 @@ TEST_P(ColorStateTest, ColorWriteMaskDoesNotAffectRenderPassLoadOpClear) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
utils::ComboRenderPipelineDescriptor testDescriptor(device);
|
||||||
testDescriptor.layout = pipelineLayout;
|
testDescriptor.layout = pipelineLayout;
|
||||||
testDescriptor.cVertexStage.module = vsModule;
|
testDescriptor.vertexStage.module = vsModule;
|
||||||
testDescriptor.cFragmentStage.module = fsModule;
|
testDescriptor.cFragmentStage.module = fsModule;
|
||||||
testDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
testDescriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
testDescriptor.cColorStates[0]->writeMask = dawn::ColorWriteMask::Red;
|
testDescriptor.cColorStates[0]->writeMask = dawn::ColorWriteMask::Red;
|
||||||
|
|
|
@ -163,7 +163,7 @@ class CompressedTextureBCFormatTest : public DawnTest {
|
||||||
void main() {
|
void main() {
|
||||||
fragColor = texture(sampler2D(texture0, sampler0), texCoord);
|
fragColor = texture(sampler2D(texture0, sampler0), texCoord);
|
||||||
})");
|
})");
|
||||||
renderPipelineDescriptor.cVertexStage.module = vsModule;
|
renderPipelineDescriptor.vertexStage.module = vsModule;
|
||||||
renderPipelineDescriptor.cFragmentStage.module = fsModule;
|
renderPipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
renderPipelineDescriptor.layout = pipelineLayout;
|
renderPipelineDescriptor.layout = pipelineLayout;
|
||||||
renderPipelineDescriptor.cColorStates[0]->format =
|
renderPipelineDescriptor.cColorStates[0]->format =
|
||||||
|
|
|
@ -36,7 +36,7 @@ class CullingTest : public DawnTest {
|
||||||
void main() {
|
void main() {
|
||||||
gl_Position = vec4(pos[gl_VertexIndex], 0.0, 1.0);
|
gl_Position = vec4(pos[gl_VertexIndex], 0.0, 1.0);
|
||||||
})";
|
})";
|
||||||
pipelineDescriptor.cVertexStage.module =
|
pipelineDescriptor.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
||||||
|
|
||||||
// gl_FragCoord of pixel(x, y) in framebuffer coordinate is (x + 0.5, y + 0.5). And we use
|
// gl_FragCoord of pixel(x, y) in framebuffer coordinate is (x + 0.5, y + 0.5). And we use
|
||||||
|
|
|
@ -275,7 +275,7 @@ class DepthStencilStateTest : public DawnTest {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = pipelineLayout;
|
descriptor.layout = pipelineLayout;
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cDepthStencilState = test.depthStencilState;
|
descriptor.cDepthStencilState = test.depthStencilState;
|
||||||
descriptor.cDepthStencilState.format = dawn::TextureFormat::Depth24PlusStencil8;
|
descriptor.cDepthStencilState.format = dawn::TextureFormat::Depth24PlusStencil8;
|
||||||
|
|
|
@ -43,7 +43,7 @@ class DestroyTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -43,7 +43,7 @@ class DrawIndexedIndirectTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -43,7 +43,7 @@ class DrawIndexedTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -43,7 +43,7 @@ class DrawIndirectTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -43,7 +43,7 @@ class DrawTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -140,7 +140,7 @@ class DynamicBufferOffsetTests : public DawnTest {
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Fragment, fs.str().c_str());
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Fragment, fs.str().c_str());
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
||||||
pipelineDescriptor.cVertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
pipelineDescriptor.cFragmentStage.module = fsModule;
|
pipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
pipelineDescriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
pipelineDescriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
||||||
|
|
||||||
|
|
|
@ -303,7 +303,7 @@ class IOSurfaceUsageTests : public IOSurfaceTestBase {
|
||||||
)");
|
)");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vs;
|
descriptor.vertexStage.module = vs;
|
||||||
descriptor.cFragmentStage.module = fs;
|
descriptor.cFragmentStage.module = fs;
|
||||||
descriptor.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
descriptor.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
||||||
descriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
descriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
||||||
|
|
|
@ -48,7 +48,7 @@ class IndexFormatTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.indexFormat = format;
|
descriptor.cVertexInput.indexFormat = format;
|
||||||
|
|
|
@ -196,7 +196,7 @@ class MultisampledRenderingTest : public DawnTest {
|
||||||
void main() {
|
void main() {
|
||||||
gl_Position = vec4(pos[gl_VertexIndex], 0.0, 1.0);
|
gl_Position = vec4(pos[gl_VertexIndex], 0.0, 1.0);
|
||||||
})";
|
})";
|
||||||
pipelineDescriptor.cVertexStage.module =
|
pipelineDescriptor.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
||||||
|
|
||||||
pipelineDescriptor.cFragmentStage.module =
|
pipelineDescriptor.cFragmentStage.module =
|
||||||
|
|
|
@ -213,7 +213,7 @@ TEST_P(ObjectCachingTest, RenderPipelineDeduplicationOnLayout) {
|
||||||
EXPECT_EQ(pl.Get() == samePl.Get(), !UsesWire());
|
EXPECT_EQ(pl.Get() == samePl.Get(), !UsesWire());
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor desc(device);
|
utils::ComboRenderPipelineDescriptor desc(device);
|
||||||
desc.cVertexStage.module =
|
desc.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(
|
||||||
#version 450
|
#version 450
|
||||||
void main() {
|
void main() {
|
||||||
|
@ -269,13 +269,13 @@ TEST_P(ObjectCachingTest, RenderPipelineDeduplicationOnVertexModule) {
|
||||||
void main() {
|
void main() {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
desc.cVertexStage.module = module;
|
desc.vertexStage.module = module;
|
||||||
dawn::RenderPipeline pipeline = device.CreateRenderPipeline(&desc);
|
dawn::RenderPipeline pipeline = device.CreateRenderPipeline(&desc);
|
||||||
|
|
||||||
desc.cVertexStage.module = sameModule;
|
desc.vertexStage.module = sameModule;
|
||||||
dawn::RenderPipeline samePipeline = device.CreateRenderPipeline(&desc);
|
dawn::RenderPipeline samePipeline = device.CreateRenderPipeline(&desc);
|
||||||
|
|
||||||
desc.cVertexStage.module = otherModule;
|
desc.vertexStage.module = otherModule;
|
||||||
dawn::RenderPipeline otherPipeline = device.CreateRenderPipeline(&desc);
|
dawn::RenderPipeline otherPipeline = device.CreateRenderPipeline(&desc);
|
||||||
|
|
||||||
EXPECT_NE(pipeline.Get(), otherPipeline.Get());
|
EXPECT_NE(pipeline.Get(), otherPipeline.Get());
|
||||||
|
@ -305,7 +305,7 @@ TEST_P(ObjectCachingTest, RenderPipelineDeduplicationOnFragmentModule) {
|
||||||
EXPECT_EQ(module.Get() == sameModule.Get(), !UsesWire());
|
EXPECT_EQ(module.Get() == sameModule.Get(), !UsesWire());
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor desc(device);
|
utils::ComboRenderPipelineDescriptor desc(device);
|
||||||
desc.cVertexStage.module =
|
desc.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(
|
||||||
#version 450
|
#version 450
|
||||||
void main() {
|
void main() {
|
||||||
|
|
|
@ -179,7 +179,7 @@ TEST_P(OpArrayLengthTest, Fragment) {
|
||||||
.c_str());
|
.c_str());
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
||||||
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
@ -240,7 +240,7 @@ TEST_P(OpArrayLengthTest, Vertex) {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
||||||
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
|
@ -183,7 +183,7 @@ class PrimitiveTopologyTest : public DawnTest {
|
||||||
// Draw the vertices with the given primitive topology and check the pixel values of the test locations
|
// Draw the vertices with the given primitive topology and check the pixel values of the test locations
|
||||||
void DoTest(dawn::PrimitiveTopology primitiveTopology, const std::vector<LocationSpec> &locationSpecs) {
|
void DoTest(dawn::PrimitiveTopology primitiveTopology, const std::vector<LocationSpec> &locationSpecs) {
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = primitiveTopology;
|
descriptor.primitiveTopology = primitiveTopology;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -74,7 +74,7 @@ class RenderBundleTest : public DawnTest {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = pipelineLayout;
|
descriptor.layout = pipelineLayout;
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
|
|
|
@ -38,7 +38,7 @@ class DrawQuad {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = pipelineLayout;
|
descriptor.layout = pipelineLayout;
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
|
|
||||||
auto renderPipeline = device.CreateRenderPipeline(&descriptor);
|
auto renderPipeline = device.CreateRenderPipeline(&descriptor);
|
||||||
|
|
|
@ -44,7 +44,7 @@ protected:
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::TriangleStrip;
|
||||||
descriptor.cColorStates[0]->format = kFormat;
|
descriptor.cColorStates[0]->format = kFormat;
|
||||||
|
|
|
@ -75,7 +75,7 @@ protected:
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
||||||
pipelineDescriptor.layout = pipelineLayout;
|
pipelineDescriptor.layout = pipelineLayout;
|
||||||
pipelineDescriptor.cVertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
pipelineDescriptor.cFragmentStage.module = fsModule;
|
pipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
pipelineDescriptor.cColorStates[0]->format = mRenderPass.colorFormat;
|
pipelineDescriptor.cColorStates[0]->format = mRenderPass.colorFormat;
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class ScissorTest: public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cColorStates[0]->format = format;
|
descriptor.cColorStates[0]->format = format;
|
||||||
|
|
||||||
|
|
|
@ -216,7 +216,7 @@ class TextureFormatTest : public DawnTest {
|
||||||
dawn::ShaderModule fsModule = utils::CreateShaderModule(
|
dawn::ShaderModule fsModule = utils::CreateShaderModule(
|
||||||
device, utils::SingleShaderStage::Fragment, fsSource.str().c_str());
|
device, utils::SingleShaderStage::Fragment, fsSource.str().c_str());
|
||||||
|
|
||||||
desc.cVertexStage.module = vsModule;
|
desc.vertexStage.module = vsModule;
|
||||||
desc.cFragmentStage.module = fsModule;
|
desc.cFragmentStage.module = fsModule;
|
||||||
desc.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
desc.layout = utils::MakeBasicPipelineLayout(device, &bgl);
|
||||||
desc.cColorStates[0]->format = renderFormatInfo.format;
|
desc.cColorStates[0]->format = renderFormatInfo.format;
|
||||||
|
|
|
@ -167,7 +167,7 @@ protected:
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Fragment, fragmentShader);
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Fragment, fragmentShader);
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor textureDescriptor(device);
|
utils::ComboRenderPipelineDescriptor textureDescriptor(device);
|
||||||
textureDescriptor.cVertexStage.module = mVSModule;
|
textureDescriptor.vertexStage.module = mVSModule;
|
||||||
textureDescriptor.cFragmentStage.module = fsModule;
|
textureDescriptor.cFragmentStage.module = fsModule;
|
||||||
textureDescriptor.layout = mPipelineLayout;
|
textureDescriptor.layout = mPipelineLayout;
|
||||||
textureDescriptor.cColorStates[0]->format = mRenderPass.colorFormat;
|
textureDescriptor.cColorStates[0]->format = mRenderPass.colorFormat;
|
||||||
|
@ -505,7 +505,7 @@ class TextureViewRenderingTest : public DawnTest {
|
||||||
device, utils::SingleShaderStage::Fragment, oneColorFragmentShader);
|
device, utils::SingleShaderStage::Fragment, oneColorFragmentShader);
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
||||||
pipelineDescriptor.cVertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
pipelineDescriptor.cFragmentStage.module = oneColorFsModule;
|
pipelineDescriptor.cFragmentStage.module = oneColorFsModule;
|
||||||
pipelineDescriptor.cColorStates[0]->format = kDefaultFormat;
|
pipelineDescriptor.cColorStates[0]->format = kDefaultFormat;
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ class TextureZeroInitTest : public DawnTest {
|
||||||
void main() {
|
void main() {
|
||||||
gl_Position = vec4(pos[gl_VertexIndex], 0.0, 1.0);
|
gl_Position = vec4(pos[gl_VertexIndex], 0.0, 1.0);
|
||||||
})";
|
})";
|
||||||
pipelineDescriptor.cVertexStage.module =
|
pipelineDescriptor.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
||||||
|
|
||||||
const char* fs =
|
const char* fs =
|
||||||
|
@ -441,7 +441,7 @@ TEST_P(TextureZeroInitTest, RenderPassSampledTextureClear) {
|
||||||
// Create render pipeline
|
// Create render pipeline
|
||||||
utils::ComboRenderPipelineDescriptor renderPipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor renderPipelineDescriptor(device);
|
||||||
renderPipelineDescriptor.layout = utils::MakeBasicPipelineLayout(device, &bindGroupLayout);
|
renderPipelineDescriptor.layout = utils::MakeBasicPipelineLayout(device, &bindGroupLayout);
|
||||||
renderPipelineDescriptor.cVertexStage.module =
|
renderPipelineDescriptor.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(#version 450
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, R"(#version 450
|
||||||
const vec2 pos[6] = vec2[6](vec2(-1.0f, -1.0f),
|
const vec2 pos[6] = vec2[6](vec2(-1.0f, -1.0f),
|
||||||
vec2(-1.0f, 1.0f),
|
vec2(-1.0f, 1.0f),
|
||||||
|
|
|
@ -360,7 +360,7 @@ class VertexFormatTest : public DawnTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cVertexInput.bufferCount = 1;
|
descriptor.cVertexInput.bufferCount = 1;
|
||||||
descriptor.cVertexInput.cBuffers[0].stride = strideBytes;
|
descriptor.cVertexInput.cBuffers[0].stride = strideBytes;
|
||||||
|
|
|
@ -128,7 +128,7 @@ class VertexInputTest : public DawnTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.vertexInput = &vertexInput;
|
descriptor.vertexInput = &vertexInput;
|
||||||
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
@ -541,7 +541,7 @@ TEST_P(OptionalVertexInputTest, Basic) {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
||||||
descriptor.vertexInput = nullptr;
|
descriptor.vertexInput = nullptr;
|
||||||
|
|
|
@ -40,7 +40,7 @@ TEST_P(ViewportOrientationTests, OriginAt0x0) {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
descriptor.primitiveTopology = dawn::PrimitiveTopology::PointList;
|
||||||
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
descriptor.cColorStates[0]->format = renderPass.colorFormat;
|
||||||
|
|
|
@ -44,7 +44,7 @@ class ViewportTest : public DawnTest {
|
||||||
color = vec4(0.0, 1.0, 0.0, 1.0);
|
color = vec4(0.0, 1.0, 0.0, 1.0);
|
||||||
}
|
}
|
||||||
})";
|
})";
|
||||||
pipelineDescriptor.cVertexStage.module =
|
pipelineDescriptor.vertexStage.module =
|
||||||
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
utils::CreateShaderModule(device, utils::SingleShaderStage::Vertex, vs);
|
||||||
|
|
||||||
const char* fs =
|
const char* fs =
|
||||||
|
|
|
@ -630,7 +630,7 @@ class SetBindGroupValidationTest : public ValidationTest {
|
||||||
})");
|
})");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor pipelineDescriptor(device);
|
||||||
pipelineDescriptor.cVertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
pipelineDescriptor.cFragmentStage.module = fsModule;
|
pipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
dawn::PipelineLayout pipelineLayout =
|
dawn::PipelineLayout pipelineLayout =
|
||||||
utils::MakeBasicPipelineLayout(device, &mBindGroupLayout);
|
utils::MakeBasicPipelineLayout(device, &mBindGroupLayout);
|
||||||
|
|
|
@ -43,7 +43,7 @@ class DrawIndirectValidationTest : public ValidationTest {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = pipelineLayout;
|
descriptor.layout = pipelineLayout;
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
|
|
||||||
pipeline = device.CreateRenderPipeline(&descriptor);
|
pipeline = device.CreateRenderPipeline(&descriptor);
|
||||||
|
|
|
@ -96,7 +96,7 @@ namespace {
|
||||||
|
|
||||||
void InitializeRenderPipelineDescriptor(utils::ComboRenderPipelineDescriptor* descriptor) {
|
void InitializeRenderPipelineDescriptor(utils::ComboRenderPipelineDescriptor* descriptor) {
|
||||||
descriptor->layout = pipelineLayout;
|
descriptor->layout = pipelineLayout;
|
||||||
descriptor->cVertexStage.module = vsModule;
|
descriptor->vertexStage.module = vsModule;
|
||||||
descriptor->cFragmentStage.module = fsModule;
|
descriptor->cFragmentStage.module = fsModule;
|
||||||
descriptor->cVertexInput.bufferCount = 1;
|
descriptor->cVertexInput.bufferCount = 1;
|
||||||
descriptor->cVertexInput.cBuffers[0].stride = 2 * sizeof(float);
|
descriptor->cVertexInput.cBuffers[0].stride = 2 * sizeof(float);
|
||||||
|
|
|
@ -61,7 +61,7 @@ void main() {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.layout = pipelineLayout;
|
descriptor.layout = pipelineLayout;
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
|
|
||||||
dawn::RenderPipeline pipeline = device.CreateRenderPipeline(&descriptor);
|
dawn::RenderPipeline pipeline = device.CreateRenderPipeline(&descriptor);
|
||||||
|
|
|
@ -45,7 +45,7 @@ class RenderPipelineValidationTest : public ValidationTest {
|
||||||
TEST_F(RenderPipelineValidationTest, CreationSuccess) {
|
TEST_F(RenderPipelineValidationTest, CreationSuccess) {
|
||||||
{
|
{
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
|
|
||||||
device.CreateRenderPipeline(&descriptor);
|
device.CreateRenderPipeline(&descriptor);
|
||||||
|
@ -53,7 +53,7 @@ TEST_F(RenderPipelineValidationTest, CreationSuccess) {
|
||||||
{
|
{
|
||||||
// Vertex input should be optional
|
// Vertex input should be optional
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.vertexInput = nullptr;
|
descriptor.vertexInput = nullptr;
|
||||||
|
|
||||||
|
@ -62,10 +62,9 @@ TEST_F(RenderPipelineValidationTest, CreationSuccess) {
|
||||||
{
|
{
|
||||||
// Rasterization state should be optional
|
// Rasterization state should be optional
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.rasterizationState = nullptr;
|
descriptor.rasterizationState = nullptr;
|
||||||
|
|
||||||
device.CreateRenderPipeline(&descriptor);
|
device.CreateRenderPipeline(&descriptor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,7 +74,7 @@ TEST_F(RenderPipelineValidationTest, ColorStateRequired) {
|
||||||
{
|
{
|
||||||
// This one succeeds because attachment 0 is the color attachment
|
// This one succeeds because attachment 0 is the color attachment
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.colorStateCount = 1;
|
descriptor.colorStateCount = 1;
|
||||||
|
|
||||||
|
@ -84,7 +83,7 @@ TEST_F(RenderPipelineValidationTest, ColorStateRequired) {
|
||||||
|
|
||||||
{ // Fail because lack of color states (and depth/stencil state)
|
{ // Fail because lack of color states (and depth/stencil state)
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.colorStateCount = 0;
|
descriptor.colorStateCount = 0;
|
||||||
|
|
||||||
|
@ -97,7 +96,7 @@ TEST_F(RenderPipelineValidationTest, NonRenderableFormat) {
|
||||||
{
|
{
|
||||||
// Succeeds because RGBA8Unorm is renderable
|
// Succeeds because RGBA8Unorm is renderable
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
descriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
||||||
|
|
||||||
|
@ -107,7 +106,7 @@ TEST_F(RenderPipelineValidationTest, NonRenderableFormat) {
|
||||||
{
|
{
|
||||||
// Fails because RG11B10Float is non-renderable
|
// Fails because RG11B10Float is non-renderable
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.cColorStates[0]->format = dawn::TextureFormat::RG11B10Float;
|
descriptor.cColorStates[0]->format = dawn::TextureFormat::RG11B10Float;
|
||||||
|
|
||||||
|
@ -119,7 +118,7 @@ TEST_F(RenderPipelineValidationTest, NonRenderableFormat) {
|
||||||
TEST_F(RenderPipelineValidationTest, SampleCount) {
|
TEST_F(RenderPipelineValidationTest, SampleCount) {
|
||||||
{
|
{
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.sampleCount = 4;
|
descriptor.sampleCount = 4;
|
||||||
|
|
||||||
|
@ -128,7 +127,7 @@ TEST_F(RenderPipelineValidationTest, SampleCount) {
|
||||||
|
|
||||||
{
|
{
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.sampleCount = 3;
|
descriptor.sampleCount = 3;
|
||||||
|
|
||||||
|
@ -154,7 +153,7 @@ TEST_F(RenderPipelineValidationTest, SampleCountCompatibilityWithRenderPass) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor nonMultisampledPipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor nonMultisampledPipelineDescriptor(device);
|
||||||
nonMultisampledPipelineDescriptor.sampleCount = 1;
|
nonMultisampledPipelineDescriptor.sampleCount = 1;
|
||||||
nonMultisampledPipelineDescriptor.cVertexStage.module = vsModule;
|
nonMultisampledPipelineDescriptor.vertexStage.module = vsModule;
|
||||||
nonMultisampledPipelineDescriptor.cFragmentStage.module = fsModule;
|
nonMultisampledPipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
dawn::RenderPipeline nonMultisampledPipeline =
|
dawn::RenderPipeline nonMultisampledPipeline =
|
||||||
device.CreateRenderPipeline(&nonMultisampledPipelineDescriptor);
|
device.CreateRenderPipeline(&nonMultisampledPipelineDescriptor);
|
||||||
|
@ -167,7 +166,7 @@ TEST_F(RenderPipelineValidationTest, SampleCountCompatibilityWithRenderPass) {
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor multisampledPipelineDescriptor(device);
|
utils::ComboRenderPipelineDescriptor multisampledPipelineDescriptor(device);
|
||||||
multisampledPipelineDescriptor.sampleCount = kMultisampledCount;
|
multisampledPipelineDescriptor.sampleCount = kMultisampledCount;
|
||||||
multisampledPipelineDescriptor.cVertexStage.module = vsModule;
|
multisampledPipelineDescriptor.vertexStage.module = vsModule;
|
||||||
multisampledPipelineDescriptor.cFragmentStage.module = fsModule;
|
multisampledPipelineDescriptor.cFragmentStage.module = fsModule;
|
||||||
dawn::RenderPipeline multisampledPipeline =
|
dawn::RenderPipeline multisampledPipeline =
|
||||||
device.CreateRenderPipeline(&multisampledPipelineDescriptor);
|
device.CreateRenderPipeline(&multisampledPipelineDescriptor);
|
||||||
|
|
|
@ -71,7 +71,7 @@ class VertexBufferValidationTest : public ValidationTest {
|
||||||
dawn::RenderPipeline MakeRenderPipeline(const dawn::ShaderModule& vsModule,
|
dawn::RenderPipeline MakeRenderPipeline(const dawn::ShaderModule& vsModule,
|
||||||
unsigned int bufferCount) {
|
unsigned int bufferCount) {
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
|
|
||||||
for (unsigned int i = 0; i < bufferCount; ++i) {
|
for (unsigned int i = 0; i < bufferCount; ++i) {
|
||||||
|
|
|
@ -34,7 +34,7 @@ class VertexInputTest : public ValidationTest {
|
||||||
)");
|
)");
|
||||||
|
|
||||||
utils::ComboRenderPipelineDescriptor descriptor(device);
|
utils::ComboRenderPipelineDescriptor descriptor(device);
|
||||||
descriptor.cVertexStage.module = vsModule;
|
descriptor.vertexStage.module = vsModule;
|
||||||
descriptor.cFragmentStage.module = fsModule;
|
descriptor.cFragmentStage.module = fsModule;
|
||||||
descriptor.vertexInput = &state;
|
descriptor.vertexInput = &state;
|
||||||
descriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
descriptor.cColorStates[0]->format = dawn::TextureFormat::RGBA8Unorm;
|
||||||
|
|
|
@ -162,11 +162,9 @@ TEST_F(WireArgumentTests, CStringArgument) {
|
||||||
DawnRenderPipelineDescriptor pipelineDescriptor;
|
DawnRenderPipelineDescriptor pipelineDescriptor;
|
||||||
pipelineDescriptor.nextInChain = nullptr;
|
pipelineDescriptor.nextInChain = nullptr;
|
||||||
|
|
||||||
DawnPipelineStageDescriptor vertexStage;
|
pipelineDescriptor.vertexStage.nextInChain = nullptr;
|
||||||
vertexStage.nextInChain = nullptr;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
vertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.entryPoint = "main";
|
||||||
vertexStage.entryPoint = "main";
|
|
||||||
pipelineDescriptor.vertexStage = &vertexStage;
|
|
||||||
|
|
||||||
DawnPipelineStageDescriptor fragmentStage;
|
DawnPipelineStageDescriptor fragmentStage;
|
||||||
fragmentStage.nextInChain = nullptr;
|
fragmentStage.nextInChain = nullptr;
|
||||||
|
@ -193,7 +191,7 @@ TEST_F(WireArgumentTests, CStringArgument) {
|
||||||
EXPECT_CALL(api,
|
EXPECT_CALL(api,
|
||||||
DeviceCreateRenderPipeline(
|
DeviceCreateRenderPipeline(
|
||||||
apiDevice, MatchesLambda([](const DawnRenderPipelineDescriptor* desc) -> bool {
|
apiDevice, MatchesLambda([](const DawnRenderPipelineDescriptor* desc) -> bool {
|
||||||
return desc->vertexStage->entryPoint == std::string("main");
|
return desc->vertexStage.entryPoint == std::string("main");
|
||||||
})))
|
})))
|
||||||
.WillOnce(Return(apiDummyPipeline));
|
.WillOnce(Return(apiDummyPipeline));
|
||||||
|
|
||||||
|
|
|
@ -132,11 +132,9 @@ TEST_F(WireOptionalTests, OptionalStructPointer) {
|
||||||
DawnRenderPipelineDescriptor pipelineDescriptor;
|
DawnRenderPipelineDescriptor pipelineDescriptor;
|
||||||
pipelineDescriptor.nextInChain = nullptr;
|
pipelineDescriptor.nextInChain = nullptr;
|
||||||
|
|
||||||
DawnPipelineStageDescriptor vertexStage;
|
pipelineDescriptor.vertexStage.nextInChain = nullptr;
|
||||||
vertexStage.nextInChain = nullptr;
|
pipelineDescriptor.vertexStage.module = vsModule;
|
||||||
vertexStage.module = vsModule;
|
pipelineDescriptor.vertexStage.entryPoint = "main";
|
||||||
vertexStage.entryPoint = "main";
|
|
||||||
pipelineDescriptor.vertexStage = &vertexStage;
|
|
||||||
|
|
||||||
DawnPipelineStageDescriptor fragmentStage;
|
DawnPipelineStageDescriptor fragmentStage;
|
||||||
fragmentStage.nextInChain = nullptr;
|
fragmentStage.nextInChain = nullptr;
|
||||||
|
|
|
@ -53,10 +53,7 @@ namespace utils {
|
||||||
descriptor->sampleCount = 1;
|
descriptor->sampleCount = 1;
|
||||||
|
|
||||||
// Set defaults for the vertex stage descriptor.
|
// Set defaults for the vertex stage descriptor.
|
||||||
{
|
{ vertexStage.entryPoint = "main"; }
|
||||||
descriptor->vertexStage = &cVertexStage;
|
|
||||||
cVertexStage.entryPoint = "main";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set defaults for the fragment stage desriptor.
|
// Set defaults for the fragment stage desriptor.
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,6 @@ namespace utils {
|
||||||
public:
|
public:
|
||||||
ComboRenderPipelineDescriptor(const dawn::Device& device);
|
ComboRenderPipelineDescriptor(const dawn::Device& device);
|
||||||
|
|
||||||
dawn::PipelineStageDescriptor cVertexStage;
|
|
||||||
dawn::PipelineStageDescriptor cFragmentStage;
|
dawn::PipelineStageDescriptor cFragmentStage;
|
||||||
|
|
||||||
ComboVertexInputDescriptor cVertexInput;
|
ComboVertexInputDescriptor cVertexInput;
|
||||||
|
|
Loading…
Reference in New Issue