|
|
|
@ -26,7 +26,7 @@ VkFilter Filter(Tegra::Texture::TextureFilter filter) { |
|
|
|
case Tegra::Texture::TextureFilter::Linear: |
|
|
|
return VK_FILTER_LINEAR; |
|
|
|
} |
|
|
|
UNREACHABLE_MSG("Invalid sampler filter={}", static_cast<u32>(filter)); |
|
|
|
UNREACHABLE_MSG("Invalid sampler filter={}", filter); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -43,7 +43,7 @@ VkSamplerMipmapMode MipmapMode(Tegra::Texture::TextureMipmapFilter mipmap_filter |
|
|
|
case Tegra::Texture::TextureMipmapFilter::Linear: |
|
|
|
return VK_SAMPLER_MIPMAP_MODE_LINEAR; |
|
|
|
} |
|
|
|
UNREACHABLE_MSG("Invalid sampler mipmap mode={}", static_cast<u32>(mipmap_filter)); |
|
|
|
UNREACHABLE_MSG("Invalid sampler mipmap mode={}", mipmap_filter); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -79,7 +79,7 @@ VkSamplerAddressMode WrapMode(const VKDevice& device, Tegra::Texture::WrapMode w |
|
|
|
UNIMPLEMENTED(); |
|
|
|
return VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE; |
|
|
|
default: |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented wrap mode={}", static_cast<u32>(wrap_mode)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented wrap mode={}", wrap_mode); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -103,8 +103,7 @@ VkCompareOp DepthCompareFunction(Tegra::Texture::DepthCompareFunc depth_compare_ |
|
|
|
case Tegra::Texture::DepthCompareFunc::Always: |
|
|
|
return VK_COMPARE_OP_ALWAYS; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented sampler depth compare function={}", |
|
|
|
static_cast<u32>(depth_compare_func)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented sampler depth compare function={}", depth_compare_func); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -228,8 +227,7 @@ FormatInfo SurfaceFormat(const VKDevice& device, FormatType format_type, PixelFo |
|
|
|
|
|
|
|
auto tuple = tex_format_tuples[static_cast<std::size_t>(pixel_format)]; |
|
|
|
if (tuple.format == VK_FORMAT_UNDEFINED) { |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented texture format with pixel format={}", |
|
|
|
static_cast<u32>(pixel_format)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented texture format with pixel format={}", pixel_format); |
|
|
|
return {VK_FORMAT_A8B8G8R8_UNORM_PACK32, true, true}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -275,7 +273,7 @@ VkShaderStageFlagBits ShaderStage(Tegra::Engines::ShaderType stage) { |
|
|
|
case Tegra::Engines::ShaderType::Compute: |
|
|
|
return VK_SHADER_STAGE_COMPUTE_BIT; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented shader stage={}", static_cast<u32>(stage)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented shader stage={}", stage); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -300,7 +298,7 @@ VkPrimitiveTopology PrimitiveTopology([[maybe_unused]] const VKDevice& device, |
|
|
|
case Maxwell::PrimitiveTopology::Patches: |
|
|
|
return VK_PRIMITIVE_TOPOLOGY_PATCH_LIST; |
|
|
|
default: |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented topology={}", static_cast<u32>(topology)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented topology={}", topology); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -490,8 +488,7 @@ VkFormat VertexFormat(Maxwell::VertexAttribute::Type type, Maxwell::VertexAttrib |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented vertex format of type={} and size={}", static_cast<u32>(type), |
|
|
|
static_cast<u32>(size)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented vertex format of type={} and size={}", type, size); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -522,7 +519,7 @@ VkCompareOp ComparisonOp(Maxwell::ComparisonOp comparison) { |
|
|
|
case Maxwell::ComparisonOp::AlwaysOld: |
|
|
|
return VK_COMPARE_OP_ALWAYS; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented comparison op={}", static_cast<u32>(comparison)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented comparison op={}", comparison); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -539,7 +536,7 @@ VkIndexType IndexFormat(const VKDevice& device, Maxwell::IndexFormat index_forma |
|
|
|
case Maxwell::IndexFormat::UnsignedInt: |
|
|
|
return VK_INDEX_TYPE_UINT32; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented index_format={}", static_cast<u32>(index_format)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented index_format={}", index_format); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -570,7 +567,7 @@ VkStencilOp StencilOp(Maxwell::StencilOp stencil_op) { |
|
|
|
case Maxwell::StencilOp::DecrWrapOGL: |
|
|
|
return VK_STENCIL_OP_DECREMENT_AND_WRAP; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented stencil op={}", static_cast<u32>(stencil_op)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented stencil op={}", stencil_op); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -592,7 +589,7 @@ VkBlendOp BlendEquation(Maxwell::Blend::Equation equation) { |
|
|
|
case Maxwell::Blend::Equation::MaxGL: |
|
|
|
return VK_BLEND_OP_MAX; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented blend equation={}", static_cast<u32>(equation)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented blend equation={}", equation); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -656,7 +653,7 @@ VkBlendFactor BlendFactor(Maxwell::Blend::Factor factor) { |
|
|
|
case Maxwell::Blend::Factor::OneMinusConstantAlphaGL: |
|
|
|
return VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented blend factor={}", static_cast<u32>(factor)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented blend factor={}", factor); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -667,7 +664,7 @@ VkFrontFace FrontFace(Maxwell::FrontFace front_face) { |
|
|
|
case Maxwell::FrontFace::CounterClockWise: |
|
|
|
return VK_FRONT_FACE_COUNTER_CLOCKWISE; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented front face={}", static_cast<u32>(front_face)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented front face={}", front_face); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -680,7 +677,7 @@ VkCullModeFlags CullFace(Maxwell::CullFace cull_face) { |
|
|
|
case Maxwell::CullFace::FrontAndBack: |
|
|
|
return VK_CULL_MODE_FRONT_AND_BACK; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented cull face={}", static_cast<u32>(cull_face)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented cull face={}", cull_face); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -700,7 +697,7 @@ VkComponentSwizzle SwizzleSource(Tegra::Texture::SwizzleSource swizzle) { |
|
|
|
case Tegra::Texture::SwizzleSource::OneFloat: |
|
|
|
return VK_COMPONENT_SWIZZLE_ONE; |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented swizzle source={}", static_cast<u32>(swizzle)); |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented swizzle source={}", swizzle); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
@ -723,7 +720,7 @@ VkViewportCoordinateSwizzleNV ViewportSwizzle(Maxwell::ViewportSwizzle swizzle) |
|
|
|
case Maxwell::ViewportSwizzle::NegativeW: |
|
|
|
return VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV; |
|
|
|
} |
|
|
|
UNREACHABLE_MSG("Invalid swizzle={}", static_cast<int>(swizzle)); |
|
|
|
UNREACHABLE_MSG("Invalid swizzle={}", swizzle); |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
|