summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
diff options
context:
space:
mode:
authorameerj <aj662@drexel.edu>2020-11-19 08:25:37 +0100
committerameerj <aj662@drexel.edu>2020-11-25 04:46:45 +0100
commit1dbf71ceb3b84691101228a2981cafed477b27e9 (patch)
treeec6f0d2a7cd22e9d17f5379a5134cbb37e101601 /src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
parentvulkan_renderer: Alpha Test Culling Implementation (diff)
downloadyuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.tar
yuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.tar.gz
yuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.tar.bz2
yuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.tar.lz
yuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.tar.xz
yuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.tar.zst
yuzu-1dbf71ceb3b84691101228a2981cafed477b27e9.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index 9ccf5d011..a66a841fb 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -345,12 +345,10 @@ VKPipelineCache::DecompileShaders(const FixedPipelineState& fixed_state) {
specialization.ndc_minus_one_to_one = fixed_state.ndc_minus_one_to_one;
// Alpha test
- if (fixed_state.alpha_test_enabled == 1) {
- specialization.alpha_test_enabled = true;
- specialization.alpha_test_func = static_cast<u8>(fixed_state.alpha_test_func);
- // memcpy from u32 to float TODO: C++20 std::bit_cast
- std::memcpy(&specialization.alpha_test_ref, &fixed_state.alpha_test_ref, sizeof(float));
- }
+ specialization.alpha_test_func =
+ FixedPipelineState::UnpackComparisonOp(fixed_state.alpha_test_func.Value());
+ // memcpy from u32 to float TODO: C++20 std::bit_cast
+ std::memcpy(&specialization.alpha_test_ref, &fixed_state.alpha_test_ref, sizeof(float));
SPIRVProgram program;
std::vector<VkDescriptorSetLayoutBinding> bindings;