diff --git a/src/xenia/gpu/vulkan/buffer_cache.cc b/src/xenia/gpu/vulkan/buffer_cache.cc index 0a0162d35..1005fec01 100644 --- a/src/xenia/gpu/vulkan/buffer_cache.cc +++ b/src/xenia/gpu/vulkan/buffer_cache.cc @@ -552,23 +552,28 @@ void BufferCache::HashVertexBindings( const std::vector& vertex_bindings) { auto& regs = *register_file_; for (const auto& vertex_binding : vertex_bindings) { +#if 0 + XXH64_update(hash_state, &vertex_binding.binding_index, sizeof(vertex_binding.binding_index)); + XXH64_update(hash_state, &vertex_binding.fetch_constant, sizeof(vertex_binding.fetch_constant)); + XXH64_update(hash_state, &vertex_binding.stride_words, sizeof(vertex_binding.stride_words)); +#endif int r = XE_GPU_REG_SHADER_CONSTANT_FETCH_00_0 + (vertex_binding.fetch_constant / 3) * 6; const auto group = reinterpret_cast(®s.values[r]); - const xe_gpu_vertex_fetch_t* fetch = nullptr; switch (vertex_binding.fetch_constant % 3) { - case 0: - fetch = &group->vertex_fetch_0; - break; - case 1: - fetch = &group->vertex_fetch_1; - break; - case 2: - fetch = &group->vertex_fetch_2; - break; + case 0: { + auto& fetch = group->vertex_fetch_0; + XXH64_update(hash_state, &fetch, sizeof(fetch)); + } break; + case 1: { + auto& fetch = group->vertex_fetch_1; + XXH64_update(hash_state, &fetch, sizeof(fetch)); + } break; + case 2: { + auto& fetch = group->vertex_fetch_2; + XXH64_update(hash_state, &fetch, sizeof(fetch)); + } break; } - - XXH64_update(hash_state, fetch, sizeof(fetch)); } }