Fix pipeline generation for POINT and RECTANGLE primitive lists, and resolve audio CVar linkage errors

This commit is contained in:
salh
2026-04-17 23:33:48 +03:00
parent 4f5b43d66b
commit a6d3e9b4b7
3 changed files with 22 additions and 8 deletions
-3
View File
@@ -10,7 +10,4 @@
#include "ac6recomp_app.h"
REXCVAR_DEFINE_BOOL(audio_deep_trace, false, "Audio",
"Enable verbose runtime audio tracing");
REX_DEFINE_APP(ac6recomp, Ac6recompApp::Create)
@@ -1087,10 +1087,21 @@ bool PipelineCache::TranslateAnalyzedShader(DxbcShaderTranslator& translator,
case Shader::HostVertexShaderType::kQuadDomainPatchIndexed:
host_shader_type = "patch-indexed quad domain";
break;
default:
assert(modification.vertex.host_vertex_shader_type ==
Shader::HostVertexShaderType::kVertex);
case Shader::HostVertexShaderType::kPointListAsTriangleStrip:
host_shader_type = "point-list-as-triangle-strip vertex";
break;
case Shader::HostVertexShaderType::kRectangleListAsTriangleStrip:
host_shader_type = "rectangle-list-as-triangle-strip vertex";
break;
case Shader::HostVertexShaderType::kMemExportCompute:
host_shader_type = "memexport compute";
break;
case Shader::HostVertexShaderType::kVertex:
host_shader_type = "vertex";
break;
default:
assert_always();
host_shader_type = "unknown";
}
} else {
host_shader_type = "pixel";
@@ -2797,8 +2808,12 @@ ID3D12PipelineState* PipelineCache::CreateD3D12Pipeline(
state_desc.DS.pShaderBytecode = runtime_description.vertex_shader->translated_binary().data();
state_desc.DS.BytecodeLength = runtime_description.vertex_shader->translated_binary().size();
} else {
assert_true(host_vertex_shader_type == Shader::HostVertexShaderType::kVertex);
if (host_vertex_shader_type != Shader::HostVertexShaderType::kVertex) {
assert_true(host_vertex_shader_type == Shader::HostVertexShaderType::kVertex ||
host_vertex_shader_type == Shader::HostVertexShaderType::kPointListAsTriangleStrip ||
host_vertex_shader_type == Shader::HostVertexShaderType::kRectangleListAsTriangleStrip);
if (host_vertex_shader_type != Shader::HostVertexShaderType::kVertex &&
host_vertex_shader_type != Shader::HostVertexShaderType::kPointListAsTriangleStrip &&
host_vertex_shader_type != Shader::HostVertexShaderType::kRectangleListAsTriangleStrip) {
// Fallback vertex shaders are not needed on Direct3D 12.
return nullptr;
}
@@ -17,6 +17,8 @@ REXCVAR_DEFINE_BOOL(audio_trace_telemetry, false, "Audio",
"Trace audio runtime telemetry");
REXCVAR_DEFINE_BOOL(audio_trace_render_driver_verbose, false, "Audio",
"Trace render-driver activity");
REXCVAR_DEFINE_BOOL(audio_deep_trace, false, "Audio",
"Enable verbose runtime audio tracing");
namespace rex::audio {