From 862c457761ce84f445df08bf4ff4b2f1311d0019 Mon Sep 17 00:00:00 2001 From: Triang3l Date: Sun, 15 May 2022 16:19:36 +0300 Subject: [PATCH] [Vulkan] Use Shader::IsHostVertexShaderTypeDomain --- src/xenia/gpu/spirv_shader_translator.h | 8 ++++---- src/xenia/gpu/vulkan/vulkan_command_processor.cc | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/xenia/gpu/spirv_shader_translator.h b/src/xenia/gpu/spirv_shader_translator.h index 259b703c1..429ab5fe0 100644 --- a/src/xenia/gpu/spirv_shader_translator.h +++ b/src/xenia/gpu/spirv_shader_translator.h @@ -249,13 +249,13 @@ class SpirvShaderTranslator : public ShaderTranslator { bool IsSpirvVertexShader() const { return is_vertex_shader() && - GetSpirvShaderModification().vertex.host_vertex_shader_type == - Shader::HostVertexShaderType::kVertex; + !Shader::IsHostVertexShaderTypeDomain( + GetSpirvShaderModification().vertex.host_vertex_shader_type); } bool IsSpirvTessEvalShader() const { return is_vertex_shader() && - GetSpirvShaderModification().vertex.host_vertex_shader_type != - Shader::HostVertexShaderType::kVertex; + Shader::IsHostVertexShaderTypeDomain( + GetSpirvShaderModification().vertex.host_vertex_shader_type); } // Must be called before emitting any SPIR-V operations that must be in a diff --git a/src/xenia/gpu/vulkan/vulkan_command_processor.cc b/src/xenia/gpu/vulkan/vulkan_command_processor.cc index 74c7f3fe6..5e947b212 100644 --- a/src/xenia/gpu/vulkan/vulkan_command_processor.cc +++ b/src/xenia/gpu/vulkan/vulkan_command_processor.cc @@ -1379,7 +1379,8 @@ bool VulkanCommandProcessor::IssueDraw(xenos::PrimitiveType prim_type, // Nothing to draw. return true; } - // TODO(Triang3l): Tessellation. + // TODO(Triang3l): Tessellation, geometry-type-specific vertex shader, vertex + // shader as compute. if (primitive_processing_result.host_vertex_shader_type != Shader::HostVertexShaderType::kVertex) { return false;