Browse Source
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).
pull/15/merge
ReinUsesLisp
6 years ago
No known key found for this signature in database
GPG Key ID: 2DFC508897B39CFE
2 changed files with
2 additions and
1 deletions
-
src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
-
src/video_core/renderer_vulkan/vk_shader_decompiler.h
|
|
|
@ -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 { |
|
|
|
|