vk_rasterizer: Skip transform feedbacks when extension is unavailable
Avoids calling transform feedback procedures when VK_EXT_transform_feedback is not available.
This commit is contained in:
parent
1bb3122c1f
commit
5616be12be
|
@ -838,6 +838,10 @@ void RasterizerVulkan::BeginTransformFeedback() {
|
||||||
if (regs.tfb_enabled == 0) {
|
if (regs.tfb_enabled == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!device.IsExtTransformFeedbackSupported()) {
|
||||||
|
LOG_ERROR(Render_Vulkan, "Transform feedbacks used but not supported");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderProgram::TesselationControl) ||
|
UNIMPLEMENTED_IF(regs.IsShaderConfigEnabled(Maxwell::ShaderProgram::TesselationControl) ||
|
||||||
regs.IsShaderConfigEnabled(Maxwell::ShaderProgram::TesselationEval) ||
|
regs.IsShaderConfigEnabled(Maxwell::ShaderProgram::TesselationEval) ||
|
||||||
|
@ -866,6 +870,9 @@ void RasterizerVulkan::EndTransformFeedback() {
|
||||||
if (regs.tfb_enabled == 0) {
|
if (regs.tfb_enabled == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!device.IsExtTransformFeedbackSupported()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
scheduler.Record(
|
scheduler.Record(
|
||||||
[](vk::CommandBuffer cmdbuf) { cmdbuf.EndTransformFeedbackEXT(0, 0, nullptr, nullptr); });
|
[](vk::CommandBuffer cmdbuf) { cmdbuf.EndTransformFeedbackEXT(0, 0, nullptr, nullptr); });
|
||||||
|
|
Reference in New Issue