summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrChat <arkolbed@gmail.com>2018-02-19 00:23:15 -0600
committerDrChat <arkolbed@gmail.com>2018-02-19 00:23:15 -0600
commit6fb176528b03d36082d332923c8d2102bee23830 (patch)
tree989eff079829cb8e4bdc3e7f2800519c7370bff8
parent9479444b3eab2ad550c0beccab76e6d5713a9917 (diff)
[SPIR-V] Don't group together unimplemented fetches
-rw-r--r--src/xenia/gpu/spirv_shader_translator.cc20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/xenia/gpu/spirv_shader_translator.cc b/src/xenia/gpu/spirv_shader_translator.cc
index 20ef705f0..b1ee2095f 100644
--- a/src/xenia/gpu/spirv_shader_translator.cc
+++ b/src/xenia/gpu/spirv_shader_translator.cc
@@ -1235,10 +1235,18 @@ void SpirvShaderTranslator::ProcessVertexFetchInstruction(
}
} break;
- case VertexFormat::k_16_16:
- case VertexFormat::k_16_16_16_16:
- case VertexFormat::k_16_16_FLOAT:
- case VertexFormat::k_16_16_16_16_FLOAT:
+ case VertexFormat::k_16_16: {
+ } break;
+
+ case VertexFormat::k_16_16_16_16: {
+ } break;
+
+ case VertexFormat::k_16_16_FLOAT: {
+ } break;
+
+ case VertexFormat::k_16_16_16_16_FLOAT: {
+ } break;
+
case VertexFormat::k_32: {
spv::Id components[1] = {};
for (uint32_t i = 0; i < 1; i++) {
@@ -1267,10 +1275,13 @@ void SpirvShaderTranslator::ProcessVertexFetchInstruction(
} break;
case VertexFormat::k_32_32: {
} break;
+
case VertexFormat::k_32_32_32_32: {
} break;
+
case VertexFormat::k_32_FLOAT: {
} break;
+
case VertexFormat::k_32_32_FLOAT: {
spv::Id components[2] = {};
for (uint32_t i = 0; i < 2; i++) {
@@ -1303,6 +1314,7 @@ void SpirvShaderTranslator::ProcessVertexFetchInstruction(
vertex = b.createCompositeConstruct(
vec3_float_type_, {components[0], components[1], components[2]});
} break;
+
case VertexFormat::k_32_32_32_32_FLOAT: {
spv::Id components[4] = {};
for (uint32_t i = 0; i < 4; i++) {