mirror of
https://github.com/holub/mame
synced 2025-07-04 01:18:59 +03:00
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.
This commit is contained in:
parent
7fe6818493
commit
b6f85b8c26
@ -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
|
// Find the nearest prescale factor that is over our screen size
|
||||||
int hlsl_prescale = 1;
|
int hlsl_prescale = 1;
|
||||||
while(texture->rawwidth * hlsl_prescale < d3d->width) hlsl_prescale++;
|
while(texture->rawwidth * hlsl_prescale < d3d->width) hlsl_prescale++;
|
||||||
while(texture->rawheight * hlsl_prescale < d3d->height) hlsl_prescale++;
|
|
||||||
d3d->hlsl_prescale_size = 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]);
|
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)
|
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
|
// Find the nearest prescale factor that is over our screen size
|
||||||
int hlsl_prescale = 1;
|
int hlsl_prescale = 1;
|
||||||
while(scwidth * hlsl_prescale < d3d->width) hlsl_prescale++;
|
while(scwidth * hlsl_prescale < d3d->width) hlsl_prescale++;
|
||||||
while(scheight * hlsl_prescale < d3d->height) hlsl_prescale++;
|
|
||||||
d3d->hlsl_prescale_size = 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]);
|
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)
|
if (result != D3D_OK)
|
||||||
|
Loading…
Reference in New Issue
Block a user