vk_shader_decompiler: Skip NDC correction when it is native

Avoid changing gl_Position when the NDC used by the game is [0, 1]
(Vulkan's native).
master
ReinUsesLisp 2019-12-19 01:45:09 +07:00
parent 485c21eac3
commit de918ebeb0
No known key found for this signature in database
GPG Key ID: 2DFC508897B39CFE
2 changed files with 2 additions and 1 deletions

@ -1841,7 +1841,7 @@ private:
}
void PreExit() {
if (stage == ShaderType::Vertex) {
if (stage == ShaderType::Vertex && specialization.ndc_minus_one_to_one) {
const u32 position_index = out_indices.position.value();
const Id z_pointer = AccessElement(t_out_float, out_vertex, position_index, 2U);
const Id w_pointer = AccessElement(t_out_float, out_vertex, position_index, 3U);

@ -94,6 +94,7 @@ struct Specialization final {
Maxwell::PrimitiveTopology primitive_topology{};
std::optional<float> point_size{};
std::array<Maxwell::VertexAttribute::Type, Maxwell::NumVertexAttributes> attribute_types{};
bool ndc_minus_one_to_one{};
// Tessellation specific
struct {