.geometry_guardband_z = GEOMETRY_GUARDBAND_Z_SAME_AS_XY_GUARDBAND,
});
- assert(rs->rasterization_stream == 0);
+ P_IMMD(p, NV9097, SET_RASTER_INPUT, rs->rasterization_stream);
assert(rs->line.mode == VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT);
}
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: {
VkPhysicalDeviceTransformFeedbackPropertiesEXT *p = (void *)ext;
- p->maxTransformFeedbackStreams = 0;
+ p->maxTransformFeedbackStreams = 4;
p->maxTransformFeedbackBuffers = 4;
p->maxTransformFeedbackBufferSize = UINT32_MAX;
p->maxTransformFeedbackStreamDataSize = 2048;
p->maxTransformFeedbackBufferDataStride = 2048;
p->transformFeedbackQueries = false;
p->transformFeedbackStreamsLinesTriangles = false;
- p->transformFeedbackRasterizationStreamSelect = false;
+ p->transformFeedbackRasterizationStreamSelect = true;
p->transformFeedbackDraw = true;
break;
}
/* VK_EXT_transform_feedback */
.transformFeedback = dev->cls_eng3d >= TURING_A,
- .geometryStreams = false,
+ .geometryStreams = dev->cls_eng3d >= TURING_A,
/* VK_EXT_vertex_attribute_divisor */
.vertexAttributeInstanceRateDivisor = true,
.image_write_without_format = true,
.physical_storage_buffer_address = true,
.transform_feedback = true,
+ .geometry_streams = true,
},
.ssbo_addr_format = nvk_buffer_addr_format(rs->storage_buffers),
.phys_ssbo_addr_format = nir_address_format_64bit_global,