Skip to content

Commit c58c3aa

Browse files
beaufortfrancoisDawn LUCI CQ
authored andcommitted
webgpu.h: Update sentinel values for VertexBufferStepMode
webgpu-native/webgpu-headers#364 Bug: 377820810 Change-Id: I541c24a84e076750d2a7cd1b8b786d2095509103 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/214854 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
1 parent 5d99b9a commit c58c3aa

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

generator/dawn_json_generator.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,6 @@ def __init__(self, is_enabled, name, json_data):
145145
value += prefix
146146

147147
if value_name == "undefined":
148-
if name != "optional bool":
149-
assert value == 0
150148
self.hasUndefined = True
151149
if value != lastValue + 1:
152150
self.contiguousFromZero = False

src/dawn/dawn.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2772,16 +2772,16 @@
27722772
"extensible": false,
27732773
"members": [
27742774
{"name": "array stride", "type": "uint64_t"},
2775-
{"name": "step mode", "type": "vertex step mode", "default": "vertex"},
2775+
{"name": "step mode", "type": "vertex step mode"},
27762776
{"name": "attribute count", "type": "size_t"},
27772777
{"name": "attributes", "type": "vertex attribute", "annotation": "const*", "length": "attribute count"}
27782778
]
27792779
},
27802780
"vertex step mode": {
27812781
"category": "enum",
27822782
"values": [
2783-
{"value": 0, "name": "undefined", "jsrepr": "undefined"},
2784-
{"value": 1, "name": "vertex buffer not used"},
2783+
{"value": 0, "name": "vertex buffer not used"},
2784+
{"value": 1, "name": "undefined", "jsrepr": "undefined"},
27852785
{"value": 2, "name": "vertex"},
27862786
{"value": 3, "name": "instance"}
27872787
]

src/dawn/native/RenderPipeline.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -968,22 +968,20 @@ RenderPipelineBase::RenderPipelineBase(DeviceBase* device,
968968

969969
auto buffers =
970970
ityp::SpanFromUntyped<VertexBufferSlot>(descriptor->vertex.buffers, mVertexBufferCount);
971-
for (auto [slot, bufferOrig] : Enumerate(buffers)) {
971+
for (auto [slot, buffer] : Enumerate(buffers)) {
972972
// Skip unused slots
973-
if (bufferOrig.stepMode == wgpu::VertexStepMode::VertexBufferNotUsed) {
973+
if (buffer.stepMode == wgpu::VertexStepMode::VertexBufferNotUsed) {
974974
continue;
975975
}
976976

977-
// Make a local copy with defaulting applied, before copying the
978-
// now-defaulted values into mVertexBufferInfos.
979-
VertexBufferLayout buffer = bufferOrig.WithTrivialFrontendDefaults();
980-
981977
mVertexBuffersUsed.set(slot);
982978
mVertexBufferInfos[slot].arrayStride = buffer.arrayStride;
983-
mVertexBufferInfos[slot].stepMode = buffer.stepMode;
979+
mVertexBufferInfos[slot].stepMode = (buffer.stepMode == wgpu::VertexStepMode::Undefined)
980+
? wgpu::VertexStepMode::Vertex
981+
: buffer.stepMode;
984982
mVertexBufferInfos[slot].usedBytesInStride = 0;
985983
mVertexBufferInfos[slot].lastStride = 0;
986-
switch (buffer.stepMode) {
984+
switch (mVertexBufferInfos[slot].stepMode) {
987985
case wgpu::VertexStepMode::Vertex:
988986
mVertexBuffersUsedAsVertexBuffer.set(slot);
989987
break;

0 commit comments

Comments
 (0)