mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-07 03:55:33 +00:00
GPU/HW: Don't use sprites-as-fills for small/offscreen points
This commit is contained in:
parent
d65c4efdd8
commit
635ae5de31
@ -2664,7 +2664,9 @@ void GPU_HW::DrawLine(const GSVector4 bounds, u32 col0, u32 col1, float depth)
|
|||||||
void GPU_HW::DrawSprite(const GPUBackendDrawRectangleCommand* cmd)
|
void GPU_HW::DrawSprite(const GPUBackendDrawRectangleCommand* cmd)
|
||||||
{
|
{
|
||||||
// Treat non-textured sprite draws as fills, so we don't break the TC on framebuffer clears.
|
// Treat non-textured sprite draws as fills, so we don't break the TC on framebuffer clears.
|
||||||
if (m_use_texture_cache && !cmd->transparency_enable && !cmd->shading_enable && !cmd->texture_enable)
|
if (m_use_texture_cache && !cmd->transparency_enable && !cmd->shading_enable && !cmd->texture_enable && cmd->x >= 0 &&
|
||||||
|
cmd->y >= 0 && cmd->width >= TEXTURE_PAGE_WIDTH && cmd->height >= TEXTURE_PAGE_HEIGHT &&
|
||||||
|
(cmd->x + cmd->width) <= VRAM_WIDTH && (cmd->y + cmd->height) <= VRAM_HEIGHT)
|
||||||
{
|
{
|
||||||
FillVRAM(cmd->x, cmd->y, cmd->width, cmd->height, cmd->color, cmd->interlaced_rendering, cmd->active_line_lsb);
|
FillVRAM(cmd->x, cmd->y, cmd->width, cmd->height, cmd->color, cmd->interlaced_rendering, cmd->active_line_lsb);
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user