From b6f85b8c26f54ca77d6c05aa0619ab595f11b548 Mon Sep 17 00:00:00 2001 From: Ryan Holtz Date: Wed, 1 Jun 2011 22:08:28 +0000 Subject: [PATCH] Kill height-based HLSL prescaling, only prescale based on frame width. Brings Kangaroo's prescale down from 5 to 2 and thus within a more reasonable GPU budget. Games that have a ridiculously higher vertical resolution than horizontal resolution will still have issues. --- src/osd/windows/drawd3d.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/windows/drawd3d.c b/src/osd/windows/drawd3d.c index 87ea817ec62..699c3dfcccd 100644 --- a/src/osd/windows/drawd3d.c +++ b/src/osd/windows/drawd3d.c @@ -3978,8 +3978,8 @@ static texture_info *texture_create(d3d_info *d3d, const render_texinfo *texsour // Find the nearest prescale factor that is over our screen size int hlsl_prescale = 1; while(texture->rawwidth * hlsl_prescale < d3d->width) hlsl_prescale++; - while(texture->rawheight * hlsl_prescale < d3d->height) hlsl_prescale++; d3d->hlsl_prescale_size = hlsl_prescale; + printf("%d, %d, %d\n", texture->rawwidth, texture->rawheight, hlsl_prescale); result = (*d3dintf->device.create_texture)(d3d->device, texture->rawwidth * hlsl_prescale, texture->rawheight * hlsl_prescale, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &d3d->hlsltexture0[idx]); if (result != D3D_OK) @@ -4073,8 +4073,8 @@ static texture_info *texture_create(d3d_info *d3d, const render_texinfo *texsour // Find the nearest prescale factor that is over our screen size int hlsl_prescale = 1; while(scwidth * hlsl_prescale < d3d->width) hlsl_prescale++; - while(scheight * hlsl_prescale < d3d->height) hlsl_prescale++; d3d->hlsl_prescale_size = hlsl_prescale; + printf("%d, (%d, %d)\n", texture->rawwidth, scwidth, scheight); result = (*d3dintf->device.create_texture)(d3d->device, scwidth * hlsl_prescale, scheight * hlsl_prescale, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &d3d->hlsltexture0[idx]); if (result != D3D_OK)