diff --git a/src/core/renderer_vk/renderer_vk.cpp b/src/core/renderer_vk/renderer_vk.cpp index 3387deda..ae4abc44 100644 --- a/src/core/renderer_vk/renderer_vk.cpp +++ b/src/core/renderer_vk/renderer_vk.cpp @@ -140,8 +140,8 @@ std::tuple createGraphicsPipeline( vk::PipelineDepthStencilStateCreateInfo depthStencilState = {}; - depthStencilState.depthTestEnable = true; - depthStencilState.depthWriteEnable = true; + depthStencilState.depthTestEnable = false; + depthStencilState.depthWriteEnable = false; depthStencilState.depthCompareOp = vk::CompareOp::eLessOrEqual; depthStencilState.depthBoundsTestEnable = false; depthStencilState.stencilTestEnable = false; @@ -715,8 +715,8 @@ void RendererVK::display() { vk::PipelineBindPoint::eGraphics, displayPipelineLayout.get(), 0, {bottomDisplayPipelineDescriptorSet[frameBufferingIndex]}, {} ); getCurrentCommandBuffer().bindPipeline(vk::PipelineBindPoint::eGraphics, displayPipeline.get()); - getCurrentCommandBuffer().setViewport(0, vk::Viewport(40, 0, 320, 240)); - getCurrentCommandBuffer().setScissor(0, vk::Rect2D({40, 0}, {320, 240})); + getCurrentCommandBuffer().setViewport(0, vk::Viewport(40, 240, 320, 240)); + getCurrentCommandBuffer().setScissor(0, vk::Rect2D({40, 240}, {320, 240})); getCurrentCommandBuffer().draw(3, 1, 0, 0); } diff --git a/src/host_shaders/vulkan_display.vert b/src/host_shaders/vulkan_display.vert index 766b8d0c..284997ca 100644 --- a/src/host_shaders/vulkan_display.vert +++ b/src/host_shaders/vulkan_display.vert @@ -2,22 +2,6 @@ layout(location = 0) out vec2 UV; void main() { - const vec4 positions[4] = vec4[]( - vec4(-1.0, 1.0, 1.0, 1.0), // Top-left - vec4(1.0, 1.0, 1.0, 1.0), // Top-right - vec4(-1.0, -1.0, 1.0, 1.0), // Bottom-left - vec4(1.0, -1.0, 1.0, 1.0) // Bottom-right - ); - - // The 3DS displays both screens' framebuffer rotated 90 deg counter clockwise - // So we adjust our texcoords accordingly - const vec2 texcoords[4] = vec2[]( - vec2(1.0, 1.0), // Top-right - vec2(1.0, 0.0), // Bottom-right - vec2(0.0, 1.0), // Top-left - vec2(0.0, 0.0) // Bottom-left - ); - - gl_Position = positions[gl_VertexIndex]; - UV = texcoords[gl_VertexIndex]; + UV = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); + gl_Position = vec4(UV * 2.0f + -1.0f, 0.0f, 1.0f); } \ No newline at end of file