[D3D12] ROV: Empty pixel shader for depth-only drawing

This commit is contained in:
Triang3l
2018-10-16 14:02:43 +03:00
parent 6e9964b43e
commit 2d56c9ae30
4 changed files with 560 additions and 440 deletions

View File

@@ -11,6 +11,7 @@
#define XENIA_GPU_D3D12_PIPELINE_CACHE_H_
#include <unordered_map>
#include <vector>
#include "third_party/xxhash/xxhash.h"
@@ -93,6 +94,10 @@ class PipelineCache {
// All loaded shaders mapped by their guest hash key.
std::unordered_map<uint64_t, D3D12Shader*> shader_map_;
// Empty depth-only pixel shader for writing to depth buffer via ROV when no
// Xenos pixel shader provided.
std::vector<uint8_t> depth_only_pixel_shader_;
// Hash state used to incrementally produce pipeline hashes during update.
// By the time the full update pass has run the hash will represent the
// current state in a way that can uniquely identify the produced