Browse Source
maxwell_to_vk: Use VK_EXT_index_type_uint8 when available
pull/15/merge
ReinUsesLisp
6 years ago
No known key found for this signature in database
GPG Key ID: 2DFC508897B39CFE
2 changed files with
7 additions and
4 deletions
-
src/video_core/renderer_vulkan/maxwell_to_vk.cpp
-
src/video_core/renderer_vulkan/maxwell_to_vk.h
|
|
|
@ -308,11 +308,14 @@ vk::CompareOp ComparisonOp(Maxwell::ComparisonOp comparison) { |
|
|
|
return {}; |
|
|
|
} |
|
|
|
|
|
|
|
vk::IndexType IndexFormat(Maxwell::IndexFormat index_format) { |
|
|
|
vk::IndexType IndexFormat(const VKDevice& device, Maxwell::IndexFormat index_format) { |
|
|
|
switch (index_format) { |
|
|
|
case Maxwell::IndexFormat::UnsignedByte: |
|
|
|
UNIMPLEMENTED_MSG("Vulkan does not support native u8 index format"); |
|
|
|
return vk::IndexType::eUint16; |
|
|
|
if (!device.IsExtIndexTypeUint8Supported()) { |
|
|
|
UNIMPLEMENTED_MSG("Native uint8 indices are not supported on this device"); |
|
|
|
return vk::IndexType::eUint16; |
|
|
|
} |
|
|
|
return vk::IndexType::eUint8EXT; |
|
|
|
case Maxwell::IndexFormat::UnsignedShort: |
|
|
|
return vk::IndexType::eUint16; |
|
|
|
case Maxwell::IndexFormat::UnsignedInt: |
|
|
|
|
|
|
|
@ -40,7 +40,7 @@ vk::Format VertexFormat(Maxwell::VertexAttribute::Type type, Maxwell::VertexAttr |
|
|
|
|
|
|
|
vk::CompareOp ComparisonOp(Maxwell::ComparisonOp comparison); |
|
|
|
|
|
|
|
vk::IndexType IndexFormat(Maxwell::IndexFormat index_format); |
|
|
|
vk::IndexType IndexFormat(const VKDevice& device, Maxwell::IndexFormat index_format); |
|
|
|
|
|
|
|
vk::StencilOp StencilOp(Maxwell::StencilOp stencil_op); |
|
|
|
|
|
|
|
|