GPU/HW: Fix display being cut off when cropping+upscaling
This commit is contained in:
parent
9e2331c52a
commit
f98c9b4084
|
@ -570,7 +570,8 @@ void GPU_HW_D3D11::UpdateDisplay()
|
||||||
|
|
||||||
const u32 reinterpret_field_offset = GetInterlacedField();
|
const u32 reinterpret_field_offset = GetInterlacedField();
|
||||||
const u32 reinterpret_start_x = m_crtc_state.regs.X * m_resolution_scale;
|
const u32 reinterpret_start_x = m_crtc_state.regs.X * m_resolution_scale;
|
||||||
const u32 reinterpret_width = scaled_display_width + (m_crtc_state.display_vram_left - m_crtc_state.regs.X);
|
const u32 reinterpret_width =
|
||||||
|
scaled_display_width + ((m_crtc_state.display_vram_left - m_crtc_state.regs.X) * m_resolution_scale);
|
||||||
const u32 uniforms[4] = {reinterpret_start_x, scaled_vram_offset_y, reinterpret_field_offset};
|
const u32 uniforms[4] = {reinterpret_start_x, scaled_vram_offset_y, reinterpret_field_offset};
|
||||||
ID3D11PixelShader* display_pixel_shader =
|
ID3D11PixelShader* display_pixel_shader =
|
||||||
m_display_pixel_shaders[BoolToUInt8(m_GPUSTAT.display_area_color_depth_24)][BoolToUInt8(interlaced)].Get();
|
m_display_pixel_shaders[BoolToUInt8(m_GPUSTAT.display_area_color_depth_24)][BoolToUInt8(interlaced)].Get();
|
||||||
|
|
|
@ -571,7 +571,8 @@ void GPU_HW_OpenGL::UpdateDisplay()
|
||||||
m_vram_texture.GetHeight() - scaled_vram_offset_y - scaled_display_height;
|
m_vram_texture.GetHeight() - scaled_vram_offset_y - scaled_display_height;
|
||||||
const u32 reinterpret_field_offset = GetInterlacedField();
|
const u32 reinterpret_field_offset = GetInterlacedField();
|
||||||
const u32 reinterpret_start_x = m_crtc_state.regs.X * m_resolution_scale;
|
const u32 reinterpret_start_x = m_crtc_state.regs.X * m_resolution_scale;
|
||||||
const u32 reinterpret_width = scaled_display_width + (m_crtc_state.display_vram_left - m_crtc_state.regs.X);
|
const u32 reinterpret_width =
|
||||||
|
scaled_display_width + ((m_crtc_state.display_vram_left - m_crtc_state.regs.X) * m_resolution_scale);
|
||||||
const u32 uniforms[4] = {reinterpret_start_x, scaled_flipped_vram_offset_y, reinterpret_field_offset};
|
const u32 uniforms[4] = {reinterpret_start_x, scaled_flipped_vram_offset_y, reinterpret_field_offset};
|
||||||
UploadUniformBuffer(uniforms, sizeof(uniforms));
|
UploadUniformBuffer(uniforms, sizeof(uniforms));
|
||||||
m_batch_ubo_dirty = true;
|
m_batch_ubo_dirty = true;
|
||||||
|
|
Loading…
Reference in New Issue